Skip to content

Instantly share code, notes, and snippets.

@analyticd
Last active August 29, 2022 12:31
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save analyticd/b7dba71e7f41e37fb420793c1a61230e to your computer and use it in GitHub Desktop.
Save analyticd/b7dba71e7f41e37fb420793c1a61230e to your computer and use it in GitHub Desktop.
How to change the keymap on the SOFT/HRUF Splitography keyboard

How to change the keymap on the Splitography keyboard

We, follow this guide Getting Started - QMK Firmware carefully. I am on macOS High Sierra, so these notes pertain only to that.

When you get to the part of the above guide where it is time to clone the qmk repo, I do the following:

I don’t want all the history of objects and logs in the repo or its submodules, so I clone shallow both the repo and its submodules:

git clone –shallow-submodules –depth=1 –recurse-submodules https://github.com/analyticd/qmk_firmware

On macOS, when doing make git-submodule, the lufa dir fails to get content. As per QMK LUFA error : olkb:

If make git-submodule doesn’t fix the problem try this:

  1. Enter the lufa submodule itself: cd lib/lufa/
  2. Revert any changes you’ve made to the lufa submodule: git reset –hard head I hadn’t made any changes to the lufa submodule, but for some reason this made the content of the lufa dir available. I suspect they have some issue with their use of submodules.
  3. Then back out to the qmk_firmware directory: cd ../../

You’ll be still following along with the guide and it will have you then run util/qmk_install.sh, don’t forget that step. It will use brew to install a ton of stuff needed to build. I use the Nix package manager so this was a bit of a bummer, but I didn’t want to bother with creating a Nix centric version and brew and Nix can coexist fine.

How we need to get the Splitography keyboard files, they are not included with the qmk repo, but are available in my fork of the repo (above).

Now, at the base dir of the repo do, for example,

make splitography:default

I went to this trouble to swap Alt and Shift and then Shft and Ctrl. See qmk_firmware/keymap.c at add-softhruf-splitography-keyboard · analyticd/qmk_firmware for the changes compared to qmk_firmware/keymap.c at add-softhruf-splitography-keyboard · analyticd/qmk_firmware

It is very easy to swap keys around on the various layers if you are comfortable with basic C programming.

To build my changes to the keymap I do:

make splitography:default_with_ctl_shft_alt_switched

If all goes well, it will produce output which tells you that it successfully built the splitography_default_with_ctl_shft_alt_switched.hex file. This is what you will subsequently flash onto the keyboard.

As per the guide you will have downloaded the QMK Toolbox. Launch the QMK Toolbox. Use the ‘open’ button to navigate to the hex file you just built. Then go to the Splitography keyboard and (at least on my model), on the left half keyboard on the circuitboard you will see a red reset switch just opposite the keyboards CPU. Press it, being careful not to touch other parts of the circuitboard. Then, as per the guide (which you should be following along with), you press the ‘Flash’ button on the QMK Toolbox window. It will then flash the hex file onto the eeprom chip on the Splitography. If all went well you can now try your Splitography and see if the changes you made are working. Worked fine first time for me. Woohoo!

There are many other Splitography keymaps in my ‘add-softhruf-splitography-keyboard’ branch and those are the creation of a different author on whose site you can read about various keymaps he has created: http://thedarnedestthing.com/search?query=qmk

The keymaps with the exception of the one I created for myself are all due to that author, so thank him!

Lastly, I’ve submitted a pull request for the Splitography branch I created and hopefully soon it will be merged into the upstream repo at https://github.com/qmk/qmk_firmware.

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