diff options
| author | Armin Preiml <apreiml@strohwolke.at> | 2018-06-28 15:22:04 +0200 | 
|---|---|---|
| committer | Armin Preiml <apreiml@strohwolke.at> | 2018-06-28 15:23:26 +0200 | 
| commit | 1eede432fc18ee7da7373d869699ca5d2c5f0eaa (patch) | |
| tree | 4218bb2357fb1a8ce531cf883530060cc347ec92 /sway | |
| parent | c4b900c1e04ec45b481a3f05870d8b4a6c49e386 (diff) | |
| download | sway-1eede432fc18ee7da7373d869699ca5d2c5f0eaa.tar.xz | |
fix handling key modifiers if not pressed at first
fixes #2169
Diffstat (limited to 'sway')
| -rw-r--r-- | sway/input/keyboard.c | 10 | 
1 files changed, 5 insertions, 5 deletions
| diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c index 9e093828..ec149d06 100644 --- a/sway/input/keyboard.c +++ b/sway/input/keyboard.c @@ -64,12 +64,12 @@ static void update_shortcut_state(struct sway_shortcut_state *state,  	bool last_key_was_a_modifier = raw_modifiers != state->last_raw_modifiers;  	state->last_raw_modifiers = raw_modifiers; -	if (event->state == WLR_KEY_PRESSED) { -		if (last_key_was_a_modifier && state->last_keycode) { -			// Last pressed key before this one was a modifier -			state_erase_key(state, state->last_keycode); -		} +    if (last_key_was_a_modifier && state->last_keycode) { +        // Last pressed key before this one was a modifier +        state_erase_key(state, state->last_keycode); +    } +	if (event->state == WLR_KEY_PRESSED) {  		// Add current key to set; there may be duplicates  		state_add_key(state, event->keycode, new_key);  		state->last_keycode = event->keycode; | 
