From 8cdce5cfda76f60045958279731cfb62028b4ef7 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sat, 10 Jun 2006 21:19:35 +0000 Subject: [PATCH] fix NumPad keys --- stepmania/src/arch/InputHandler/InputHandler.cpp | 6 ++++-- .../src/arch/InputHandler/InputHandler_DirectInput.cpp | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/stepmania/src/arch/InputHandler/InputHandler.cpp b/stepmania/src/arch/InputHandler/InputHandler.cpp index e573ae3a22..7f10d6f8e5 100644 --- a/stepmania/src/arch/InputHandler/InputHandler.cpp +++ b/stepmania/src/arch/InputHandler/InputHandler.cpp @@ -36,7 +36,7 @@ void InputHandler::ButtonPressed( DeviceInput di, bool Down ) wchar_t InputHandler::DeviceButtonToChar( DeviceButton button, bool bUseCurrentKeyModifiers ) { - wchar_t c; + wchar_t c = '\0'; switch( button ) { default: @@ -53,6 +53,8 @@ wchar_t InputHandler::DeviceButtonToChar( DeviceButton button, bool bUseCurrentK case KEY_KP_EQUAL: c ='='; break; } + // Handle some default US keyboard modifiers for derived InputHandlers that + // don't implement DeviceButtonToChar. if( bUseCurrentKeyModifiers ) { bool bHoldingShift = @@ -95,7 +97,7 @@ wchar_t InputHandler::DeviceButtonToChar( DeviceButton button, bool bUseCurrentK } - return '\0'; + return c; } RString InputHandler::GetDeviceSpecificInputString( const DeviceInput &di ) diff --git a/stepmania/src/arch/InputHandler/InputHandler_DirectInput.cpp b/stepmania/src/arch/InputHandler/InputHandler_DirectInput.cpp index 67e0f1ae3b..dd96e691d9 100644 --- a/stepmania/src/arch/InputHandler/InputHandler_DirectInput.cpp +++ b/stepmania/src/arch/InputHandler/InputHandler_DirectInput.cpp @@ -679,7 +679,9 @@ wchar_t InputHandler_DInput::DeviceButtonToChar( DeviceButton button, bool bUseC ZERO( keys ); if( bUseCurrentKeyModifiers ) GetKeyboardState(keys); - return ScancodeAndKeysToChar( i->ofs, keys ); + wchar_t c = ScancodeAndKeysToChar( i->ofs, keys ); + if( c ) + return c; } }