Als erstes müssen wir die Maus ausschalten, aber nur in X. Dafür könnten wir verwenden xinput
.
Wir müssen Eingabegeräte erkennen, die mit dem Computer (mit dem X-Server) verbunden sind:
pbm@tauri ~ $ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ A4Tech USB Mouse id=10 [slave pointer (2)]
⎜ ↳ Macintosh mouse button emulation id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
[...]
Das Gerät, das wir verwenden müssen, ist A4Tech USB Mouse
mit id=10
. Als nächstes müssen wir die Eigenschaften dieses Geräts überprüfen:
pbm@tauri ~ $ xinput list-props "A4Tech USB Mouse"
Device 'A4Tech USB Mouse':
Device Enabled (121): 1
[....]
Um das Gerät auszuschalten, müssen wir die Eigenschaft ändern Device Enabled
:
xinput set-prop DEV PROP STATE
xinput set-prop "A4Tech USB Mouse" "Device Enabled" 0
So schalten Sie es ein:
xinput set-prop "A4Tech USB Mouse" "Device Enabled" 1
Das nächste ist, es automatisch zu machen ...;) In diesem Beispiel deaktivieren wir die Maus per Tastenkürzel und aktivieren sie durch Drücken der linken + rechten Maustaste.
Dafür könnten wir actkbd verwenden - einen Tastaturkürzel-Daemon (aber nicht nur), der außerhalb des X-Servers funktioniert.
Zunächst müssen wir leere Konfigurationsdatei für actkbd erstellen: touch /etc/actkbd.conf
. Als Nächstes müssen Sie die an den Computer angeschlossenen Geräte ermitteln:
pbm@tauri ~ $ cat /proc/bus/input/devices
I: Bus=0003 Vendor=046d Product=c312 Version=0110
N: Name="BTC USB Multimedia Keyboard"
P: Phys=usb-0000:00:1d.0-1.6/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/input/input6
U: Uniq=
H: Handlers=kbd event3
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7
I: Bus=0003 Vendor=09da Product=000a Version=0110
N: Name="A4Tech USB Mouse"
P: Phys=usb-0000:00:1d.0-1.5/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/input/input8
U: Uniq=
H: Handlers=mouse1 event5
B: EV=17
B: KEY=ff0000 0 0 0 0
B: REL=343
B: MSC=10
[...]
In diesem Teil sind die Namen und Handler von Tastatur- und Mausgeräten am interessantesten.
Zuerst schalten wir die Maus per Tastaturkürzel aus, also müssen wir die Schlüssel-IDs ermitteln:
pbm@tauri ~ $ sudo actkbd -s -d /dev/input/event3
Keys: 29+41+42 //we need to press keys that will turn off mouse, 29+41+42 is Ctrl + Shift + `
Wenn wir wissen, was Schlüssel-IDs sind, müssen wir sie in config file ( /etc/actkbd.conf
) ablegen :
29+41+42:::sudo -u pbm DISPLAY=:0 xinput set-prop "A4Tech USB Mouse" "Device Enabled" 0
Um es zu testen, müssen wir actkbd
im Daemon-Modus laufen :
pbm@tauri ~ $ sudo actkbd -d /dev/input/event3 -D
Genauso müssen wir das "Einschalten" -Ereignis behandeln:
- Überprüfen Sie die Handler des Mausgeräts
- Überprüfen Sie die Tastencodes der linken und rechten Maustaste mit
actkbd
- Setzen Sie es an
actkbd.conf
- Führen Sie den actkbd-Dämon aus, um das Mauseingabegerät zu überwachen
Laufende Daemons können als Init-Skript oder Autorun-Skript in der Umgebung ausgeführt werden.
Um die Maus automatisch auszuschalten, können wir das Eingabegerät ( cat /dev/input/event5
) überwachen und es ausschalten, wenn keine Eingabe erfolgt ...
Ich hoffe, dass mein kurzes Intro dir hilft ...;)
actkbd
! Nachdem ich meine Frage gepostet hatte, hatte ich bereits herausgefunden,xinput
wie ich die Maus durch Drücken der Maustasten wieder aktivieren könnte.