Привязать кнопку мыши к клавишам Control_L или Super_L

1473
tx2

Я пытаюсь заставить кнопки мыши действовать точно так же, как клавиши Control_L или Super_L.

Во многих приложениях (firefox, konsole и т. Д.) Ctrl + Scroll имеет специальные действия, такие как масштабирование, поэтому назначение кнопки мыши клавише-модификатору выглядит очень полезным.

Также я надеюсь использовать кнопку мыши, назначенную для Super, в качестве ключа для управления окнами в удивительной WM.

Поэтому я пытаюсь использовать xbindkeys и xdotool:

"xdotool keydown control" b:8  "xdotool keyup control" release + control + b:8 

Но когда я нажимаю кнопку мыши № 8, Ксев говорит:

LeaveNotify event, serial 30, synthetic NO, window 0x1800001, root 0x33f, subw 0x0, time 52846491, (-1,166), root:(0,186), mode NotifyGrab, detail NotifyAncestor, same_screen YES, focus YES, state 0 

и когда я отпускаю кнопку:

EnterNotify event, serial 30, synthetic NO, window 0x1800001, root 0x33f, subw 0x0, time 52846655, (-1,166), root:(0,186), mode NotifyUngrab, detail NotifyAncestor, same_screen YES, focus YES, state 0  KeymapNotify event, serial 30, synthetic NO, window 0x0, keys: 63 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

Поэтому приложения не получают никаких уведомлений о клавишах / кнопках (KeyPress и другие).

Я пытался играть с xmodmap, использовать xte или xvkbd вместо xdotool.

Когда я пытался назначить клавишу мыши на нормальную клавишу (не модификатор) - все работает нормально.

Кроме того, я попытался вызвать xdotool / xte / xvkbd с другой машины по ssh, и это работает!

Так что я абсолютно не знаю, что попробовать еще. Есть идеи?

Upd : Насколько я понимаю, LeaveNotify и EnterNotify, сгенерированные XGrabButton, вызваны xbindkeys, но я все еще не знаю, что делать :(

3
Возможный дубликат [Как правильно сопоставить клавиатуру с кнопкой мыши?] (Http://superuser.com/questions/883782/how-do-i-properly-map-a-keyboard-key-to-a -Мышь-кнопка) zmo 7 лет назад 6

1 ответ на вопрос

0
DreadPirateLynx

Пытаться:

"xdotool keyup control" Control + b:8 + release 

Обратите внимание, что Control и все другие модификаторы в этом отношении пишутся с большой буквы, модификаторы перечислены первыми, а выпуск - последним.

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