Die Daten aus dem Eingabesystem kommen als Strukturen heraus, nicht als einfache Ganzzahlen. Das Mäusegerät ist veraltet, glaube ich. Die bevorzugte Methode sind die Ereignisgeräteschnittstellen, wo auch die Mauseingabeereignisse (und andere) erhalten werden können. Ich habe einen Code geschrieben, der dies tut, das Event.py-Modul. Sie können das verwenden oder von dort aus beginnen.
Ich verwende ein einfaches Gerät und habe keinen Zugriff auf X oder ... daher funktioniert event.py nicht.
Hier ist also mein einfacherer Dekodierungscodeteil, der von "veraltet" '/dev/input/mice' zu interpretieren ist:
import struct
file = open( "/dev/input/mice", "rb" );
def getMouseEvent():
buf = file.read(3);
button = ord( buf[0] );
bLeft = button & 0x1;
bMiddle = ( button & 0x4 ) > 0;
bRight = ( button & 0x2 ) > 0;
x,y = struct.unpack( "bb", buf[1:] );
print ("L:%d, M: %d, R: %d, x: %d, y: %d\n" % (bLeft,bMiddle,bRight, x, y) );
# return stuffs
while( 1 ):
getMouseEvent();
file.close();