New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Logitech F310, doesn't work correct after the last update. #194
Comments
@gdniw the latest commit added support for |
I am not very familiar. I try to follow the instructions on the first page, i run first |
It looks that the change affect more controllers than F310. I have the same issue with Logitech F710 and there two reports on the RetroPie forum with the same problems with 8bitdo SN30 Pro Wired and Xbox 360 controller' |
I moved the faulty commit to a separate branch (xpadone_paddles) and reset master until this is resolved. seems Lines 1802 to 1803 in bc930a5
|
Smart move, wish I had more devices to test with. I will address this by adding a separate custom button section. |
I'm the developer of xpadneo. First and most important: the default Elite profile aliases those paddles to A,B,X,Y - you'd need to switch to profile 1, 2, or 3, to actually get those reported separately by the controller - at least in HID mode but I suspect it's the same in GIP mode (USB, donlge). But nonetheless important: The driver is not allowed to use Here's some thought about it and historical background: atar-axis/xpadneo#286 ping @paroj |
@kakra I read if we use |
Yeah, that's what I suspect. It should be tested, tho. Also, some additional thought should be put into that regarding future updates to the mapping with new controllers. We already have a Share button which doesn't really match any game input button in Linux. So it should probably be put into the same category. At this point it may make sense to expose all buttons in the input mapping even if that particular model does not support it. This makes live easier for user-space layers like SDL because they don't need to add an additional mapping for each model. IOW, the positional meaning of a button should be kept in place: BTN_A should always be at position 1, B at 2 etc. I'm currently considering a similar model for xpadneo. |
Yep, touching existing behavior is problematic. SDL should really look at evdev symbols instead of button positions. This could eliminate the need for a lot of mapping entries. The Xbox controllers usually provide a proper evdev symbol mapping in HID mode even without special drivers. Non-HID drivers like xpad should try to achieve something similar, maybe even try matching the symbolic mapping of the HID profile. For existing buttons, it's too late. But future updates should try adding new buttons only behind the well-known positions so it doesn't conflict with existing user-space. Position is dictated by the event code number of the kernel: They are simply ordered by code number by walking the bits in the button map. This is exactly how jsdev works. And SDL uses the same scheme. The SDL controllerdb is just a conversion table from bit position to symbol name. Thus they are reverting what the kernel did (the HID layer converts HID bitmap positions to symbols, SDL "converts" that back to positions, and then to SDL event symbols). |
I will give this a shot in the new update. I've already limited it down to just within the Elite controllers identifier (just haven't pushed/fully tested yet). Thanks everyone. |
Keep in mind that the paddle bits can be in different positions based on the firmware version of your controller: |
AFAIR, at least in HID mode, the paddle bits will activate the same time as if button A,B,X,Y is pressed - while in profile 0. So in profile 0, the paddle bits should be masked so a game doesn't see two buttons virtually depressed at the same time. |
Agreed, the paddle activation in the original PR is for profile 0, when all three lights are off on the controller. This is how most users use the Elite on PC for mapping and/or remapper/reWASD. I'll have a new PR tomorrow most likely. |
@gdniw can you test again with current master? we updated the paddles code so it should no longer interfere with other gamepads |
I test it and it's working fine. Many many thanks ! |
I have a Logitech F310 gamepad, after the latest update of xpad (commit: 154c208) some controllers buttons doesn't work in game(A,B,X,Y, START,SELECT). The only buttons that are working are the D-pad and L,R. After i downgrade the driver (commit: bc930a5) the controller start to working again.
Machine: Raspberry Pi3 3B+
Gamepad : Logitech F310 (xinput mode)
Operating System: RetroPie version 4.7.21 (Debian Buster Lite 32Bit)
Kernel : Linux retropie 5.10.103-v7l+ #1441 SMP Tue Mar 8 12:21:37 GMT 2022 armv7l GNU/Linux
dmesg:
[ 39.949301] usb 1-1.5.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 39.949310] usb 1-1.5.4: Product: Gamepad F310 [ 39.949317] usb 1-1.5.4: Manufacturer: Logitech [ 39.949325] usb 1-1.5.4: SerialNumber: F23C7DEA [ 39.951929] input: Logitech Gamepad F310 as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5.4/1-1.5.4:1.0/input/input10
The text was updated successfully, but these errors were encountered: