mirror of
https://github.com/labwc/labwc.git
synced 2025-11-02 09:01:47 -05:00
If a user lets go of the modifier (e.g. alt) before the 'normal' key (e.g. tab) when window-cycling, we do not end the cycling until both keys have been released. If we end the window-cycling on release of the modifier only, some XWayland clients such as hexchat realise that tab is pressed (even though we did not forward the event) and because we absorb the equivalent release event it gets stuck on repeat. Just to clarify the position here: Issue #176 describes a behaviour whereby dmenu gets stuck on repeat after being launched with a keybind. This patch does not resolve that issue but reflects that in Wayland, the client is responsible for implementing "key repeat". Changing the key repeat rate/delay in (labwc/labwc@e62bb51) was dirty fix that need should never have been made.
11 lines
397 B
C
11 lines
397 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
#ifndef __LABWC_KEY_STATE_H
|
|
#define __LABWC_KEY_STATE_H
|
|
|
|
void key_state_set_pressed(uint32_t keycode, bool ispressed);
|
|
void key_state_store_pressed_keys_as_bound(void);
|
|
bool key_state_corresponding_press_event_was_bound(uint32_t keycode);
|
|
void key_state_bound_key_remove(uint32_t keycode);
|
|
int key_state_nr_keys(void);
|
|
|
|
#endif /* __LABWC_KEY_STATE_H */
|