Использовать ISO_Level3_Shift как Escape при нажатии

Использовать ISO_Level3_Shift как Escape при нажатии

Я использую альтернативную раскладку клавиатуры, которая использует CapsLock и # в качествеISO_Уровень3_Сдвигмодификаторы.

setxkbmap de koy

Мне также нравится использовать CapsLock как дополнительную клавишу Escape, когда она просто нажата. Это можно легко сделать следующим образом:

xcape -e "ISO_Level3_Shift=Escape"

Но это заставляет оба модификатора Level3 действовать как Escape. Как применить xcape только к левой клавише-модификатору (обозначенной как CapsLock)?

решение1

После некоторого чтения наСтраница xcape на github, я нашел простое решение. В прошлом годузапрос на вытягиваниебыло объединено, что позволяет передавать коды клавиш вместо символов клавиш в xcape.

Решение следующее:

xcape -e "#66=Escape"

Как получить правильный код ключа?

xev -event keyboard

Нажмите клавишу, которую вы хотите изменить. Затем вы должны увидеть что-то вроде этого:

KeyPress event, serial 29, synthetic NO, window 0x4c00001,
    root 0x190, subw 0x0, time 771139, (110,626), root:(204,711),
    state 0x0, keycode 66 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XKeysymToKeycode returns keycode: 51
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

Там вы найдете свой код ключа (в данном примере 66).

Связанный контент