How to set 2 joysticks to control Play1 at the same time, and can set combo?
-
How to set 2 joysticks to control Play1 at the same time, and can set combo?
Pi Model or other hardware: 4B 2G+8G
Power Supply used: Piboy DMG Kit *2
RetroPie Version Used (eg 3.6, 3.8.1, 4.1 - do not write latest): v4.8
Built From: RetroPie HomePage
USB Devices connected: PS1 *2 joysticks
Controller used: N/A
Error messages received: N/A
Verbose log (if relevant): N/A
Guide used: N/A
File: N/A
Emulator: NeoGeo
Attachment of config files: N/A
How to replicate the problem:please~~
My host is Piboy DMG,
I want to connect two external joysticks, Play1 + Play2,
But I want Piboy DMG built-in joystick and external Play1 joystick to control Play1 together,
The Play2 is another Play2 joystick, the joystick is PS1 specification.Because when I set up the two joysticks, I also set the "Combo" button, the Play1/2 joysticks can be sure to combo, but the built-in joystick of Piboy DMG can be controlled but cannot be combo.
How should I set it up? thank you all.
-
After researching for a long time, I found a way to install the kit to manage the sequence of controllers, but the disadvantage is that it can only be specified in sequence, but it cannot be set that a single user can use 2 controllers at the same time. It seems that the method may be unsolvable? I wonder if there are other ways?
Also, the kit I installed is this:
git clone https://github.com/meleu/RetroPie-joystick-selection
cd RetroPie-joystick-selection
bash install.shBut I can't directly execute the kit, I have to use the following command to enter the function...
bash install.shI can't set the progress with this command. I don't know why?
sudo ~/RetroPie-Setup/retropie_setup.sh -
It's not possible to use the 2 joysticks for the same P1 with any settings in RetroPie (or the joystick selection utility).
You can try to use something like https://sourceforge.net/projects/linuxjoymap/, but it's a bit more complicated to install and set-up. -
Thank you!
So, please, is there any other way to solve this problem?
First, when installing additional 2 controllers, set the action of the external 2 controllers,
It also works fine (Play1+Play2), but the default device controller is set to Play3.
However, when the 2 extra controllers are removed, the pre-installed device controller goes back to Play1 from Play3, is this possible? Thank you! ^^The current situation is that when the 2 extra controllers are removed, the pre-installed device controller is returned from Play3 to Play1, but the settings are invalid, for example:
input_player1_turbo_btn = "2"
input_player2_turbo_btn = "2"
When two controllers are connected, all buttons 2 can be fired continuously!
But after removing the 2 controllers, although the default controller takes back the control of Play1, it cannot be fired continuously! -
@Lilyandy said in How to set 2 joysticks to control Play1 at the same time, and can set combo?:
However, when the 2 extra controllers are removed, the pre-installed device controller goes back to Play1 from Play3, is this possible? Thank you! ^^
I don't think it's possible with the joystick selection script. You may have to remove the configuration to get back to the previous state.
The current situation is that when the 2 extra controllers are removed, the pre-installed device controller is returned from Play3 to Play1, but the settings are invalid, for example:
input_player1_turbo_btn = "2"
input_player2_turbo_btn = "2"It's normal, since different gamepad models have different button numbers, where are these settings you mentioned ?
-
@mitu
Including the preset controllers, there are three controllers in total, of which the two extended controllers are of the same model. This is its setting file:
es_input.cfg<?xml version="1.0"?> <inputList> <inputAction type="onfinish"> <command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command> </inputAction> <inputConfig type="joystick" deviceName="PiBoy DMG Controller" deviceGUID="15000000010000000100000000010000"> <input name="pageup" type="button" id="5" value="1"/> <input name="up" type="button" id="12" value="1"/> <input name="left" type="button" id="13" value="1"/> <input name="select" type="button" id="8" value="1"/> <input name="leftanalogdown" type="axis" id="1" value="1"/> <input name="leftanalogright" type="axis" id="0" value="1"/> <input name="right" type="button" id="14" value="1"/> <input name="leftanalogleft" type="axis" id="0" value="-1"/> <input name="pagedown" type="button" id="2" value="1"/> <input name="leftanalogup" type="axis" id="1" value="-1"/> <input name="y" type="button" id="4" value="1"/> <input name="x" type="button" id="3" value="1"/> <input name="down" type="button" id="11" value="1"/> <input name="start" type="button" id="9" value="1"/> <input name="b" type="button" id="1" value="1"/> <input name="a" type="button" id="0" value="1"/> </inputConfig> <inputConfig type="joystick" deviceName="Microntek USB Joystick " deviceGUID="03000000790000000600000010010000"> <input name="rightanalogup" type="axis" id="3" value="-1"/> <input name="pageup" type="button" id="4" value="1"/> <input name="rightanalogdown" type="axis" id="3" value="1"/> <input name="up" type="hat" id="0" value="1"/> <input name="left" type="hat" id="0" value="8"/> <input name="select" type="button" id="8" value="1"/> <input name="rightanalogleft" type="axis" id="2" value="-1"/> <input name="leftanalogdown" type="axis" id="1" value="1"/> <input name="leftanalogright" type="axis" id="0" value="1"/> <input name="right" type="hat" id="0" value="2"/> <input name="leftanalogleft" type="axis" id="0" value="-1"/> <input name="rightanalogright" type="axis" id="2" value="1"/> <input name="pagedown" type="button" id="5" value="1"/> <input name="leftanalogup" type="axis" id="1" value="-1"/> <input name="y" type="button" id="3" value="1"/> <input name="x" type="button" id="0" value="1"/> <input name="down" type="hat" id="0" value="4"/> <input name="start" type="button" id="9" value="1"/> <input name="b" type="button" id="2" value="1"/> <input name="a" type="button" id="1" value="1"/> </inputConfig> </inputList>
This is the configuration file of the external controller: (both are the same, no extra control file)
Microntek USB Joystick .cfginput_device = "Microntek USB Joystick" input_driver = "udev" input_enable_hotkey_btn = "8" input_r3_btn = "11" input_r_y_minus_axis = "-3" input_l_btn = "4" input_load_state_btn = "4" input_r_y_plus_axis = "+3" input_up_btn = "h0up" input_left_btn = "h0left" input_state_slot_decrease_btn = "h0left" input_select_btn = "8" input_r2_btn = "7" input_r_x_minus_axis = "-2" input_l_y_plus_axis = "+1" input_l_x_plus_axis = "+0" input_right_btn = "h0right" input_state_slot_increase_btn = "h0right" input_l2_btn = "6" input_l_x_minus_axis = "-0" input_r_x_plus_axis = "+2" input_l3_btn = "10" input_r_btn = "5" input_save_state_btn = "5" input_l_y_minus_axis = "-1" input_y_btn = "3" input_x_btn = "0" input_menu_toggle_btn = "0" input_down_btn = "h0down" input_start_btn = "9" input_exit_emulator_btn = "9" input_b_btn = "2" input_reset_btn = "2" input_a_btn = "1"
This is the default built-in controller profile:
input_device = "PiBoy DMG Controller" input_driver = "udev" input_enable_hotkey_btn = "8" input_l_btn = "5" input_load_state_btn = "5" input_up_btn = "12" input_left_btn = "13" input_state_slot_decrease_btn = "13" input_select_btn = "8" input_r2_btn = "6" input_l_y_plus_axis = "+1" input_l_x_plus_axis = "+0" input_right_btn = "14" input_state_slot_increase_btn = "14" input_l2_btn = "7" input_l_x_minus_axis = "-0" input_l3_btn = "10" input_r_btn = "2" input_save_state_btn = "2" input_l_y_minus_axis = "-1" input_y_btn = "4" input_x_btn = "3" input_menu_toggle_btn = "3" input_down_btn = "11" input_start_btn = "9" input_exit_emulator_btn = "9" input_b_btn = "1" input_reset_btn = "1" input_a_btn = "0"
I finally found the problem~~~~~~! Thanks a lot for the tip!
I tried writing game.zip.cfg as:input_player1_turbo_btn = "1" input_player1_turbo_btn = "2" input_player2_turbo_btn = "2"
In this way, when the preset controller is unique, it can be launched normally and continuously!
But... after connecting two external controllers...
Play1 has become A and B keys have become continuous launch... (A key continuous launch will become troublesome),
Haha... It looks like... Every time you install or uninstall the controller, you have to change the control file again... Maybe there is no solution... It seems that you can only use this troublesome parameter:input_shader_next = "5" (L key)
Press L+1 autofire at the same time and then release the L key, and keep pressing the 1 key to achieve the autofire effect.
But as long as you miss it, you have to start all over again... It's so troublesome~~~Wait a moment? Seems like there is a way? ?
If I set it like this: (for 1,2,3,4,L,R keys)
Microntek USB Joystick .cfginput_device = "Microntek USB Joystick" input_r_btn = "5" input_l_btn = "4" input_y_btn = "3" input_x_btn = "0" input_b_btn = "2" input_a_btn = "1"
This is the default built-in controller profile: (for A,B,X,Y,Z,C keys)
input_device = "PiBoy DMG Controller" input_l_btn = "5" input_r_btn = "2" input_y_btn = "4" input_x_btn = "3" input_b_btn = "1" input_a_btn = "0"
It seems...or change the default controller to be as consistent as possible with the external controller. @@"
-
Try adding the turbo button binding to the controllers' auto-configuration profile, i.e. using the
.cfg
files
Microntek USB Joystick .cfg:input_device = "Microntek USB Joystick" input_driver = "udev" ... input_turbo_btn = 2
and in PiBoy DMG Controller.cfg:
input_device = "PiBoy DMG Controller" input_driver = "udev" ... input_turbo_btn = 1
Note that if you re-configure the controller in EmulationStation, the
.cfg
file is overwritten. -
@mitu
Wow! grateful! I try to see how it works? ^^"Ah~~~ just tried adding it in PiBoy DMG Controller.cfg
input_device = "PiBoy DMG Controller"
input_driver = "udev"
...
input_turbo_btn = 1 or input_turbo_btn = "1"But none of them have the expected effect, it seems that it may not work? XD
-
@Lilyandy said in How to set 2 joysticks to control Play1 at the same time, and can set combo?:
input_turbo_btn = 1 or input_turbo_btn = "1"
But none of them have the expected effect, it seems that it may not work? XDEh, it was worth a shot.
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.