Поэтому я хочу создать привязку клавиш, используя мой sxhkd, который работает как привязка для создания панелей в tmux.
Я создал привязки раньше, так что я знаю, что могу использовать xev
для распечатки названий клавиш, вот вывод при нажатии %
затем "
:
Событие KeyPress, серийный номер 32, синтетический номер NO, окно 0x2200001, корень 0x9f, subw 0x0, время 8068709, (324,604), корень: (325,624), состояние 0x0, код ключа 50 (keysym 0xffe1, Shift_L), same_screen YES, XLookupString дает 0 байтов : XmbLookupString дает 0 байтов: XFilterEvent возвращает: False
Событие KeyPress, серийный номер 32, синтетический номер NO, окно 0x2200001, корень 0x9f, subw 0x0, время 8069165, (324,604), корень: (325,624), состояние 0x1, код клавиши 14 (keysym 0x25, процент), same_screen YES, XLookupString дает 1 байт : (25) "%" XmbLookupString дает 1 байт: (25) "%" XFilterEvent возвращает: False
Событие KeyRelease, серийный номер 32, синтетический номер NO, окно 0x2200001, корень 0x9f, subw 0x0, время 8069236, (324,604), корень: (325,624), состояние 0x1, код клавиши 14 (keysym 0x25, проценты), same_screen YES, XLookupString дает 1 байт : (25) "%" XFilterEvent возвращает: False
Событие KeyRelease, серийный номер 32, синтетический номер NO, окно 0x2200001, корень 0x9f, subw 0x0, время 8069615, (324,604), корень: (325,624), состояние 0x1, код ключа 50 (keysym 0xffe1, Shift_L), same_screen YES, XLookupString дает 0 байтов : XFilterEvent возвращает: False
Событие KeyPress, серийный номер 32, синтетический номер NO, окно 0x2200001, корень 0x9f, subw 0x0, время 8090326, (324,604), корень: (325,624), состояние 0x0, код ключа 62 (keysym 0xffe2, Shift_R), same_screen YES, XLookupString дает 0 байтов : XmbLookupString дает 0 байтов: XFilterEvent возвращает: False
Событие KeyPress, серийный номер 32, синтетический номер NO, окно 0x2200001, корень 0x9f, subw 0x0, время 8090442, (324,604), корень: (325,624), состояние 0x1, код клавиши 48 (keysym 0x22, quotedbl), same_screen YES, XLookupString дает 1 байт : (22) "" "XmbLookupString дает 1 байт: (22)" "" XFilterEvent возвращает: False
Событие KeyRelease, серийный номер 32, синтетический номер NO, окно 0x2200001, корень 0x9f, subw 0x0, время 8090593, (324,604), корень: (325,624), состояние 0x1, код ключа 48 (keysym 0x22, quotedbl), same_screen YES, XLookupString дает 1 байт : (22) "" "XFilterEvent возвращает: False
Событие KeyRelease, серийный номер 32, синтетический номер NO, окно 0x2200001, корень 0x9f, subw 0x0, время 8090652, (324,604), корень: (325,624), состояние 0x1, код ключа 62 (keysym 0xffe2, Shift_R), same_screen YES, XLookupString дает 0 байтов : XFilterEvent возвращает: False
Итак, в моем ~/.config/sxhkd/sxhkdrc
я поставил:
super + percent
bspc window -p right && urxvt
super + quotedbl
bspc window -p down && urxvt
Теперь, когда я перезагружаю sxhkd и нажимаю клавиши super + %
ничего не происходит, но другая привязка работает отлично.
- Почему sxhkd не распознает ключ процента?
- Идентифицирует ли sxhkd ключ процента как имя, отличное от имени, данного xev?
Редактировать: я сделал еще несколько поисков в репозитории sxhkd git и нашел файл, в котором хранятся номера ключей для каждого ключа.
В parse.c
:
{"percent" , 0x0025}
Я попытался изменить его на 0x25
и перекомпилировать, но все равно не повезло. :(