-
Notifications
You must be signed in to change notification settings - Fork 114
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
Xbox Elite 2 shows up as normal Xbox one controller #344
Comments
This is mostly a cosmetic issue. However, we do not really support the paddle buttons yet, thus they won't show up. But they work as default mapped to A,B,X,Y. Paddle support should come during v0.9, cosmetic issues will be fixed in v0.10 or later. Actually, xpadneo pretends to be a USB-connected Xbox One controller (10 buttons, 6 axes) to be compatible with as many games as possible. So you can think of it as a feature. We are still passing the correct model name but software may work differently and use their own names based on device IDs. So I'll look into the Steam Input cosmetic issue after v0.10. |
thanks for looking into it i also just found out that the paddles do work in steam (removed xpadneo) i just had to reboot for some reason |
navigating just with the paddles mapped to the Dpad |
@kakra what also interesting is that the L joystick X axis (going L&R) acts as the simulator yaw axis when not using xpadneo |
xpadneo has one additional axis behind the Xbox standard axes which combines the triggers into a rudder axis. It was asked as a feature some time ago. Do you mean that? |
yes thats the one when i dont have xpadneo the rudder axis becomes the left joystick |
oh i also managed to get the stuff to work (for now) with Xpad and steam having "generic controller support" disabled |
Rumble commands need to be throttled below 100 Hz, otherwise the controller firmware crashes |
and how can it be throttled? |
xpadneo does it in the driver, SDL seems to do it, too, according to the source code, but from received reports I believe it doesn't work properly. The driver you're using has to implement it, it's not a setting you could adjust. |
ah ok, in that case i will keep it disabled for now and wait until xpadneo shows the controller as the Elite 2 (have the paddles maped to gear-shifter in most racing games) |
Closes: atar-axis#338 See-also: atar-axis#344 Signed-off-by: Kai Krakow <[email protected]>
We still silence the paddles when one of the profiles is selected, the default profile setup maps the paddles to A, B, X, and Y. The paddles are special because they are passed as one key by the HID report. We need to manually remap those values to individual bits. Maybe-affects: atar-axis#344 Closes: atar-axis#332 Signed-off-by: Kai Krakow <[email protected]>
Closes: atar-axis#338 See-also: atar-axis#344 Signed-off-by: Kai Krakow <[email protected]>
We still silence the paddles when one of the profiles is selected, the default profile setup maps the paddles to A, B, X, and Y. The paddles are special because they are passed as one key by the HID report. We need to manually remap those values to individual bits. Maybe-affects: atar-axis#344 Closes: atar-axis#332 Signed-off-by: Kai Krakow <[email protected]>
We still silence the paddles when one of the profiles is selected, the default profile setup maps the paddles to A, B, X, and Y. The paddles are special because they are passed as one key by the HID report. We need to manually remap those values to individual bits. Maybe-affects: atar-axis#344 Closes: atar-axis#332 Signed-off-by: Kai Krakow <[email protected]>
We still silence the paddles when one of the profiles is selected, the default profile setup maps the paddles to A, B, X, and Y. The paddles are special because they are passed as one key by the HID report. We need to manually remap those values to individual bits. Maybe-affects: atar-axis#344 Closes: atar-axis#332 Signed-off-by: Kai Krakow <[email protected]>
@kakra i see you've made some commits, is there any way i can help test/ provide extra information? |
ive also added the usb connection data to the 1st message |
From within the existing git checkout, run |
The line you mentioned is really a way to work around an issue with SDL to not mess up our mapping fixups (because it doesn't look at the descriptor but uses hard-coded assumptions from controllerdb). Switching to Back when we introduced this hack, it was the only way to have consistent mappings in old non-SDL games, SDL1 games, and SDL2 games across various versions. Most of this is gone my now thanks to improvements in SDL to actually load newer system SDL versions dynamically into games even when the games are statically linked with an old SDL version (unless it's just too old). The plan is to remove the need for this during the next development cycle, see #286. |
oh an issue i found in the is branch was that the uninstall.sh didnt actually uninstalled the kernel modules (0 installs found) even though it was still there |
We still silence the paddles when one of the profiles is selected, the default profile setup maps the paddles to A, B, X, and Y. The paddles are special because they are passed as one key by the HID report. We need to manually remap those values to individual bits. Maybe-affects: atar-axis#344 Closes: atar-axis#332 Signed-off-by: Kai Krakow <[email protected]>
Closes: atar-axis#338 See-also: atar-axis#344 Signed-off-by: Kai Krakow <[email protected]>
We still silence the paddles when one of the profiles is selected, the default profile setup maps the paddles to A, B, X, and Y. The paddles are special because they are passed as one key by the HID report. We need to manually remap those values to individual bits. Maybe-affects: atar-axis#344 Closes: atar-axis#332 Signed-off-by: Kai Krakow <[email protected]>
Could you retry now that we present the paddles to user-space? |
@kakra i totally forgot about xpadneo oops i will test it right now |
ok so i cant seem to install the github one, it throws
i will try the one from the AUR and see if that one works |
the AUR version
doesnt seem to work... it still shows up as a |
ok after reverting to a working branch (installable) it doesnt see the Elite controller correctly oh and i had to manually delete the |
for some reason it keeps reconnecting the controller too with a random delay in between disconnects EDIT: it seems to be a driver issue (never had this on windows) |
I'm pretty sure this is due to #346 - please try cloning the repo as root, too.
I'm not sure what the problem is here. Where does it show up? In SDL apps (and thus Steam Input)? That's because SDL does not actually use device names from the kernel but uses one from its database. That doesn't mean that your model wouldn't work with all its functions. It's usually a cosmetic issue. It should be shown correctly in Usually, our driver should not have an entry in the SDL mapping database at all because it was made to actually match the generic controller mappings and show up as "Generic XInput controller". But people keep submitting controllerdb entries to the SDL project even when there's nothing wrong with the mapping, artificially limiting the number of buttons to the device of the submitter or whatever a driver offered at that time. That's like tilting at windmills, I've decided to go with just one SDL mapping that matches our HID reports. To get an idea what the kernel sees, run
That's probably a packaging issue or when you mix and match installs via AUR and manually checked out from Github. The xpadneo project itself doesn't care at all about properly installing or uninstalling the files, it leaves that exercise to dkms because that's what is made for that task. |
the branch im currently on is
that was indeed the issue with it not installing
After i installed the github one (making sure the AUR one was fully removed) the dmesg output
evtest output
running the uninstall
and after reconnecting the controller
|
Disable Steam Input, it sort of "steals" the device from the driver and takes over with user-space drivers implemented in SDL and Steam Input:
As far as I can tell, that's the device ID for Steam Input virtual devices. Disabling Steam Input support for Xbox controllers will disable this behavior and let games directly access xpadneo. It won't disable controller support for games. Otherwise, there's no point in using xpadneo at all because default hid-microsoft will support the controller more or less, and then Steam Input will make it work correctly for games (xpadneo does this right in the driver, using Steam Input can mess things up). If you see mapping problems, check the permissions of the hidraw device belonging to the driver (see dmesg output) and try removing all permissions. If it fixes things, you should find the software that adds those permissions, we've seen OpenRGB doing that. User permissions for the raw device are currently not compatible with SDL because it assumes a wrong HID report format (it's not looking at the HID descriptor but uses the size only as a heuristic). That latter issue is outlined in #286.
Please check the output of |
Disable Steam Input is always disabled, ive never touched the permissions (and havent looked into it and or what files) dkms status shows (before manually removing it)
after i removed it from:
dkms status
|
This is silly... Why does |
I'm not sure how you got into the situation of having |
Affects: #344 Signed-off-by: Kai Krakow <[email protected]>
Affects: atar-axis#344 Signed-off-by: Kai Krakow <[email protected]>
nope i used the github install.sh to install it or via aur but that one also builds its automatically |
@kakra This is an Arch bug: https://bugs.archlinux.org/task/73194. It happens on every kernel upgrade... |
@medusalix This patch (greedy vs non-greedy) probably fixes nothing because we have hyphens in both the module name AND the version name. That's exactly what is hitting us here: What about for path in "$source_tree"/*/dkms.conf; do
( source $path && echo "${PACKAGE_NAME}/${PACKAGE_VERSION}" )
fi instead? Similar for the other location (except it's a while loop and should continue filtering for dkms.conf). EDIT: Oh I just noticed the revised patch does exactly that, Flyspray is strange, I didn't even know it still exists. ;-) |
BTW, it works here in an arch container updated to latest versions:
So the arch bug seems fixed? (ignore the kernel sources error) |
Closes: #338 See-also: #344 Signed-off-by: Kai Krakow <[email protected]>
We still silence the paddles when one of the profiles is selected, the default profile setup maps the paddles to A, B, X, and Y. The paddles are special because they are passed as one key by the HID report. We need to manually remap those values to individual bits. Maybe-affects: #344 Closes: #332 Signed-off-by: Kai Krakow <[email protected]>
Affects: #344 Signed-off-by: Kai Krakow <[email protected]>
The bug is only triggered by the pacman DKMS hooks (e.g. by upgrading the kernel). Normal installation always works fine. |
Ah okay, containers have no kernel so I cannot reproduce that here. Hopefully, the patch gets merged soon (though, the bug report exists since over a year). |
@MNS26 This report has deviated from the original report, I'm inclined to closing it. Are there any issues left? |
other thant it refusing to detect as the correct controller on |
This is purely a cosmetic issue currently, fixing #286 may fix this in the future. It should have no function consequences because xpadeo itself is detecting your controller correctly. |
Version of xpadneo
0.9.1-1 (from AUR)
Controller Model
Connection mode
Installed Software
Severity / Impact
Describe the Bug
My Xbox Elite 2 controller show up as a "normal" Xbox controller when using xpadneo
but when not using it the controller shows as a Elite 2 but has 32 buttons in my system page (see screenshots)
Steps to Reproduce
not having xpadneo installed to show as Elite 2
having xpadneo installed to show as Xbox one
Expected Behavior
when xpadneo is installed for the controller to show up as a Elite 2 instead of a Xbox one controller
Screenshots / GIFs / Videos
(with xpadneo installed)
System Information
Controller and Bluetooth Information
sudo btmon | tee xpadneo-btmon.txt
xpadneo-btmon.txt
dmesg | egrep -i 'hid|input|xpadneo' | tee xpadneo-dmesg.txt
xpadneo-dmesg.txt
N/A (bluetooth connection)lsusb -v -s## | tee xpadneo-lsusb.txt
xpadneo-lsusb.txt
N/A (Bluetooth connection)Additional Context
The text was updated successfully, but these errors were encountered: