Got myself [a tiny 8BitDo controller](https://a.co/d/2eNjym2) for use with the excellent [OpenEmu for macOS](https://openemu.org/) (can't believe it's free). Many ROM sites appear to be broken but [Vimm's Lair](https://vimm.net/) appears to be active and offer quite a few. There's also the Reddit [/r/ROMS community](https://old.reddit.com/r/Roms/). ### Karabiner Remappings Strictly optional. The controller registers itself as a keyboard. I use the excellent Karabiner to remap the buttons so I don't have to remember which letter, for example, the "Up Arrow" on the controller is (it's `c`). Here's my config. It goes into a list under `profiles` -> `devices`. I also used the `-` and `+` buttons at the top for `Select` and `Start` respectively. ```json { "identifiers": { "is_keyboard": true, "product_id": 36897, "vendor_id": 11720 }, "simple_modifications": [ { "from": { "key_code": "e" }, "to": [{ "key_code": "left_arrow" }] }, { "from": { "key_code": "f" }, "to": [{ "key_code": "right_arrow" }] }, { "from": { "key_code": "c" }, "to": [{ "key_code": "up_arrow" }] }, { "from": { "key_code": "d" }, "to": [{ "key_code": "down_arrow" }] }, { "from": { "key_code": "g" }, "to": [{ "key_code": "a" }] }, { "from": { "key_code": "j" }, "to": [{ "key_code": "b" }] }, { "from": { "key_code": "h" }, "to": [{ "key_code": "x" }] }, { "from": { "key_code": "i" }, "to": [{ "key_code": "y" }] } ] } ```