@@ -376,7 +376,7 @@ static vgui::MouseCode ButtonCodeToMouseCode( ButtonCode_t buttonCode )
376376// -----------------------------------------------------------------------------
377377bool InputHandleInputEvent ( const InputEvent_t &event )
378378{
379- switch ( event.m_nType & 0xFFFF )
379+ switch ( event.m_nType )
380380 {
381381 case IE_ButtonPressed:
382382 {
@@ -428,9 +428,10 @@ bool InputHandleInputEvent( const InputEvent_t &event )
428428 case IE_FingerDown:
429429 {
430430 int w,h,x,y; g_MatSystemSurface.GetScreenSize (w, h);
431- uint data = (uint)event.m_nData ;
432- x = w*((double )((data >> 16 ) & 0xFFFF ) / 0xFFFF );
433- y = h*((double )(data & 0xFFFF ) / 0xFFFF );
431+ float _x, _y;
432+ memcpy ( &_x, &event.m_nData2 , sizeof (_x) );
433+ memcpy ( &_y, &event.m_nData3 , sizeof (_y) );
434+ x = w*_x; y = h*_y;
434435 g_pIInput->UpdateCursorPosInternal ( x, y );
435436 g_pIInput->SetMouseCodeState ( MOUSE_LEFT, vgui::BUTTON_PRESSED );
436437 g_pIInput->InternalMousePressed ( MOUSE_LEFT );
@@ -439,9 +440,10 @@ bool InputHandleInputEvent( const InputEvent_t &event )
439440 case IE_FingerUp:
440441 {
441442 int w,h,x,y; g_MatSystemSurface.GetScreenSize (w, h);
442- uint data = (uint)event.m_nData ;
443- x = w*((double )((data >> 16 ) & 0xFFFF ) / 0xFFFF );
444- y = h*((double )(data & 0xFFFF ) / 0xFFFF );
443+ float _x, _y;
444+ memcpy ( &_x, &event.m_nData2 , sizeof (_x) );
445+ memcpy ( &_y, &event.m_nData3 , sizeof (_y) );
446+ x = w*_x; y = h*_y;
445447 g_pIInput->UpdateCursorPosInternal ( x, y );
446448 g_pIInput->SetMouseCodeState ( MOUSE_LEFT, vgui::BUTTON_RELEASED );
447449 g_pIInput->InternalMouseReleased ( MOUSE_LEFT );
@@ -450,9 +452,10 @@ bool InputHandleInputEvent( const InputEvent_t &event )
450452 case IE_FingerMotion:
451453 {
452454 int w,h,x,y; g_MatSystemSurface.GetScreenSize (w, h);
453- uint data = (uint)event.m_nData ;
454- x = w*((double )((data >> 16 ) & 0xFFFF ) / 0xFFFF );
455- y = h*((double )(data & 0xFFFF ) / 0xFFFF );
455+ float _x, _y;
456+ memcpy ( &_x, &event.m_nData2 , sizeof (_x) );
457+ memcpy ( &_y, &event.m_nData3 , sizeof (_y) );
458+ x = w*_x; y = h*_y;
456459 g_pIInput->InternalCursorMoved ( x, y );
457460 }
458461 return true ;
0 commit comments