-
Notifications
You must be signed in to change notification settings - Fork 322
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 360 wireless controller isn't mapped #514
Comments
Hi, have you tried to use the new gamecontrollerdb.txt file as the mapping file instead the old .map file? |
Having same issue with latest retropie image and latest moonlight. Adding my Xbox 360 wireless receiver id to the new mapping file doesn't work. |
It seems that this is a duplicate of #513 Any mapping is ignored, and creating a new mapping does not work. It tries to "connect" to an address resolved by the map filename... |
Please check if the newly released version solves your issue or provide a new output as some new debugging information is provided by the new version |
Don't mean to hijack this thread - but I have the same setup, same issue. No mapping available for /dev/input/event2 (030000005e040000a102000000010000) Hope that helps |
Will this new version be released on the repository? I am having trouble compiling it. I've followed the instruction on the wiki all the dependencies listed there are installed, cmake seems to want a newer version of openssl but when I apt-get install openssl it tells me it is up to date.
|
@AutomatedPOS Could you try to start Moonlight using |
I'll give it a go with v2.4.1 tonight. Will check the mapping as well. |
@irtimmer I was having a similar issue, and that mapping worked perfectly for me on v2.4.1. I had to use the xpad driver instead of following the steps for xboxdrv to get the mapping working. |
Using xboxdrv, all set up according to your Wiki. ~ $ moonlight stream -verbose -width 1920 -height 1080 -fps 60 -bitrate 20000 -surround XXX.XXX.XXX.XXX Stream starts and steam identifies controller as: Generic X-Input Controller. As soon as a button is pressed stream breaks with error: Segmentation fault |
@2000one there is no mapping for id 03000000ac0500002102000011010000 and 00000000000000000000000000000000 in the gamecontrollerdb.txt file. You could try to copy one there and add it manually to your mappingfile |
@NiekvanderLinden Thank you, that worked! Now just need to find out how to get or better create correct mapping for my Xbox360 Wireless controller.... |
@irtimmer Mapping is partly working, dpad is not working at all, right thumb acts funny (right thumb left always triggering) ect. Also my device id is different |
In the meantime I downgraded to version
Then I use this to boot (in file via retropie).
And with this controller.map file
I also noticed the xbox controller light was working as expected (show player ect.) Which was not the case when I tried So my guess is this has something to do with |
This is my controller (dongle connected directly to Pi3 USB port): Controller: Microsoft Xbox 360 Wireless Controller (PC) Funny is id 00000000000000000000000000000000 for that controller. edit: in issue #515 a floating point exception is also the result of input from right stick... |
@AutomatedPOS how do you load xboxdrv? |
Is there a reason you guys are using xboxdrv? It should not be necessary for Xbox 360 or Xbox One gamepads if you're running a 4.9 LTS kernel (current latest for Raspbian Jessie and most other distributions for the Pi). |
I'm not using xboxdrv, I've always just had xpad which comes with Retropie. Also I not sure if it matters but the wireless receiver that is attached my my pi is not a genuine Microsoft receiver but a knock-off from Deal Extreme, that might explain the different ids that are showing up. Thanks @AutomatedPOS I got 2.4.1 installed from the repository and with the following added to gamecontrollerdb.txt everything seems to be working for me, I'll do some more testing later today when I have some spare time.
Thank you @irtimmer your work is amazing! |
Using xboxdrv with a PS3 controller over bluetooth, this is the line I had to use, for some reason buttons became all messed up with the new SDL controller config xboxdrv config, 50% trigger deadzone was required to use analog triggers properly sudo xboxdrv --evdev /dev/input/event2 --evdev-keymap KEY_#300=y,KEY_#302=a,KEY_#301=b,KEY_#303=x,KEY_#291=start,KEY_#288=back,KEY_#304=guide,KEY_#299=rb,KEY_#298=lb,KEY_#292=du,KEY_#295=dl,KEY_#294=dd,KEY_#293=dr,KEY_#289=tl,KEY_#290=tr, --evdev-absmap ABS_#13=rt,ABS_#12=lt,ABS_#0=x1,ABS_#1=y1,ABS_#2=x2,ABS_#3=y2 --axismap -Y1=Y1,-Y2=Y2 --mimic-xpad --deadzone-trigger 50% --detach-kernel-driver --deadzone 3000 --dpad-as-button & sleep 1 030000005e0400008e02000010010000,Microsoft X-Box 360 pad,a:b4,b:b5,back:b10,dpdown:b1,dpleft:b2,dpright:b3,dpup:b0,guide:b12,leftshoulder:b8,leftstick:b13,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b9,rightstick:b14,righttrigger:a5,rightx:a3,righty:a4,start:b11,x:b6,y:b7, To map your controller in gamecontrollerdb.txt with the new method:
I hope this helps somebody. This process is a little more simple if you dont use xboxdrv, provided your controller has an event id. Unfortunately xboxdrv is the only way I have found to get analog triggers working for racing games as sixad does not support deadzone or sensitivity config. I also tried setting the deadzone within steam but it was not enough. For debugging I emptied gamecontrollerdb.txt and used just the line I wanted just to save any confusion. You can map as many controllers as you want with this method and moonlight will always look to the same mapping file. Thanks for the great work @irtimmer |
Had a chance to try |
@cgutman I use xboxdrv because it is recommended everywhere in set up guides and in the wiki. I had a good working installation back in 11/2016 with raspbian and xboxdrv which I had not used for a while now and started fresh a few days ago. The according controller section seems to have been removed now/today from the Wiki.... next tests with xpad:
experience in steam big picture mode:
~ $ moonlight stream -verbose -1080 -fps 60 -bitrate 20000 XXX.XXX.XXX.XXX Moonlight Embedded 2.4.1 (EMBEDDED;ALSA;PI)
|
Main reason to switch to the SDL gamecontrollerdb.txt format is to be able to make gamepads work out-of-the-box. Unless someone use a custom controller configuration using xboxdrv. Beside SDL2, the format is also used by Gnome Games, Godot Engine. And therefore mappings from them 1, 2 and 3 can easily be reused. For the creation of mappings there are multiple options, like Steam Big Picture, SDL2 Gamepad Tool and SDL2 own Controllermap, although you have to run these on a Linux system as a different OS or driver result in different mappings. A good alternative for jstest is sdl2-jstest as is uses the SDL2 gamepad input and therefore doesn't depend on /dev/input/js*. There are currently some issues left in the Moonlight Embedded implementation which can result in a floating point exception or segmentation fault when using incorrect mappings, random input when gamepad has additional unmapped axis or buttons. And beside the included mappings, SDL2 also has some fallbacks for XBox controllers which are not (yet) included in Moonlight Embedded. |
I validated the correct mapping of my controller with jstest /dev/input/js0 Still the controls are messy as described above. Do I have to mess with Steam settings on host now to get the controller working? Thanks for any hints! |
@2000one could you run |
@irtimmer testing the inputs shows corresponding event logs...
|
Here is a table with the outputs from my controller. I made it to make sure everything registered right according to the mapping. Looks good to me... unfortunately I am still having issues. Maybe this overview can be useful to anybody else. Xbox 360 Wireless Receiver
|
@2000one make sure there is not an existing mapping with the same guid, that happened to me and I found an existing guid mapping in the gamecontrollerdb.txt, that is why I emptied the file and only had 1 entry |
@sympoz Thanks! I can confirm, that the ID of my controller 030000005e040000a102000000010000 is not already listed in the mapping file. What I now realized is, that during copying and pasting in nano yesterday I made a really stupid mistake. ...But... the DPAD is still not working when I use the gamecontrollerdb.txt file for mapping and just add my mapping to it. In detail: everything is working with commandline mapping
I get a non working DPAD with following line added to gamecontrollerdb.txt, or with ID changed in front of already existing mapping.
but everything is working with above only as the only single line in gamecontrollerdb.txt or am I too stupid again? |
@2000one sounds like a formatting problem maybe? definately strange, but if an empty file works with the only line, just use that unless you have other controllers you need mapping for |
@sympoz yes, I also tried to just replace the controller ID in the already existing line of the whole database file to avoid any formatting errors. Does not work. Funny. |
@2000one Thank you! After deleting all other controllers an adding just one line with the right ID of my X360 wireless controller, my dpad is also working now. |
Hello everyone, First of all Thank you for your great work @irtimmer . the Wohle stremaing thing works perfectly. Sadly i am experiencing the same issues with my Xbox 360 Wireless Controller. It has the same ID as @2000one but it does not werk with his config. It seems that the D-Pad is not working. I tried the commandline aswell as putting the config in the designated Configfile but none of that worked. Has anyone another Idea how this can be fixed? |
@groschn have you also already tried to empty the gamecontrollerdb.txt and add your mapping as the only single line to the file? The mapping I use is copied from the already existing mapping from the database, so should theoretically work for you. You can check the events provided by your controller as described here and test the output with jstest like described here under point 2. |
Please also add 030000005e040000a102000007010000 to the list.. you have to support a fallback for xbox360 controllers at least to solve this common problem. |
@hshar7 does your DPAD function when you add your controller ID and mapping to the database file? |
Hey all! Figured i'd join in to this too. Currently got an xbox one controller finally not crashing on first button hit. Copied and pasted an existing xbox one configuration from the controllerdb.txt and put my controller ID in front of it. 030000005e040000d102000003020000,Microsoft X-Box One USB,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,platform:Linux, None of the dpad works except up. up is treated as right. here's what I have from jstest b0 - a axes 0 left stick left and right movement I see a lot of mention of a for axis, and a few mentions of hat.up in my google searches. hoping someone can point me in the right direction as everything else seems to work. what do these actually represent? What should my next steps be? been at this for about 2 hours now. |
@CaptChair Did you try emptying your db file and adding your mapping as the only single line in the file? |
Thanks for the quick reply. I've gone through the entire post and completed all recommended steps, including command line mapping, and removing all other controllers from the db :( I know i shouldn't need the xboxdrv drivers now, but should I maybe try getting those? |
Update: With my DS4 and the USB adapter, it does the same thing with the DPAD, even when it's the only one in the list as well. This time, I cleared the entire gamecontrollerdb.txt after grabbing the default mapping for my ds4, and ran with the following results: pi@retropie:/usr/share/moonlight $ SDL_GAMECONTROLLERCONFIG="030000004c050000a00b000011010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3," moonlight stream -verbose -1080 -fps 60 192.168.0.10 |
D-Pad issue is fixed with commit dd23c70 |
So I'm really new to all of this but eager to learn and try to figure stuff out. Do I just need to run an update to get the dpad fix, or do I have to do something manually? |
[UPDATE] The mapping was wrong for my setup (see below for details). Here's what I ended up using. The difference between mysetup and 2000one is that 2000one is using xboxdrv and I'm using xpad.
[OLD POST BELOW] I dont think this has been fixed. I'm still having issues with the xbox 360 wireless dpad mapping. Right is down, Left is up. Same setup as 2000one:
Using retropie. Driver is xpad. |
deelowe, using your configuration Moonlight sees my controller, however it gives an error saying that it's not configured correctly. |
Hi, So question: how to invert axis in gamecontrollerdb.txt? Tomi |
Please provide the following info.
**_NVidia Geforce Experience version: GFE 3.6.0.74
**Moonlight Embedded version: 2.4.0
**Moonlight Embedded source: repository
**Moonlight Embedded running on: Raspberry Pi
**Moonlight Embedded running on distribution: Raspbian
Verbose output
-verbose
of Moonlight Embedded:Moonlight Embedded 2.4.0 (EMBEDDED;ALSA;PI)
Connect to 192.168.0.209...
NVIDIA GeForce GTX 1060 6GB, GFE 3.6.0.74 (gs_03_70_22061309, 7.1.370.0)
Platform Raspberry Pi (Broadcom)
No mapping available for /dev/input/event0
Stream 1280 x 720, 60 fps, 10000 kbps
Initializing platform...done
Resolving host name...done
Starting RTSP handshake...done
Initializing control stream...done
Initializing video stream...done
Initializing audio stream...done
Initializing input stream...done
Starting control stream...done
Starting video stream...done
Starting audio stream...done
Starting input stream...done
Returning RTP packet queued for too long
Received OOS audio data (expected 41482, but got 41483)
Control stream received disconnect event
Loss Stats: Transaction failed: 11
Stopping input stream...done
Stopping audio stream...done
Stopping video stream...done
Stopping control stream...done
Cleaning up input stream...done
Cleaning up audio stream...done
Cleaning up video stream...done
Cleaning up control stream...done
Cleaning up platform...done
**What is the expected result? The xbox 360 wireless controller should be mapped.
**What happens instead of that? Visualy Moonlight is working correctly but I have no controller mapping so it is unuseable, it doesn't matter if the command is "moonlight stream 192.168.0.209 -verbose -mapping /opt/retropie/configs/moonlight/x360.map" or "moonlight stream 192.168.0.209 -verbose"
the verbose output is the same and the controller does not work and I have to exit the stream from the host PC.
I also run RetroPi on this Raspberry Pi and the controller works fine in there.
I saw this #511 posted the other day and tried it but with no luck.
The text was updated successfully, but these errors were encountered: