diff options
author | dominik <dominik@openttd.org> | 2004-12-19 13:28:09 +0000 |
---|---|---|
committer | dominik <dominik@openttd.org> | 2004-12-19 13:28:09 +0000 |
commit | 8588901ae85eed935c5db04ac8c7b3f4dc6fa22c (patch) | |
tree | 79309b03c504d4d625b928badb9d300bb89a0559 | |
parent | 72621164400b534c823c384acab3b9334dd66977 (diff) | |
download | openttd-8588901ae85eed935c5db04ac8c7b3f4dc6fa22c.tar.xz |
(svn r1171) Fix: Console hotkey works again on keyboards where this key is a deadkey.
-rw-r--r-- | win32.c | 12 |
1 files changed, 5 insertions, 7 deletions
@@ -293,13 +293,6 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP return 0; } - case WM_CHAR: { - uint16 scancode = (( lParam & 0xFF0000 ) >> 16 ); - if( scancode == 41 ) - _pressed_key = WKC_BACKQUOTE << 16; - } break; - - case WM_KEYDOWN: { // this is the rewritten ascii input function // it disables windows deadkey handling --> more linux like :D @@ -307,12 +300,17 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP int r = 0; byte ks[256]; unsigned int scan = 0; + uint16 scancode = (( lParam & 0xFF0000 ) >> 16 ); + GetKeyboardState(ks); r = ToAscii(wParam, scan, ks, &w, 0); if (r == 0) w = 0; // no translation was possible _pressed_key = w | MapWindowsKey(wParam) << 16; + if( scancode == 41 ) + _pressed_key = w | WKC_BACKQUOTE << 16; + if ((_pressed_key>>16) == ('D' | WKC_CTRL) && !_wnd.fullscreen) { _double_size ^= 1; _wnd.double_size = _double_size; |