Quick captures my Super+<key> event
I'm not a Quick user. But lately when I'm doing development, I discover that Quick actually captured my Super+<key>
event.
GNOME's default input method switching hot key is Super+space. Since Quick capturing that event, after switching to quick, I cannot switch to other input method with keyboard anymore.
Further studied indicates that my laptop's keyboard fire unexpected modifier type in the state.
As documented here: https://ibus.github.io/docs/ibus-1.5/ibus-ibustypes.html#IBusModifierType-enum
Modifier Mask Description IBUS_SHIFT_MASK Shift is activated. IBUS_LOCK_MASK Cap Lock is locked. IBUS_CONTROL_MASK Control key is activated. IBUS_MOD1_MASK Modifier 1 (Usually Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)) activated. IBUS_MOD2_MASK Modifier 2 (Usually Num_Lock (0x4d)) activated. IBUS_MOD3_MASK Modifier 3 activated. IBUS_MOD4_MASK Modifier 4 (Usually Super_L (0xce), Hyper_L (0xcf)) activated. IBUS_MOD5_MASK Modifier 5 (ISO_Level3_Shift (0x5c), Mode_switch (0xcb)) activated. IBUS_BUTTON1_MASK Mouse button 1 (left) is activated. IBUS_BUTTON2_MASK Mouse button 2 (middle) is activated. IBUS_BUTTON3_MASK Mouse button 3 (right) is activated. IBUS_BUTTON4_MASK Mouse button 4 (scroll up) is activated. IBUS_BUTTON5_MASK Mouse button 5 (scroll down) is activated. IBUS_HANDLED_MASK Handled mask indicates the event has been handled by ibus. IBUS_FORWARD_MASK Forward mask indicates the event has been forward from ibus. IBUS_IGNORED_MASK It is an alias of IBUS_FORWARD_MASK. IBUS_SUPER_MASK Super (Usually Win) key is activated. IBUS_HYPER_MASK Hyper key is activated. IBUS_META_MASK Meta key is activated. IBUS_RELEASE_MASK Key is released. IBUS_MODIFIER_MASK Modifier mask for the all the masks above.
If this were to be trusted, then Super+ should give me, in Engine.do_process_key_event()
a state
of 32. Instead, the state of my keyboard's Super+ has the state 64, which would be MOD5_MASK
.
So what I think best for ibus-cangjie is to ignore event states matches either CONTROL_MASK, MOD1_MASK, MOD4_MASK, or MOD5_MASK altogether.
System
- HP Spectre X360 (2020 version)
- Fedora 40
- GNOME 46