Firefox from a game controller
The Firefox 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: Firefox reads its Mac shortcuts from this layout. It supports the Gamepad API for web games, but not controller browsing, which is what this layout adds.
Yes, you can browse Firefox on a Mac with a game controller: pointer, scroll and clicks on the sticks and triggers, and back, forward, reload, new tab and the address bar on buttons. Firefox's shortcuts match Chrome's and Safari's for everything here, so it is the same remote with one Firefox feature worth a button, Reader View.
The layout, control by control
How the layout thinks
- Point, scroll, click. The left stick is a pointer, the right stick scrolls, the right trigger clicks and the left trigger right-clicks.
- Move through pages. Back, Forward, Reload and New Tab on the face buttons.
- Handle tabs. Close tab on the left bumper, the address bar on the right, and D-pad left and right switch tabs with Command Option and the arrows.
Firefox reads its Mac shortcuts from this layout. It is the Chrome remote, and every button means the same thing.
Tune it for Firefox
- Reader View. Put Command Option R on the touchpad press.
- Dictation. Press the address bar button, then Start Dictation.
- Zoom. Put Command Plus and Command Minus on the stick clicks.
- Picture in picture. Put Command Option Shift Right Bracket for a video behind a chord. Without Option, Command Shift Right Bracket switches to the next tab instead.
Reader View is what makes long articles comfortable from across the room. Put Reader View on the touchpad press first.
If a browser game sees the pad
Firefox supports the Gamepad API, so a browser game that reads controllers sees yours after you press a button on the page. With this layout running, the game gets clicks and key presses as well as the pad, and every press lands twice.
- Turn the layout off while you play. Deactivate it before you open the game.
- Give the game its own preset. An empty preset, or one with only the keys the game lists.
The browser games page covers the rest. A running layout doubles every press in a game that reads the pad itself.
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 Firefox 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 |
|---|---|---|
| Left stick left | Mouse motion left (speed 16) | Cursor left |
| Left stick right | Mouse motion right (speed 16) | Cursor right |
| Left stick up | Mouse motion up (speed 16) | Cursor up |
| Left stick down | Mouse motion down (speed 16) | Cursor down |
| Right stick down | Scroll down | Scroll down |
| Right stick up | Scroll up | Scroll up |
| Right trigger | Left click | Left click |
| Left trigger | Right click | Right click |
| A / Cross | Command (Left), Left | Back |
| B / Circle | Command (Left), Right | Forward |
| X / Square | Command (Left), R | Reload |
| Y / Triangle | Command (Left), T | New tab |
| LB / L1 | Command (Left), W | Close tab |
| RB / R1 | Command (Left), L | Address bar |
| D-pad left | Command (Left), Alt / Option (Left), Left | Previous tab |
| D-pad right | Command (Left), Alt / Option (Left), Right | Next tab |
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
Anything different from Chrome?
Reader View and the picture-in-picture key. Everything else is shared.
Does Firefox have controller support?
For web games, yes, through the Gamepad API. For browsing, no. This layout sends ordinary pointer, scroll and key presses instead.
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