make fenrir useable with mouse and other nonwatched input events
This commit is contained in:
parent
dec8b41b18
commit
932034b560
@ -51,16 +51,30 @@ class driver():
|
||||
if r != []:
|
||||
for fd in r:
|
||||
event = self.iDevices[fd].read_one()
|
||||
foreward = False
|
||||
while(event):
|
||||
self.env['input']['eventBuffer'].append( [self.iDevices[fd], self.uDevices[fd], event])
|
||||
if event.type == evdev.events.EV_KEY:
|
||||
if event.code != 0:
|
||||
currMapEvent = self.env['runtime']['inputDriver'].mapEvent(event)
|
||||
currMapEvent = self.mapEvent(event)
|
||||
if not currMapEvent:
|
||||
return currMapEvent
|
||||
if currMapEvent['EventState'] in [0,1,2]:
|
||||
return currMapEvent
|
||||
foreward = True
|
||||
event = self.iDevices[fd].read_one()
|
||||
continue
|
||||
if not isinstance(currMapEvent['EventName'], str):
|
||||
foreward = True
|
||||
event = self.iDevices[fd].read_one()
|
||||
continue
|
||||
if not foreward:
|
||||
if currMapEvent['EventState'] in [0,1,2]:
|
||||
return currMapEvent
|
||||
else:
|
||||
if not event.type in [0,1,4]:
|
||||
foreward = True
|
||||
event = self.iDevices[fd].read_one()
|
||||
if foreward:
|
||||
self.writeEventBuffer()
|
||||
self.clearEventBuffer()
|
||||
return None
|
||||
|
||||
def writeEventBuffer(self):
|
||||
|
@ -15,6 +15,6 @@ while True:
|
||||
if r != []:
|
||||
for fd in r:
|
||||
for event in devices[fd].read():
|
||||
print('Devicename:'+ devices[fd].name + ' Devicepath:' + devices[fd].fn + ' Events:' + str(devices[fd].active_keys(verbose=True)) + ' Value:' + str(event.value))
|
||||
print('Devicename:'+ devices[fd].name + ' Devicepath:' + devices[fd].fn + ' EventType: ' + str(event.type) + ' Events:' + str(devices[fd].active_keys(verbose=True)) + ' Value:' + str(event.value))
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user