Keymapping - щелчок мышью - средний щелчок Как сопоставить кнопки мыши с клавишами клавиатуры
Во-первых, отключите клавиатуру, управляющую мышью, чтобы xev мог захватить код клавиши. Затем введите команду:
$ xev
Затем наведите курсор мыши на маленькое новое всплывающее окно.
Нажмите кнопку мыши, чтобы узнать название этой кнопки: см. Ниже, я обнаружил, что одна из моих кнопок мыши называется "кнопка 1"
ButtonPress event, serial 37, synthetic NO, window 0x6200001,
root 0x29d, subw 0x6200002, time 2427401, (31,41), root:(652,407),
state 0x0, button 1, same_screen YES
Затем выясните, к какой клавише клавиатуры вы хотите привязать эту кнопку мыши: Нажмите клавишу клавиатуры и найдите код клавиши.
При нажатии клавиши пробела на моей клавиатуре терминал показывает:
KeyPress event, serial 37, synthetic NO, window 0x6200001,
root 0x29d, subw 0x0, time 2152399, (398,60), root:(1019,426),
state 0x0, keycode 65 (keysym 0x20, space), same_screen YES,
XLookupString gives 1 bytes: (20) " "
XmbLookupString gives 1 bytes: (20) " "
XFilterEvent returns: False
Исходя из вышеизложенного, мы обнаружили, что код клавиши для клавиши пробела равен 65. Таким образом, вам нужно найти коды клавиш, которые вы хотите сопоставить кнопкам мыши ...
Тогда следующий шаг:
$ sudo apt-get install xkbset
Затем скопируйте скрипт ниже и сохраните его в файл с именем keymap_mouse2kb.sh
конечно, измените коды клавиатуры на те, которые вы хотите
#!/bin/bash
# set XKB layout
setxkbmap -layout us
# turn on mousekeys
xkbset m
# stop mousekeys expiring after a timeout
xkbset exp =m
# map keysym to other keysym
#xmodmap -e "keysym Menu = Pointer_Button2"
# this also works
xmodmap -e "keycode 66 = Pointer_Button2"
xmodmap -e "keycode 133 = Pointer_Button1"
xmodmap -e "keycode 88 = Pointer_Button3"
Затем сделайте этот файл исполняемым
$ sudo chmod u+x keymap_mouse2kb.sh
Затем запустите его, когда вам это нужно ... например, при загрузке
$ ./keymap_mouse2kb.sh