xbindkeys не распознает нажатие клавиш

873
DMCoding

Я использую Fedora Gnome на гибридном планшете. Я написал скрипт, который использует xrandr для поворота экрана, и я хотел бы связать его с одной из бесполезных кнопок на боковой панели ноутбука, в настоящее время с наклейкой «windows» рядом с ней. Как и ожидалось, Gnome интерпретирует это как «супер» ключ.

Вот вывод различных команд:

# showkey -s 0xe0 0x5b 0xe0 0xdb  # showkey -a 

(Нет вывода)

# showkey -k keycode 125 press keycode 125 release  $ xev KeymapNotify event, serial 36, synthetic NO, window 0x0 keys: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

Я попытался сопоставить .xbindkeysrc следующим образом:

"/usr/local/bin/rotatescreen.sh" m:0xdb + c:125 

Тем не менее, ничего не меняется даже после запуска xbindkeys.

Вот что происходит с той же последовательностью команд, когда я вместо этого удерживаю супер-ключ:

$ xev KeymapNotify event, serial 36, synthetic NO, window 0x0 keys: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  # showkey -k keycode 125 press keycode 125 release  # showkey -s 0xe0 0x5b  0xe0 0xdb  # showkey -a 

(Нет вывода)

Как я могу привязать мой бесполезный боковой ключ к моему скрипту поворота экрана?

0

1 ответ на вопрос

1
Mikkel Bue Tellus

Выполните в терминале: xbindkeys -k

Появится пустое окно. Нажмите клавишу (и), которой вы хотите назначить команду, и xbindkeys выведет удобный фрагмент, который можно ввести в~/.xbindkeysrc

Ссылаясь на https://wiki.archlinux.org/index.php/Xbindkeys

Согласно вашему выводу xev, я думаю, что состояния и коды клавиш для вашей системы могут быть:

m:0x0 + c:36

Спасибо за это, к сожалению, xbindkeys -k не выдает никаких результатов, когда я нажимаю эту клавишу в окне. Я попробовал ваш фрагмент в .xbindkeysrc, а затем перезагрузил файл, используя xbindkeys (без аргументов). К сожалению, это не дает желаемого результата ... DMCoding 8 лет назад 0
Я немного углубился в это, и кажется, что код клавиши 36 * обычно * является ключом выигрыша, что означает, что система всегда может интерпретировать его как таковой, то есть вы не можете заставить эту кнопку сделать что-то уникальное. С `m: 0x0 + c: 36` в` ~ / .xbindkeysrc`, что между прочим делает нажатие вашей winkey? Вы уверены, что ваш скрипт работает? Вы пытались присвоить его какой-то другой комбинации клавиш? xmodmap - еще одна полезная утилита, которая позволяет переназначать ключи, которые также могут быть полезны для вашего проекта. Mikkel Bue Tellus 8 лет назад 0
Спасибо, что заглянули в этот Миккель. Ключ победы продолжает действовать как супер (включает действия гномов), когда m. 0x0 + c: 36 добавляется в .xbindkeysrc. Клавиша ввода активирует скрипт поворота экрана. :-( Но, по крайней мере, я знаю, что скрипт работает !!! DMCoding 8 лет назад 0