Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Android accepts game controllers over a compatible wired connection or Bluetooth. After pairing, the controller may provide gamepad or joystick events without providing a movable pointer. To check for mouse input, consult the controller’s manual for a documented mouse, pointer, or alternate HID mode, activate that mode, and test the control outside a game. Android treats SOURCE_GAMEPAD, SOURCE_JOYSTICK, and SOURCE_MOUSE as different input sources, so a successful connection alone does not prove mouse compatibility.

What you need before connecting

Prepare the phone, controller, and connection method before changing settings. The exact labels can differ between Android releases and phone manufacturers, but the underlying requirements are the same.

  • Controller: Confirm that it is charged or has fresh batteries. Keep its manual available because pairing mode and alternate HID modes are model-specific.
  • Phone: Install any available Android updates if the controller has known compatibility requirements, and unlock the phone while making the first connection.
  • Wired setup: Use a cable that matches the controller and phone ports and supports data, not only charging. An adapter may be needed when the plugs do not match.
  • Bluetooth setup: Make sure the controller is not still connected to another phone, tablet, console, or computer. Many controllers reconnect to their last device automatically.
  • Mouse-mode check: Read the controller documentation for the terms “mouse,” “pointer,” “cursor,” “HID,” or “alternate mode.” Do not assume that an analog stick becomes a pointer merely because the controller works in a game.

Connect a controller with a cable

Google’s Android guidance describes wired connection as one of the two standard connection methods. The cable and ports must be electrically compatible; Android cannot make a charging-only connection carry controller data.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Turn on the phone and unlock it.
  2. Connect the controller to the phone with a compatible data cable.
  3. If the plugs differ, place a compatible USB adapter between them. A USB-C OTG adapter is relevant only when the phone and controller require that arrangement; Android’s generic controller instructions do not require an OTG adapter for every phone.
  4. Wait several seconds. If Android displays a permission, accessory, or controller notification, accept it when you recognize the device.
  5. Open a game or controller-testing screen and press a button or move a stick. The response confirms that Android is receiving input, but it does not establish mouse support.

When a wired connection is not detected

  • Try another known-good data cable. A cable that charges the controller can still lack data wiring.
  • Check whether the phone’s connector and the controller’s connector are physically compatible. Do not force a plug or rely on a loose adapter.
  • If an adapter is involved, verify that the phone supports the required USB host arrangement and that the adapter is intended for data devices.
  • Disconnect other USB accessories temporarily. A phone may not supply enough power for several devices at once.
  • Reconnect after unlocking the phone. Some devices do not present USB accessory prompts while locked.

If the controller works on another compatible device but not on the phone, the limitation may be the phone’s USB host support, power budget, cable, or adapter rather than the controller itself.

#1 Best Overall
GameSir X5 Lite Mobile Gaming Controller for Android,Hall Effect Joystick | Lightweight Ergonomic Phone Controller- Play Genshin Impact & Zenless Zone Zero
  • WIDE SCREEN COMPATIBILITY — PHONE TO TABLET: X5 Lite is a versatile phone controller that stretches up to 213mm to fit iPhone 15/16, most Android phones, iPad mini 6/7, and compatible Android tablets. Secure Type-C connection keeps gameplay stable and responsive.
  • MOBILE, CLOUD & REMOTE GAMING: Play supported mobile games like Zenless Zone Zero, or stream console and PC games through Xbox Game Pass, Steam Link, Moonlight, and remote play. Enjoy physical controls wherever you play.
  • HALL EFFECT STICKS — PRECISE CONTROL: GameSir Hall Effect sensing sticks deliver smooth 360° control for accurate aiming, movement, and camera adjustments. Built for fast-paced mobile games and streamed console or PC titles.
  • LIGHTWEIGHT & ERGONOMIC — 135.4G: At just 135.4g, X5 Lite stays lightweight during extended gaming. Ergonomic, laser-engraved textured grips provide a secure, comfortable hold at home or on the go.
  • CUSHIONED MEMBRANE CONTROLS — COMFORTABLE & QUIETER: Cushioned membrane buttons and triggers provide comfortable feedback for repeated inputs while keeping operation quieter. Ideal for extended sessions or gaming in shared spaces.

Connect a controller over Bluetooth

Bluetooth pairing requires two separate actions: putting the controller into its pairing mode and selecting it from Android’s Bluetooth device list.

  1. Charge the controller and turn it on.
  2. Use the controller’s manual to enter Bluetooth pairing mode. The indicator normally changes its flashing pattern, but the button combination and timing depend on the model.
  3. On the phone, open Settings.
  4. Tap Connected devices, then Pair new device.
  5. Wait for the controller’s name to appear under available devices and tap it.
  6. Approve the pairing request if Android asks for confirmation or a code.
  7. After the device appears as connected, press a button or move a stick in a game or input tester.

Some manufacturers rename these screens. Look for an equivalent path under Connected devices, Bluetooth, or Game controllers. The important sequence is to start pairing on the controller, scan from Android, select the controller, and verify that its status changes to connected.

Bluetooth pairing problems

  • The controller never appears: Re-enter pairing mode, move the controller close to the phone, and turn Bluetooth off and on. A controller that is already connected elsewhere may not advertise itself.
  • Android shows an old entry: Open the controller’s saved-device entry, choose the option to forget or remove it, then pair again from scratch.
  • Pairing succeeds but input stops: Charge the controller, keep it within normal Bluetooth range, and remove competing paired devices temporarily.
  • The wrong device connects: Turn off Bluetooth on nearby devices that previously used the controller, then repeat the scan.

Pairing status and input status are different. A “connected” label means that the Bluetooth link exists; it does not guarantee that a particular game recognizes every button, axis, or alternate input mode.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Confirm that Android recognizes the controller

Once connected, use Android’s controller-related settings when available. Depending on the release and device maker, you may find these under Settings > Connected devices, the individual Bluetooth device entry, or a Game controllers section. Android may provide controls for changing button or joystick assignments.

Rank #2
Mocagen MC1 Phone Controller for iPhone & Android – Ergonomic Grip, Low Latency, Case Friendly, Bluetooth Mobile Controller with Hall Effect Joysticks, Turbo, Portable Travel Companion for Car/Leisure
  • Bluetooth Controller for iPhone & Android: Mocagen mobile gaming controller Compatible with all iPhone models (including 18/17 series) and Android devices. Pairing steps: 1. Turn on Bluetooth on your phone and go to the pairing screen. 2. Press and hold the Home button for 3 sec until LED4 flashes. 3. Find "XBOX Wireless Controller" on your phone and tap to pair. Quick reconnect: After first pairing, simply press the Home button once (with Bluetooth on) to reconnect
  • Play Most Controller-Compatible Games: This iPhone game controller supports cloud gaming (e.g., Xb*x Game Pass, GeForce NOW), Xbox Remote Play, emulator games, and native mobile games (e.g., Apple Arcade). Enjoy effortless control and play Fortnite, Call of Duty, Roblox, Genshin Impact, and many more anytime, anywhere. Note: Controller only works with games that support controller input, and does not support PS Remote Play
  • 5M-Cycle Lifespan & Zero Drift: MC1 mobile gaming controller features a Hall-effect joystick with a 5M cycle lifespan, 2.5x longer than standard carbon-film sticks. Its innovative electromagnetic induction technology ensures drift-free operation, enabling precise character control in intense games and significantly extending this phone game controller durability
  • Ergonomic Grip Design: The handle is ergonomically shaped with a l*ser-engraved texture for anti-slip and enhanced grip, effectively reducing fatigue during long gaming sessions. The scientifically designed joystick and button layout ensures smooth operation. Whether for personal use or as a gift, it delivers a more comfortable and healthier gaming experience
  • 7-Color RGB Light Ring & 600mAh Battery: The mobile game controller features a 7-color adjustable light ring on the joystick(ABXY button lights can be turned off, but their colors are not adjustable). The lighting is vibrant yet eye-friendly. The built-in 600mAh battery provides up to 6 hours of battery life in brightness mode — enough for a full day of gaming

Test several controls rather than only the confirmation button:

  • Press the face buttons and shoulder buttons.
  • Move both analog sticks through their full range.
  • Test the directional pad, triggers, and any auxiliary buttons.
  • Check whether a game exposes a controller-mapping screen and whether each expected control can be assigned.

A game that responds to some controls may still ignore others because of its own mapping, because the controller exposes different axes than expected, or because the game accepts only a particular input source.

Understand gamepad input versus mouse input

Android identifies input by source. A controller can expose more than one source, and the source affects how Android and applications interpret the same physical control.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Android source What it represents Typical result
SOURCE_GAMEPAD Standard gamepad buttons and controls Games can map actions such as jump, fire, or confirm.
SOURCE_JOYSTICK Joystick-style axes and motion controls Applications receive analog axis values, often for sticks or throttles.
SOURCE_MOUSE Mouse-like pointing input Applications can receive relative pointer movement and mouse-button events.

Android also allows touchpads and other indirect pointing devices to report mouse-source information. The operating system’s classification describes the events a device sends; it does not require every game-controller manufacturer to implement a mouse mode.

Rank #3
8Bitdo Ultimate Mobile Gaming Controller for Android devices, Black
  • Compatible with Android devices and fits mobile devices ranging from 100mm to 170mm in length.
  • Hall Effect Joysticks and Triggers
  • Refined bumpers and D-pad. Light and tactile.
  • 2 Pro back paddle buttons
  • Profile button. Wear-resistant metal joystick rings. Turbo function.

For standard HID keyboards and mice, Android generally supplies default system behavior. Android’s platform rules describe a mouse as a device that provides relative X/Y movement together with a mouse button. A controller that exposes only gamepad buttons and joystick axes does not meet that definition simply because it is connected over Bluetooth or USB.

Check for mouse input as a consumer

The most useful check does not require developer tools, but it must follow the controller’s own mode instructions.

  1. Find the documented mode. In the manual or manufacturer’s on-device instructions, look for mouse mode, pointer mode, cursor mode, touchpad mode, or an alternate HID profile. Do not copy a button combination from another controller; mode-switch commands are not universal.
  2. Disconnect and reconnect if instructed. Some controllers advertise a different Bluetooth or USB identity after switching modes. If the manual says to change modes before pairing, remove the old Android pairing and pair the new mode again.
  3. Activate the mode. Follow the exact hold, switch, or startup sequence in the manual. Watch for a different status light or device name if the documentation mentions one.
  4. Test outside a game. Move the control assigned to pointing while viewing a part of Android that can display a pointer, such as the home screen or a settings page. A visible pointer that moves independently of touch is evidence that Android is receiving pointer-like events.
  5. Test a mouse button. If the mode assigns a trigger or face button as a click, use it on the same screen. Relative movement without a usable button may not behave like a complete mouse.
  6. Test the target app separately. Open the game or app you actually intend to use. Record whether it shows a pointer, responds to clicks, or ignores the events.

Pointer movement is a practical clue, not a universal compatibility certificate. A launcher or settings page may react to mouse events while a game filters them out. Conversely, a game may implement its own controller mapping and never display a system pointer even when Android reports mouse-source events.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Verify the input source technically

Developers and technically minded users can inspect Android’s input-device sources instead of relying only on visible cursor movement. Android recommends identifying a game controller by checking whether the input device supports SOURCE_GAMEPAD. The same device can also be checked for SOURCE_JOYSTICK and SOURCE_MOUSE.

Rank #4
Sale
abxylute M4 Snap-On Mobile Gaming Controller for Android & iPhone, Switch 1&2, Portable Bluetooth Controller, Pocket-Sized Retro Arcade Phone Gamepad Kickstand, Dual Joystick Turbo Pro Gaming Magnetic (Black)
  • Why Choose the abxylute M4 Snap-On Phone Controller? Designed exclusively for short quick retro gaming, like Game Boy, NES, SNES and etc. Trusted by 6000+ backers on a tech-focused crowdfunding platform. Pocket-sized play, perfect for your rest time. This compact clip-on controller is compatible with iOS and Android, features a Turbo function—crafted for short bursts of play vertically, horizontally or in detached mode, and ideal for packing in your pocket.
  • 【Easy Setup – Power On & Play Instantly!】We recommend attaching the magnetic stickers to a phone case for all phones, rather than using a bare phone. ✅ For Apple MagSafe Models: Snap the magnetic ring onto your MagSafe phone case, power on, and start gaming! ✅ For Non‑MagSafe Models: First attach the included magnetic sticker to your phone case, then snap the magnetic ring onto it. Power on and game right away!
  • 【Wide Compatibility – Android & iPhone】Compatible for Android devices, iPhones, and card-size phones (Android devices and iPhone 11/SE and earlier models; iPhone 12/13/14/15/16/17 with MagSafe). Works with all mainstream phones for smooth gaming. Fits iPhone Pro/Pro Max models but may feel top-heavy. Not compatible with foldable phones.
  • 【Compact Yet No Loss of Fun】Featuring HID, PS and NS modes, it seamlessly connects to gaming devices via Bluetooth.⚫ HID Mode: Local Games for Android⚫ PS Mode: CODM & PS Remote Play for Android & iOS⚫ NS Mode: All kinds of Emulators
  • 【Born for Retro Emulators on Mobile】Designed for retro gaming fans, the M4 Controller works smoothly with top emulators such as Delta, RetroArch and PPSSPP on both iOS and Android.It supports classic games for platforms including Game Boy, NES, SNES,3DS, FC, SFC, SS, N64, GBA, GBC, NDS, and more.
val ids = InputDevice.getDeviceIds()
for (id in ids) {
    val device = InputDevice.getDevice(id) ?: continue
    val sources = device.sources

    val isGamepad =
        (sources and InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD
    val isJoystick =
        (sources and InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK
    val hasMouseSource =
        (sources and InputDevice.SOURCE_MOUSE) == InputDevice.SOURCE_MOUSE

    // Log the device name and the three Boolean results.
}

This bitmask check answers what Android advertises for the device at that moment. It does not promise that every app will consume the source, nor does it prove that a stick will generate pointer movement. Android may reuse key or axis identifiers across different input types, which is why source detection matters when an application maps events.

What source results mean

  • Gamepad only: Expect game controls, not a system pointer, unless the app adds its own translation.
  • Joystick and gamepad: Expect analog axes and buttons. This still is not the same as mouse input.
  • Mouse plus another source: The controller may have an alternate pointer profile or touchpad. Test movement and clicking in the target app because source exposure alone does not guarantee app support.
  • No expected source: Recheck the selected mode, reconnect the device, and inspect whether Android created a second device entry after the mode change.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why a controller can connect but fail to act like a mouse

The hardware exposes only game controls

Many controllers are designed to send buttons, hats, and analog axes. Android can connect and use those events without receiving relative X/Y mouse movement. No Android setting can create a hardware mouse profile that the controller does not provide.

The alternate mode was not selected before pairing

Some devices change their Bluetooth identity or USB descriptors when started in a different mode. Pairing the normal gamepad profile and then expecting it to become a mouse may fail. Follow the manual’s startup order and pair again if the device presents a new identity.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The app accepts gamepad input but rejects mouse input

Applications choose which Android sources to handle. A title may read SOURCE_GAMEPAD and ignore SOURCE_MOUSE, or it may accept mouse clicks but not relative movement. This is an application compatibility decision, not necessarily a defective controller.

Best Value
GameSir X5 Lite Mobile Gaming Controller for Android & iPhone 15/16 Series (USB-C), Hall Effect Joystick, Lightweight Ergonomic Phone Controller- Play Genshin Impact & Zenless Zone Zero (Renewed)
  • Expanded Screen Compatibility: Stretchable up to 213mm, fitting iPad Mini 6/7 and Android tablets; Compatible with iPhone 15/16 and Android devices; Ultra-stable Type-C connection ensures lag-free gaming across all supported screen
  • Mobile Gaming Compatibility: Lets you play most of the games you want. Supports Xbox Game Pass, Zenless Zone Zero, cloud gaming, Steam/Moonlight streaming games, and remote play
  • Hall Effect Sticks: GameSir Hall Effect sensing sticks deliver 360° seamless pinpoint control, provide the precision and durability that mobile gamers demand
  • Ergonomic and Lightweight Design: Stay comfortable during long gaming sessions with the X5 Lite. Weighing just 135.4g, its lightweight design and ergonomically laser-engraved textured grips ensure a secure, comfortable hold for hours of gameplay
  • Cushioned and Durable Membrane: The X5 Lite is equipped with cushioned and durable membrane triggers and buttons. The cushioned feedback provides a comfortable experience while ensuring quieter operation

A pointer appears in one place but not another

System interfaces, launchers, browsers, and games do not have identical input handling. Treat the pointer test as evidence for the specific interface where it worked, then verify the app you care about.

Fix common “connected but not working” cases

Symptom Likely cause Action
Controller pairs, but no button works anywhere Wrong mode, stale pairing, low battery, or unsupported input profile Forget the device, restart the controller in its documented Android/gamepad mode, charge it, and pair again.
Buttons work but sticks do not Axis mapping, calibration, or an app that reads only digital buttons Test both sticks in Android’s controller settings or another input tester, then inspect the game’s mapping screen.
Game sees the controller but maps buttons incorrectly Different button or axis identifiers Use the game’s remapping controls or Android’s available button-assignment settings.
Pointer works in Android but not in the game The game does not consume mouse-source events Use the game’s own control settings; if it supports only gamepad input, switch back to the controller’s gamepad profile.
Bluetooth disconnects repeatedly Low charge, another device reclaiming the connection, distance, or radio interference Charge the controller, disable Bluetooth on previously paired devices, stay close to the phone, and pair again.
Wired controller powers on but Android ignores it Charging-only cable, incompatible adapter, unsupported host arrangement, or insufficient power Use a data cable, verify connector compatibility, remove other USB accessories, and test with the correct adapter for the phone.

Use Android’s mappings without confusing them with mouse mode

Android may expose button or joystick assignment controls for a connected controller. Remapping changes which gamepad action a button or axis represents; it does not convert gamepad events into relative mouse movement. If a game requires a particular layout, map the controls there or in Android’s available controller settings, then retest the actual game.

When troubleshooting, change one variable at a time: connection method, controller mode, mapping, or target app. Otherwise it becomes difficult to tell whether a fix changed the Android source, the physical link, or only the game’s interpretation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose the right connection and mode

Situation Preferred approach What to verify
You want the simplest setup and no cable Bluetooth gamepad mode Pairing mode, Android’s Connected devices flow, battery level, and the game’s supported mappings.
You need a low-latency wired link or the controller has no Bluetooth Compatible data cable Phone and controller ports, cable data capability, adapter requirements, and USB host power.
You need pointer movement The controller’s documented mouse or alternate HID mode Whether the manual explicitly describes that mode, whether Android reports SOURCE_MOUSE, and whether the target app accepts it.
You are selecting between controllers Compare documentation rather than appearance Bluetooth or wired support, documented mouse/pointer mode, Android gamepad reporting, target-app compatibility, and connector or adapter needs.

Limits you should expect

  • Android’s generic controller support does not mean every controller supports every Android phone.
  • A controller’s firmware can determine which source and controls it exposes.
  • The same physical stick can be an analog joystick in one mode and a pointer control in another, or it can remain a joystick in every mode.
  • Games and other apps are free to accept, remap, or ignore each input source.
  • A pointer observed in one launcher, settings page, or app is not proof of compatibility across all Android software.
  • Connector and adapter requirements depend on the exact phone and controller ports; buy an adapter only after checking both.

Bottom line

Connect the controller by a compatible cable or through Settings > Connected devices > Pair new device over Bluetooth, then verify ordinary buttons and sticks. For mouse support, use the controller’s documented alternate mouse or HID mode and look for actual pointer movement and clicking outside a game. A reliable technical check is whether Android reports SOURCE_MOUSE; SOURCE_GAMEPAD or SOURCE_JOYSTICK alone indicates controller input, not mouse input. Finally, test the specific app you intend to use because application support can differ even when Android recognizes the device.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.