Ich verwende gerne die Emulation der mittleren Maustaste, da meine mittlere Maustaste ein Scrollrad ist und viel Druck erforderlich ist, um einen Klick zu registrieren. Das wird ziemlich schnell körperlich schmerzhaft.
Ich finde es viel einfacher, einfach die linke und rechte Maustaste gleichzeitig zu klicken. Und ich verwende diese Funktion ständig.
Ich habe ein Skript, ~/scripts/mouse.sh
das Folgendes macht:
#!/bin/bash
# Enable middle button emulation
# from https://askubuntu.com/a/201825/54278
if [[ -n ${DISPLAY} ]]; then
pointer1="MX Master"
id1=$(xinput | awk -F= "/$pointer1.*pointer/ {print \$2}" | cut -f1)
xinput set-prop "${id1}" "libinput Middle Emulation Enabled" 1
fi
Das funktioniert gut, aber ich muss es bei jedem Neustart manuell ausführen.
Ich habe erstellt ~/.config/autostart/mouse.sh.desktop
. Dies sind die Inhalte:
[Desktop Entry]
Type=Application
Exec=/home/david/.scripts/mouse.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_AU]=Mouse
Name=Mouse
Comment[en_AU]=Middle button emulation
Comment=Middle button emulation
Mein Problem ist, dassmein Skript macht beim Login nichts.
Ich muss noch ein Terminal öffnen und mein Skript ausführen, bevor die Emulation der mittleren Maustaste funktioniert.
Ich habe versucht, die if [[ -n ${DISPLAY} ]]; then
Bedingung zu entfernen, und ich habe versucht, sleep
am Anfang des Skripts ein hinzuzufügen.
Ich habe auch versucht, den Inhalt meines Skripts hinzuzufügen ~/.profile
.
Nichts davon hat funktioniert. Das nervt mich schon seit Jahren!
Danke fürs Vorbeischauen :-)
Bearbeitungen
- Auch probiert
Exec=/bin/bash /home/david/.scripts/mouse.sh
. Danke @PRATAP - Ubuntu 19.04, obwohl es auch in den letzten Versionen, einschließlich 18.04, nicht funktioniert hat
- Habe versucht, die .desktop-Datei zu löschen und die GUI der Startup-Anwendungen zu verwenden
- Habe versucht, den
if [[ -n ${DISPLAY} ]]; then
Zustand zu entfernen - Ich hatte einen Geistesblitz und versuchte es mit
Exec=/usr/bin/xterm -e /home/david/.scripts/mouse.sh
- auch ohne Erfolg
Antwort1
Bei mir hat das folgende Skript funktioniert.
/home/user/mouse.sh
#!/bin/bash
pointer1="Logitech USB Receiver Mouse"
id1=$(xinput | awk -F= "/$pointer1.*pointer/ {print \$2}" | cut -f1)
xinput set-prop "${id1}" "libinput Middle Emulation Enabled" 1
einige der Ergebnisse vonxinput
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=11 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver Consumer Control id=16 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver Mouse id=18 [slave pointer (2)]
und den Befehl /bin/bash /home/user/mouse.sh
in den Startanwendungseinstellungen hinzugefügt.