AnkiWeb
- Rating
- 3 (๐ 3 ยท ๐ 0)
- Updated
- 2026-08-31
- Anki versions
- 2.1.54~
- Description language
- en
AnkiWeb addon 1005118618
Reviews Anki cards with a Bluetooth gamepad via the Gamepad API, with remappable buttons and no Karabiner or input-monitoring permissions.
Open on AnkiWeb GitHub Ask about alternatives
active
| Min Anki | Max Anki | Updated |
|---|---|---|
| 2.1.50 | 2.1.54+ | 2026-08-31 |
Loadingโฆ
Provides a fixed, setup-free button layout for Anki review and deck navigation, including Show Answer/Good, Again, Undo, scrolling, Move Up/Down, Study, and Sync.
Maps standard gamepad buttons to Anki actions like flip, answer, undo, and browser, with custom keyboard-shortcut slots for template actions.
Control Anki reviews with any gamepad: map buttons to 28 actions, open live config, and rate, reveal, undo, and more without keyboard or mouse.
Enables gamepad and controller use in Anki with customizable haptic vibration patterns, overlays, precision cursor control, and a quick-select radial menu for reviews.
Enables native gamepad control in Anki with auto-switching profiles, modifier layers, press-to-bind shortcuts, and analog-stick scrolling, without external mapping software.
Maps Nintendo Joy-Con buttons to Anki reviewer actions like Show Answer and Again/Hard/Good/Easy, with remappable controls, colour customisation and profiles on macOS.
Anki add-on that maps the 8BitDo Zero 2 to reviewer actions. Written for Anki 2.1.54 (Qt 6.3.1 / PyQt 6.3.1 / Python 3.9) on macOS.
Available on AnkiWeb: https://ankiweb.net/shared/info/1005118618
Instead of pairing the controller as a keyboard and remapping keystrokes with Karabiner-Elements (which needs the Input Monitoring permission), the controller is paired in gamepad mode and read through the Gamepad API inside Anki's own webview. Nothing outside Anki sees it.
gamepad.js gets injected into Anki's pages, polls
navigator.getGamepads() at 30 Hz, and forwards button presses to
Python over the pycmd bridge. __init__.py maps them to actions via
the add-on config. The d-pad works whether the current mode reports it
as buttons or as an axis pair.
From AnkiWeb: in Anki, go
to Tools โ Add-ons โ Get Add-ons and paste the code 1005118618.
From source:
cp -R zero2_controller "$HOME/Library/Application Support/Anki2/addons21/"
then restart Anki. Or build a package to install via Tools โ Add-ons โ Install from file:
cd zero2_controller && zip ../anki-gamepad.ankiaddon __init__.py gamepad.js config.json config.md manifest.json
If macOS mode gives odd button numbers, try Switch mode (Y + Start) or Android mode (B + Start) and remap. Pressing an unmapped button shows a tooltip with its config key.
Follows Jesse Simon's layout:
<img src="8bitdo-button-mapping.jpg" width="400" alt="8BitDo Zero 2 with the button mapping drawn on">
(photo from Jesse Simon's post)
| Control | Action |
|---|---|
| Y (left) | Flip card / Good |
| X (top) | Again |
| A (right) | Hard |
| B (bottom) | Easy |
| L | Undo |
| R | Bury card |
| Select | Deck browser |
| Start | Sync |
| D-pad up | h (hint reveal add-on) |
| D-pad down | n (cloze one-by-one) |
| D-pad left | Scroll down |
| D-pad right | Scroll up |
Grade buttons on the question side reveal the answer first, and also
step deck browser โ overview โ study. Everything is remappable in
Tools โ Add-ons โ Config, including arbitrary key:<x> bindings โ see
zero2_controller/config.md for the full action list.
AGPLv3, same as Anki itself.