Ich habe eine Maus, die ich nur für die Tasten benutze. Ich möchte nur die Bewegungseingabe der Maus deaktivieren. Das physische Abdecken des Sensors funktioniert nicht.
Ich habe eine Maus, die ich nur für die Tasten benutze. Ich möchte nur die Bewegungseingabe der Maus deaktivieren. Das physische Abdecken des Sensors funktioniert nicht.
Antworten:
Sie können verwenden xinput
.
>xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Mouse0 id=6 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Keyboard0
Dort erhalten Sie den Namen der Maus in diesem Fall Mouse0.
Mit dem folgenden Befehl verlangsamen Sie die Geschwindigkeit Ihrer Maus um den Faktor 100000, der dann im Grunde Null ist.
xinput --set-prop 6 'Device Accel Constant Deceleration' 100000
oder
xinput --set-prop Mouse0 'Device Accel Constant Deceleration' 100000
Zum Zurücksetzen können Sie dasselbe verwenden
xinput --set-prop Mouse0 'Device Accel Constant Deceleration' 1
Meine Maus hat nicht die Eigenschaft "Device Accel Constant Deceleration". Ich konnte die Bewegung mit immer noch deaktivieren
xinput set-prop 9 266 -1
xinput set-prop 9 269 0 1
und wieder aktivieren mit
xinput set-prop 9 269 1 0
input set-prop 9 266 0.0
Ich habe auch meine Schaltflächen mit deaktiviert
xinput set-button-map 9 0 0 0
Gerät 9 ist meine Mitsumi Electric Apple Optical USB-Maus .
Geräteliste
Device 'Mitsumi Electric Apple Optical USB Mouse':
Device Enabled (132): 1
Coordinate Transformation Matrix (134): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Accel Speed (266): -1.000000
libinput Accel Speed Default (267): 0.000000
libinput Accel Profiles Available (268): 0, 0
libinput Accel Profile Enabled (269): 0, 1
libinput Accel Profile Enabled Default (270): 1, 0
libinput Natural Scrolling Enabled (271): 0
libinput Natural Scrolling Enabled Default (272): 0
libinput Send Events Modes Available (250): 1, 0
libinput Send Events Mode Enabled (251): 0, 0
libinput Send Events Mode Enabled Default (252): 0, 0
libinput Left Handed Enabled (273): 0
libinput Left Handed Enabled Default (274): 0
libinput Scroll Methods Available (275): 0, 0, 1
libinput Scroll Method Enabled (276): 0, 0, 0
libinput Scroll Method Enabled Default (277): 0, 0, 0
libinput Button Scrolling Button (278): 2
libinput Button Scrolling Button Default (279): 274
libinput Middle Emulation Enabled (280): 0
libinput Middle Emulation Enabled Default (281): 0
Device Node (253): "/dev/input/event4"
Device Product ID (254): 1452, 772
libinput Drag Lock Buttons (282): <no items>
libinput Horizonal Scroll Enabled (255): 1
Wenn ich man 4 mousedrv
richtig gelesen habe , können Sie im Abschnitt CorePointer Ihrer xorg.conf Folgendes festlegen:
Option "EmulateWheel" true
Option "EmulateWheelButton" 0
Option "EmulateWheelInertia" 10000
Dies würde Bewegungen in Ereignisse mit Mausradtasten umwandeln, aber die Trägheitseinstellung würde es zu unempfindlich machen, jemals eine zu registrieren. Auf modernen Systemen ist es evdev statt mousedrv. Dies kann auch zur Laufzeit mit xinput eingestellt werden, zum Beispiel:
xinput --set-prop 17 'Evdev Wheel Emulation' 1
xinput --set-prop 17 'Evdev Wheel Emulation Button' 0
xinput --set-prop 17 'Evdev Wheel Emulation Inertia' 10000
Wobei 17 Ihre eigene Gerätenummer sein sollte. Ich verwende eine Funktion, um diese Nummer anhand des Gerätenamens abzurufen und sie während eines Startskripts in $ device-id zu speichern.
set_device_id() {
device_id=$(xinput --list | grep -m 1 "$1")
device_id=${device_id##*id=}
device_id=${device_id%%[[:space:]]*}
}
Dies hat leider den Nebeneffekt, dass die Eingabe des Scrollrads des Geräts deaktiviert wird.
xinput list 6
(wo6
ist das Gerät). Dokumentation zu den Eigenschaften finden Sie hier: x.org/wiki/Development/Documentation/PointerAcceleration