App

Android Studio from a game controller

Download InputConfig on the Mac App StoreThe Android Studio layout is built into InputConfig, free on the Mac App Store. You don't have to make an account, there are no subscriptions, and nothing is locked. Optimized for Apple silicon.

On a Mac: Sends the IntelliJ macOS keymap Android Studio uses by default, including Control R to run and Control D to debug.

Yes, you can drive Android Studio on a Mac from a game controller: find, run and debug, go to declaration and class, recent files, comment and Search Everywhere are all on the pad. Android Studio is IntelliJ with an emulator, so this is the IntelliJ idea with run and debug on the bumpers, where a finger presses them without moving the thumb. It sends the IntelliJ macOS keymap Android Studio uses by default.

On this page: 7 sections
  1. The layout, control by control
  2. How the layout thinks
  3. Tune it for Android Studio
  4. The short version
  5. Get it in two clicks
  6. Every binding, as a table
  7. Questions

The layout, control by control

Click a control. Labels:

How the layout thinks

  • Click and find. Left click and right click on the bottom and right face buttons, Find on the left, Find in Path on the top.
  • Run and debug. Run (Control R) on the right bumper, Debug (Control D) on the left.
  • Move through code. D-pad left goes to declaration (Command B), right goes to class (Command O), up opens recent files (Command E), down comments the line.
  • Search Everywhere. Share or View sends Shift twice, the double Shift, in one press. Options saves.
  • Point and edit. The right stick is the pointer, the left stick scrolls, the left stick click undoes, the right stick click reformats code (Command Option L), and the left trigger is Tab.

The Search Everywhere row sends Shift with a repeat of 2 per press, so one press is two quick Shift taps. Run and debug sit under your fingers, so your thumbs never leave the code.

Tune it for Android Studio

  • The emulator. A second preset for the emulator window, listed under Activate when these apps are in front, can send the keys your app expects. A game in the emulator may also read a controller connected to the Mac. Check your emulator's settings.
  • Dictation. Press Search Everywhere, then Start Dictation, and say the class name.
  • Feel the build start. Turn on Vibrate on the Run row.

If you changed the keymap, Scan the Control rows and press yours. Search Everywhere plus dictation finds any class by name.

The short version

  • Same keymap as IntelliJ. The bumpers are run and debug here instead of find.
  • Add dictation. It is for Search Everywhere.
  • Give the emulator its own preset. Auto-switch hands over when it comes to the front.

The IntelliJ IDEA layout is the sibling. Navigate, run and debug from the pad, and do your typing by voice or on the keyboard.

Get it in two clicks

  1. Get InputConfig free on the Mac App Store, open it, and click Smart Preset Maker on the welcome screen.
  2. Search for Android Studio and pick it. The layout is created as a preset in your sidebar, named and ready.
  3. Press Activate. Every row can be changed afterwards: the editor's Scan button rebinds any control the moment you touch it.

Every binding, as a table

The Android Studio preset in InputConfig, drawn on a DualSense Edge with each control labeled with the key or action it sends.
Figure 1. The Android Studio preset drawn on a DualSense Edge in InputConfig's Live Visualizer. For example, A / Cross is labeled Left click, and B / Circle is labeled Right click. Any other controller shows the same layout on its own drawing.
ControllerSendsWhat it does
Right stick rightMouse motion right (speed 16)Move pointer right
Right stick leftMouse motion left (speed 16)Move pointer left
Right stick downMouse motion down (speed 16)Move pointer down
Right stick upMouse motion up (speed 16)Move pointer up
Left stick downScroll downScroll editor down
Left stick upScroll upScroll editor up
A / CrossLeft clickLeft click
B / CircleRight clickRight click
X / SquareCommand (Left), FFind in file (Cmd+F)
Y / TriangleCommand (Left), Shift (Left), FFind in path (Cmd+Shift+F)
RB / R1Ctrl (Left), RRun (Ctrl+R)
LB / L1Ctrl (Left), DDebug (Ctrl+D)
D-pad leftCommand (Left), BGo to declaration (Cmd+B)
D-pad rightCommand (Left), OGo to class (Cmd+O)
D-pad upCommand (Left), ERecent files (Cmd+E)
D-pad downCommand (Left), /Comment line (Cmd+/)
Back / Share / SelectShift (Left); sent 2 timesSearch Everywhere (double Shift)
Start / OptionsCommand (Left), SSave all (Cmd+S)
L3 (left stick click)Command (Left), ZUndo (Cmd+Z)
R3 (right stick click)Command (Left), Alt / Option (Left), LReformat code (Cmd+Opt+L)
Right triggerLeft clickRight trigger left-click
Left triggerTabTab / indent

Button names follow the Xbox / PlayStation pair shown in the editor, so A / Cross is the bottom face button on either pad. On a Switch Pro Controller the bottom button is labeled B; the mapping still fires on position.

Questions

Does it match the IntelliJ layout?

It uses the same keymap, and the bumpers are run and debug here instead of find.

How does one button send double Shift?

The row sends Shift with a repeat of 2 per press, so one press is two quick Shift taps.

Download InputConfig on the Mac App StoreCompletely free. You don't have to make an account, there are no subscriptions, and nothing is locked. Optimized for Apple silicon. Open source on GitHub.

Updated