(svn r1171) Fix: Console hotkey works again on keyboards where this key is a deadkey.

This commit is contained in:
dominik 2004-12-19 13:28:09 +00:00
parent 18dd7ebae2
commit 8c6c4e5262

12
win32.c
View File

@ -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;