[Solved] Deadzone options for usb controllers
-
Hi fellow retropie bakers!
I'm fairly new to retropie, linux and configuring stuff mostly via config files and had a tough time figuring out a basic working setup using a real Nintendo 64 controller and a N64 controller adapter (HuiJia USB GamePad).
I know the current state of N64 emulation is tricky, but basically I'd like to get them to work in lr-glupen and mupen64plus.In mupen64plus I got them to work really nice, reconfigured the buttons and the deadzone. (I just can't figure out how to trigger saving and loading states via keyboard, but I'll ask that in a seperate thread.)
With retroarch (lr-glupen) they work on a basic level, the buttons are correctly mapped and the analog stick is working - BUT: The sensitivity / deadzone is off. E.g. I can't get Mario to run in SM64.
I tried adjusting deadzone threshold and analog deadzone in retroarch, but it seems it has no effect and I did not find any clue how to configure the deadzone via config files like I did with mupen64plus.
Is there a solution without remapping the gamepad using xboxdrv? To be honest xboxdrv looks scary difficult to me.
I'm on Retropie 4.1 with updated setup script.
Pi model or other hardware: 3B
Power supply used: 3a
RetroPie version used: 4.1
Built from: Pre made SD Image on RetroPie website 5th November 2016
USB devices connected: Keyboard, HuiJia GamePad (N64 usb adapter)
Controller used: N64
Guide used: Official Installation GuideThanks!
-
Unfortunately there seems to be no deadzone option similar to the one in standalone mupen64plus, so I had no option but using xboxdrv.
The good news is, xboxdrv is not that hard to use if you follow mediamogul's excellent Advanced Controller Mapping Guide.
After a few tries I had a working base configuration, but the joystick output was still too low. After mediamogul's suggestion and some trial and error I got a configuration which works really nice for me (real N64 Controller and HuiJia USB GamePad adapter). What's nice about xboxdrv is, that you are able to rename your controller, which makes keeping track of multiple controllers with the same name quite easy.
This is my configuration:
sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \ --evdev /dev/input/event2 \ --silent \ --detach-kernel-driver \ --force-feedback \ --deadzone-trigger 15% \ --deadzone 15% \ --device-name "N64 Player 1" \ --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=x2,ABS_Z=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \ --evdev-keymap BTN_THUMB=a,BTN_THUMB2=b,BTN_BASE=lb,BTN_BASE2=rb,BTN_BASE3=tl,BTN_BASE4=start \ --ui-axismap lt=void,rt=void \ --ui-buttonmap tr=void,guide=void,back=void,x=void,y=void \ --calibration x1=-16384:0:16384,y1=-16384:0:16384 \
I hope this helps if someone else has trouble using real Nintendo 64 controllers!
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.