The Simple Gamepad

AnkiWeb addon 690923309

Maps standard gamepad buttons to Anki actions like flipping, answering, undo, and browser, plus custom keyboard shortcuts for card-template interactions.
AI-generated summary; may contain mistakes.

review-flowshortcutsaccessibilitymobile-compatible

Open on AnkiWeb GitHub Find alternatives

AnkiWeb

Votes
2 (👍 2 · 👎 0)
Updated
2026-03-29
Anki versions
25.09~
License
MIT (from the headers of the Python files)
Virus scan
No ClamAV match A match does not prove malware. No match does not prove that the code is safe.
Languages
Python, Rust, JSON
Description language
en

Maintenance

stale

  • Last update or commit: 2026-03-29 (217 days before the snapshot).
  • Commits in the last year: 2.
  • Issues: 1 open, 0 closed.
  • Pull requests: 0 open, 0 merged.

Will it work on my Anki?

Version branches
Min AnkiMax AnkiUpdated
2.1.125.09+2026-03-29
History across monthly snapshots

Loading…

Similar addons

Gamepad/Controller Mapper

Adds native gamepad support to Anki, mapping controller buttons and analog sticks to keyboard shortcuts, card actions, and smooth scrolling, with multi-profile detection, a modifier layer, and press-to-bind setup.

review-flowshortcutsaccessibility

3 votes 44% approval 👍 3 · 👎 0 Anki 2.1.1~ Updated 2026-10-04
Mouse Shortcuts

Assigns Anki review actions—answer ratings, show answer, undo, or nothing—to mouse buttons, scroll-wheel movements, and long presses, configurable separately for question and answer sides.

review-flowshortcutsaccessibility

2 votes 34% approval 👍 2 · 👎 0 ⭐ 0 Anki 25.07.1~ Updated 2026-08-02
Review Hotmouse Plus Overview fork

Maps mouse clicks, wheel actions, and trackpad swipes to Anki review commands across question, answer, overview, and congratulations screens, plus deck-browser navigation and middle-click drag scrolling.

review-flowshortcutsfork-or-reupload

2 votes 34% approval 👍 2 · 👎 0 ⭐ 0 Anki 2.1.1~ Updated 2026-09-26
Review Hotmouse has 1 fork →

Maps customizable mouse-button and scroll-wheel shortcuts to over 20 review actions, such as showing answers, grading cards, and undoing.

review-flowshortcuts

100 votes 93% approval 👍 98 · 👎 2 ⭐ 11 Anki 26.08.1~ Updated 2026-09-12

Description

Simple Gamepad

Map gamepad buttons to Anki actions. No profiles, no overlays, just a button-to-action config.

What it does

Connects any standard gamepad (Xbox, PlayStation, 8BitDo, etc.) to Anki and lets you assign an action to each button: flip cards, answer Again/Hard/Good/Easy, undo, open browser, and more.

Supports all standard gamepad buttons: A/B/X/Y, D-pad, shoulders, triggers, thumbstick buttons, options, and menu.

Custom action slots let you simulate any keyboard shortcut, so you can trigger things in your card templates (e.g. toggle a hint field, play audio).

How to use

  1. Connect your gamepad via USB or Bluetooth
  2. Press any button and you'll see a "Gamepad connected" tooltip
  3. Go to Tools > Simple Gamepad Settings to configure button mappings
  4. For custom actions: assign a keyboard shortcut to a Custom slot, then add a matching keydown listener in your card template

Defaults

A = Flip Card B = Undo D-pad Up = Good D-pad Down = Again D-pad Left = Hard D-pad Right = Easy Everything else = Nothing

Custom action example (desktop)

In the addon config, set Custom 1 to the key P. Map a gamepad button to Custom 1.

In your card template, add:

<script> document.addEventListener('keydown', function(e) { if (e.key === 'p') { var btn = document.querySelector('.replay-button') || document.querySelector('.replaybutton') || document.querySelector('.soundLink'); if (btn) btn.click(); } }); </script>

Now the mapped gamepad button plays the card audio.

Custom actions on iPhone (AnkiMobile)

This addon is for Anki desktop only, but AnkiMobile has its own custom action support using userJs functions.

  1. In your card template, add a userJs1 function:

<script> globalThis.userJs1 = function() { var btn = document.querySelector('.replay-button') || document.querySelector('.replaybutton') || document.querySelector('.soundLink'); if (btn) btn.click(); }; </script>

  1. In AnkiMobile, go to Settings > Review > Gamepads
  2. Map a button to "User Action 1"

Now that the gamepad button plays the card audio on your phone. You can add userJs2, userJs3, etc. for more custom actions.

The keydown listener (desktop) and the userJS function (mobile) can live in the same template. They don't interfere with each other.

Requirements

Anki 2.1.66+ Any gamepad recognised as a standard controller by your OS

Credits

Based on concepts from Contanki by Sam Bradshaw (MIT License).



Support me on Ko-fi

README

Simple Gamepad

Map gamepad buttons to Anki actions. No profiles, no overlays, just a button-to-action config.

What it does

Connects any standard gamepad (Xbox, PlayStation, 8BitDo, etc.) to Anki and lets you assign an action to each button: flip cards, answer Again/Hard/Good/Easy, undo, open browser, and more.

Supports all standard gamepad buttons: A/B/X/Y, D-pad, shoulders, triggers, thumbstick buttons, options, and menu.

Custom action slots let you simulate any keyboard shortcut, so you can trigger things in your card templates (e.g. toggle a hint field, play audio).

How to install

  1. Download the .ankiaddon file
  2. Double-click it, or go to Anki > Tools > Add-ons > Install from file
  3. Restart Anki

How to use

  1. Connect your gamepad via USB or Bluetooth
  2. Press any button and you'll see a "Gamepad connected" tooltip
  3. Go to Tools > Simple Gamepad Settings to configure button mappings
  4. For custom actions: assign a keyboard shortcut to a Custom slot, then add a matching keydown listener in your card template

Defaults

Button Action
A Flip Card
B Undo
D-pad Up Good
D-pad Down Again
D-pad Left Hard
D-pad Right Easy
Everything else Nothing

Custom action example (desktop)

In the addon config, set Custom 1 to the key P. Map a gamepad button to Custom 1.

In your card template, add:

<script>
document.addEventListener('keydown', function(e) {
    if (e.key === 'p') {
        var btn = document.querySelector('.replay-button') ||
                  document.querySelector('.replaybutton') ||
                  document.querySelector('.soundLink');
        if (btn) btn.click();
    }
});
</script>

Now the mapped gamepad button plays the card audio.

Custom actions on iPhone (AnkiMobile)

This addon is for Anki desktop only, but AnkiMobile has its own custom action support using userJs functions.

  1. In your card template, add a userJs1 function:
<script>
globalThis.userJs1 = function() {
    var btn = document.querySelector('.replay-button') ||
              document.querySelector('.replaybutton') ||
              document.querySelector('.soundLink');
    if (btn) btn.click();
};
</script>
  1. In AnkiMobile, go to Settings > Review > Gamepads
  2. Map a button to "User Action 1"

Now that gamepad button plays the card audio on your phone. You can add userJs2, userJs3, etc. for more custom actions.

The keydown listener (desktop) and the userJs function (mobile) can live in the same template. They don't interfere with each other.

Requirements

  • Anki 2.1.66+
  • Any gamepad recognised as a standard controller by your OS

Credits

Based on concepts from Contanki by Sam Bradshaw (MIT License).