Xbox One controller does not work properly on mobile

As we all know, we can use an Xbox One controller to play on phone or other devices via bluetooth.

Whenever I want to jump for example, it doesn’t. I pressed all the keys on the Xbox controller and some of them are not functioning properly.

The following stuff don’t work on the Xbox One controller:

  • Go back to the main menu,
  • Wheel menu,
  • Jumping,
  • Equip/Unequip gadget
  • Sprint (Games that support sprinting)
  • D-Pad (wheel menu indicator?)

Sometimes it switches to the PC controls. This bug occurs everytime. I also checked if it was my controller, so I tried another one and the issue keeps happening. I am not sure when this issue started to happen.

7 Likes

When I connect an xbox one controller via bluethoot to my phone, and join any Roblox game, by default the next buttons are detected as a keyboard/mouse button:
A, X, Y, B, LB, RB, Joystick press down (on both the right and left joysticks) and Menu. Apart of that, View is binded to the android back button due android uses that button for menu navigation porpouses. This issue is caused beacuse the android version doesn’t recognise the buttons I mentioned earlier as a controller input.

This problem causes some issues like preventing the player from jumping, forcing the player to use the touchscreen for clicking/selecting any gui button/textbox and the menu buttons, and breaking completely any kind of custom binded functions that use the buttons mentioned earlier (for example: press the Y to open a gui won’t work)

I tested this by just joining an empty baseplate, and pressing down buttons while I was moving, beacuse the character automaticly stops if a different input device is detected, and for testing the issue with custom binded controls, I decided to use deathrun (https://www.roblox.com/games/206640076/Deathrun).
I also realised that they are detected as keyboard/mouse beacuse the xbox crosshair (the little dot that appears instead of the regular cursor) changes to the pc cursor.
https://doy2mn9upadnk.cloudfront.net/uploads/default/original/4X/7/6/0/7600552d34621dcef03fb9579ddcd0446cb26304.mp4
Note: In cause that you are thinking if it is caused by my controller, it isn’t beacuse I tested it in both the xbox and the pc clients and it didn’t ran into any problems.

1 Like

Any updates? This issue keeps occurring and has not been fixed yet…

I posted about much of the same problem in the UWP app 10 months ago (See #2):

I posted the UWP app bugs here in Mobile Bugs as Mobile and UWP seem more similar to each other
than the normal Desktop app, even though the UWP app runs on the PC desktop.

  • What works w/ Gamepad controls:
    (L) Thumbstick1: directionals only
    (R) Thumbstick2: directionals only
    (L) Trigger (ButtonL2): perfect
    (R) Trigger (ButtonR2): perfect
    Back (ButtonSelect): perfect

  • What is broken:
    (L) Bumper (ButtonL1): gamepad bug*
    (R) Bumper (ButtonR1): gamepad bug*
    (L) Thumbstick1 (ButtonL3): gamepad bug*
    (R) Thumbstick2 (ButtonR3): gamepad bug*
    Start (ButtonStart): gamepad bug*
    A (ButtonA): gamepad bug*
    B (ButtonB): gamepad bug*
    X (ButtonX): gamepad bug*
    Y (ButtonY): gamepad bug*
    DPadLeft: Instead of UserInputState.Begin, sends .Change (bound Action) coupled w/ .End
    DPadDown: Instead of UserInputState.Begin, sends .Change (bound Action) coupled w/ .End
    DPadRight: Instead of Enum.KeyCode.DPadRight, sends Enum.KeyCode.DPadLeft (bound Action)
    DPadUp: Instead of Enum.KeyCode.DPadUp, sends Enum.KeyCode.DPadDown (bound Action)

  • *gamepad bug:
    UserInputService.InputEnded event fired w/ UserInputType.Keyboard AND KeyCode.Unknown
    Notice that it is UserInputType.Keyboard and not what it should be: UserInputType.Gamepad1
    Notice that the KeyCode is KeyCode.Unknown, so you can’t distinguish the buttons.

Additional info:

  • These input bugs are seen on Android devices.
  • These input bugs are seen on USB-connected controllers as well (not just Bluetooth.)
  • UserInputService:GetGamepadState() does not work for the broken inputs.
  • UserInputService:IsGamepadButtonDown() does not work for the broken inputs.
  • Happens 100% of the time.

What phone are you using?

Regardless of which phone though, I wonder if its related to this:

I have the newest version of Sony Xperia 1. I have tried to play with another phone and the controls are still broken as well.

Perhaps just maybe the developer did not fit set the game up for these types of controls. This does happen often

that error actually happends in the microsoft store version aswell beacuse is the mobile one, ported to pc (this can be confirmed easily cause some games will detect that you are playing on a touchscreen device)

1 Like

@ROWG_Leader : No.

  • I mentioned specific input bugs above–Also, neither UserInputService:GetGamepadState() nor
    UserInputService:IsGamepadButtonDown() work for these inputs either:
    They are Gamepad Mobile Bugs.

@Rubenvp3 :

  • Several of the [similar] UWP input bugs that I mentioned last year have been fixed, so
    hopefully that’s a good sign that they’ll get around to these.
2 Likes

I once used my PS4 controller on my iPhone 8 to play Roblox, and it has the same problem. A method I used was to join a game with the controller connected, then go into settings quickly and disable bluetooth. Enable it again, connect the controller, go back into the game and it should be working. You have to do this process every time you joined a new game though. I don’t know if this might help you but please inform me if it does!

Your method did not work. I’ve been trying to do it for about 10 times now. I’ve tried to play some other games and no, the issue keeps happening.