Skip to content

Instantly share code, notes, and snippets.

@drelephant
Forked from nelstrom/plover-nkro-on-ergodox.md
Last active October 20, 2015 07:23
Show Gist options
  • Save drelephant/50390fbfd907d2a2850b to your computer and use it in GitHub Desktop.
Save drelephant/50390fbfd907d2a2850b to your computer and use it in GitHub Desktop.
Instructions on how to get a Plover keymap working with NKRO on ErgoDox keyboard.

Plover is an awesome open source stenography program, but to run the software you need an NKRO keyboard. The ErgoDox keyboard can be made to run in NKRO mode by following these steps.

Install dependencies

These instructions are based on this document, which assumes you're using Windows. I'm using a mac, and I had to download and install the CrossPack for AVR Development before the build process worked.

Download the source

The NKRO firmware and Plover keymap can be found in the simon_layout branch of @shayneholmes fork of tmk_keyboard. Get the source:

git clone [email protected]:shayneholmes/tmk_keyboard.git
-- the above step didn't work for me, I had to use:
git clone https://github.com/shayneholmes/tmk_keyboard.git
cd tmk_keyboard
git fetch origin
git checkout -b simon_layout origin/simon_layout 

Build the firmware

cd keyboard/ergodox
make -f Makefile.pjrc clean
make -f Makefile.pjrc plover

The keyboard/ergodox directory should now contain ergodox_pjrc.eep and ergodox_pjrc.hex files.

Put the firmware on the Teensy chip

The following steps are copied from steps 13-21 from the ErgoDox assembly instructions:

  1. Connect the ErgoDox keyboard to your computer via USB.
  2. Launch the Teensy loader app.
  3. Enable “Auto” mode in Teensy.app
  4. Drag the .eep file onto Teensy.app.
  5. Press the reset button on the Teensy chip. (You may see a dialogue box. That’s fine. After this step, “auto” mode will be disabled)
  6. Drag the .hex file onto Teensy.app
  7. Enable “Auto” mode in Teensy.app
  8. Press the reset button on the Teensy chip. (You’ll see “erasing” then “programming” progress bars, followed by “Reboot Ok”)

Toggle NKRO-mode and Plover layout

NKRO is enabled by default. You can toggle the feature off and on by pressing shift-shift-N (i.e. press and hold the left and right shift keys, then press the N key). Use this NKRO test widget to confirm.

The Plover keymap looks like this:

Plover keymap

You can toggle the Plover layer on and off by pressing the FN5 key (here it is in code). That's the left-thumb key above the "O" key in the diagram above.

If any of these steps are unclear or incorrect, please feel free to fork+edit this gist. Thanks to Shayne Holmes for providing the Plover keymap and for answering my questions. -- Drew Neil

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment