Как сопоставить Ctrl / Shift с кнопками мыши?

У меня есть мышь Microsoft Sidewinder X8, и я хочу использовать 8 для Shift и 9 для Control . Кто-нибудь может сказать, пожалуйста, как?

6
задан 2 November 2011 в 00:43

5 ответов

Установите 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. Когда мне это больше не нужно, я просто закрываю терминал.

0
ответ дан 2 November 2011 в 00:43

http://linux.derkeiler.com/Newsgroups/comp.os.linux.x/2003-07/0010.html объясняет, как этого добиться, используя xbindkeys и xmacroplay (из пакета xmacro). Оба эти приложения доступны в репозиториях Ubuntu.

Вот пример с сайта, который объясняет, как сопоставить кнопку мыши 6 с комбинацией Alt + Левая клавиша .

Поместите это в ~/.xbindkeysrc, и нажатие кнопки мыши 6 отобразит комбинацию Alt + Left key на X-сервере, который отображается на «назад». "в Konqueror и Mozilla:

"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, и все будет готово.

0
ответ дан 2 November 2011 в 00:43

есть дублирующий вопрос: Сопоставьте 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:

  1. Вкладка «Предпочтения»: дополнительные кнопки -> добавить -> переключатель «Жесты быстрого доступа» -> щелкнуть мышью по выбранной кнопке в серой области ( для меня кнопка «назад, большой палец» стала «(мгновенно) кнопкой 20»)
  2. Вкладка «Предпочтения»: выберите «Autostart Easystroke»
  3. Вкладка «Действия»: Добавить действие
    & emsp ; Name: все, что вам нравится (например, «Mouse 20 -> Ctrl»)
    & emsp; Тип: «Игнорировать»
    & emsp; Подробности: щелкните один раз, чтобы изменить «Игнорировать» на «Ключ» сочетание ... '. затем нажмите Ctrl + a. «а» не имеет значения и игнорируется. «Комбинация клавиш» будет заменена на «Ctr»
  4. . Новое выделенное действие выделено / выделено -> нажмите «Записать ход» -> нажмите кнопку мыши, которую вы хотите использовать снова (это придумано » 20 -> 20 'в столбце Stroke для меня)
  5. Теперь нажатие и удержание моей кнопки мыши вызывает на экране странное' Ctr 'и действует так, как будто кнопка удерживается до тех пор, пока кнопка мыши
0
ответ дан 2 November 2011 в 00:43

Система Предпочтения Сочетания клавиш позволяют сопоставить клавиши / кнопки с командами; если это не сработает xbindkeys - еще одно отличное приложение для сопоставления клавиш.

0
ответ дан 2 November 2011 в 00:43

Сначала установите xdotool

sudo aptitude install xdotool

Затем вы можете создать сценарий для имитации нажатия клавиши Ctrl . Откройте 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 и нажмите кнопку мыши в качестве ярлыка.

Это должно сделать это.

0
ответ дан 2 November 2011 в 00:43

Другие вопросы по тегам:

Похожие вопросы: