Hi, I’m in the process of creating several drivers right now and wanted to ask two things before I start compiling:
-
Is it possible to modify the driver to accept twin inputs from a single adapter? I have got both a Mayflash dual-N64-adapter and a Mayflash dual-SNES-adapter. Unfortunately it’s already a problem to configure the autoconf file for two controllers since either one of them isn’t recognized at all or both of them share the same input-value (using RA Windows, Windows shows 2 controllers in settings). Crediar’s test suite shows a turbo/semi-pressed value if a button on only a single controller is held and only displays a full button press if equal buttons on both controllers are held.
-
I realized that both the N64- and SNES-adapter share the same HIDs and VIDs. I could definitely create an universal driver for both of them but I’m not sure if it’s possible to create two independent autoconf files for the same VID/PID (input-values aren’t equal).
Thanks!
Furthermore, I’m not getting any of those drivers to work at all. Help appreciated!
joypad_connection.c
...
{ "Nintendo RVL-CNT-01", 1406, 816, &pad_connection_wii },
{ "Nintendo RVL-CNT-01-UC", 1406, 816, &pad_connection_wiiupro },
{ "Wireless Controller", 1356, 1476, &pad_connection_ps4 },
{ "PLAYSTATION(R)3 Controller", 1356, 616, &pad_connection_ps3 },
{ "PLAYSTATION(R)3 Controller", 787, 8406, &pad_connection_ps3 },
{ "FIGHTING_STICK_V3", 3853, 33, &pad_connection_ps3 },
{ "Mayflash_SNES_dual", 3727, 12307, &pad_connection_snesusb },
{ "SEGA_SATURN_SLS_USB", 1204, 266, &pad_connection_snesusb },
{ "Generic NES USB Controller", 121, 17, &pad_connection_nesusb },
{ "Wii U GC Controller Adapter", 1406, 823, &pad_connection_wiiugca },
{ "PS2/PSX Controller Adapter", 2064, 1, &pad_connection_ps2adapter },
{ 0, 0}
...
Autoconfs:
input_device = "FIGHTING_STICK_V3"
input_driver = "hid"
input_vendor_id = 3853
input_product_id = 33input_b_btn = "1"
input_y_btn = "0"
input_select_btn = "8"
input_start_btn = "9"
input_up_btn = "h0up"
input_down_btn = "h0down"
input_left_btn = "h0left"
input_right_btn = "h0right"
input_a_btn = "2"
input_x_btn = "3"
input_l_btn = "5"
input_r_btn = "7"
input_l2_btn = "12"
input_r2_btn = "13"
input_l3_btn = "6"
input_r3_btn = "4"
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 = "+2"
input_r_x_minus_axis = "-2"
input_r_y_plus_axis = "+3"
input_r_y_minus_axis = "-3"
input_menu_toggle_btn = "16"
input_b_btn_label = "Cross"
input_y_btn_label = "Square"
input_select_btn_label = "Select"
input_start_btn_label = "Start"
input_up_btn_label = "D-Pad Up"
input_down_btn_label = "D-Pad Down"
input_left_btn_label = "D-Pad Left"
input_right_btn_label = "D-Pad Right"
input_a_btn_label = "Circle"
input_x_btn_label = "Triangle"
input_l_btn_label = "L1"
input_r_btn_label = "R1"
input_l2_btn_label = "L2"
input_r2_btn_label = "R2"
input_l3_btn_label = "L3"
input_r3_btn_label = "R3"
input_l_x_plus_axis_label = "Left Analog X+"
input_l_x_minus_axis_label = "Left Analog X-"
input_l_y_plus_axis_label = "Left Analog Y+"
input_l_y_minus_axis_label = "Left Analog Y-"
input_r_x_plus_axis_label = "Right Analog X+"
input_r_x_minus_axis_label = "Right Analog X-"
input_r_y_plus_axis_label = "Right Analog Y+"
input_r_y_minus_axis_label = "Right Analog Y-"
input_menu_toggle_btn_label = "PS"
input_device = "Mayflash_SNES_dual"
input_driver = "hid"
input_vendor_id = 3727
input_product_id = 12307
input_b_btn = "2"
input_y_btn = "3"
input_select_btn = "8"
input_start_btn = "9"
input_a_btn = "1"
input_x_btn = "0"
input_l_btn = "6"
input_r_btn = "7"
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_b_btn_label = "B"
input_y_btn_label = "Y"
input_select_btn_label = "Select"
input_start_btn_label = "Start"
input_a_btn_label = "A"
input_x_btn_label = "X"
input_l_btn_label = "L"
input_r_btn_label = "R"
input_l_x_plus_axis_label = "D Pad Right"
input_l_x_minus_axis_label = "D Pad Left"
input_l_y_plus_axis_label = "D Pad Down"
input_l_y_minus_axis_label = "D Pad Up"
input_device = "SEGA_SATURN_SLS_USB"
input_driver = "hid"
input_vendor_id = 1204
input_product_id = 266
input_b_btn = "0"
input_y_btn = "3"
input_start_btn = "3"
input_a_btn = "1"
input_x_btn = "4"
input_l_btn = "5"
input_r_btn = "2"
input_l2_btn = "6"input_r2_btn = "7"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_b_btn_label = "A"
input_y_btn_label = "X"
input_start_btn_label = "Start"
input_a_btn_label = "B"
input_x_btn_label = "Y"
input_l_btn_label = "Z"
input_r_btn_label = "C"input_l2_btn_label = "L"
input_r2_btn_label = "R"
input_l_x_plus_axis_label = "D Pad Right"
input_l_x_minus_axis_label = "D Pad Left"
input_l_y_plus_axis_label = "D Pad Down"
input_l_y_minus_axis_label = "D Pad Up"