Nintendo Switch JoyCons Bluetooth

Hi! I bought a powkiddy joycon controller for create my own portable console with X96MAX.

I pair via bluetooth the controllers but i cant use it for configure automatically. I tried via retroarch without success.

I read that in Emuelec Wiki accepted controllers:

  • Switch joycons (Really not recommended at all!)

Then i suppose that its posible to pair and use that. I tried a lot of thing to configure joycons controller but i cant. Could you offer a manual to do it?

Thanks!

I have not personally tested joycons, but the person that reported them working used originals, so not sure if that could be the issue?

If they pair, I don’t see why the wouldn’t work tho.

Can you ssh to your device? if so, run these commands via ssh:

  • First pair via bluetooth on Emulationstation
  • Stop emulationstation by running this command via ssh: systemctl stop emustation
  • Then we run sdljoytest to test the controller you can also run evtest as well to check if the buttons are being recognized.

if you can paste the results here

1 Like

Thans for your time. I appreciate that. :grin:

I tried all. The first command sdljoytest works fine . The secondone evtest not at all becouse not recognized buttons. Its like cant completly pair the joycons.

This is the response:

sdljoytest

evtest

No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: gpio_keypad
/dev/input/event1: aml_vkeypad
/dev/input/event2: cec_input
/dev/input/event3: vad_keypad
/dev/input/event4: Joy-Con (L)
/dev/input/event5: Sony PLAYSTATION(R)3 Controller
/dev/input/event6: meson-ir
/dev/input/event7: Joy-Con (R)
Select the device event number [0-7]: 4
Input driver version is 1.0.1
Input device ID: bus 0x5 vendor 0x57e product 0x2006 version 0x1
Input device name: “Joy-Con (L)”
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 304 (BTN_SOUTH)
Event code 305 (BTN_EAST)
Event code 306 (BTN_C)
Event code 307 (BTN_NORTH)
Event code 308 (BTN_WEST)
Event code 309 (BTN_Z)
Event code 310 (BTN_TL)
Event code 311 (BTN_TR)
Event code 312 (BTN_TL2)
Event code 313 (BTN_TR2)
Event code 314 (BTN_SELECT)
Event code 315 (BTN_START)
Event code 316 (BTN_MODE)
Event code 317 (BTN_THUMBL)
Event code 318 (BTN_THUMBR)
Event code 319 (?)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 1 (ABS_Y)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 3 (ABS_RX)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 4 (ABS_RY)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 16 (ABS_HAT0X)
Value 0
Min -1
Max 1
Event code 17 (ABS_HAT0Y)
Value 0
Min -1
Max 1
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Key repeat handling:
Repeat type 20 (EV_REP)
Repeat code 0 (REP_DELAY)
Value 500
Repeat code 1 (REP_PERIOD)
Value 33
Properties:
Testing … (interrupt to exit)
expected 24 bytes, got -1

evtest

No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: gpio_keypad
/dev/input/event1: aml_vkeypad
/dev/input/event2: cec_input
/dev/input/event3: vad_keypad
/dev/input/event5: Sony PLAYSTATION(R)3 Controller
/dev/input/event6: meson-ir
/dev/input/event7: Joy-Con (R)
Select the device event number [0-7]: 7
Input driver version is 1.0.1
Input device ID: bus 0x5 vendor 0x57e product 0x2007 version 0x1
Input device name: “Joy-Con (R)”
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 304 (BTN_SOUTH)
Event code 305 (BTN_EAST)
Event code 306 (BTN_C)
Event code 307 (BTN_NORTH)
Event code 308 (BTN_WEST)
Event code 309 (BTN_Z)
Event code 310 (BTN_TL)
Event code 311 (BTN_TR)
Event code 312 (BTN_TL2)
Event code 313 (BTN_TR2)
Event code 314 (BTN_SELECT)
Event code 315 (BTN_START)
Event code 316 (BTN_MODE)
Event code 317 (BTN_THUMBL)
Event code 318 (BTN_THUMBR)
Event code 319 (?)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 1 (ABS_Y)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 3 (ABS_RX)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 4 (ABS_RY)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 16 (ABS_HAT0X)
Value 0
Min -1
Max 1
Event code 17 (ABS_HAT0Y)
Value 0
Min -1
Max 1
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Key repeat handling:
Repeat type 20 (EV_REP)
Repeat code 0 (REP_DELAY)
Value 500
Repeat code 1 (REP_PERIOD)
Value 33
Properties:
Testing … (interrupt to exit)

Can provide you with more information and execute whatever is necessary. I am very interested in it.

Now i trying to pair the joycons with “Mayflash Magic NS Wireless”. For now i can paired one of the joycons with Emuelec using that.

Thanks for all.

Can you disconnect the PS3 gamepad and ONLY use the Joycons for the tests please

Of course!

This is the result of the test, same results:

sdljoytest

EmuELEC:~ # sdljoytest
Sys_InitInput: Compiled with SDL version 2.0.9
Sys_InitInput: Linked with SDL version 2.0.9
Sys_InitInput: SDL2 joystick subsystem init
Sys_InitInput: Loading /storage/.config/SDL-GameControllerDB/gamecontrollerdb.txt
Sys_InitInput: SDL_GameControllerAddMappingsFromFile() added 172 controller maps
Sys_InitInput: Joystick subsytem - Found 2 joysticks at startup
Joystick 0 name ‘Joy-Con (R)’
Joystick 0 is a game controller
Joystick 0 Axes 04 / Buttons 16 / Hats 01 / Balls 00
Joystick 0 Instance id 0
Joystick 0 Guid 050000007e0500000720000001000000
Joystick 1 name ‘Joy-Con (L)’
Joystick 1 is a game controller
Joystick 1 Axes 04 / Buttons 16 / Hats 01 / Balls 00
Joystick 1 Instance id 1
Joystick 1 Guid 050000007e0500000620000001000000
Opened gamepad device index 0 (Joy-Con (R))
axes: 4
buttons: 16
instance id: 0
guid: 050000007e0500000720000001000000
mapping: 050000007e0500000720000001000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Linux,
Sys_InitInput: 0 haptic devices detected.
Joystick does not support haptics/rumble
SDL2: Joytick hotplug supported
Waiting for joystick events. Press CTRL+C to exit.
SDL_JOYDEVICEADDED jdevice.which 00 (Joy-Con (R)) [DEVICE INDEX]
Gamepad 00 (Joy-Con (R)) in use
Ignoring plugged-in joystick device number 00 (Joy-Con (R))
Sys_InitInput: 0 haptic devices detected.
Joystick does not support haptics/rumble
SDL_JOYDEVICEADDED jdevice.which 01 (Joy-Con (L)) [DEVICE INDEX]
Gamepad 00 (Joy-Con (R)) in use
Ignoring plugged-in joystick device number 01 (Joy-Con (L))
Sys_InitInput: 0 haptic devices detected.
Joystick does not support haptics/rumble

evtest

####### Joycon R

EmuELEC:~ # evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: gpio_keypad
/dev/input/event1: aml_vkeypad
/dev/input/event2: cec_input
/dev/input/event3: vad_keypad
/dev/input/event5: meson-ir
/dev/input/event6: Joy-Con (R)
/dev/input/event7: Joy-Con (L)
Select the device event number [0-7]: 6
Input driver version is 1.0.1
Input device ID: bus 0x5 vendor 0x57e product 0x2007 version 0x1
Input device name: “Joy-Con (R)”
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 304 (BTN_SOUTH)
Event code 305 (BTN_EAST)
Event code 306 (BTN_C)
Event code 307 (BTN_NORTH)
Event code 308 (BTN_WEST)
Event code 309 (BTN_Z)
Event code 310 (BTN_TL)
Event code 311 (BTN_TR)
Event code 312 (BTN_TL2)
Event code 313 (BTN_TR2)
Event code 314 (BTN_SELECT)
Event code 315 (BTN_START)
Event code 316 (BTN_MODE)
Event code 317 (BTN_THUMBL)
Event code 318 (BTN_THUMBR)
Event code 319 (?)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 1 (ABS_Y)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 3 (ABS_RX)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 4 (ABS_RY)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 16 (ABS_HAT0X)
Value 0
Min -1
Max 1
Event code 17 (ABS_HAT0Y)
Value 0
Min -1
Max 1
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Key repeat handling:
Repeat type 20 (EV_REP)
Repeat code 0 (REP_DELAY)
Value 500
Repeat code 1 (REP_PERIOD)
Value 33
Properties:
Testing … (interrupt to exit)

^C

####### Joycon L

EmuELEC:~ # evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: gpio_keypad
/dev/input/event1: aml_vkeypad
/dev/input/event2: cec_input
/dev/input/event3: vad_keypad
/dev/input/event5: meson-ir
/dev/input/event6: Joy-Con (R)
/dev/input/event7: Joy-Con (L)
Select the device event number [0-7]: 7
Input driver version is 1.0.1
Input device ID: bus 0x5 vendor 0x57e product 0x2006 version 0x1
Input device name: “Joy-Con (L)”
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 304 (BTN_SOUTH)
Event code 305 (BTN_EAST)
Event code 306 (BTN_C)
Event code 307 (BTN_NORTH)
Event code 308 (BTN_WEST)
Event code 309 (BTN_Z)
Event code 310 (BTN_TL)
Event code 311 (BTN_TR)
Event code 312 (BTN_TL2)
Event code 313 (BTN_TR2)
Event code 314 (BTN_SELECT)
Event code 315 (BTN_START)
Event code 316 (BTN_MODE)
Event code 317 (BTN_THUMBL)
Event code 318 (BTN_THUMBR)
Event code 319 (?)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 1 (ABS_Y)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 3 (ABS_RX)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 4 (ABS_RY)
Value 0
Min 0
Max 65535
Fuzz 255
Flat 4095
Event code 16 (ABS_HAT0X)
Value 0
Min -1
Max 1
Event code 17 (ABS_HAT0Y)
Value 0
Min -1
Max 1
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Key repeat handling:
Repeat type 20 (EV_REP)
Repeat code 0 (REP_DELAY)
Value 500
Repeat code 1 (REP_PERIOD)
Value 33
Properties:
Testing … (interrupt to exit)

Thanks again

Do the test not detect key presses?

No single one :frowning: i really try that

It seems Joycons are probably not supported in older kernels… EmuELEC uses kernel 4.9 but there is a driver written for Kernel 5.x Commits · DanielOgorchock/linux · GitHub so that makes me assume the driver is not included by default. Can’t promise anything but I will try to backport it if possible.

I can understand it

Sounds good if one day this backport will be in EmuELEC.

Thank you for your effort. Have a nice day!

If you finally can add it this backport i can help you for test it.

Thanks again.