mattials
English
iGBA

How to Use an Xbox or PS5 Controller With a GBA Emulator on iPhone

Pair the controller in the iOS Settings app under Bluetooth, or plug it into USB-C, then open iGBA, Settings, Controllers, Configure button mapping. Fast-forward can be mapped to any button, A and B have turbo, and the D-pad stays fixed.

9 min read · Updated 2026-09-26

Download on the App Store Get it on Google Play ★ 4.4 (2,692)

Controllers supported by iPhone and iGBA

iOS itself supports Xbox Wireless Controllers, PS5 DualSense and PS4 DualShock 4 controllers, and MFi game controllers. iGBA reads whatever iOS exposes, so there is nothing to install: pair the controller, or plug it in, and iGBA picks it up. Controller support is free.

  • Bluetooth controllers pair in the iOS Settings app, under Bluetooth.
  • Wired controllers plug into the USB-C port of an iPhone that has one.
  • iGBA uses one controller at a time: the first one connected. A second paired pad is ignored until the first disconnects.
  • On iPad, a physical keyboard also works, with fixed keys: arrows or WASD to move, Z or K for A, X or J for B, Q for L, E for R, Return for Start, Tab or Right Shift for Select, Space for fast-forward, Esc or M for the pause menu. Keyboard keys cannot be remapped.

Pair an Xbox controller

  1. Turn the controller on with the Xbox button, then hold the small pairing button on the top edge until the Xbox light blinks fast.
  2. On the iPhone, open the iOS Settings app, tap Bluetooth and choose the controller from the list. The light turns solid when it is connected.
  3. Open iGBA, tap Settings, then Controllers. The External controller section shows Connected: followed by the controller's name.
  4. Tap Configure button mapping to check or change the buttons.
iGBA Settings, Controllers page, External controller section: a green gamepad icon, Connected followed by the controller name, and the Configure button mapping link

An Xbox controller is the simplest case: its A, B, X and Y buttons arrive in iGBA under exactly those names. If the section says No controller connected, the pad is not paired or is connected to another device. You can still edit the mapping now and it is applied when the pad connects.

Pair a PS5 DualSense controller

  1. With the controller off, hold the PS button and the Create button (the small one left of the touchpad) together until the light bar flashes quickly.
  2. On the iPhone, open the iOS Settings app, tap Bluetooth and choose the DualSense Wireless Controller. This needs iOS 14.5 or later.
  3. Open iGBA, then Settings, Controllers: the controller's name appears under External controller.

iOS reports a DualSense with the same names as an Xbox pad, by position: Cross is A, Circle is B, Square is X and Triangle is Y. So with the default mapping Cross presses A, Circle presses B, Square is Select and Triangle is Start. A PS4 DualShock 4 pairs the same way, holding PS and Share.

Connect a wired USB-C controller

Plug a USB-C controller into the iPhone's USB-C port, or use a USB-C cable with a pad that supports wired play. Nothing is paired: iOS exposes the controller as soon as it is plugged in, and iGBA treats it like a Bluetooth one.

  • Open Settings, Controllers: Connected: and the controller's name confirm it was found.
  • Pads that iOS does not describe as a standard gamepad are read through their raw inputs. Open Configure button mapping, then What iGBA detects: it lists the inputs it sees and says whether the profile is an extended gamepad or generic.
  • Unplugging releases every held button, so nothing stays stuck.

Map A, B, L, R, D-pad and Turbo

  1. Open iGBA, tap Settings, then Controllers, then Configure button mapping (the screen is titled Button Mapping).
  2. Press any button on the controller: its row lights up. Rows that look dimmed are buttons this controller does not have.
  3. Tap the row and choose an action from the list: A, B, L, R, Start, Select, Open Menu, Fast Forward, Hold Button, Turbo A (autofire), Turbo B (autofire) or Unassigned.
  4. Play a moment to test it. Reset to Defaults restores the starting layout.
iGBA Button Mapping screen: one row each for A, B, X, Y, L1, R1, L2, R2 and Options or Share, each with the action it triggers, such as X set to Select and Y set to Start
The action list opened from a Button Mapping row: A, B, L, R, Start, Select, Open Menu, Fast Forward, Hold Button, Turbo A autofire, Turbo B autofire and Unassigned

The default mapping, using the names iOS gives each input:

Default controller mapping in iGBA 2.14.0
Controller inputDefault action
AA
BB
XSelect
YStart
L1L
R1R
L2L
R2R
Options / Share (View on Xbox, Create on DualSense)Open Menu

The Menu button (Menu on Xbox, Options on DualSense) always opens the pause menu, whatever the mapping says. The D-pad and the left stick always move: they are fixed, not remappable, and their directions are combined if you press both. Here is the full picture of what can and cannot be assigned:

What a controller can do in iGBA 2.14.0
ActionCan you assign it?HowNotes
A, B, L, R, Start, SelectYesChoose it as the action of any row in Button MappingAny controller button can send any of these, and two buttons can share one action.
D-pad and left stickNo, fixedNot remappableThey always move the character.
Fast ForwardYesChoose Fast Forward for a rowHold it to run at the Fast Forward Speed; a tap switches to the next speed.
Turbo A (autofire), Turbo B (autofire)YesChoose it for a rowPresses the button about 10 times a second while you hold it. A and B only.
Open MenuYesChoose it for a rowSame pause menu the Menu button opens.
Hold ButtonYesChoose it for a rowPress it, then press the button to keep held. Tap the screen or press Menu to release.
RewindNoPause menu, Rewind, by touchThere is no controller action for rewind.
Save state, load stateNoPause menu, by touchThe controller can open the pause menu but does not move around it.
Right stick, L3 and R3, Home or PS button, touchpad, back paddlesNoNot readiGBA does not use these inputs.

Turbo, in both senses

Turbo means two different things in iGBA. Turbo A (autofire) and Turbo B (autofire) are mapping actions that repeat a press while you hold the button: they exist only for A and B, and there is no turbo for L, R, Start or Select. Fast-forward, the other kind of turbo, speeds up the whole game. The next section covers it.

Can fast-forward be mapped to a controller?

Yes. In iGBA 2.14.0, any controller button can be set to Fast Forward.

  1. Open Settings, Controllers, Configure button mapping.
  2. Tap the row of the button you want, for example X or R2, and choose Fast Forward.
  3. Open Settings, Performance, and under Speed Control choose the Fast Forward Speed: 2x, 3x or 4x, free for everyone, with 4x as the starting value.
  4. In a game, hold the button to fast-forward and let go to return to normal speed.
Button Mapping with the X row changed to Fast Forward while Y stays on Start and the shoulder rows stay on L and R
Settings, Performance, Speed Control: Current Speed set to 1x, Fast Forward Speed set to 4x, and the note that Fast Forward runs at this speed while you hold the button, on screen or on a controller
  • Hold the button: the game runs at the Fast Forward Speed until you release it.
  • Tap the button (a quick press): the speed moves to the next one, 2x, 3x, 4x and back to 2x, and a short badge such as 3x flashes on screen.
  • Fast-forward is hold-only: there is no toggle that keeps it on by itself.
  • When you let go, the game returns to the speed set as Current Speed. Without Pro, Current Speed offers 1x, 1.5x and 2x; 0.5x, 2.5x, 3x and 4x need Pro or a rewarded ad.
  • On the iPad keyboard, Space does the same.

Rewind has no controller button in this version. You get to it from the pause menu, Rewind, with a tap.

Fix wrong buttons, stuck inputs and controller detection

  • The controller is paired but iGBA ignores it: the section under External controller should say Connected: and the name. If it says No controller connected, turn the pad off and on, or forget it in the iOS Bluetooth list and pair again. A pad that is connected to another device cannot connect to the iPhone.
  • You have two pads: only the first one connected works. Disconnect it and the second one is picked up.
  • A button does the wrong thing: open Configure button mapping, press the button to see which row lights up, and change that row. Reset to Defaults starts over. The mapping is remembered for each controller model and restored when it reconnects.
  • No row lights up for a button: open What iGBA detects to see whether iGBA sees the input at all. Right stick, stick clicks, Home and touchpad are never read.
  • A button stays pressed: unplug or disconnect the pad, which releases everything. If you used Hold Button, tap the screen or press Menu to release it. Turbo stops as soon as you let go, and leaving the app releases every input.
  • The on-screen buttons disappeared: on iPhone iGBA hides the touch controls while a controller is connected. Disconnect or turn off the pad to get them back.
  • You cannot move around the pause menu with the pad: the Menu button opens it, but you tap through it. Rewind and save states are there.

Best landscape control setup

A controller works in portrait or landscape, but landscape gives the biggest picture. To keep the game from rotating while you play, open Settings, Video & Audio and set Lock orientation to Always landscape (the options are Follow device, Always portrait and Always landscape, and the setting is for iPhone only).

Settings, Video & Audio, Orientation section: Lock orientation set to Follow device, with the note that it keeps the game in one orientation and is separate from the iOS rotation lock

With a clamp or a controller holder you will not touch the screen, but the touch controls still matter when the pad is away. Portrait and landscape have separate touch layouts, so set them up apart:

  1. Open Settings, then Controllers. In the touch controller section, switch the controller mode to Custom (Beta).
  2. Adjust Button scale and Vertical offset, or tap Edit button layout.
  3. In the editor, choose Landscape at the top, then drag, resize and recolor the buttons or hide the ones you never use.
  4. Save and open a game to try it. Classic brings back the original layout at any time.
iGBA Settings, Controllers page: Directional input list with D-Pad, D-Pad with diagonals and Joystick plus a tester, then the Touch controller switch between Classic and Custom (Beta)

Directional input comes first on the Controllers page, and each choice has a tester right under it:

  • D-Pad: four directions, like the original.
  • D-Pad with diagonals: also registers diagonal presses, useful for eight-way movement.
  • Joystick: a virtual analog stick instead of the cross.

Controller skins

iGBA has 8 built-in skins in Settings, Appearance: Classic, Midnight, Paper, Indigo, Neon, Sunset, Forest and Ocean. Classic is free; the other seven come with iGBA Pro or unlock for 24 hours with a rewarded ad.

You can also set a custom background image for the controller; a transparent PNG gives the cleanest result, and the image is stored inside the layout.

Ready to try it? Download iGBA and test your controller setup with the store buttons on this page.

Questions and answers

Does iGBA support Xbox and PS5 controllers?
Yes. Xbox Wireless Controllers and PS5 DualSense controllers pair in the iOS Settings app under Bluetooth, and wired USB-C controllers work when plugged in. The face, shoulder, trigger and Options buttons can be remapped to A, B, L, R, Start, Select, Open Menu, Fast Forward, Hold Button or turbo A and B. The D-pad and left stick are fixed. Controller support is free.
Can I map fast-forward to a controller button?
Yes. In Configure button mapping choose Fast Forward for any button. Hold it to run at the Fast Forward Speed you set in Settings, Performance (2x, 3x or 4x); tap it to switch to the next speed.
Is there a turbo button for the controller?
Yes, for A and B only. Choose Turbo A (autofire) or Turbo B (autofire) for a controller button and the game sees about 10 presses per second while you hold it. L, R, Start and Select have no turbo.
Can I remap the D-pad or the analog stick?
No. The D-pad and the left stick always control movement. The right stick, stick clicks and the Home button are not used.
Are the controller skins free?
The Classic skin is free. The other seven colored skins need iGBA Pro or a 24-hour rewarded ad unlock.
Can I use a virtual joystick instead of a d-pad?
Yes. Choose Joystick in the directional input section of Controllers and try it with the built-in tester.

More iGBA guides