Skip to content

Instantly share code, notes, and snippets.

@emleddin
Last active December 29, 2023 16:35
Show Gist options
  • Save emleddin/2854b6f33417d2823738caef0ef6c129 to your computer and use it in GitHub Desktop.
Save emleddin/2854b6f33417d2823738caef0ef6c129 to your computer and use it in GitHub Desktop.
Instructions for using the 8BitDo SN30 Pro Remote with ANKI on MacOS

Using the 8BitDo SN30 Pro Remote with ANKI

The 8BitDo SN30 Pro remote is ~$45 and can be used to gamify your studying. The SN30 Pro is bigger than the Zero 2, and sized like a typical gaming controller.

See controller image below

The controller comes with preset keybindings to buttons, which don't automatically work with ANKI. So, through the use of a key remapping software, you’ll update how your device interprets the keys!

If you don’t want to download a remapper, you should be able to use an Anki add-on to change the keyboard shortcuts to match the existing buttons on the device. Certain add-ons allow you to define add-on specific bindings (such as those for AMBOSS).

Here I'll go through set-up using either karabiner-elements or Enjoyable. Both are freely available. You cannot use both programs simultaneously, since they would both be acting on the same device. That said, you can turn off mapping, quit karabiner-elements, or disable Enjoyable if you'd like to try both ways. I prefer karabiner-elements, but without Enjoyable, I would not have figured out the initial keybindings.

MacOS Karabiner

  1. Install karabiner-elements
    • Allow it to access input monitoring through the security and privacy menu
  2. Turn on your remote by holding Start + B (to enter Mac mode)
  3. Hold select for 3 seconds to enter pairing mode
  4. Ensure bluetooth is on for your computer, and connect to the controller
    • Device should be something like 8BitDo SN30 Pro.
  5. Open karabiner-elements
  6. Under Simple Modifications, highlight the 8BitDo device, and then use the letters from the initial keybindings. - See karabiner-elements image below
    • Letters under Letter keys
    • Shifts under Modifier keys
    • Numbers under Number keys
    • Spacebar under Controls and symbols
    • D-pad arrows under D-pad
8BitDo SN30 Pro Initial Keybindings Suggested Remapped Keys Anki Function for Suggested Remap
Up arrow dpad up d Decks
Down arrow dpad down a Add
Left arrow dpad left s Edit card
Right arrow dpad right spacebar Show answer
A button 1 4 “Easy”
X button 4 1 “Again”
Y button 5 2 “Hard”
B button 2 3 “Good”
L (back) button 7 , (comma) Open next AMBOSS pop-up
R (back) button 8 . (period) Close AMBOSS pop-up
L2 (back) button 9 spacebar Show answer
R2 (back) button 10 spacebar Show answer
Checkerboard button 13 return_or_enter
  1. Notes
    • Certain add-ons let you modify the shortcuts (like AMBOSS). The AMBOSS add-on-specific bindings were changed, since karabiner-elements does not play well with multi-key mappings.

MacOS Enjoyable

  1. Install Enjoyable
  2. Turn on your remote by holding Start + B (to enter Mac mode)
  3. Hold select for 3 seconds to enter pairing mode
  4. Ensure bluetooth is on for your computer, and connect to the controller
    • Device should be something like 8BitDo SN30 Pro.
  5. Open Enjoyable
  6. On the left menu, highlight the 8BitDo device. You can hit the device buttons to select the one to remap. For that button's options, select Press a key and and then enter the desired remapped key.
8BitDo SN30 Pro Initial Keybindings Suggested Remapped Keys Anki Function for Suggested Remap
A button 1 4 “Easy”
B button 2 3 “Good”
X button 4 1 “Again”
Y button 5 2 “Hard”
L (back) button 7 , (comma) Open next AMBOSS pop-up
R (back) button 8 . (period) Close AMBOSS pop-up
L2 (back) button 9 spacebar Show answer
R2 (back) button 10 spacebar Show answer
Select button 11
Start button 12
Checkerboard button 13
Up arrow Hat Switch 1 Up d Decks
Down arrow Hat Switch 1 Down a Add
Left arrow Hat Switch 1 Left s Edit card
Right arrow Hat Switch 1 Right spacebar Show answer
L Pad Left Axis 1 Low
L Pad Right Axis 1 High
L Pad Up Axis 2 Low
L Pad Down Axis 2 High
R Pad Left Axis 3 Low
R Pad Right Axis 3 High
R Pad Up Axis 4 Low
R Pad Down Axis 4 High
  1. In the toolbar, select Enjoyable icon (the gamepad) and then click Enable.
    • Allow it to control Accessibility settings through the security and privacy menu.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment