IINA from a game controller
The IINA 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: IINA reads keys from its active key binding set, chosen in IINA's settings. This layout follows the common Space, F and arrow keys.
Yes, a game controller works as a remote for IINA on a Mac: play on the big button, full screen next to it, seek on the stick and D-pad, volume on the bumpers. IINA is the Mac-native player many people switch to from VLC, and the remote is the same. It follows the common Space, F and arrow keys.
The layout, control by control
How the layout thinks
- Play and full screen. Play and pause (Space) on the bottom face button, full screen (F) on the right.
- Seek. The left stick and the D-pad seek with the arrow keys.
- Volume. Command Up and Command Down Arrow on the bumpers.
- Leave full screen. Escape on Options, and the right trigger clicks.
IINA reads keys from its active key binding set, chosen in IINA's settings. Play, seek, volume and full screen are under one thumb.
If full screen or volume does nothing
IINA lets you choose a key binding set, including ones modeled on other players. Climb this ladder, smallest step first:
- Look at the active set. Open IINA's Key Bindings settings and see which keys it uses for full screen and volume.
- Change the matching rows. Record those keys on the rows here.
- Pick a VLC-style set. It keeps this layout and the VLC layout interchangeable.
- Subtitles. IINA's subtitle keys on the stick clicks.
- Everywhere. System Function media outputs make play and pause work from any app.
The key binding set decides everything beyond Space and the arrows. Match the rows to IINA's active key binding set, and every button works.
Get it in two clicks
- Get InputConfig free on the Mac App Store, open it, and click Smart Preset Maker on the welcome screen.
- Search for IINA and pick it. The layout is created as a preset in your sidebar, named and ready.
- 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

| Controller | Sends | What it does |
|---|---|---|
| A / Cross | Space | Play / Pause (Space) |
| B / Circle | F | Fullscreen (F) |
| Left stick left | Left | Seek back (Left) |
| Left stick right | Right | Seek forward (Right) |
| LB / L1 | Command (Left), Up | Volume up |
| RB / R1 | Command (Left), Down | Volume down |
| D-pad left | Left | Seek back |
| D-pad right | Right | Seek forward |
| Right trigger | Left click | Click |
| Start / Options | Escape | Exit fullscreen (Esc) |
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 this match VLC?
The idea and most keys are the same. IINA's key binding sets decide the rest.
Related
Completely 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