Emulation der mittleren Maustaste bei der Gnome-Anmeldung aktivieren (Ubuntu)

Emulation der mittleren Maustaste bei der Gnome-Anmeldung aktivieren (Ubuntu)

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.shdas 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} ]]; thenBedingung zu entfernen, und ich habe versucht, sleepam 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

  1. Auch probiert Exec=/bin/bash /home/david/.scripts/mouse.sh. Danke @PRATAP
  2. Ubuntu 19.04, obwohl es auch in den letzten Versionen, einschließlich 18.04, nicht funktioniert hat
  3. Habe versucht, die .desktop-Datei zu löschen und die GUI der Startup-Anwendungen zu verwenden
  4. Habe versucht, den if [[ -n ${DISPLAY} ]]; thenZustand zu entfernen
  5. 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.shin den Startanwendungseinstellungen hinzugefügt.

Bildbeschreibung hier eingeben

verwandte Informationen