How to Use Your Controller's Gyro as a Mouse on Mac

The gyroscope inside your DualSense, DualShock 4, Steam Controller, Joy-Con, or Switch Pro Controller is a tiny precision instrument. ControllerKeys turns it into a macOS mouse — always on, while you hold a button, or as a focus-mode burst.

Modern controllers all ship with a 3-axis MEMS gyroscope. Sony, Valve, and Nintendo include them for motion-controlled games — Splatoon's stick-plus-gyro aiming is the canonical example. macOS itself does nothing with this data. Steam Input uses it inside Steam games. ControllerKeys promotes it to a system-wide mouse driver: tilt the controller, the cursor moves, with the precision of a fine instrument and the comfort of a couch peripheral.

Which Controllers Have Gyros?

Controller Gyro Accelerometer Notes
DualSense (PS5)Yes (3-axis)YesBest resolution, supported wired and over Bluetooth
DualShock 4 (PS4)Yes (3-axis)YesSlightly noisier than DualSense; still very usable
Steam Controller (Triton)YesYesHigh-quality gyro with raw scale exposed by Steam HID
Joy-Con (L or R)Yes (per Joy-Con)YesEach Joy-Con has its own gyro
Switch Pro ControllerYesYesHighest comfort for long sessions
Xbox Series X|SNoNoNo motion sensors
Xbox Elite Series 2NoNoNo motion sensors
Xbox OneNoNoNo motion sensors

Short version: if you want gyro on Mac, get a Sony, Nintendo, or Valve controller. Xbox controllers do not include motion sensors.

How Gyro Aiming Activates: Focus Mode

ControllerKeys ties gyro aiming to focus mode, a system-wide "slow precision pointer" mode the app already uses for stick mouse work. Focus mode activates while you hold a configurable keyboard modifier (default: the Command key). When focus mode is on, mouse movement from the stick slows down for fine targeting, and — if you have Gyro Aiming enabled — the gyroscope joins in as the primary fine-adjustment input. Release the modifier and you're back to regular cursor speed with the gyro idle.

In practice that means a typical workflow looks like:

  1. Move the cursor to roughly the target with the stick or touchpad.
  2. Hold the focus-mode modifier (default ) and tilt the controller gently for the last few pixels.
  3. Release the modifier and click.

This is the only activation pattern Gyro Aiming exposes today. It's labeled Beta in the UI — the feature works well in everyday use but the activation model is intentionally narrow while it stabilizes.

Step-by-Step Setup

1

Pair the Controller

Connect your DualSense, DualShock 4, Steam Controller, Joy-Con, or Pro Controller to the Mac. Make sure ControllerKeys detects it.

2

Open the Gestures Tab

In ControllerKeys, switch to the Gestures tab. The Gyro Aiming section is at the bottom of the page, labeled Beta.

3

Turn On "Gyro Aiming (Focus Mode)"

Toggle Gyro Aiming (Focus Mode). Two sliders appear below: Sensitivity and Deadzone.

4

Settle the Controller for Auto-Calibration

Lay the controller still on a table for the first second or two after enabling gyro. ControllerKeys averages the first batch of frames to determine the resting gyro bias, then subtracts that bias from every subsequent reading — so a perfectly still controller produces no cursor drift.

5

Tune Sensitivity and Deadzone

Sensitivity (default 0.3) controls cursor speed per unit of tilt. Deadzone (default 0.3) filters hand tremor as an angular-rate threshold in rad/s — raise it if the cursor twitches while you're holding the controller still, lower it if small intentional tilts get ignored.

6

Try It

Hold the key (or whichever focus-mode modifier you've configured under Joystick Settings) and tilt the controller. The cursor moves with the tilt. Release the modifier and gyro goes idle.

Changing the Focus-Mode Modifier

The default focus-mode modifier is (Command). To change it, go to Joystick Settings and adjust the Focus Mode Modifier option — you can pick any of ⌘ / ⌥ / ⇧ / ⌃ or a combination. The same modifier affects stick mouse focus mode and gyro activation.

Gyro Gestures (Discrete Tilts)

Beyond using gyro as a continuous mouse, ControllerKeys can also recognize gyro gestures — discrete tilts you can bind to actions:

Each gesture is its own mappable input alongside buttons, chords, and sequences. Bind tilt-forward to "scroll up", yaw-right to "next desktop", or any of these to keyboard shortcuts, scripts, webhooks — same as any other binding.

Gestures and Gyro-as-Mouse Coexist

Gyro gestures and gyro-as-mouse use independent thresholds. You can have always-on gyro mouse and bind a "tilt forward" gesture to "scroll down" — they share the same gyroscope but trigger on different motion patterns (continuous low-level motion vs discrete fast flicks).

Why Gyro Beats Stick for Cursor Work

Sticks are bad at fine cursor work. A stick has 8-bit resolution at best and a noticeable dead zone — moving the cursor one pixel at a time is essentially impossible. Gyros have much higher angular resolution (the DualSense gyro is around 16-bit), no dead zone in the meaningful sense, and they respond to the same fine motor control you'd use with a real mouse. For desktop productivity — clicking small UI controls, dragging precise selections — gyro feels significantly closer to a mouse than a stick does.

The catch: gyro works better than a stick at small motions but worse at long sweeps. A typical workflow uses both — stick or touchpad for coarse "get the cursor near the target", gyro for the last few pixels.

Troubleshooting

Cursor Drifts When the Controller Is Still

  1. This is uncalibrated resting bias. Lay the controller flat on a table and don't touch it for 5 seconds. ControllerKeys auto-calibrates.
  2. If drift persists, increase the gyro deadzone in the Hardware → Gyro panel.

Cursor Feels Too Twitchy

  1. Lower Sensitivity to 0.15–0.20.
  2. Raise Deadzone slightly so small hand tremors are filtered out before they become cursor motion.

Cursor Feels Too Slow

  1. Raise Sensitivity toward the upper end of the slider.
  2. Make sure ControllerKeys is running with Accessibility permissions; sensitivity caps fall back to a low default without them.

Gyro Doesn't Activate at All

  1. Confirm your controller has a gyro (Xbox controllers do not).
  2. Check that Gyro Aiming (Focus Mode) is toggled on under Gestures.
  3. Confirm you're holding the focus-mode modifier — gyro is intentionally inactive until the modifier is pressed.
  4. For Bluetooth-paired DualSense, gyro data only flows in some firmware revisions — connect via USB-C as a workaround.

Turn Your Controller's Gyro Into a Real Mac Mouse

Hold a modifier, tilt the controller, click. Automatic bias calibration, discrete gesture mappings, per-profile settings. The controller's stick, buttons, and touchpad keep working as themselves.

Related Guides