mirror of
https://gitlab.freedesktop.org/plymouth/plymouth.git
synced 2026-05-07 13:08:07 +02:00
ply-input-device: Handle modifiers better
At the moment, holding down the shift key sends key repeat events that lead to the output not getting properly shifted. This commit avoids updating modifier state when the modifer key is held down.
This commit is contained in:
parent
6b5bd35a0e
commit
4ee7056ff8
1 changed files with 7 additions and 5 deletions
|
|
@ -237,12 +237,14 @@ on_input (ply_input_device_t *input_device)
|
|||
|
||||
symbol = xkb_state_key_get_one_sym (input_device->keyboard_state, keycode);
|
||||
|
||||
updated_state = xkb_state_update_key (input_device->keyboard_state, keycode, xkb_key_direction);
|
||||
if (key_state != PLY_KEY_HELD) {
|
||||
updated_state = xkb_state_update_key (input_device->keyboard_state, keycode, xkb_key_direction);
|
||||
|
||||
if ((updated_state & XKB_STATE_LEDS) != 0) {
|
||||
ply_trace ("Keyboard indicator lights need update");
|
||||
input_device->leds_state_invalid = true;
|
||||
ply_trigger_pull (input_device->leds_changed_trigger, input_device);
|
||||
if ((updated_state & XKB_STATE_LEDS) != 0) {
|
||||
ply_trace ("Keyboard indicator lights need update");
|
||||
input_device->leds_state_invalid = true;
|
||||
ply_trigger_pull (input_device->leds_changed_trigger, input_device);
|
||||
}
|
||||
}
|
||||
|
||||
/* If the key is repeating, or is being pressed down */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue