Change usage of the 8th axis to Dial#309
Conversation
|
Thanks @mmilata , this PR gives us something to discuss, but I don't think this would be merged at the moment. This is not to discourage you but to more get changes that everybody would use in place and possible tested on base OS supported, like Windows, Linux, Mac and Android. What might be more something that would be an idea, is possible adding Also, have you looked at Rudder, Throttle, Accelerator and possible Steering? As for the A new release for 2026 might not be a bad idea, @lemmingDev what do you think? |
I'm not necessarily asking for a new release - there's already version 7.4 on https://registry.platformio.org/libraries/lemmingdev/ESP32-BLE-Gamepad/versions but without a corresponding tag on github. |
|
For context, ExpressLRS enables all 8 axes and then assigns them channels like this. It does not know what are the physical controls corresponding to the channels, AFAIK. Which doesn't matter much because in all apps/games I've seen you have to manually assign the axes anyway. Rather than the exact control type I'm concerned whether repeating "Slider" twice in the HID report descriptor is the right way to get two sliders on host? Is there an user of this library who managed to get two sliders working? Anyway, thanks for the reply and feel free to close this. I'm gonna read some more on HID and test on other platforms. |
|
Pushed a commit that adds a Dial device - this way ExpressLRS could disable Slider2 and enable Dial to get the desired HID descriptor, without breaking backwards compatibility. What do you think? Note: did not test it nor discussed with ExpressLRS maintainers yet |
|
These are some interesting changes, basically what I was think, thanks @mmilata . We would need a little bit of testing before we merge. Does this fix your problem |
|
Just for completeness, the gamepad I saw wasEcho Aviation Controller from Flyhoneycomb A review and usage can we seen I am not sure I do any flightSim type stuff enough, thou I could see a custom gamepad/flightStick that has dials and sliders as needed. What a pain to find this device. I don't think Flyhoneycomb market it quite right, but that is just my opinion. There is place for all these devices. |

I can't get the 8th axis to work when connected to Linux (did not try other OS). I suspect it is caused by the last two axes sharing the same usage (0x36 Slider). Don't understand HID enough to claim this is wrong, but the same device can also be connected via USB where the 8th axis works and this is the most striking difference in the report descriptor.
This patch changes the second slider to be actually 0x37 Dial. Haven't managed to test this yet, opening the PR mostly so I don't forget. Some details: ExpressLRS/ExpressLRS#2136
btw can you please publish the
7.4git tag?