Привязать Ctrl и Alt к кнопкам большого пальца мыши
Я использую Ubuntu 12.04 и имею многокнопочную мышь Microsoft. Я хотел бы сопоставить клавиши- модификаторы Ctrl и Alt с левой и правой кнопками большого пальца моей мыши, соответственно, чтобы я мог нажимать Ctrl + щелчок и Alt- щелчок, не касаясь клавиатуры. Мои кнопки для большого пальца - это кнопки 8 и 9.
Я попробовал решение в разделе Как настроить кнопку большого пальца мыши? который объяснил, как отобразить двойной щелчок на кнопке большого пальца - это сработало для двойного щелчка, но я не мог понять, как изменить решение для Ctrl и Alt
Я также пробовал Как сопоставить Ctrl/Shift с кнопками большого пальца мыши? который использовал xdotools и xbindkeys. Я изменил скрипт к этому:
~/.xbindkeysrc
:
"xdotool keydown alt"
b:9
"xdotool keyup alt"
release + alt + b:9
"xdotool keydown ctrl"
b:8
"xdotool keyup ctrl"
release + control + b:8
Который ПОЧТИ работает. Она имитирует нажатие клавиши Ctrl, когда я нажимаю левую кнопку большого пальца, но я не могу удерживать кнопку и одновременно щелкать кнопкой мыши - удерживание кнопки большого пальца, похоже, препятствует прослушиванию другого входа, пока он не будет отпущен.
Кто-нибудь знает, как я могу сделать так, чтобы моя кнопка большого пальца мыши на самом деле работала как клавиша-модификатор, поэтому я могу использовать большой палец + щелчок вместо Ctrl + щелчок?
2 ответа
Я нашел рабочее решение здесь. он использует Easystroke (sudo apt install easystroke
). слава @stuartr от ubuntuforums!
хотя была одна проблема - повторное сопоставление щелчка мышью время от времени вызывало исходное (в моем случае "назад") событие. чтобы избежать этого, кнопку мыши можно переназначить на какой-то неиспользуемый номер с помощью xinput set-button-map
(sudo apt install xinput
). переназначить каждый созданный мной логин (exacutable) $HOME/.config/autostart/mouse-buttons.sh
с этим содержанием:
$ cat .config/autostart/mouse-buttons.sh
#!/usr/bin/env bash
mi_mouse_id=$(xinput | grep 'GTech MI wireless mouse.*pointer' | sed 's/.*\tid=\([0-9]*\)\t.*/\1/')
xinput set-button-map $mi_mouse_id 1 2 3 4 5 6 7 20 9 10 11 12 13 14 15 16 17 18 19 20
$
это отображает кнопку мыши 8 на кнопку 20. надеюсь, кнопка 20 не имеет смысла. по крайней мере, это не имеет абсолютно никакого эффекта для меня. Теперь пришло время переназначить кнопку 20 на Ctrl:
- Вкладка "Настройки": дополнительные кнопки -> добавить -> переключатель "Жесты мгновенного действия" -> щелкнуть мышью по выбранной кнопке в серой области (для меня кнопка "назад, большой палец" стала "(мгновенно) кнопка 20")
- Вкладка "Настройки": выберите "Автозапуск Easystroke"
- Вкладка Действия: Добавить действие
Имя: все, что вам нравится (например, "Мышь 20 -> Ctrl")
Тип: "Игнорировать"
Подробности: щелкните один раз, чтобы изменить "Игнорировать" на "Комбинация клавиш...". затем нажмите Ctrl + a. "а" не имеет значения и игнорируется. "Комбинация клавиш" будет заменена на "Ctr" - С новым выделенным / выделенным действием -> нажмите "Записать ход" -> нажмите кнопку мыши, которую вы хотите использовать снова (для меня это было "20 -> 20" в столбце "Обводка")
- Теперь нажатие и удержание моей кнопки мыши вызывает на экране странное 'Ctr' и действует так, как будто кнопка удерживается до тех пор, пока кнопка мыши
Вместо использования xdotool, если вы предпочитаете функциональное решение на основе графического интерфейса, вы можете загрузить приложение Easystrokes из центра программного обеспечения Ubuntu. Вы можете легко сопоставить клавиши клавиатуры и сочетания клавиш с кнопками мыши и даже жестами мыши.