xbindkeys двойной подсчет нажатий клавиш (без различия между нажатием и отпусканием)
У меня есть мышь Logitech g502 Proteus, и я хочу использовать кнопки мыши «Назад» и «Вперед» (обычно используемые в браузере).
я проверил с
xev
обнаруживаются нажатия кнопок мыши. я установил
xbindkeys
и используя различные настройки онлайн-справок
.xbindkeysrc
для сопоставления кнопок мыши (6 и 7) для нажатия ряда клавиш для имитации правильного поведения.
"xte 'key t'"
b:6 + Release
"xte 'keydown Alt_L' 'keydown Right' 'keyup Right' 'keyup Alt_L'"
b:7 + Release
Проблема в том, что ремап выполняется дважды, один раз при нажатии и один раз при отпускании. Я думал, что модификатор «Release» решит эту проблему, но он все еще продолжается. Я проверил это, вставив фиктивное переназначение на букву, удерживая кнопку мыши и увидев, что одно вставлено, а за ним другое.
't'
на выпуске, когда я отпускаю.
Я убил все процессы xbindkeys перед тестированием. Бег
xbindkeys --verbose --nodaemon
проявляет необычное поведение, т.
press
а также
release
оба записываются, когда я нажимаю кнопку мыши, несмотря на то, что я не отпускаю нажатую кнопку мыши. Следующее выглядит так, будто я дважды нажал и отпустил кнопку, но это было только один раз:
starting loop...
Button press !
e.xbutton.button=6
e.xbutton.state=16
Button release !
e.xbutton.button=6
e.xbutton.state=16
"xte 'key t' "
Release + m:0x0 + b:6 (mouse)
got screen 0 for window 510
Start program with fork+exec call
Button press !
e.xbutton.button=6
e.xbutton.state=16
Button release !
e.xbutton.button=6
e.xbutton.state=16
"xte 'key t' "
Release + m:0x0 + b:6 (mouse)
got screen 0 for window 510
Сами строки xte в командной строке печатают только одну букву «t». Любые идеи о том, как исправить/обойти это?
2 ответа
Ну, похоже, это не проблема с Ubuntu или xbindkeys, а с драйвером мыши xrdp. Я использую виртуальную машину MS Hyper-V под управлением Ubuntu 20.04.2 и столкнулся со следующей проблемой на github, где кто-то точно сообщает о моей проблеме: «один щелчок (нажатие + отпускание) вертикальной мыши Logitech MX кнопки 6 и 7 (кнопки вперед/назад) отправляются два события ButtonPress и ButtonRelease."
xrdpmouse: событие ButtonPress/ButtonRelease отправлено дважды
Так что кажется, что нет простого решения, и это печально.
я использую
xbindkeys
аналогично на одном ПК для переключения рабочей области боковыми кнопками мыши. Глядя на мою конфигурацию, я вижу, что в конце моих строк конфигурации, которые, как я полагаю, выполняются
xte
на заднем фоне. Возможно, вам это нужно? Я не за этим компьютером, чтобы проверить, что произойдет, если я удалю
&
из моего конфига:
# Mouse button 8 (the "back" side button)
# Re-map to super+page-down (move to workspace down)
"xte 'keydown Super_L' 'key Page_Down' 'keyup Super_L' &"
b:8
# Mouse button 9 (the "forward" side button)
# Re-map to super+page-up (move to workspace up)
"xte 'keydown Super_L' 'key Page_Up' 'keyup Super_L' &"
b:9