Vitaliy Margolen wine-patches@kievinfo.com writes:
--- a/dlls/winex11.drv/keyboard.c +++ b/dlls/winex11.drv/keyboard.c @@ -1022,9 +1022,9 @@ static const WORD nonchar_key_vkey[256] = 0, 0, 0, 0, 0, 0, 0, 0, /* FFD0 */ 0, 0, 0, 0, 0, 0, 0, 0, /* FFD8 */ /* modifier keys */
- 0, VK_SHIFT, VK_SHIFT, VK_CONTROL, /* FFE0 */
- VK_CONTROL, VK_CAPITAL, 0, VK_MENU,
- VK_MENU, VK_MENU, VK_MENU, 0, 0, 0, 0, 0, /* FFE8 */
- 0, VK_LSHIFT, VK_RSHIFT, VK_LCONTROL, /* FFE0 */
- VK_RCONTROL, VK_CAPITAL, 0, VK_MENU,
- VK_MENU, VK_LMENU, VK_RMENU, 0, 0, 0, 0, 0, /* FFE8 */ 0, 0, 0, 0, 0, 0, 0, 0, /* FFF0 */ 0, 0, 0, 0, 0, 0, 0, VK_DELETE /* FFF8 */
This is going to change the vkeys everywhere, I don't think that's correct. Things like WM_KEYDOWN have to report VK_SHIFT, not VK_LSHIFT etc.