dont endless loop on mapping issues in evdev
This commit is contained in:
parent
28d12dad91
commit
5cd0a1dd67
@ -92,10 +92,10 @@ class driver(inputDriver):
|
|||||||
event = None
|
event = None
|
||||||
foundKeyInSequence = False
|
foundKeyInSequence = False
|
||||||
foreward = False
|
foreward = False
|
||||||
eventFired = False
|
eventFired = False
|
||||||
for fd in r:
|
for fd in r:
|
||||||
try:
|
try:
|
||||||
event = self.iDevices[fd].read_one()
|
event = self.iDevices[fd].read_one()
|
||||||
except:
|
except:
|
||||||
self.removeDevice(fd)
|
self.removeDevice(fd)
|
||||||
while(event):
|
while(event):
|
||||||
@ -106,8 +106,10 @@ class driver(inputDriver):
|
|||||||
if event.code != 0:
|
if event.code != 0:
|
||||||
currMapEvent = self.mapEvent(event)
|
currMapEvent = self.mapEvent(event)
|
||||||
if not currMapEvent:
|
if not currMapEvent:
|
||||||
|
event = self.iDevices[fd].read_one()
|
||||||
continue
|
continue
|
||||||
if not isinstance(currMapEvent['EventName'], str):
|
if not isinstance(currMapEvent['EventName'], str):
|
||||||
|
event = self.iDevices[fd].read_one()
|
||||||
continue
|
continue
|
||||||
if currMapEvent['EventState'] in [0,1,2]:
|
if currMapEvent['EventState'] in [0,1,2]:
|
||||||
eventQueue.put({"Type":fenrirEventType.KeyboardInput,"Data":currMapEvent.copy()})
|
eventQueue.put({"Type":fenrirEventType.KeyboardInput,"Data":currMapEvent.copy()})
|
||||||
@ -116,7 +118,7 @@ class driver(inputDriver):
|
|||||||
if event.type in [2,3]:
|
if event.type in [2,3]:
|
||||||
foreward = True
|
foreward = True
|
||||||
|
|
||||||
event = self.iDevices[fd].read_one()
|
event = self.iDevices[fd].read_one()
|
||||||
if not foundKeyInSequence:
|
if not foundKeyInSequence:
|
||||||
if foreward and not eventFired:
|
if foreward and not eventFired:
|
||||||
self.writeEventBuffer()
|
self.writeEventBuffer()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user