Configurable USB Joystick interface - #2277
Conversation
|
On a first glance it looks nice. |
|
I'm aware the translations. I did it before, then I realized it is better to finish the UI first, and copy the strings once at the end. So I will. However there is a big chance I will write a simple shell script for this task. |
There might be a script somwhere for this. |
|
There was a helper script - Just so you know, this won't make 2.8 ... we're basically at feature freeze now - as should be starting to focus on fixing the last major bugs so we can move on to RCs. So there may also be some teething conflicts arising between now and starting onto 2.9. So that also means no pressure ;) This will be a great new addition, and I really do like like how you structured the menus and interface for this. Nice and intuitive if you're used to the current UI ;) |
|
Thanks! I'll check that script. No prob. about the 2.8. I'll have a version with that for private use, and I will follow the the modifications to resolve the conflicts. And the no pressure thing is good, because there is still a lot of work with the color GUI to make it nice :) Also I want to learn more about the LVGL, because it can be a thing in the ebmedded Linux systems too. |
a5a4e6d to
a6d02ee
Compare
|
I finished the implementation of the feature. Only the companion part is missing. |
2eff4fc to
e236280
Compare
1b4c09e to
74440b9
Compare
|
DA translation #define TR_USBJOYSTICK_LABEL "USB joystik" |
74440b9 to
cff99f2
Compare
|
@HThuren |
cff99f2 to
173affd
Compare
|
I am working on updating the EdgeTX User Manual to explain this new feature and I have some questions. I have been testing a bunch and some things are still not clear. Can you please explain the following points:
That is all I can think of for now - If anyone can shed some light, I would appreciate it. Great work on this by the way! |
|
This functionality was implemented via #3111 as mentioned above, hence why it looks and behaves a bit differently as described in this PR. Companion button mode is no longer present AFAIK. There is now a single screen for the joystick settings on colorlcd, and a channel settings submenu on B&W. I can't tell you what the difference is between the modes other than that they exist and on Linux and mac a device will properly be detected as being either a joystick, gamepad or multi-axis (which is like a graphics tablet) The https://gamepad-tester.com site correctly detects the device differently. However, Windows has a major bug where it doesn't requery game controllers properly after the first connect of a device with a given VID:PID, so we need to get some more PIDs to work around that issue. In classic mode, IIRC, only the first eight channels/mixers are used. |
|
Thanks for the information... I will update accordingly. BTW - the Companion mode is still a selectable option in the firmware... |
Ah, I see what you mean - advanced joystick button mode - ok, that is so fewer buttons are needed when used with Companion simulator. |
|
Regarding the Joystick, Gamepad, Multiaxis selection: These are the possible USB HID devices what we can simulate. Usually it doesn't matter what you choose, but as I tested there are cases when programs differentiate between these devices, and you should use a specific type. Especially games which handle the joysticks and gamepads differently. (I was going to use the TX as game controller for simulator type games too not just FPV simulators.) So I implemented this feature to have the maximum flexibility to fit to all the softwares. |
Summary of changes:
Overview
In this implementation we can define an USB Joystick interface for each models.
This is a feature option at the build (USBJ_EX). The default is ON except the X9D+ 2019 where the deault is OFF because the firmware size error.
These are the settings:
TODO