У меня есть мышь Microsoft Sidewinder X8, и я хочу использовать 8 kbd> для Shift kbd> и 9 kbd> для Control kbd >. Кто-нибудь может сказать, пожалуйста, как?
Установите xdotool и xbindkeys
sudo apt-get install xdotools xbindkeys
Затем скопируйте следующий код в ~ / .xbindkeysrc
"xdotool keydown shift"
b:9
"xdotool keyup shift"
release + shift + b:9
"xdotool keydown ctrl"
b:8
"xdotool keyup ctrl"
release + control + b:8
где b: x - номер вашей кнопки, которую вы можете узнать используя xev. Поскольку я не хочу, чтобы этот bindig был постоянным каждый раз, когда он мне нужен, я запускаю терминал и набираю xbindkeys -n
. Когда мне это больше не нужно, я просто закрываю терминал.
http://linux.derkeiler.com/Newsgroups/comp.os.linux.x/2003-07/0010.html объясняет, как этого добиться, используя xbindkeys и xmacroplay (из пакета xmacro). Оба эти приложения доступны в репозиториях Ubuntu.
Вот пример с сайта, который объясняет, как сопоставить кнопку мыши 6 с комбинацией Alt kbd> + Левая клавиша kbd>.
Поместите это в
~/.xbindkeysrc
, и нажатие кнопки мыши 6 отобразит комбинацию Alt kbd> + Left key kbd> на X-сервере, который отображается на «назад». "в Konqueror и Mozilla:blockquote>
"echo -e 'KeyStrPress Alt_L\nKeyStrPress Left\nKeyStrRelease Left\n KeyStrRelease Alt_L' | xmacroplay &"
b:6Существует Shift_L и Control_L (а также Shift_R и Control_R, если вы предпочитаете правильные версии клавиш вместо левых версии). Просто замените эти клавиши в приведенной выше команде, замените b: 6 на фактическую кнопку мыши, которую вы хотите отобразить на клавишу, и введите команду в
~/.xbindkeysrc
, и все будет готово.
есть дублирующий вопрос: Сопоставьте Ctrl и Alt с кнопками большого пальца мыши
, так что вот копия ответа на этот вопрос, используя Easystroke
:
я нашел рабочее решение здесь . он использует Easystroke (sudo apt install easystroke
). спасибо @stuartr из ubuntuforums!
, хотя была одна проблема - повторный сопоставленный щелчок мыши время от времени вызывал оригинальное (в моем случае «назад») событие. чтобы избежать этого, кнопку мыши можно переназначить на какое-то неиспользуемое число с помощью xinput set-button-map
(sudo apt install xinput
). я поместил это в мой .xsessionrc
(взят из этого ответа @Maxim):
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:
Система → Предпочтения → Сочетания клавиш позволяют сопоставить клавиши / кнопки с командами; если это не сработает xbindkeys
- еще одно отличное приложение для сопоставления клавиш.
Сначала установите xdotool
sudo aptitude install xdotool
Затем вы можете создать сценарий для имитации нажатия клавиши Ctrl kbd>. Откройте gedit и скопируйте и вставьте следующее:
#! /bin/bash
xdotool keydown ctrl
while [MOUSEKEYDOWN == 1]; do #TODO change the while test.
sleep 30
#decrease sleep if script doesn't react fast enough on releasing the key,
#increase sleep if the computer uses to many CPU when pressing the button.
done
xdotool keyup ctrl # Lift the key back up after no button is pressed.
Я не большой программист bash. Мне нужно найти способ определить, нажата ли ваша кнопка, и я могу иметь (более одной) синтаксической ошибки, но я думаю, что программист bash понял эту идею.
Если кто-то исправил скрипт, сохраните его в ctrl.sh и сделайте его исполняемым
chmod +x ctrl.sh
Затем, как сказал Натхилл, перейдите в system -> settings -> keyboard. Добавьте пользовательскую команду, выберите добавление команды ~ / ctrl.sh и нажмите кнопку мыши в качестве ярлыка.
Это должно сделать это.