RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Bluetooth controller works only in ES

    Scheduled Pinned Locked Moved Help and Support
    8 Posts 5 Posters 3.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      trebolero
      last edited by

      First, sorry for my bad english.

      I use a xiaomi bluetooth controller, and i turn it on at same time as the raspberry pi 2.

      The gamepad works perfect in ES but when i start a game, it doesn't work. I have to restart the raspberry and configure it (every time) if i want to play any game.

      Is there any solution?

      Thanks!!!!

      1 Reply Last reply Reply Quote 0
      • M
        martink8
        last edited by

        Hello,

        I have a similar problem with the same Xiaomi Bluetooth controller.

        Pi model: Raspberry pi 3 B
        RetroPie version: 3.7 - latest - updated via binary based installation

        The controller connects perfectly via bluetooh. The device itself has a chinese name so the filename is in chinese (hard to edit).

        I can setup it just fine in the menu and it works perfectly in the ES. Once I fire up an emulator it works partially. The Start and Select buttons are mapped to R and L. Also the digital pad works, but evertything else doesn't. I have tried overriding this config in the /opt/retropie/config/snes/retroarch.cfg but sadly it seems like it is being ignored.

        1 Reply Last reply Reply Quote 0
        • B
          bohdans
          last edited by

          Hi,
          Did anyone ever resolve this? I have tried my best, but it seems the config file gets read by something that can only read ascii and so doesn't get parsed properly.
          I can not seem to find any way to change the name of the device to something in ASCII either.

          1 Reply Last reply Reply Quote 0
          • cyperghostC
            cyperghost
            last edited by cyperghost

            It happend also to me.
            Setup in ES was fine and I can select and activate ROMS but the setting does not work within the Emulators.
            DPads not working, Button A ist START-button....

            I finally used the RGUI to configure my Pads. For future updates I always save my retroarch.cfg and just set it back for new RetroPie versions.

            http://www.retro-programming.de/retro-welt-2/hardware/raspberry-pi-als-emulator-retropie/retropie-controller-einrichten/#manuell

            I used 2 idroid:con gamepads

            http://mysnakebyte.com/index.php?id=33&L=1

            1 Reply Last reply Reply Quote 0
            • BuZzB
              BuZz administrators
              last edited by BuZz

              Please can you post your working joypad configuration along with ~/.emulationstation/es_temporaryinput.cfg

              It might give a clue as to why the autoconfiguration failed.

              To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

              cyperghostC 1 Reply Last reply Reply Quote 0
              • cyperghostC
                cyperghost @BuZz
                last edited by cyperghost

                @BuZz
                That's my retroarch.cfg file for Player 1-4 input (I just posted for Player 1 )
                http://pastebin.com/QEnVxbPR

                es_temporaryinput.cfg

                <?xml version="1.0"?>
                <inputList>
                	<inputConfig type="joystick" deviceName="idroid:con" deviceGUID="050000005c0a0000028500001b010000">
                		<input name="a" type="button" id="0" value="1" />
                		<input name="b" type="button" id="1" value="1" />
                		<input name="down" type="hat" id="0" value="4" />
                		<input name="left" type="hat" id="0" value="8" />
                		<input name="leftanalogdown" type="axis" id="1" value="1" />
                		<input name="leftanalogleft" type="axis" id="0" value="-1" />
                		<input name="leftanalogright" type="axis" id="0" value="1" />
                		<input name="leftanalogup" type="axis" id="1" value="-1" />
                		<input name="leftbottom" type="button" id="8" value="1" />
                		<input name="leftthumb" type="button" id="2" value="1" />
                		<input name="lefttop" type="button" id="6" value="1" />
                		<input name="right" type="hat" id="0" value="2" />
                		<input name="rightanalogdown" type="axis" id="3" value="1" />
                		<input name="rightanalogleft" type="axis" id="2" value="-1" />
                		<input name="rightanalogright" type="axis" id="2" value="1" />
                		<input name="rightanalogup" type="axis" id="3" value="-1" />
                		<input name="rightbottom" type="button" id="9" value="1" />
                		<input name="rightthumb" type="button" id="5" value="1" />
                		<input name="righttop" type="button" id="7" value="1" />
                		<input name="select" type="button" id="10" value="1" />
                		<input name="start" type="button" id="11" value="1" />
                		<input name="up" type="hat" id="0" value="1" />
                		<input name="x" type="button" id="3" value="1" />
                		<input name="y" type="button" id="4" value="1" />
                	</inputConfig>
                </inputList>
                

                Both controllers are Snakebyte idroid:con
                With the config posted all is working and okay - I used the RGUI to get Emu-config.
                I also have an es_input.cfg but that has devicename DRAGONRISE, that's my cable USB controller just to activate BT and get the handshake with my BT gamepads. It isn't installed all the time just for first installation.

                Best wishes
                cyper

                1 Reply Last reply Reply Quote 0
                • B
                  bohdans
                  last edited by

                  Hi,
                  Sorry for the late reply, I believe the name of the controller "小米蓝牙手柄" is the issue.
                  I have pasted the es_temporaryinput.cfg below:

                  <?xml version="1.0"?>
                  <inputList>
                  <inputConfig type="joystick" deviceName="小米蓝牙手柄" deviceGUID="05000000172700004431000029010000">
                  <input name="a" type="button" id="0" value="1" />
                  <input name="b" type="button" id="1" value="1" />
                  <input name="down" type="hat" id="0" value="4" />
                  <input name="left" type="hat" id="0" value="8" />
                  <input name="leftanalogdown" type="axis" id="1" value="1" />
                  <input name="leftanalogleft" type="axis" id="0" value="-1" />
                  <input name="leftanalogright" type="axis" id="0" value="1" />
                  <input name="leftanalogup" type="axis" id="1" value="-1" />
                  <input name="leftshoulder" type="button" id="6" value="1" />
                  <input name="leftthumb" type="button" id="13" value="1" />
                  <input name="lefttrigger" type="button" id="8" value="1" />
                  <input name="right" type="hat" id="0" value="2" />
                  <input name="rightanalogdown" type="axis" id="5" value="1" />
                  <input name="rightanalogleft" type="axis" id="2" value="-1" />
                  <input name="rightanalogright" type="axis" id="2" value="1" />
                  <input name="rightanalogup" type="axis" id="5" value="-1" />
                  <input name="rightshoulder" type="button" id="7" value="1" />
                  <input name="rightthumb" type="button" id="14" value="1" />
                  <input name="righttrigger" type="button" id="9" value="1" />
                  <input name="select" type="button" id="10" value="1" />
                  <input name="start" type="button" id="11" value="1" />
                  <input name="up" type="hat" id="0" value="1" />
                  <input name="x" type="button" id="3" value="1" />
                  <input name="y" type="button" id="4" value="1" />
                  </inputConfig>
                  </inputList>

                  1 Reply Last reply Reply Quote 0
                  • B
                    bohdans
                    last edited by

                    OK, so after reading a little more, I did the RetroAch setup and compared the ES to the RA generated configs,

                    So using ES setup :

                    input_device = "小米蓝牙手柄"
                    input_driver = "udev"
                    input_r_y_plus_axis = "+5"
                    input_l3_btn = "13"
                    input_r_x_minus_axis = "-2"
                    input_start_btn = "11"
                    input_exit_emulator_btn = "11"
                    input_l_y_minus_axis = "-1"
                    input_up_btn = "h0up"
                    input_r_y_minus_axis = "-5"
                    input_a_btn = "0"
                    input_b_btn = "1"
                    input_reset_btn = "1"
                    input_down_btn = "h0down"
                    input_l_x_plus_axis = "+0"
                    input_l_y_plus_axis = "+1"
                    input_r3_btn = "14"
                    input_right_btn = "h0right"
                    input_state_slot_increase_btn = "h0right"
                    input_x_btn = "3"
                    input_menu_toggle_btn = "3"
                    input_select_btn = "10"
                    input_enable_hotkey_btn = "10"
                    input_l_x_minus_axis = "-0"
                    input_y_btn = "4"
                    input_left_btn = "h0left"
                    input_state_slot_decrease_btn = "h0left"
                    input_r_x_plus_axis = "+2"

                    And then using the RetroArch:

                    input_device = "小米蓝牙手柄"
                    input_driver = "udev"
                    input_r_y_plus_axis = "+5"
                    input_l3_btn = "17"
                    input_r_x_minus_axis = "-2"
                    input_start_btn = "15"
                    input_exit_emulator_btn = "11"
                    input_l_y_minus_axis = "-1"
                    input_up_btn = "h0up"
                    input_r_y_minus_axis = "-5"
                    input_a_btn = "4"
                    input_b_btn = "5"
                    input_reset_btn = "1"
                    input_down_btn = "h0down"
                    input_l_x_plus_axis = "+0"
                    input_l_y_plus_axis = "+1"
                    input_r3_btn = "18"
                    input_right_btn = "h0right"
                    input_state_slot_increase_btn = "h0right"
                    input_x_btn = "7"
                    input_menu_toggle_btn = "3"
                    input_select_btn = "14"
                    input_enable_hotkey_btn = "10"
                    input_l_x_minus_axis = "-0"
                    input_y_btn = "8"
                    input_left_btn = "h0left"
                    input_state_slot_decrease_btn = "h0left"
                    input_r_x_plus_axis = "+2"
                    input_l_btn = "10"
                    input_r_btn = "11"
                    input_l2_btn = "12"
                    input_r2_btn = "13"

                    It seems the 小米蓝牙手柄.cfg file changes, its like RetroArch reads a different key to what ES reads.
                    I will do as mentioned above and just restore this config after updating each time.

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    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.