From 92644e9519ae661d3a38a2aae4109cc7ffc9d730 Mon Sep 17 00:00:00 2001 From: Martin Bauer Date: Sat, 3 Oct 2026 15:57:50 +0200 Subject: [PATCH] IR remote: accept irserver's lowercase button and remote names irserver (musicdolphin's IRTrans daemon) serves lircd's network protocol on port 8765, but sends "key_play hauppauge" where lircd sends "KEY_PLAY Hauppauge", so every press was dropped. Uppercase button names when parsing and compare the remote name case-insensitively. irserver also always reports repeat 00, so a held transport button is not debounced there; volume ramps as intended. Co-Authored-By: Claude Opus 5.5 --- python-backend/musicmouse/config.py | 1 + .../musicmouse/services/lirc/protocol.py | 11 +++++++- .../musicmouse/services/lirc/service.py | 2 +- python-backend/tests/test_lirc.py | 27 +++++++++++++++++++ 4 files changed, 39 insertions(+), 2 deletions(-) diff --git a/python-backend/musicmouse/config.py b/python-backend/musicmouse/config.py index c97c729..54f268c 100644 --- a/python-backend/musicmouse/config.py +++ b/python-backend/musicmouse/config.py @@ -158,6 +158,7 @@ class LircConfig(_Strict): port: int = Field(default=2222, ge=1, le=65535) #: Only button events from this remote are acted on - other remotes registered #: with the same lircd (an LED remote, say) are ignored. + #: Compared case-insensitively: irserver lowercases what lircd capitalises. remote_name: str = "Hauppauge" reconnect_interval: float = Field(default=5.0, gt=0) diff --git a/python-backend/musicmouse/services/lirc/protocol.py b/python-backend/musicmouse/services/lirc/protocol.py index 4b0445f..707bf08 100644 --- a/python-backend/musicmouse/services/lirc/protocol.py +++ b/python-backend/musicmouse/services/lirc/protocol.py @@ -7,6 +7,15 @@ A line looks like:: that is ``