eekboard: Reset modifiers just after normal key press.
This commit is contained in:
@ -426,7 +426,7 @@ on_key_pressed (EekKeyboard *keyboard,
|
|||||||
switch (keysym) {
|
switch (keysym) {
|
||||||
case XK_Shift_L:
|
case XK_Shift_L:
|
||||||
case XK_Shift_R:
|
case XK_Shift_R:
|
||||||
eekboard->modifiers ^= ShiftMask;
|
eekboard->modifiers |= ShiftMask;
|
||||||
eek_keyboard_get_keysym_index (keyboard, &group, &level);
|
eek_keyboard_get_keysym_index (keyboard, &group, &level);
|
||||||
eek_keyboard_set_keysym_index (keyboard, group,
|
eek_keyboard_set_keysym_index (keyboard, group,
|
||||||
(eekboard->modifiers & Mod5Mask) ? 2 :
|
(eekboard->modifiers & Mod5Mask) ? 2 :
|
||||||
@ -434,7 +434,7 @@ on_key_pressed (EekKeyboard *keyboard,
|
|||||||
0);
|
0);
|
||||||
break;
|
break;
|
||||||
case XK_ISO_Level3_Shift:
|
case XK_ISO_Level3_Shift:
|
||||||
eekboard->modifiers ^= Mod5Mask;
|
eekboard->modifiers |= Mod5Mask;
|
||||||
eek_keyboard_get_keysym_index (keyboard, &group, &level);
|
eek_keyboard_get_keysym_index (keyboard, &group, &level);
|
||||||
eek_keyboard_set_keysym_index (keyboard, group,
|
eek_keyboard_set_keysym_index (keyboard, group,
|
||||||
(eekboard->modifiers & Mod5Mask) ? 2 :
|
(eekboard->modifiers & Mod5Mask) ? 2 :
|
||||||
@ -443,14 +443,17 @@ on_key_pressed (EekKeyboard *keyboard,
|
|||||||
break;
|
break;
|
||||||
case XK_Control_L:
|
case XK_Control_L:
|
||||||
case XK_Control_R:
|
case XK_Control_R:
|
||||||
eekboard->modifiers ^= ControlMask;
|
eekboard->modifiers |= ControlMask;
|
||||||
break;
|
break;
|
||||||
case XK_Alt_L:
|
case XK_Alt_L:
|
||||||
case XK_Alt_R:
|
case XK_Alt_R:
|
||||||
eekboard->modifiers ^= Mod1Mask;
|
eekboard->modifiers |= Mod1Mask;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
fakekey_press_keysym (eekboard->fakekey, keysym, eekboard->modifiers);
|
fakekey_press_keysym (eekboard->fakekey, keysym, eekboard->modifiers);
|
||||||
|
eekboard->modifiers = 0;
|
||||||
|
eek_keyboard_get_keysym_index (keyboard, &group, &level);
|
||||||
|
eek_keyboard_set_keysym_index (keyboard, group, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user