Ich habe vor Kurzem Ubuntu (und seine Derivate Xubuntu und Kubuntu) auf meinem Laptop installiert.
Auf meinem Computer habe ich sowohl ein Touchpad als auch einen Trackpoint. Unter Windows ist das Touchpad deaktiviert, wenn ich den Trackpoint verwende.
Gibt es eine Möglichkeit, dies unter Linux nachzubilden?
Antwort1
Ich habe lange gegoogelt, um eine Lösung für genau dieses Problem zu finden, und das hier ist das Ergebnis, das zu meinem System passt:
#!/bin/bash
#
#Change /dev/input/event13 to your trackstick event
cat /dev/input/event13 > /tmp/mousemove &
#initialize counter to prevent garbage file from growing
i="0";
while true ; do
i=$[$i+1];
#variables
oldchecksum=${newchecksum};
newchecksum=`md5sum /tmp/mousemove | awk '{print $1}'`
#see if trackpad is already disabled
if [ "$trackpad" = "off" ]; then
#compare previous checksum to current if they're same trackstick is not moving
if [ "$oldchecksum" = "$newchecksum" ]; then
#make sure trackpad is enabled
xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1;
trackpad="on";
fi
else
#compare previous checksum to current if they're different trackstick is moving
if [ "$oldchecksum" != "$newchecksum" ]; then
#disable trackpad
xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 0;
trackpad="off";
fi
fi
#check for count to keep poll file smaller
if [ "$i" = "300" ]; then
echo '' > /tmp/mousemove;
i="0";
newchecksum=`md5sum /tmp/mousemove | awk '{print $1}'`
fi
#sleep for 1 second so we don't eat up resources
#if the update speed is not fast enough for you a smaller number such as .75 may be better
sleep 1;
done
Da ich Fluxbox auf Arch ausführe, habe ich den Skriptaufruf in meinem~/.fluxbox/apps
Der einzige Vorbehalt, den ich finden konnte, besteht darin, dass Sie das Skript beenden, wenn Sie es schaffen, „pkill cat“ als Root auszuführen (wobei dieses Skript ausgeführt werden muss, um auf das Mausereignis zuzugreifen). Gleichzeitig wird das Skript, wenn Sie es beenden und „cat“ nicht beenden, weiterhin ausgeführt, bis Ihnen entweder der Speicherplatz ausgeht /tmp
, Sie „pkill cat“ ausführen oder das System neu starten.
Antwort2
Ich habe einen einfachen Trick (eigentlich ein Hack):
xinput set-prop "DLL07B0:01 044E:120B" "Synaptics Finger" 100 1000 100
Es werden die falschen Druckparameter (min. > max.) und eine lächerliche Fingergröße eingestellt.
Synaptics Finger
32 bit, 3 values, low, high, press.
Option "FingerLow" "integer"
When finger pressure drops below this value, the driver counts it as a release. Property: "Synaptics Finger"
Option "FingerHigh" "integer"
When finger pressure goes above this value, the driver counts it as a touch. Property: "Synaptics Finger"
Daher zählt der Treiber auch dann als Drücken, wenn der Druck > 1000 und der Druck < 100 ist, was logisch unmöglich ist.