rules: fix bug with non-recognized empty mouse movement

This commit is contained in:
Peter F. Patel-Schneider 2022-08-31 13:50:19 -04:00
parent 518cf9777c
commit 002ca8bdcb
1 changed files with 7 additions and 9 deletions

View File

@ -806,15 +806,13 @@ class MouseGesture(Condition):
if feature == _F.MOUSE_GESTURE:
d = notification.data
data = _unpack('!' + (int(len(d) / 2) * 'h'), d)
data_offset = 0
for m in self.movements:
if data_offset == 0:
data_offset += 1
if m not in self.MOVEMENTS: # matching against initiating key
if m != str(_CONTROL[data[0]]):
data_offset = 1
movement_offset = 0
if self.movements and self.movements[0] not in self.MOVEMENTS: # matching against initiating key
movement_offset = 1
if self.movements[0] != str(_CONTROL[data[0]]):
return False
else:
continue
for m in self.movements[movement_offset:]:
if data_offset >= len(data):
return False
if data[data_offset] == 0: