(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice

This commit is contained in:
glx 2007-09-08 14:59:58 +00:00
parent 82f6a90a56
commit 1713d89374
2 changed files with 31 additions and 31 deletions

View File

@ -36,24 +36,6 @@ enum WindowKeyCodes {
WKC_RETURN = 13, WKC_RETURN = 13,
WKC_TAB = 14, WKC_TAB = 14,
/* Numerical keyboard */
WKC_NUM_0 = 16,
WKC_NUM_1 = 17,
WKC_NUM_2 = 18,
WKC_NUM_3 = 19,
WKC_NUM_4 = 20,
WKC_NUM_5 = 21,
WKC_NUM_6 = 22,
WKC_NUM_7 = 23,
WKC_NUM_8 = 24,
WKC_NUM_9 = 25,
WKC_NUM_DIV = 26,
WKC_NUM_MUL = 27,
WKC_NUM_MINUS = 28,
WKC_NUM_PLUS = 29,
WKC_NUM_ENTER = 30,
WKC_NUM_DECIMAL = 31,
/* Space */ /* Space */
WKC_SPACE = 32, WKC_SPACE = 32,
@ -81,20 +63,35 @@ enum WindowKeyCodes {
* A-Z are mapped to 65-90 * A-Z are mapped to 65-90
* a-z are mapped to 97-122 */ * a-z are mapped to 97-122 */
/* Other keys, corresponding to their ascii values */ /* Numerical keyboard */
WKC_SLASH = 47, ///< / Forward slash WKC_NUM_0 = 128,
WKC_SEMICOLON = 59, ///< ; Semicolon WKC_NUM_1 = 129,
WKC_EQUALS = 61, ///< = Equals WKC_NUM_2 = 130,
WKC_L_BRACKET = 91, ///< [ Left square bracket WKC_NUM_3 = 131,
WKC_BACKSLASH = 92, ///< \ Backslash WKC_NUM_4 = 132,
WKC_R_BRACKET = 93, ///< ] Right square bracket WKC_NUM_5 = 133,
WKC_NUM_6 = 134,
WKC_NUM_7 = 135,
WKC_NUM_8 = 136,
WKC_NUM_9 = 137,
WKC_NUM_DIV = 138,
WKC_NUM_MUL = 139,
WKC_NUM_MINUS = 140,
WKC_NUM_PLUS = 141,
WKC_NUM_ENTER = 142,
WKC_NUM_DECIMAL = 143,
/* Other keys of which their ascii value is already taken /* Other keys */
* - use unused ascii value not present on keyboard directly */ WKC_SLASH = 144, ///< / Forward slash
WKC_SINGLEQUOTE = 58, ///< ' Single quote WKC_SEMICOLON = 145, ///< ; Semicolon
WKC_COMMA = 60, ///< , Comma WKC_EQUALS = 146, ///< = Equals
WKC_PERIOD = 62, ///< . Period WKC_L_BRACKET = 147, ///< [ Left square bracket
WKC_MINUS = 95, ///< - Minus WKC_BACKSLASH = 148, ///< \ Backslash
WKC_R_BRACKET = 149, ///< ] Right square bracket
WKC_SINGLEQUOTE = 150, ///< ' Single quote
WKC_COMMA = 151, ///< , Comma
WKC_PERIOD = 152, ///< . Period
WKC_MINUS = 153, ///< - Minus
}; };
enum GameModes { enum GameModes {

View File

@ -494,6 +494,9 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
* WM_KEYDOWN only handles CTRL+ commands and special keys like VK_LEFT, etc. */ * WM_KEYDOWN only handles CTRL+ commands and special keys like VK_LEFT, etc. */
if (keycode == 0 || (keycode > WKC_PAUSE && GB(keycode, 13, 4) == 0)) return 0; if (keycode == 0 || (keycode > WKC_PAUSE && GB(keycode, 13, 4) == 0)) return 0;
/* Keys handled in WM_CHAR */
if ((uint)(GB(keycode, 0, 12) - WKC_NUM_DIV) <= WKC_MINUS - WKC_NUM_DIV) return 0;
HandleKeypress(0 | (keycode << 16)); HandleKeypress(0 | (keycode << 16));
return 0; return 0;
} }