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.
Alexandre Julliard wrote:
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.
That is the point. Old win9x didn't have that. Everything starting from win2k does. Without this change nothing else gets to see left/right buttons.
Might need some changes further downstream but this level have to distinguish between left and right keys.
Vitaliy
Vitaliy Margolen wine-devel@kievinfo.com writes:
That is the point. Old win9x didn't have that. Everything starting from win2k does. Without this change nothing else gets to see left/right buttons.
Might need some changes further downstream but this level have to distinguish between left and right keys.
Then you need to do the downstream changes first to preserve the current behavior. You can't just change the vkey values everywhere.