• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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 S Controller Bluetooth] Simple guide

Scheduled Pinned Locked Moved Help and Support
xbox one bloothxbox one sxbox one contrbluetooth contrxpad
5 Posts 2 Posters 4.4k 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.
  • N
    nemo93
    last edited by nemo93 11 Nov 2019, 09:36 9 Nov 2019, 10:51

    Hi Guys,

    After I really struggled to have this controller to work flawlessly on Retropie (4.5.2 - current) with my Pi3B+ I wanted to share my experience + feedbacks in a form of this simple guide.

    A few days ago my good old Xbox 360 wireless controller suddenly stopped working. It was a fine controller and I never had issue with it. I told myself I'd buy the exact same but when I saw the price online I changed my mind and got my hands on a new Xbox One S wireless controller with Bluetooth (version 1708).

    In order to have your shiny Xbox One S controller to work over bluetooth with Retropie 4.5.x on Pi3B+ (and perhaps other models):

    • follow this guide or this one to install xpadneo driver.
    • ensure you have proper battery or batteries in your controller if it keeps on disconnecting.
    • you could also go for a bluetooth dongle instead of the Pi3B+ internal one. I've picked that one. Just plug it into any USB port! Don't forget to disable Pi's onboard bluetooth as explained in the first guide above.
    • edit the main retroarch.cfg file. Under the driver section change as follows:
    # Joypad driver. ("udev", "linuxraw", "paraport", "sdl2", "hid", "dinput")
    input_joypad_driver = "linuxraw"
    
    • make sure to have a new Xbox Wireless Controller.cfg under the /opt/retropie/configs/all/retroarch-joypads/ with correct mappings.
    • you can also map buttons/axis from the main retroarch.cfg under /opt/retropie/configs/all/ or under the various configs directories for each emulator.
    • to test your axis/buttons you could always rely on that command from the console: # jstest /dev/input/js0

    My feedback after this week of trial and error:

    • xpadneo driver is very stable. There's already a PR hence I suspect there was no time to integrate it into the distribution. If more testing is needed I'm available.
    • the (official Microsoft) rechargeable battery is really of poor quality. I recommend regular batteries or rechargeable ones to prevent any situation like mine where I simply lost a good chunk of my hairs before I tried another batteries.
    • the current setup is very stable and I got no more issue for a week. I just need to figure out why under Mame-2003-plus only the left analog stick is working not the Dpad.
    • for the record my current Xbox Wireless Controller.cfg from /opt/retropie/configs/all/retroarch-joypads/:
    input_device = "Xbox Wireless Controller"
    
    input_player1_r_y_plus_axis = +4
    input_player1_r_y_minus_axis = -4
    input_player1_r_x_plus_axis = +3
    input_player1_r_x_minus_axis = -3
    input_player1_l_x_minus_axis = -0
    input_player1_l_x_plus_axis = +0
    input_player1_l_y_minus_axis = -1
    input_player1_l_y_plus_axis = +1
    
    input_player1_left_axis = -6
    input_player1_right_axis = +6
    input_player1_up_axis = -7
    input_player1_down_axis = +7
    
    input_player1_start_btn = 7
    input_player1_select_btn = 6
    
    input_player1_a_btn = 1
    input_player1_b_btn = 0
    input_player1_x_btn = 2
    input_player1_y_btn = 3
    input_player1_l_btn = 4
    input_player1_r_btn = 5
    input_player1_l2_axis = +2
    input_player1_r2_axis = +5
    input_player1_l3_btn = 9
    input_player1_r3_btn = 10
    
    input_enable_hotkey_btn = "6"
    input_exit_emulator_btn = "7"
    input_menu_toggle_btn = "2"
    input_reset_btn = "1"
    

    Hope this helps!

    Q 1 Reply Last reply 9 Nov 2019, 14:32 Reply Quote 0
    • Q
      quicksilver @nemo93
      last edited by 9 Nov 2019, 14:32

      @nemo93 said in [Xbox One S Controller Bluetooth] Feedbacks + tips to have it work:

      I just need to figure out why under Mame-2003-plus only the left analog stick is working not the Dpad.

      This is normal behavior for lr-mame2003+. You can change the settings in the retroarch menu if you want to.

      1 Reply Last reply Reply Quote 0
      • N
        nemo93
        last edited by nemo93 11 Oct 2019, 10:59 10 Nov 2019, 10:51

        Thanks @quicksilver. This is indeed apparently the expected default behavior. Do you know what setting(s) must be changed to be able to play with Dpad instead of analog? If both works that's fine too! I've tried the different controller types (6 button, Fightstick, etc) with no success.

        Q 1 Reply Last reply 10 Nov 2019, 13:38 Reply Quote 0
        • Q
          quicksilver @nemo93
          last edited by 10 Nov 2019, 13:38

          @nemo93 I believe it's an option in the quick menu settings not under controller settings. I'll have a look today and report back the exact setting.

          N 1 Reply Last reply 11 Nov 2019, 09:38 Reply Quote 0
          • N
            nemo93 @quicksilver
            last edited by 11 Nov 2019, 09:38

            @quicksilver you're right in Mame2003+ simply open the Retroarch Menu/GUI > Quick menu > Settings (not Controls indeed) and head for the Control Mapping setting. Change the value either to Analog (left stick) or Digital (Dpad). Thanks for the tip as I completely missed that opion!

            1 Reply Last reply Reply Quote 1
            5 out of 5
            • First post
              5/5
              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.

              This community forum collects and processes your personal information.
              consent.not_received