У меня есть мышь Logitech MX Revolution, которая имеет клавишу на клавиатуре XF86Search на нем. Я использовал xdotool для отображения его как средней кнопки мыши в моем xbindkeys файле.
Этот щелчок мышью больше не действует как единственное нажатие кнопки, но вместо этого мерцает между на и от состояний при удержании. Это нежелательное поведение делает это неприменимым для работы с. Например, это предотвращает меня от способности панорамировать холст в Графических программах, или от панорамирования вокруг в области просмотра Блендера.
Используя xev к считать отображение кнопки показывает, что переменные состояния, мерцающие подобный клавиатуре, нажимают повторяющиеся клавиши.
У кого-либо есть идея того, какова проблема? У меня когда-то была эта проблема в моей новой установке Монетного двора 18.2, но это ушло после перезагрузки и перезарядки моих батарей. На этот раз этим решением не является ответ, как это произошло снова при обновлении Монетного двора 18.2, и снова на новой установке Ubuntu.
Я развязал ключ поиска в сочетаниях клавиш.
Решение мешать нажатию клавиши повториться путем добавления команды xset-r код клавиши в xbindkeys файле. Это ведет себя тот же путь как запрещающий ключевое повторение в настройках/клавиатуре.
код на месте похож на это:
"xset -r 225; xdotool mousedown 2"
m:0x0 + c:225
XF86Search
"xdotool mouseup 2"
m:0x0 + c:225 + release
XF86Search
, В то время как это решило эту проблему, настоящая проблема, я имел, не был зафиксирован, который заставлял кнопку поиска работать отлично средней кнопкой мыши в программах, таких как Блендер. Вышеупомянутое решение не работает хорошо с модификатором Сдвига по причине, которую я не понимаю.
лучшее решение для этой проблемы состояло в том, чтобы воздержаться от xbindkeys полностью и вместо этого включить эмуляцию щелчка средней кнопкой путем добавления этого кода к /etc/sysctl.conf
:
# Enable mouse button emulation
dev.mac_hid.mouse_button_emulation = 1
# Set 2nd button to 217 - the middle button of MX Revolution mouse.
dev.mac_hid.mouse_button2_keycode = 217
После этого я должен был создать udev файл в /etc/udev/rules.d/
, где он обратится к сценарию каждый раз, когда он видел бы мой включенный аппаратный ключ. Этот сценарий содержит команду sysctl --system
, которая необходима, чтобы включить мыши 2 эмуляции. По некоторым причинам это не включено по умолчанию, который является чем-то, что я хотел бы изучить позже.
Это - мой udev файл, характерный для моего аппаратного ключа Logitech:
SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="046d", RUN+="/bin/sh /home/user/mouse-initialize-settings.sh"