diff --git a/engine/client/keys.c b/engine/client/keys.c index 0f57784b..cba87e33 100644 --- a/engine/client/keys.c +++ b/engine/client/keys.c @@ -861,7 +861,9 @@ void GAME_EXPORT Key_ClearStates( void ) for( i = 0; i < 256; i++ ) { - if( keys[i].down && i < K_MOUSE1 && i > K_MOUSE5 ) + if( i >= K_MOUSE1 && i <= K_MOUSE5 ) + IN_MouseEvent( i - K_MOUSE1, false ); + else Key_Event( i, false ); keys[i].down = 0; @@ -869,9 +871,6 @@ void GAME_EXPORT Key_ClearStates( void ) keys[i].gamedown = 0; } - for( i = K_MOUSE1; i < K_MOUSE5; i++ ) // from K_MOUSE1 to K_MOUSE5 - IN_MouseEvent( i - K_MOUSE1, false ); - if( clgame.hInstance ) clgame.dllFuncs.IN_ClearStates(); }