mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-06 18:05:35 +00:00
app/internal/xkb: translate physical "Backtab" keys to Shift-Tab
Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
@@ -124,6 +124,11 @@ func (x *Context) DispatchKey(keyCode uint32) (events []event.Event) {
|
|||||||
sym := C.xkb_state_key_get_one_sym(x.state, C.xkb_keycode_t(keyCode))
|
sym := C.xkb_state_key_get_one_sym(x.state, C.xkb_keycode_t(keyCode))
|
||||||
if n, ok := convertKeysym(sym); ok {
|
if n, ok := convertKeysym(sym); ok {
|
||||||
cmd := key.Event{Name: n}
|
cmd := key.Event{Name: n}
|
||||||
|
// Ensure that a physical backtab key is translated to
|
||||||
|
// Shift-Tab.
|
||||||
|
if sym == C.XKB_KEY_ISO_Left_Tab {
|
||||||
|
cmd.Modifiers |= key.ModShift
|
||||||
|
}
|
||||||
if C.xkb_state_mod_name_is_active(x.state, (*C.char)(unsafe.Pointer(&_XKB_MOD_NAME_CTRL[0])), C.XKB_STATE_MODS_EFFECTIVE) == 1 {
|
if C.xkb_state_mod_name_is_active(x.state, (*C.char)(unsafe.Pointer(&_XKB_MOD_NAME_CTRL[0])), C.XKB_STATE_MODS_EFFECTIVE) == 1 {
|
||||||
cmd.Modifiers |= key.ModCtrl
|
cmd.Modifiers |= key.ModCtrl
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user