Skip to content

Commit

Permalink
device: correctly handle profile button with no action
Browse files Browse the repository at this point in the history
  • Loading branch information
pfps committed Feb 10, 2024
1 parent 663490e commit 0f0de28
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions lib/logitech_receiver/hidpp20.py
Original file line number Diff line number Diff line change
Expand Up @@ -1350,6 +1350,8 @@ def from_bytes(cls, bytes):
elif mapping_type == ButtonMappingTypes.Consumer_Key:
value = ButtonConsumerKeys[(bytes[2] << 8) + bytes[3]]
result = cls(behavior=behavior, type=mapping_type, value=value)
elif mapping_type == ButtonMappingTypes.No_Action:
result = cls(behavior=behavior, type=mapping_type)
elif behavior == ButtonBehaviors.Function:
value = ButtonFunctions[bytes[1]] if ButtonFunctions[bytes[1]] is not None else bytes[1]
data = bytes[3]
Expand All @@ -1372,6 +1374,8 @@ def to_bytes(self):
bytes += _int2bytes(self.value, 1)
elif self.type == ButtonMappingTypes.Consumer_Key:
bytes += _int2bytes(self.value, 2)
elif self.type == ButtonMappingTypes.No_Action:
bytes += b'\xff\xff'
elif self.behavior == ButtonBehaviors.Function:
bytes += _int2bytes(self.value, 1) + b'\xff' + (_int2bytes(self.data, 1) if self.data else b'\x00')
else:
Expand Down

0 comments on commit 0f0de28

Please sign in to comment.