4play

4play is a all in one controller adapter. It will convert many console controllers in to usb. 4play does not work with the udev driver , but it works with linuxraw. If i switch the driver to linux raw it detects the 4play but says it is not configured. When i try to map any buttons it does not detect the buttons being pressed. What can i do to fix this?

I’m running lakka on the ux4 btw, i have the same issue on normal retroarch.

I have one of these adapters and I use it with retroarch on my linux machine. Here are a few disclaimers in case my advice does not work for you straight out of the box:

  • I am using Ubuntu 14.04
  • I have Retroarch 1.3.0 installed (a stable release)
  • My Blissbox 4Play adapter has the 1.54 firmware installed (previous versions were known to have some bugs)
  • I operate the adapter in single play mode (only the first port is ever detected, I am therefore not taking advantage of the multiplayer capability)
  • I find that the sdl2 driver rather than the linuxraw joypad driver works best for me when using the 4Play

That said, retroarch does not automatically detect the adapter because it does not have a configuration file for it. The file I have made has the following lines


input_device = "BLISS-BOX 4PLAY PORT"
input_driver = "sdl2"
input_vendor_id = 5840
input_product_id = 2655
input_b_btn = "2"
input_y_btn = "1"
input_select_btn = "5"
input_start_btn = "6"
input_up_btn = "11"
input_down_btn = "12"
input_left_btn = "13"
input_right_btn = "14"
input_a_btn = "4"
input_x_btn = "3"
input_l_btn = "7"
input_r_btn = "8"
input_l2_btn = "9"
input_r2_btn = "10"
input_l3_btn = "15"
input_r3_btn = "16"
input_l_x_plus_axis = "+0"
input_l_x_minus_axis = "-0"
input_l_y_plus_axis = "-1"
input_l_y_minus_axis = "+1"
input_r_x_plus_axis = "+3"
input_r_x_minus_axis = "-3"
input_r_y_plus_axis = "-4"
input_r_y_minus_axis = "+4"
input_menu_toggle_btn = ""

You can put that text into a file named “BLISS-BOX_4PLAY_PORT.cfg” with no quotation marks. The file should be placed into your autoconfig folder and Retroarch should now recognize the adapter.

One other disclaimer is that I usually am using a PS2 or Saturn 3d pad with this configuration file. I haven’t really tried say, my N64 controller with it yet because I find standalone mupen works better on my machine than the Retroarch core version.

I’ll add that to our autoconfig repo.

Does linuxraw or udev work at all? If so, if you make one for them, I’ll add it, too.

I want to ask, does the configuration file usually change depending on the joypad driver?

Yeah, I think different codes get reported, though the vid/pid should stay the same, i think.

I managed to make a udev version.


input_driver = "udev"
input_device = "BLISS-BOX 4PLAY PORT"
input_vendor_id = "5840"
input_product_id = "2656"
input_b_btn = "5"
input_y_btn = "4"
input_select_btn = "8"
input_start_btn = "9"
input_up_btn = "14"
input_down_btn = "15"
input_left_btn = "16"
input_right_btn = "17"
input_a_btn = "7"
input_x_btn = "6"
input_l_btn = "10"
input_r_btn = "11"
input_l2_btn = "12"
input_r2_btn = "13"
input_l3_btn = "18"
input_r3_btn = "19"
input_l_x_plus_axis = "+0"
input_l_x_minus_axis = "-0"
input_l_y_plus_axis = "+1"
input_l_y_minus_axis = "-1"
input_r_x_plus_axis = "+3"
input_r_x_minus_axis = "-3"
input_r_y_plus_axis = "+4"
input_r_y_minus_axis = "-4"

Sweet. I got it and the sdl2 versions added. Thanks for those!

Let me know if they don’t work for whatever reason.

I’m still having problems. Retroarch will only say i pluged in my 4play if i set my joydriver to linuxraw. The config file forlinuxraw does work but when i try to map any controller with the gui it messes up my keyboard bindings, which i can only fix by manualy editing the map in retroarch.cfg.

any way to get udev to see my 4play? And is there a way to stop my keyboard binding from messing up when i bind my 4play? Ps. I run a os based on debian Jessie on my odroid xu4.

Sounds like it could be an issue with udev rules not setting permissions correctly for the udev device. Have you managed to get any other controller devices to work in udev mode? You may need to add custom udev rules for the 4play to allow retroarch to access it.

My generic ps2 to usb and bluetooth ps3 controller works with udev.

Ok all here is the fix for ES and RA using the 4-play. http://blissbox.freeforums.org/blissbox-4-play-on-raspberry-pi-confirmed-t473.html