dont endless loop on mapping issues in evdev

This commit is contained in:
chrys 2018-09-07 23:16:30 +02:00
parent 28d12dad91
commit 5cd0a1dd67

View File

@ -92,10 +92,10 @@ class driver(inputDriver):
event = None
foundKeyInSequence = False
foreward = False
eventFired = False
for fd in r:
eventFired = False
for fd in r:
try:
event = self.iDevices[fd].read_one()
event = self.iDevices[fd].read_one()
except:
self.removeDevice(fd)
while(event):
@ -106,8 +106,10 @@ class driver(inputDriver):
if event.code != 0:
currMapEvent = self.mapEvent(event)
if not currMapEvent:
event = self.iDevices[fd].read_one()
continue
if not isinstance(currMapEvent['EventName'], str):
event = self.iDevices[fd].read_one()
continue
if currMapEvent['EventState'] in [0,1,2]:
eventQueue.put({"Type":fenrirEventType.KeyboardInput,"Data":currMapEvent.copy()})
@ -116,7 +118,7 @@ class driver(inputDriver):
if event.type in [2,3]:
foreward = True
event = self.iDevices[fd].read_one()
event = self.iDevices[fd].read_one()
if not foundKeyInSequence:
if foreward and not eventFired:
self.writeEventBuffer()