mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-17 21:25:40 +00:00
(svn r1171) Fix: Console hotkey works again on keyboards where this key is a deadkey.
This commit is contained in:
parent
18dd7ebae2
commit
8c6c4e5262
12
win32.c
12
win32.c
@ -293,13 +293,6 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
case WM_CHAR: {
|
|
||||||
uint16 scancode = (( lParam & 0xFF0000 ) >> 16 );
|
|
||||||
if( scancode == 41 )
|
|
||||||
_pressed_key = WKC_BACKQUOTE << 16;
|
|
||||||
} break;
|
|
||||||
|
|
||||||
|
|
||||||
case WM_KEYDOWN: {
|
case WM_KEYDOWN: {
|
||||||
// this is the rewritten ascii input function
|
// this is the rewritten ascii input function
|
||||||
// it disables windows deadkey handling --> more linux like :D
|
// 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;
|
int r = 0;
|
||||||
byte ks[256];
|
byte ks[256];
|
||||||
unsigned int scan = 0;
|
unsigned int scan = 0;
|
||||||
|
uint16 scancode = (( lParam & 0xFF0000 ) >> 16 );
|
||||||
|
|
||||||
GetKeyboardState(ks);
|
GetKeyboardState(ks);
|
||||||
r = ToAscii(wParam, scan, ks, &w, 0);
|
r = ToAscii(wParam, scan, ks, &w, 0);
|
||||||
if (r == 0) w = 0; // no translation was possible
|
if (r == 0) w = 0; // no translation was possible
|
||||||
|
|
||||||
_pressed_key = w | MapWindowsKey(wParam) << 16;
|
_pressed_key = w | MapWindowsKey(wParam) << 16;
|
||||||
|
|
||||||
|
if( scancode == 41 )
|
||||||
|
_pressed_key = w | WKC_BACKQUOTE << 16;
|
||||||
|
|
||||||
if ((_pressed_key>>16) == ('D' | WKC_CTRL) && !_wnd.fullscreen) {
|
if ((_pressed_key>>16) == ('D' | WKC_CTRL) && !_wnd.fullscreen) {
|
||||||
_double_size ^= 1;
|
_double_size ^= 1;
|
||||||
_wnd.double_size = _double_size;
|
_wnd.double_size = _double_size;
|
||||||
|
Loading…
Reference in New Issue
Block a user