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 | 8c6c4e5262a0712081c421bfc8c8c00949982156 (patch) | |
tree | 79309b03c504d4d625b928badb9d300bb89a0559 | |
parent | 18dd7ebae200528fbdbcf67e1d605e000553e3be (diff) | |
download | openttd-8c6c4e5262a0712081c421bfc8c8c00949982156.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; |