Diese Frage wurde bereits gestellt, aber nie richtig beantwortet. Nach Freigabe mit @Seth frage ich es jetzt nochmal. Dadurch kann ich die Frage viel einfacher beantworten und möglicherweise ändern. Die ursprüngliche Frage finden Sie hier:
Ordnen Sie Strg und Alt den Daumenschaltflächen der Maus zu
Problem:
Das Zuordnen von Tastenanschlägen zu einer Maustaste xbindkeys
in Verbindung mit ist sehr einfach, xdotool
oder xte
es scheint sehr viel problematischer, eine Änderungstaste (z. B. ALT , STRG , UMSCHALTTASTE usw.) zuzuordnen .
Die endgültige soloution sollte ua ein erlauben STRG + Klick (zB für mehrere Einträge aus einer Liste auswählen) nur mit der Maus.
Einige mögliche Lösungsansätze finden Sie hier bei Stack Exchange sowie in anderen Linux-Foren. Aber keine davon funktioniert wie erwartet, da sie zu anderen Problemen und Nebenwirkungen führt.
Anmerkungen:
Einige der folgenden Beispiele beziehen Guile mit der Schemasyntax ein und stützen sich auf die .xbindkeysrc.scm
Datei, während andere auf die .xbindkeysrc
Datei mit der entsprechenden Syntax angewiesen sind . Mir ist bewusst, dass sie nicht zusammenarbeiten werden.
Des Weiteren die folgenden Schnipsel stützen sich auf xdotool
nur , aber ich bin offen für Ansätze , die die anderen Anwendungen wie zB xte
auch - obwohl sie beide führen zu den gleichen Ergebnissen scheint und deshalb verwende ich nur xdotool
Aktionen hier.
Ansatz A:
Aktualisieren der .xbindkeysrc
Datei mit:
"xdotool keydown ctrl"
b:8
"xdotool keyup ctrl"
release + b:8
Das habe ich anfangs versucht, aber es hat den Nebeneffekt, dass der Modifikator gehalten wird und nicht freigegeben werden kann.
Ansatz B:
Aktualisieren der .xbindkeysrc.scm
Datei mit:
(xbindkey '("b:8") "xdotool keydown ctrl")
(xbindkey '(release "b:8") "xdotool keyup ctrl")
(xbindkey '("m:0x14" "b:8") "xdotool keydown ctrl")
(xbindkey '(release "m:0x14" "b:8") "xdotool keyup ctrl")
Gefunden bei http://www.linuxforums.org/forum/hardware-peripherals/169773-solved-map-mouse-button-modifier-key.html und versucht, das Problem zu beheben, bei dem der Modifier festgehalten wird (wie bei approach beschrieben) ein).
Es wird jedoch behoben, dass es nur teilweise funktioniert, da keine weiteren Mausklicks ausgeführt werden können, während die Daumentaste gedrückt wird.
Ansatz C:
Aktualisieren der .xbindkeysrc
Datei mit:
"xdotool keydown ctrl"
b:8
"xdotool keyup ctrl"
release + control + b:8
Versucht von OP der verknüpften Frage hier bei Askubuntu. Viel einfacher und solider, da es keine Modifikatorzustände enthält. Trotzdem bleibt das Problem bestehen, dh ein STRG + Klick ist nicht möglich.
Es scheint, dass dies xbindkeys
das Problem ist, da es den Klick erkennt, ihn aber nicht ausführt. Dies kann mit xev | grep button
und getestet werden xbindkeys -v
:
Ein normaler Mausklick xev
sollte wie folgt aussehen:
state 0x10, button 1, same_screen YES
state 0x110, button 1, same_screen YES
Sowie für die Daumentaste:
state 0x10, button 8, same_screen YES
state 0x10, button 8, same_screen YES
Wenn die obige xbindkeys
Konfiguration aktiviert ist, wird jedoch nichts aufgezeichnet. Obwohl die Daumentaste sinnvoll ist, da sie STRG zugeordnet ist und daher keine Maustaste mehr ist, ist es merkwürdig, dass die Taste 1 nicht mit aufgezeichnet wird. Dies liegt wahrscheinlich daran, dass xbindkeys
es nicht ausgeführt wird, sondern von selbst erkannt wird:
Button press !
e.xbutton.button=8
e.xbutton.state=16
"xdotool keydown ctrl"
m:0x0 + b:8 (mouse)
got screen 0 for window 16d
Start program with fork+exec call
Button press !
e.xbutton.button=1
e.xbutton.state=20
Button release !
e.xbutton.button=1
e.xbutton.state=276
Button release !
e.xbutton.button=8
e.xbutton.state=20
"xdotool keyup ctrl"
Release + m:0x4 + b:8 (mouse)
got screen 0 for window 16d
Start program with fork+exec call
Ansatz D:
Aktualisieren der .xbindkeysrc
Datei mit:
"xdotool keydown ctrl"
b:8
"xdotool keyup ctrl"
release + control + b:8
"xdotool click 1"
b:1
Einfach zu einfach ... führt aber zu einer Endlosschleife von Klicks.
AKTUALISIEREN:
In der Zwischenzeit habe ich ein Logitech G502 gekauft und festgestellt, dass nach der Konfiguration über den Treiber unter Windows nicht nur das Profil selbst im Gerätespeicher gespeichert wird, sondern der eigentliche Tastendruck mit der Maus erfolgt. Das hat mein Problem unter Linux gelöst!
Die einzige andere Maus, an die ich mich erinnere, die das konnte, war damals die Razer Copperhead. Aber ich denke, es gibt heute noch andere Mäuse, die dasselbe können.