From: Rémi Bernon rbernon@codeweavers.com
--- dlls/winex11.drv/keyboard.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c index 26548c9256e..5065d8048d1 100644 --- a/dlls/winex11.drv/keyboard.c +++ b/dlls/winex11.drv/keyboard.c @@ -1363,7 +1363,7 @@ BOOL X11DRV_KeyEvent( HWND hwnd, XEvent *xev ) char buf[24]; char *Str = buf; KeySym keysym = 0; - WORD vkey = 0, bScan; + WORD vkey = 0, scan; DWORD dwFlags; int ascii_chars; XIC xic = X11DRV_get_ic( hwnd ); @@ -1434,10 +1434,10 @@ BOOL X11DRV_KeyEvent( HWND hwnd, XEvent *xev ) vkey = EVENT_event_to_vkey(xic,event); /* X returns keycode 0 for composed characters */ if (!vkey && ascii_chars) vkey = VK_NONAME; - bScan = keyc2scan[event->keycode] & 0xFF; + scan = keyc2scan[event->keycode];
- TRACE_(key)("keycode %u converted to vkey 0x%X scan %02x\n", - event->keycode, vkey, bScan); + TRACE_(key)("keycode %u converted to vkey 0x%X scan %04x\n", + event->keycode, vkey, scan);
pthread_mutex_unlock( &kbd_mutex );
@@ -1445,11 +1445,11 @@ BOOL X11DRV_KeyEvent( HWND hwnd, XEvent *xev )
dwFlags = 0; if ( event->type == KeyRelease ) dwFlags |= KEYEVENTF_KEYUP; - if ( vkey & 0x100 ) dwFlags |= KEYEVENTF_EXTENDEDKEY; + if ( scan & 0x100 ) dwFlags |= KEYEVENTF_EXTENDEDKEY;
update_lock_state( hwnd, vkey, event->state, event_time );
- X11DRV_send_keyboard_input( hwnd, vkey & 0xff, bScan, dwFlags, event_time ); + X11DRV_send_keyboard_input( hwnd, vkey & 0xff, scan & 0xff, dwFlags, event_time ); return TRUE; }