This is a text-only version of the following page on https://raymii.org:
---
Title       : 	Relegendable keycaps for your macropad, the best thing ever for developer productivity
Author      : 	Remy van Elst
Date        : 	06-09-2021
URL         : 	https://raymii.org/s/blog/Relegendable_keycaps_for_your_macropad.html
Format      : 	Markdown/HTML
---



![macropad combo][15]

> My current macropads

As you might know, I've got [a weird keyboard][1]. It is an Ergodox EZ, it's
split up in two halves and for me it's the best thing ever to combat RSI.
I've also got a weird mouse, a left handed vertical mouse, for the same
reason. Even 15 minutes on a regular setup and my wrists and shoulders hurt.
The next best thing is my standing desk and number three is having regular
breaks with small exercises. One downside to the Ergodox is that you have
[less keys][4] than on a regular keyboard. This is solved with layers, just
like when holding SHIFT or CTRL, a key does something different. SHIFT is the
layer for capital letters and symbols, with the Ergodox you can define your
own layers. I however cannot get used to layers, not even after 7 years of
using the Ergodox. Not a problem, I've got [an extra keyboard][2] in the
middle, next to my mouse, with 8 or 9 keys just for my most often used
shortcuts. It's called a macropad, one I've soldered myself and one I've
bought on a well-known Chinese webstore. 


<p class="ad"> <b>Recently I removed all Google Ads from this site due to their invasive tracking, as well as Google Analytics. Please, if you found this content useful, consider a small donation using any of the options below:</b><br><br> <a href="https://leafnode.nl">I'm developing an open source monitoring app called  Leaf Node Monitoring, for windows, linux & android. Go check it out!</a><br><br> <a href="https://github.com/sponsors/RaymiiOrg/">Consider sponsoring me on Github. It means the world to me if you show your appreciation and you'll help pay the server costs.</a><br><br> <a href="https://www.digitalocean.com/?refcode=7435ae6b8212">You can also sponsor me by getting a Digital Ocean VPS. With this referral link you'll get $100 credit for 60 days. </a><br><br> </p>



One at work and one at home, both run QMK, firmware that allows me to program
the macropad with my own shortcuts. Recently a video from [Atomic Shrimp][3]
(awesome channel) showed off relegendable keycaps. Those are transparent
keycaps with an insert for your own label. Before I had relegendable keycaps,
I had regular keycaps for the macropad, for example, the `L` key sends
`CTRL+ALT+L` to lock the desktop. Now, with these awesome keycaps, I have a
dedicated `LOCK` key. This is such a big quality of life improvement,
especially when using the CLion debugger shortcuts. This post covers my
usage of the macropads, the re-legendable keycaps and shows you a few
pictures of the macropads, both before and after.

### Relegendable keycaps

[Atomic Shrimp][3] shared a powerpoint presentation with the exact 
printable format for the keycaps. They're 13x13mm squares. You can
find my edited powerpoint [here][9]. Works great in LibreOffice.

Even though I know the keys on the macropad without keycaps, it still
helps to take off a bit of mental load when using the macropad. I mostly
use it when debugging C++ code, so my mind is very focused on the problem
I'm trying to solve, having to take a glance at my board and thinking,
was the `O` key for `Step Over` or for `Step Out`, (the `^` key is for
`Step Out`), breaks that flow. Now the keycaps are written out and have a 
distinct colour. I even thought of printing the CLion debugger icons on
the labels, but that went a bit too far.

The `MUTE` key is a blessing as well during video calls. No need to hover over
the teams window and click a button, just press one key labelled `MUTE`.
Pressing it again unmutes. Small thing, but so enormously nice to have. 

Locking my workstation? Just one big black key labeled `LOCK` instead of
finger gymnastics to get to `CTRL+ALT+L`. 

It might be hard to get the message over in writing to you, but this macropad
has been a real productivity boost for me when debugging C++. The new keycaps
with descriptive labels are a step up on that productivity boost, having to
think even less, which means, keeping all focus on the problem I'm actually
working on.

The other big advantage is that you can change the labels later on. I have another
QMK firmware file just for use in Windows with Visual Studio for `.net` C sharp 
development, with a few different keys like Live Reload, `ALT+F10`, Goto All (`CTRL+T`)
(comparable to Shift-Shift in CLion) and Run All Tests (`Ctrl+R, A`). One of the 
RoMacs has special labels and has that firmware on it, so I can switch easily.

This is how a relegendable keycap looks, one bottom (key) part,
your printed label in between and a transparent cover on top:

![relegendable keycap][10]

The links in this post to MechBoards are not sponsored. I have not bought
anything there, they just happen to have nice listings with pictures.

### SpaceCat Launchpad v2

Here is a picture of the new keycaps on the Launchpad v2 macropad:

![launchpad after][7]

This is the layout:

    
     ,-------------------------.
     | RUN        | DEBUG      |
     |------------+------------|
     | STEP OVER  | STEP INTO  |
     |------------+------------|
     | STEP OUT   | RESUME     |
     |------------+------------|
     | PLAY/PAUSE | LOCK       |
     `-------------------------'
    
Tapping `PLAY/PAUSE` 2 times in a row makes it `Skip` a song. Double-tapping `RUN` acts as
the `MUTE` key combo (`CTRL+SHIFT+M`) for Microsoft Teams. QMK calls this a [Tap Dance][8].

The topmost 6 keys are all for use with the debugger in CLion, Jetbrains' C++
development environment. I could have put all those shortcuts on the Ergodox,
on a different layer, but as I said, I cannot get used to layers. In fact,
layer 4 has a bunch of CLion shortcuts and I never use them. One of my Ergodox
keys is mapped to `Refactor/Rename` (on the base layer) and I use that all the
time. The macropad is very visual and distinct, just for one purpose. 

Before the relegendable keycaps, I had cobbled together keys that were as
descriptive as regular keys could be, `I` for `Step Into`, `R` for `Resume`,
but those keys all had a different height profile, a minor annoyance. 

Here is the before picture:

![launchpad before][11]

This board was a kit, I [soldered it myself][2]. It seems that SpaceCat Design
has gone bust, since the site has a password login since late last year. At
first they mentioned a reopen date in June this year, but in July this year
that date was removed. A great alternative kit, I also have two, still for
sale is the [Romac Macropad][5]. Here is [a picture of the Romac][6] I found
online of someone else's board with relegendable keycaps. They have the different
layer symbols on there as well:

![romac keycaps][6]

I love the aesthetic of that board, the visible electronic components under the 
transparent acrylic plate and just the overall cuteness. As said, I have two of 
those via a group buy, I switch the macropads around every month or so, they all 
have the same key combo's. At least, the 12 key RoMacs are the same as the YMD09
I'm describing below, with the bottom row unused (blank white caps).

### YMD09

The macropad I use at home was not a kit, I bought it pre-built for about EUR
15 on a well known chinese website. I'm not linking to it directly because if
I do that link will be dead in a month. You can search yourself or get the kit
version [here][12].  This board is way more fancy than the SpaceCat. It has 
USB-C and it has RGB lighting.

Here is a picture of the macropad with relegendable keycaps:

![YMD09 after][13]

I couldn't care less about the RGB backlight but USB-C is nice. The Launchpad 
(and RoMac) use an arduino micro clone, which has a well known issue with the 
micro USB connector. I can snap off or become loose, which all of mine are.
Now you can easily replace the connector, but in my experience the USB-C connectors
don't have those problems. In new projects I do with an arduino, I now use
clones with USB-C exclusively due to that.

This is the layout:

     ,-------------------------------------.
     | RESUME     | STEP OUT   | MUTE      |
     |------------+------------|-----------|
     | STEP OVER  | RUN        | STEP INTO |
     |------------+------------|-----------|
     | LOCK       | PLAY/PAUSE | DEBUG     |
     .------------+------------|-----------,

It has one extra key more than the Launchpad, I've assigned a dedicated `MUTE` key. 
The RoMac's share this layout as well. The middle `RUN` key has no special label 
on the picture, but that was an error during printing and afterwards the all the paper 
was used up, I fixed that later.

When the middle red key is held, the layer switches to a special layer which controls
the RGB lightning (intensity, colour and profile). I almost never use it, except to 
reflash the board. It has one key that puts QMK into debug mode, allowing me to flash 
new firmware.

Here is the before picture:

![ymd09 before][14]

As you can see, that was a hodgepodge of keys I had lying around. No uniform height 
profile, the lightning bleeds out underneath and the keycaps are not remotely relatable
to their functions. 

If you want your own macropad, I recommend you get a kit with through-hole components. 
I find it fun to solder but SMD is just way too hard and small. The kits are cheaper
that a prebuilt board and most other AliExpress boards require special windows software
to configure it, often more limited than QMK. There are web based configurators for QMK
as well as `Via` (Windows GUI software) to key your keymap without compiling QMK yourself.
Check out `r/MechanicalKeyboards` on Reddit for the hottest macropad group-buy of the week,
or get one in stock at a store close to you and enjoy building the kit!


[1]: /s/articles/Split_keyboards_a_five_year_review_including_the_ErgoDox_EZ_Matias_Ergo_Pro_and_Kinesis_Freestyle_2.html
[2]: /s/articles/SpaceCat_Launchpad_v2_an_awesome_little_macropad.html
[3]: https://youtu.be/zMn6DPUre70
[4]: /s/articles/Gherkin_30_key_keyboard_build_log_and_review.html
[5]: https://mechboards.co.uk/shop/kits/romac-macro-pad
[6]: /s/inc/img/romac.png
[7]: /s/inc/img/mp-1-after.png
[8]: http://web.archive.org/web/20210906183733/https://beta.docs.qmk.fm/using-qmk/software-features/feature_tap_dance
[9]: /s/inc/downloads/legends.pptx
[10]: /s/inc/img/relegendable-keycap.png
[11]: /s/inc/img/mp-1-before.png
[12]: https://mechboards.co.uk/shop/kits/ymd09-macropad/
[13]: /s/inc/img/mp-2-after.png
[14]: /s/inc/img/mp-2-before.png
[15]: /s/inc/img/mp-combo.png

---

License:
All the text on this website is free as in freedom unless stated otherwise. 
This means you can use it in any way you want, you can copy it, change it 
the way you like and republish it, as long as you release the (modified) 
content under the same license to give others the same freedoms you've got 
and place my name and a link to this site with the article as source.

This site uses Google Analytics for statistics and Google Adwords for 
advertisements. You are tracked and Google knows everything about you. 
Use an adblocker like ublock-origin if you don't want it.

All the code on this website is licensed under the GNU GPL v3 license 
unless already licensed under a license which does not allows this form 
of licensing or if another license is stated on that page / in that software:

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

Just to be clear, the information on this website is for meant for educational 
purposes and you use it at your own risk. I do not take responsibility if you 
screw something up. Use common sense, do not 'rm -rf /' as root for example. 
If you have any questions then do not hesitate to contact me.

See https://raymii.org/s/static/About.html for details.