Merge branch 'alt-tab-wayland' into 'master'

Draft: winewayland.drv: Fix keyboard focused out behavior

See merge request wine/wine!6199
This commit is contained in:
YuriK7 2024-11-19 22:27:09 +00:00
commit 95529c1807
3 changed files with 6 additions and 10 deletions

View file

@ -4242,10 +4242,6 @@ static BOOL track_menu( HMENU hmenu, UINT flags, int x, int y, HWND hwnd, const
menu_right_key( &mt, flags, msg.message ); menu_right_key( &mt, flags, msg.message );
break; break;
case VK_ESCAPE:
exit_menu = menu_key_escape( &mt, flags );
break;
case VK_F1: case VK_F1:
{ {
HELPINFO hi; HELPINFO hi;
@ -4262,8 +4258,9 @@ static BOOL track_menu( HMENU hmenu, UINT flags, int x, int y, HWND hwnd, const
break; break;
} }
case VK_ESCAPE:
default: default:
NtUserTranslateMessage( &msg, 0 ); exit_menu = menu_key_escape( &mt, flags );
break; break;
} }
break; /* WM_KEYDOWN */ break; /* WM_KEYDOWN */

View file

@ -629,8 +629,8 @@ static void release_all_keys(HWND hwnd)
{ {
/* Skip mouse buttons. */ /* Skip mouse buttons. */
if (vkey < 7 && vkey != VK_CANCEL) continue; if (vkey < 7 && vkey != VK_CANCEL) continue;
/* Skip left/right-agnostic modifier vkeys. */ /* Skip modifier vkeys. */
if (vkey == VK_SHIFT || vkey == VK_CONTROL || vkey == VK_MENU) continue; if (vkey == VK_SHIFT || vkey == VK_CONTROL || vkey == VK_MENU || (vkey >= VK_LSHIFT && vkey <= VK_RMENU)) continue;
if (state[vkey] & 0x80) if (state[vkey] & 0x80)
{ {

View file

@ -2433,11 +2433,10 @@ static int queue_keyboard_message( struct desktop *desktop, user_handle_t win, c
} }
} }
if (origin == IMO_HARDWARE) if ((origin == IMO_HARDWARE) && (input->kbd.scan == desktop->key_repeat.input.kbd.scan))
{ {
/* if the repeat key is released, stop auto-repeating */ /* if the repeat key is released, stop auto-repeating */
if (((input->kbd.flags & KEYEVENTF_KEYUP) && if (input->kbd.flags & KEYEVENTF_KEYUP)
(input->kbd.scan == desktop->key_repeat.input.kbd.scan)))
{ {
stop_key_repeat( desktop ); stop_key_repeat( desktop );
} }