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

    Xbox One Bluetooth Controller "start" and "select" buttons won't map in Daphne

    Scheduled Pinned Locked Moved Help and Support
    daphne configxbox one contro
    9 Posts 3 Posters 1.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.
    • R
      RubiksTron
      last edited by

      Just wondering if anyone else has had this issue. I cannot map the select and start buttons on my Xbox one Bluetooth controller to work for the coin and start on Daphne. I have used jstest to get the button numbers and adding 1 for the dapinput.ini file. Any buttons that I map to coin and start just pauses everything (i.e., the preview video of Dragon’s Lair). I haven’t gotten far enough to see if the joystick and other buttons work, since I cannot start the game.
      A few points:

      • The controllers work with every other emulator and I have had no issues setting it up.
      • I am using model 1708 Xbox one Bluetooth controller, latest firmware, xpadneo driver, ertm disabled, etc.
      • I can successfully map the select and start buttons with every other emulator (mame, NES, etc.).
      • I can successfully map Daphne “coin” and “start” to other controllers, like my wired USB controller and even my Xbox 360 controllers.
      • The dapinput.ini is not being changed after running the emulator.

      Things I have tried with no success:

      • Updating RetroPie to 4.8 and all packages.
      • Mapping other buttons to “coin” and “start”.
      • Any button I map to “quit” works. However, mapping that same button to “coin” or “start” does not work—it just pauses the video.
      • Reconfiguring the controller in EmulationStation, in hopes of forcing Daphne to remap somehow.
      • Removing all other controllers from my system to avoid potential confusion.
      • Uninstalling/reinstalling Daphne from source and/or binary.
      • Starting from scratch and creating a test image with no other emulators or controllers.

      It seems the “coin” and “start” in Daphne do not like anything from the Xbox one controller. Did I find a bug, or am I missing something? Thank you all in advance for your help.

      1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by

        Post the dapinput.ini file, where the mapping is saved.

        R 1 Reply Last reply Reply Quote 0
        • R
          RubiksTron @mitu
          last edited by

          # Daphne cutom keyboard and joystick mapping
          #
          # Each input is mapped to 2 keyboard keys and one joystick button.
          # A joystick's first analog stick is also automatically mapped.
          #
          # The first two numbers are SDL keyboard codes (or 0 for "none")
          # Find keyboard codes here:
          # http://www.daphne-emu.com/mediawiki/index.php/KeyList
          #
          # The third number is the joystick button code (or 0 for "none")
          # Since 0 is reserved for special meaning, joystick button 0 is identified
          # as 1 here.  Button 1 is identified as 2, and so on.
          # 
          # Find the button you want to map by running:
          # jstest /dev/input/js0
          
          [KEYBOARD]
          KEY_UP = 273 114 1
          KEY_DOWN = 274 102 1
          KEY_LEFT = 276 100 1
          KEY_RIGHT = 275 103 1
          KEY_BUTTON1 = 306 97 1
          KEY_BUTTON2 = 308 115 2
          KEY_BUTTON3 = 32 113 4
          KEY_START1 = 49 0 12
          KEY_START2 = 50 0 0
          KEY_COIN1 = 53 0 11
          KEY_COIN2 = 54 0 0
          KEY_SKILL1 = 304 119 0
          KEY_SKILL2 = 122 105 0
          KEY_SKILL3 = 120 107 0
          KEY_SERVICE = 57 0 0
          KEY_TEST = 283 0 0
          KEY_RESET = 284 0 0
          KEY_SCREENSHOT = 293 0 0
          KEY_QUIT = 27 113 15
          END
          
          
          DirtBagXonD 1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator
            last edited by

            @RubiksTron said in Xbox One Bluetooth Controller "start" and "select" buttons won't map in Daphne:

            KEY_START1 = 49 0 12
            KEY_START2 = 50 0 0
            KEY_COIN1 = 53 0 11
            KEY_COIN2 = 54 0 0

            I don't have a similar gamepad to check, but this looks like it's mapping buttons 11 and 10 for Start/Coin. Can you post the .cfg file produced by mapping the controller in EmulationStation, you can find it in /opt/retropie/configs/all/retroarch-joypads. Or check if the Start/Select button numbers are the same in the file.

            R 1 Reply Last reply Reply Quote 0
            • R
              RubiksTron @mitu
              last edited by

              @mitu thank you for your help. Here is the cfg file:

              input_device = "Xbox Wireless Controller"
              input_driver = "udev"
              input_enable_hotkey_btn = "10"
              input_r3_btn = "14"
              input_r_y_minus_axis = "-3"
              input_l_btn = "6"
              input_load_state_btn = "6"
              input_r_y_plus_axis = "+3"
              input_up_btn = "h0up"
              input_up_btn_label = "D-Pad Up"
              input_left_btn = "h0left"
              input_left_btn_label = "D-Pad Left"
              input_state_slot_decrease_btn = "h0left"
              input_select_btn = "10"
              input_r2_axis = "+4"
              input_r_x_minus_axis = "-2"
              input_l_y_plus_axis = "+1"
              input_l_y_plus_axis_label = "Left Analog Y+"
              input_l_x_plus_axis = "+0"
              input_l_x_plus_axis_label = "Left Analog X+"
              input_right_btn = "h0right"
              input_right_btn_label = "D-Pad Right"
              input_state_slot_increase_btn = "h0right"
              input_l2_axis = "+5"
              input_l_x_minus_axis = "-0"
              input_l_x_minus_axis_label = "Left Analog X-"
              input_r_x_plus_axis = "+2"
              input_l3_btn = "13"
              input_r_btn = "7"
              input_save_state_btn = "7"
              input_l_y_minus_axis = "-1"
              input_l_y_minus_axis_label = "Left Analog Y-"
              input_y_btn = "4"
              input_x_btn = "3"
              input_x_btn_label = "Y"
              input_menu_toggle_btn = "3"
              input_down_btn = "h0down"
              input_down_btn_label = "D-Pad Down"
              input_start_btn = "11"
              input_exit_emulator_btn = "11"
              input_b_btn = "1"
              input_reset_btn = "1"
              input_a_btn = "0"
              
              
              1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator
                last edited by

                Based on the joypad config file, the dapinput.ini mappings are correct. Not sure why they won't work in-game though.

                1 Reply Last reply Reply Quote 1
                • DirtBagXonD
                  DirtBagXon @RubiksTron
                  last edited by

                  @RubiksTron

                  Bit of a guess here, but you don't have KEY_PAUSE defined in your dapinput.ini file. Maybe it's picking up some weird SDL input ?!?

                  Try disabling the pause key by adding the following to the dapinput.ini file.

                  KEY_PAUSE = 0 0 0
                  

                  According to the source code that key is available in the original Daphne.

                   

                  Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
                  Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
                  Hypseus Discord: https://discord.gg/dgCsCfmRfJ

                  R 1 Reply Last reply Reply Quote 0
                  • R
                    RubiksTron @DirtBagXon
                    last edited by

                    @DirtBagXon unfortunately adding that pause line didn't work, the start and select still pause. Thanks for the suggestion.

                    R 1 Reply Last reply Reply Quote 0
                    • R
                      RubiksTron @RubiksTron
                      last edited by

                      Follow-up: I did some more digging and read somewhere on the xpadneo github that they have a hypseus module in the code. I never thought to try hypseus, I guess I had it stuck in my mind that Daphne was "the" laserdisc emulator. I installed hypseus and it works with the Xbone controller. I only had to configure the select and start buttons. The exit as configured in ES (start + select) works as well. In Daphne the start+select to exit didn't work and I had to configure another button.

                      Big props to @DirtBagXon, I found your github and followed the instructions: https://github.com/DirtBagXon/hypseus-singe. Thank you thank you thank you.

                      I hope this helps anyone else stumbling into this issue. I like my xbone controllers and am trying to get away from Xbox 360 controllers + dongle.

                      TLDR: Xbox One controllers will not work with Daphne. Use hypseus.

                      1 Reply Last reply Reply Quote 1
                      • 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.