- /*
- * Call the KeyboardUp callback for a regular character if there is one.
- */
- if( window->Callbacks.KeyboardUp != NULL )
- window->Callbacks.KeyboardUp( wParam, window->State.MouseX, window->State.MouseY );
+ {
+ /*
+ * Call the KeyboardUp callback for a regular character if there is one.
+ */
+ BYTE state[ 256 ];
+ WORD code[ 2 ];
+
+ GetKeyboardState(state);
+
+ if ( ToAscii( wParam, 0, state, code, 0 ) == 1 )
+ wParam=code[ 0 ];
+
+ if( window->Callbacks.KeyboardUp != NULL )
+ window->Callbacks.KeyboardUp( (char)wParam, window->State.MouseX, window->State.MouseY );
+ }