Commit Graph

124 Commits

Author SHA1 Message Date
Akihiro Sagawa 08b531ed0d winex11: Add Japanese special key support.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-01 20:32:56 +01:00
Akihiro Sagawa ce7a98e95c winex11: Return more reliable value from X11DRV_MsgWaitForMultipleObjects.
After processing several X events, X11DRV_MsgWaitForMultipleObjects always
tells us that a new message is available. This is not true for some cases.

For instance, when we call DestroyWindow, the X queues DestroyEvent. Then,
X11DRV_MsgWaitForMultipleObjects handles the event only; none is posted or
sent as hwnd for destroyed window is unavailable. However, the function
states "new message is available" by returning count - 1 value.

This is an issue for CoWaitForMultipleHandles because it expects a new
message in the queue and consumes the message.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 22:27:40 +09:00
Nils Kuhnhenn 1def1e2f7f winex11.drv: Return default locale in LoadKeyboardLayout stub instead of 0.
Signed-off-by: Nils Kuhnhenn <kuhnhenn.nils@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-17 13:38:35 +09:00
Hugh McMaster 598d334e73 winex11.drv: Ctrl-Space should generate space, not 0.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-01 21:09:56 +09:00
Gerald Pfeifer 2b42ddf68a winex11: Make a constant unsigned to avoid shift overflow in get_locale_kbd_layout. 2015-09-02 18:33:46 +09:00
Dmitry Timoshkov a02c3ae759 winex11.drv: On KeymapNotify event also sychronize WinKey state. 2015-07-14 14:40:59 +09:00
Huw Davies 10556c25e4 winex11: Fix ctrl-<symbol> to generate codes below 0x20 where necessary. 2015-05-28 22:44:11 +09:00
Francois Gouget 3adc91f3fc winex11.drv: Remove unneeded NONAMELESSXXX directives. 2015-04-01 14:13:09 +09:00
Alexandre Julliard 710858abee winex11: Remove the no longer needed GetAsyncKeyState entry point. 2012-10-15 15:25:01 +02:00
Alexandre Julliard 03d377eae7 winex11: Release the keyboard lock before sending input to the server. 2012-08-17 10:06:41 +02:00
Alexandre Julliard 26fb3d4a69 winex11: Add a critical section to protect the keyboard mapping tables. 2012-08-16 16:43:19 +02:00
Alexandre Julliard 6bfcb347bf winex11: Remove X11 locking around simple X calls. 2012-08-14 15:13:08 +02:00
Ken Thomases 51d5a48c37 winex11: Fix correspondence between main_key_LT_B and main_key_vkey_qwerty. 2012-06-12 10:27:24 +02:00
Ken Thomases 43984f355a winex11: Be more conservative when matching keys from built-in layout tables. 2012-06-01 14:29:12 +02:00
Alexandre Julliard c8a22a4d1f winex11: Use XGetKeyboardMapping instead of XKeycodeToKeysym. 2012-06-01 14:29:02 +02:00
Dmitry Timoshkov 8ed11d8bb1 winex11.drv: Use XK_KP_Decimal as a fallback if XK_KP_Separator doesn't work. 2012-05-08 09:43:45 +02:00
Dmitry Timoshkov bdae6d7dc0 winex11.drv: Windows always generates VK_DECIMAL for Del/. on a keypad. 2012-04-24 19:12:32 +02:00
Alexandre Julliard f87191815d user32: Fix GetKeyNameText returned length. 2012-02-15 12:07:34 +01:00
Alexandre Julliard 36c76dcc24 winex11: Update only the key state on KeymapNotify without sending fake key events. 2012-02-02 17:19:34 +01:00
Aric Stewart f624876d3e winex11: Strip the _L or _R from X11DRV_GetKeyNameText when appropriate. 2012-01-23 17:05:11 +01:00
Ken Thomases 3fa4da76ea winex11: Have ToUnicodeEx null-terminate the output buffer, if there's room. 2011-12-20 10:15:16 +01:00
Andrew Talbot 53a8746dcd winex11.drv: Mark some fall-throughs in switch statements. 2011-10-18 15:11:12 +02:00
Francois Gouget 076f678446 winex11: Fix printing NULL strings. 2011-09-20 16:21:39 +02:00
Frédéric Delanoy 7e309601f3 dlls: Assorted spelling fixes. 2011-08-03 14:15:50 +02:00
Ken Thomases ebebee5b9e winex11.drv: Map Meta keys to VK_{L, R}MENU, not just VK_MENU.
This fixes a problem with X11DRV_KeymapNotify sending incorrect key-up events.
2011-07-13 15:00:10 +02:00
Ken Thomases c4daf28186 winex11.drv: Fix X11DRV_KeymapNotify when multiple keycodes map to same vkey. 2011-07-13 15:00:00 +02:00
Dmitry Timoshkov f339b6c0f1 winex11.drv: Make sure that all relevant keyboard traces are printed in the same debug channel. 2011-04-20 16:34:25 +02:00
Alexandre Julliard f46bd50a80 winex11: Get rid of the ClipCursor and SendInput entry points. 2011-03-03 17:34:53 +01:00
Alexandre Julliard f1a3480068 user32: Handle input injected through SendInput entirely in user32. 2011-03-02 21:48:39 +01:00
Alexandre Julliard c7efa293f0 server: Invoke low-level hardware hooks directly from the server side. 2011-03-02 21:26:13 +01:00
Alexandre Julliard ae895a1f10 user32: Export a Wine-specific function to send hardware input from the graphics driver. 2011-03-02 21:25:43 +01:00
Alexandre Julliard 731f5b0b7b winex11: Fetch the key state from the server when adjusting state on KeymapNotify and key events. 2011-03-02 12:24:32 +01:00
Alexandre Julliard 02e30f5f77 server: Pass the original hardware input data to the server and set the message parameters on the server side. 2011-03-02 11:34:15 +01:00
Alexandre Julliard bc4afb0786 server: Don't pass a thread id to send_hardware_message, determine it from the window. 2011-03-01 13:21:58 +01:00
Alexandre Julliard 8f88d4fe78 winex11: Pass a window handle for keyboard hardware messages too. 2011-03-01 13:21:58 +01:00
Alexandre Julliard 39c4e6d1d9 user32: Retrieve the current cursor position from the server. 2011-03-01 13:21:42 +01:00
Alexandre Julliard a7da164949 user32: Retrieve the key state for GetAsyncKeyState from the server. 2011-02-28 22:28:42 +01:00
Austin English 8ec262ef0d winex11.drv: Use consistent formatting in a TRACE(). 2011-01-05 17:54:58 +01:00
Dmitry Timoshkov 88900f429a user32: Make sure that SendInput always initializes the time field. 2010-09-22 12:44:22 +02:00
Dmitry Timoshkov a56df96a0e winex11: Remember last window that had the XIC focus and use it in ToUnicode() to make dead keys work more reliably. 2010-07-26 18:38:31 +02:00
Alexandre Julliard f2f508856b winex11: Set the user time property on top-level windows.
Helps convince some broken window managers to put new windows on top
of the z-order.
2010-06-29 13:28:39 +02:00
Alexandre Goujon a30b94651d winex11: Use XkbKeycodeToKeysym when using XKB. 2010-05-04 18:36:05 +02:00
Jörg Höhle 35a2566ea3 winex11: Unify German keyboard mapping. 2010-04-29 10:19:40 -05:00
Jörg Höhle 9079109a45 winex11: Log keycode decimal <-> hex for keysym & MS vkey and scancode. 2010-03-04 12:28:22 +01:00
Jörg Höhle da49030b39 winex11: Add vkey codes for functions keys upto F24.
Scancodes 63..6B for F16-F24 were not added because they conflict
with the 60.. reassignment heuristic in InitKeyboard.
2010-02-15 12:20:03 +01:00
Jörg Höhle 7155742d70 winex11: Initialize KeyPressEvent for XmbLookupString. 2010-02-15 12:20:02 +01:00
Ilya Shpigor a374b3cbbe winex11.drv: Produce VK_CANCEL vkey on the Ctrl+Pause/Break pressing. 2010-01-19 15:03:58 +01:00
Alexandre Julliard d18ad16331 winex11: Make GetKeyboardLayoutName() use the same default layout as GetKeyboardLayout(). 2009-12-14 16:14:38 +01:00
Ken Thomases e606da3be9 winex11: Allow assigning non-OEM virtual key codes for remaining keys.
This is safe because the keyboard layout tables and standard virtual
key code assignments have all already been done.  This is necessary
because some X11 keyboard mappings (e.g. Greek keyboard layout on a
Mac) are full of non-Latin keysyms.
2009-10-27 11:32:04 +01:00
Ken Thomases 58156740f9 winex11: Use a table of available OEM virtual key codes.
Restore availability of vkeys prior to VK_OEM_8.  That's safe now that OEM
vkeys are assigned in a separate loop after standard OEM vkey assignments
have been made.
2009-10-27 11:31:34 +01:00