mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-11 12:07:52 +01:00
Live on this host since 2026-09-11 but never committed. The wheel firmware decodes the shifter's hall sensor itself and this unit's top row rests at Y 180-193, below the ~195 engage threshold, so 1st/3rd often did not register. g29_shifter.bpf.c re-decodes those two gates from the raw X/Y bytes with hysteresis (engage >= 160, release <= 140) and ORs the bit in before hid-logitech parses the report; it never clears a bit, so the firmware's working gates cannot regress. fix_g29_shifter.sh builds, attaches and installs it persistently (udev-hid-bpf rule + a systemd safety-net unit pulled in on every re-enumeration); g29_shifter_capture.py records and grades raw captures per gate. Two files were over the 250-line cap: the test file is split at the record/CLI boundary with the report builders moved into a conftest fixture (the naming hook allows only test_*.py in tests/), and the grader's docstrings are tightened. No behaviour change to the installed fix. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SS8M5wk88nJTXxDWz61KKk
16 lines
510 B
Desktop File
16 lines
510 B
Desktop File
[Unit]
|
|
# Safety net for the G29 shifter HID-BPF fix (see docs/DOCS-g29-shifter.md).
|
|
# udev-hid-bpf's own rule attaches the program on "add"; this unit re-checks
|
|
# after boot and on every hotplug, and re-attaches if that rule ever misses.
|
|
# Installed by fixes/fix_g29_shifter.sh; __SCRIPT__ is substituted there.
|
|
Description=Ensure the G29 shifter HID-BPF fix is attached
|
|
After=systemd-udevd.service
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
RemainAfterExit=no
|
|
ExecStart=__SCRIPT__ --ensure
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|