Small enough for your off hand

The 8BitDo Micro
as a shortcut pad.

The 8BitDo Micro fits in one hand and works with ControllerKeys like a full controller. Map its buttons to brush, eraser, undo and zoom, then add chords and hold actions for more. Any controller ControllerKeys supports works the same way.

See the 8BitDo Micro in ControllerKeys · Connect an 8BitDo controller

ControllerKeys showing an 8BitDo Micro with editable button mappings
ControllerKeys with an 8BitDo Micro connected.
Community profile · Photoshop Digital Painting

Photoshop.
Paint without reaching.

Brush, eraser, eyedropper and color swap on the face buttons. Hold the triggers for Option and Shift, and size your brush on the D-pad.

Photoshop Digital Painting · default mappings
Controller inputActionMac shortcut
A / crossBrushB
B / circleEraserE
X / squareSwap FG/BG ColorsX
Y / triangleEyedropperI
Left bumper (LB / L1)Undo⌘ Z
Right bumper (RB / R1)Redo⇧⌘ Z
Left trigger (LT / L2)HOLD: Option (Eyedropper)Hold ⌥
Right trigger (RT / R2)HOLD: Shift (Straight Lines)Hold ⇧
D-pad upHarder Brush⇧ ]
D-pad downSofter Brush⇧ [
D-pad leftBrush Smaller[
D-pad rightBrush Larger]
Menu / OptionsNew Layer⇧⌘ N
View / CreateDeselect⌘ D
ShareToggle PanelsTab
Left stick clickFit to Screen⌘ 0
Right stick clickReset FG/BG to B&WD
4 button chords included
  • LB + RB Stamp Visible (Cmd+Opt+Shift+E)
  • LT + LB Step Back History (Cmd+Opt+Z)
  • RT + A Free Transform (Cmd+T)
  • LT + A Duplicate Layer (Cmd+J)

Labels vary by controller; match the button shown in ControllerKeys. Download Photoshop painting profile · Inspect it on GitHub.

Community profile · Blender 3D

Blender.
Grab, rotate, scale.

The core transform keys on the face buttons, standard views on the D-pad and a held Shift on the left trigger.

Blender 3D · default mappings
Controller inputActionMac shortcut
A / crossGrab / MoveG
B / circleRotateR
X / squareScaleS
Y / triangleExtrudeHold: Add Menu ⇧ AE
Left bumper (LB / L1)Undo⌘ Z
Right bumper (RB / R1)Redo⇧⌘ Z
Left trigger (LT / L2)HOLD: ShiftHold ⇧
Right trigger (RT / R2)DeleteHold: Search Commands F3X
D-pad upTop ViewNumpad 7
D-pad downFront ViewNumpad 1
D-pad leftSide ViewNumpad 3
D-pad rightCamera ViewNumpad 0
Menu / OptionsToggle Edit ModeTab
View / CreateShading MenuZ
ShareHide SelectedHold: Unhide All ⌥ HH
Left stick clickToggle Select AllA
Right stick clickFocus SelectedNumpad .
2 button chords included
  • LT + A Duplicate (Shift+D)
  • LB + RB Apply Transform (Ctrl+A)

Labels vary by controller; match the button shown in ControllerKeys. Download Blender profile · Inspect it on GitHub.

Numpad views. The D-pad sends numpad keys for top, front, side and camera views. On a Mac keyboard without a numpad, enable Emulate Numpad in Blender’s Input preferences or remap those buttons.

Community profile · Figma - UI Design

Figma.
Tools on tap.

Select, frame, shapes and text on the face buttons, with Shift and Option held on the triggers for constraints and duplication. It is also linked to Sketch.

Figma - UI Design · default mappings
Controller inputActionMac shortcut
A / crossSelect / MoveV
B / circleFrameF
X / squareRectangleDouble-tap: Ellipse OR
Y / triangleTextT
Left bumper (LB / L1)Undo⌘ Z
Right bumper (RB / R1)Redo⇧⌘ Z
Left trigger (LT / L2)HOLD: Shift (Constrain)Hold ⇧
Right trigger (RT / R2)HOLD: Option (Duplicate / Spacing)Hold ⌥
D-pad upBring Forward⌘ ]
D-pad downSend Backward⌘ [
D-pad leftZoom Out⌘ -
D-pad rightZoom In⌘ =
Menu / OptionsQuick Actions⌘ /
View / CreateZoom to Fit⇧ 1
ShareDuplicate⌘ D
Left stick clickZoom to 100%⌘ 0
Right stick clickZoom to Selection⇧ 2
1 button chords included
  • LB + RB Group (Cmd+G)

Labels vary by controller; match the button shown in ControllerKeys. Download Figma profile · Inspect it on GitHub.

Import, then make it yours

Import it.
Make it yours.

Open a test canvas or scene. Try each tool and modifier before a long session.

  1. Connect and complete onboarding.

    Pair your controller with your Mac, open ControllerKeys and grant the requested Accessibility permission.

  2. Import a profile.

    Download: Photoshop painting photoshop-painting.json · Blender blender.json · Figma figma.json.

    In ControllerKeys, click + beside Profiles, choose Import Profile… and select the file. The same layouts are also available through Import Community Profile….

  3. Check the linked app.

    Right-click the imported profile, choose Linked Apps… and confirm your installed app is selected. Bring that app forward and the profile switches automatically.

  4. Test, then remap.

    Switch between brush and eraser, change size with the D-pad and try an undo. To change a binding, open it, choose Key and press the shortcut you want.

Built by one person

Using a different app?
Tell me.

ControllerKeys is made by Kevin Tang, an indie developer. Many of these profiles started as a single email from someone describing their setup. If your app or workflow isn’t here yet, email me what you’d like to control or use Send Feedback in the app’s settings.

A few useful answers

Before you connect.

Does this work with Clip Studio Paint, Procreate Dreams or Affinity?

Any Mac app with keyboard shortcuts works. Start from the Photoshop profile, link it to your app and remap the buttons to that app’s shortcuts.

Can a button act like holding a modifier key?

Yes. Hold-modifier mappings press Option, Shift or Command for as long as you hold the button, which suits eyedropper, straight lines and constrained transforms.

Will it interfere with my pen tablet?

No. ControllerKeys only reads the controller; your tablet and pen work as before.

Can I use the same controller in several apps?

Yes. Link each profile to its app and ControllerKeys switches automatically.

Try your next piece
with a controller.

Use the 14-day trial to try your controller with your own projects. Keep ControllerKeys for a one-time $19.99 purchase.

Download free trialBuy ControllerKeys · $19.99 ↗