1

I have an 8Bitdo nes controller that connects using bluetooth. It displays as a joystick in the bluetooth menu. Using jstest-gtk I can see the buttons when I push them but the directional pad maps to the keyboard. Pad allows me to move to different buttons and I can scroll a page on a web browser. I need to know how to map the directional pad correctly. Any ideas?

1 Answer 1

1

8Bitdo gamepads are Bluetooth HID gamepads which have some basic support on Linux but usually need remapping to work correctly. There's a userspace driver called xboxdrv that can do this sort of remapping. Basically, it will transform the gamepad inputs so they look like an XInput device, which allows it to work with apps that expect Xbox controllers.

I haven't tried this myself but probably you will want to follow the instructions here to add an xboxdrv mapping:

http://hegzedesimal.blogspot.com/2017/10/8bitdo-nes-30-pro-on-linux.html

The mapping itself is:

#8Bitdo NES30 Pro Config 

[xboxdrv]
evdev-debug = true
evdev = /dev/btjoy
evdev-grab = true
rumble = false
mimic-xpad = true
silent = true 

[evdev-absmap]
ABS_HAT0X = dpad_x
ABS_HAT0Y = dpad_y
ABS_X = X1
ABS_Y = Y1
ABS_Z = X2
ABS_RZ = Y2 

[axismap]
-Y1 = Y1
-Y2 = Y2 

[evdev-keymap]
# Map start and select
BTN_START=Start
BTN_SELECT=Back
# Map power to guide
BTN_C=Guide
# Map buttons to the printed key
BTN_SOUTH=A
BTN_EAST=B
BTN_NORTH=X
BTN_WEST=Y
# L1 R1 as Triggers
BTN_TL=LT
BTN_TR=RT
# L2 R2 as buttons
BTN_TL2=LB
BTN_TR2=RB
# Thumbs as thumbs
BTN_THUMBL=TL
BTN_THUMBR=TR

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .