My QMK Keymap

If you are looking for QMK inspiration, here’s my keymap.c code. It is for a KBD75 but QMK works with a wide host of keyboards.

I’ve included the following features:

  • Enter and Tab keys are “mod taps” for HYPER, meaning when tapped they each perform their normal function, respectively, but perform Control Option Command Shift when held.
  • CAPS is a “layer tap” where it serves as CAPSLOCK when tapped but brings up Layer 2 when held.
  • Shift keys use “Space Cadet” where tapping left and right Shift individually yields open and close parentheses, respectively; but regular SHIFT functionality when held.
  • The Layer 2 Escape key sends Control + Command + Q to lock the Mac display.
  • There are three text macros used in conjunction with Sys Prefs > Keyboard > Text within macOS.
  • I added RGB commands to led_set_user to program the RGB underglow to a specific color until CAPS is engaged, which turns the underglow red when tapped; tapping CAPS off returns the underglow to the originally programmed color.

What macros and features have you used in your keymap?


POK3R RGB LE: a quick reference guide and review

In my quest for the perfect keyboard, I picked up a Pok3r RGB LE on Massdrop a few months back. I’ve already determined that a 60% board is not for me; I’ve confirmed this fact with the missing arrow keys on this board as I wrote this article tonight! But I’ll keep this board for one of my computers. It’s too pretty not to.

The manual for this device sucks, so I’m going to start there and then go over the keys, switches, arbitrary programming, RGB programming, and case.

The manual fails to mention that Pn is the Menu key next to Fn. When it comes time to set RGB backlighting, use the Menu key. Same is true for arbitrary programming.

The manual also fails to mention that you must cycle through modes as well as colors when setting RGB. There’s an asterisk in the manual, so it nearly got it, but it wasn’t clear. Get ready to tap, tap, tap! When it comes to colors, you can mix by taking away; all Red, all Green, and all Blue are lit when enabling, so it cycles through to 0 on the first tap and then it goes through 6 steps to get back to full. Beware of these steps when mixing your own color. For instance, I pressed Menu+1 1 time to get rid of all Red; I pressed Menu+2 3 times to get a lighter shade of blue but still plenty dark and not at all Cyan; and then I did not touch Menu+3 as I was satisfied with my mixed color.

That being said, here’s an edited and revised manual:

Arbitrary Programming Instructions:

Step 1. Switch to a non-default layer using Fn+<, Fn+>, or Fn+?

Step 2. Press Fn+RCTRL to enter programming mode as indicated by the Spacebar right-hand LED being steadily lit

Step 3. Select a desired key or combination you want to program (The Spacebar right-hand LED will begin to flash red)

Step 4. Key in the programming contents (the original commands or the output you want when your shortcut is pressed), and then press Menu (The Spacebar right-hand LED will stop flashing and turn solid)

Step 5. Repeat steps 2 and 3 to program other combinations as needed

Step 6. Press Fn+RCTRL to exit programming mode as indicated by the Spacebar right-hand LED turning off

Remember that Fn+A in Layer 2 if different from Fn+A in Layer 3 as the keyboard supports layer programming You can program time delays as follows: 15ms (Fn+T); 0.1s (Fn+G); and 0.5s (Fn+B). Consecutive delays will add up but will only be counted as 1 key stroke in your programming Every key can program up to 32 keystrokes If no key is pressed for 15 seconds while in programming mode, the mode will automatically exit Note that the default layer, <, >, ?, and RCTRL are all fixed and can’t be programmed

Restore to Factory Default:

Current Layer: Press and hold Fn+R

All Layers: Press and hold LALT+RALT

Note: when you reset the current layer or all layers, the Spacebar left-hand LED will flash after 5 seconds and then stop; it will then return to default

Note: if you had changed the Fn position and forgot where it was, you still can press the original position of Fn+R to restore it

Fn Keycodes

Esc = `

1-0 = F1-F10

– = F11

= = F12

I = Up

J = Left

K = Down

L = Right

P = PrintScreen

[ = ScrollLock

] = Pause


H = Home

N = End

U = PageUp

O = PageDown

Backspace = Delete

‘ = Delete

; = Insert

M = Default Layer

< = Layer 2 (Red)

> = Layer 3 (Green)

? = Layer 4 (Blue)

Q = Previous Track

W = Play/Pause

E = Next Track

S = Volume Down

D = Volume Up

F = Mute

RGB Programming (Pn or Menu keycodes):

Esc = Palette

1 = Single Color Red

2 = Single Color Green

3 = Single Color Blue

4 = Display single color LED in Interactive mode, Flash Vortex mode, or Aurora mode

5 = Display full color LED mode in Full Key Light mode, Breath mode, Vortex mode, or Rain Drop mode

9 = Custom LED mode 1

0 = Custom LED mode 2

– = Display recording 1

= = Display recording 2

X = Brightness down

V = Brightness up

< = LED speed up

> = LED speed down

Note: RGB programming may be customized in Layers 2-3 per the following instructions: Step 1. Choose a layer you want to edit between Layers 2-3 Step 2. Press Menu+9 or Menu+0 to enter the RGB edit mode Step 3. Press Menu+1, 2, or 3 to mix the color of your choice OR press Menu+Esc to turn on the palette and select a color you want Step 4. Select a key or a row you want to change color Step 5. Press Menu+9 or Menu+0 again to exit edit mode Step 6. Press Menu+- or Menu+= to display the previously saved setting.

Note: Each layer can be edited in single key (Menu+9) or whole row (Menu+0); note also that the color you mix or choose will show on the Menu key. You may have to release the Menu key and re-press it in order for the updated color to appear This RGB keyboard is not millions of colors. There are 61 colors on the palette from which you may choose or mix.

DIP Switch Functionality:

Switch 1 ON + Switch 2 ON = Colemak

Switch 1 ON + Switch 2 OFF = Dvorak

Switch 1 OFF + Switch 2 ON = Qwerty

Switch 1 OFF + Switch 2 OFF = Qwerty

Switch 3 ON = CapsLock > Fn (OFF then CapsLock as normal)

Switch 4 ON = Change Fn and Menu at any position (but RCTRL will not change to the original Fn or Menu places) (OFF then Fn and Menu are at their original places)

Note: Fn+Shift+Esc = ~ Note: LGUI (Windows key) + RALT + Spacebar = bottom right corner keys as arrow keys where RSHIFT is Up, RCTRL is Right, Menu is Down, and Fn is Left.

There are a number of helpful Youtube videos on how to use the RGB programming:

How to: POK3R RGB layers

Vortex POK3R RGB LED Customisation Explained

Vortex POK3R RGB DIP Switch Explained

Now, let’s talk materials, craftsmanship, design, etc.

The PBT keycaps are great. They feel solid. The texture though slight is a good feel. The backlight compatibility is great, allowing the RGB to pop.

The switches are Cherry MX Blues. Meh. They feel mushy compared to the distinctive, definitive click of the Kailh Box Navy’s I recently discovered. But to each his own.

The arbitrary programming is functional. I already swapped LGUI and LALT keys and swapped out RALT for RGUI (well, technically, it is LGUI). I set Fn+Esc to be Control Command Q for quickly locking the screen with a far more memorable and recognizable key command. Just remember: after switching to a non-default layer, press Fn+RCTRL to start programming mode; then press the key or key combo you want to use; then press the original keys or commands; then press Menu to save that program; repeat as needed; then, super important, end programming mode by pressing Fn+RCTRL. I learned the hard way by not ending the programming mode and it caused some weird character to be reassigned to Esc. I just wish there were more flexible options to program similar to QMK layer and mod taps, but I digress. Ultimately, this arbitrary system is effective and easy, so I can’t complain.

The RGB programming is also functional albeit strenuous. Press Menu and then 4 repeatedly to cycle through active color modes; 5 for static modes. After selecting your mode, set your color as applicable by holding Menu and tapping 1, 2, or 3 to set your RGB, respectively. It’s cumbersome to say the least, but it works. There is a way to use Menu+Esc to select a color from a palette. That is more helpful. The bottom line is it works. I just wish it were more intuitive.

The case is nice. The keyboard is heavy. The bezel is thicker. I like all of that. But, the frosted acrylic middle layer only lets a little light through on the wrist edge, but that’s the part I mostly see, so it really just looks white save for the light from the layer light indicators below Spacebar. Even with brightness at full, the key backlighting barely spreads any hue into the wrist edge of the frosted acrylic. It’s disappointing. This keyboard’s PCB really needs RGB underglow to take advantage of the acrylic. However, the other 3 edges light up fairly well with the opposite of the wrist-edge looking the cleanest and the brightest.

One more thing. A few keys, especially the Spacebar, are slightly twisted. In fact, the Spacebar can rub against C. Poor craftsmanship if you ask me.

Overall, it’s a solid keyboard, and I’m happy with it.

How about you? Are you enjoying your Pok3r RGB LE? Have any questions, concerns, or issues with yours? What tips, tricks, settings, or recommendations do you have for this mech?

Initial thoughts on my KBD75 and my quest for the perfect keyboard

Interested in a KBD75 mechanical keyboard? My review is below the jump.

Purchasing a KBD75 through the link below helps to support this blog.

Purchase now on eBay!

I’ve been on the hunt for the perfect keyboard since January. I started with a Vortex Race 3 (Rac3). I moved to a WhiteFox. And now I picked up a KBDFans KBD75. In a word, it is awesome!

I elected the black frame and PBT Dolch side-print keycaps with Kailh Box Navy switches. It is a dream!

I must say, the clicky and tactile Navy switches are fantastic!

I am struggling a tad with the side-print legends. Not having them on top is something I will have to get used to as I am currently finding myself second-guessing where some keys are, and it is slowing me down. I bet I’ll get the hang of it in no time.

I did struggle with QMK. I even made this post after completing the flash to my liking, which has received some good feedback, especially some extra options for more easily flashing the firmware to the keyboard. However, though struggling, it was challenging and rewarding. I look forward to programming macros in that system.

The RGB is underboard and underwhelming. I could add SMD LEDs to these switches for backlighting, but I’m not sure if I would need to then install a RGB controller or not. In any case, I don’t know how to do any of that. However, even though the RGB is not spectacular, I do admit that I like having it. Ultimately, it’s purely aesthetic and non-functional, but that’s okay.

I’m really impressed with the build quality. I think the keyboard is fantastic.

The only downside I am seeing is that I am still falling prey to the smaller right shift key, so that I accidentally hit the up arrow at times just as I did with the WhiteFox and the Rac3. However, this keyboard positively underscores my desire for a dedicated function row. I love it.

So, initial impressions: this is the keyboard for me. I think I’ll be hard pressed to find a better keyboard. I may try a true TKL. I may try a 60% for grins and giggles. But I think especially for now this KBD75 is the way to go.

I’ve programmed this board as follows:

  • F1 = macro 1
  • F2 = macro 2
  • F3 = macro 3
  • F4 = macro 4
  • F5 = macro 5
  • F6 = Paste and Match Style
  • F7 = macro 7
  • F8 = macro 8
  • F9 = macro 9
  • F10 = macro 10
  • F11 = Show Notification Center
  • F12 = Toggle Do Not Disturb
  • Prtsc = Mute
  • Scroll Lock = Volume Down
  • Pause = Volume Up
  • Home = Previous Track
  • PgUp = Play/Pause
  • PgDn = Next Track
  • End = Toggle RGB Underboard
  • Fn+Pause = Display Sleep

My take on the WhiteFox mechanical keyboard from Input Club

I previously provided my initial impressions on the WhiteFox. Now, I’ve had some time to get used to the keyboard. Here is my rambling take on it.

I really wish the keyboard had LEDs. Not just the CapsLock, but that beautiful shine-through glow for each and every keycap. I thought it had it. It does not as confirmed by the good people at Input Club. Other versions do have it, sadly. I missed this point and got left out. Speaking of LEDs, there is no CapsLock LED indicator. Wut? I might as well just swap out this key for Fn and reprogram it.

The Cherry MX Clear’s have a nice weight to it. I find that I am making less typos as a result, but I can still manage over 90 wpm. I’ve decided that I’d like to try Cherry MX Greens next as I miss the clicky sound of the Blues but want the weight of the Clears.

The TrueFox layout is not ideal for me. I think a custom built WhiteFox would be better or, if they start to sell it, the Aria. Still, not sure if I can do without the dedicated function row. I am not going to lie: I miss it. Having to use a layer key to increase or decrease my volume for example is kind of a pain. I’ve already reassigned my Esc, Delete, etc., so I can’t use those.

Programming KLL is a bit of a hassle. I actually found myself missing the experience I had with the Vortex Race 3 using the on-board reprogrammable keys. Yet, despite the hassle, it is nice being able to reprogram any key. A few notes: Eject doesn’t work; function keys 16-24 don’t work; Sleep doesn’t work. Maybe it’s a Mac thing, but they don’t work for me at this time. And creating Macros in KLL for me is impossible. I could not get it to work despite modifying the files in Vim via Terminal and then flashing the board.

Then there is flashing the board. Without another keyboard, it would take some serious know-how to flash it. Once you put the board in flashing mode, you can’t use Enter to initiate the flash within Terminal. Another keyboard or using a software keyboard plus the mouse would be required. I found myself less impressed with this situation.

I miss having a 2u backspace key. I find that it is for some reason or another difficult to get used to a 1u key that is virtually in the same place. (Yes, I removed the original TrueFox backspace location as it was too hard to get used to. The 1u is better than that other location, but it still isn’t as favorable for me as a 2u key in the standard location.)

I’ve found that I am mis-clicking the side buttons. I’ve found that I am mis-clicking Right Shift, accidentally hitting the Up Arrow. I’ve found that I am sometimes trying to Backspace and accidentally hit my upper-right Escape key, which is set to a Macro. I’ve found that I am sometimes intending to hit Backslash and accidentally hit Delete, another Macro. Or Enter, hits Page Up, still another Macro. More and more I am realizing the compactness of this design (as well as the Race 3) is not ideal. It’s not a huge impact, but is it the best setup for me?

Ultimately, I love the aesthetic of the WhiteFox, but, functionally, it’s not working well for me. I’m like the dude in Indiana Jones and the Last Crusade: I chose poorly. However, it has helped me to see what I want over and above what I thought I wanted. I feel like I am inching ever closer to my end-game board.


The WhiteFox and my quest for the perfect keyboard

I purchased the Vortex Race 3 (Rac3) not long ago, but I was not entirely pleased with it. After much research, I purchased the WhiteFox from Input Club.

Initial impressions: I really like the materials, construction and build quality, colorway, Cherry MX Clear switches, and extra keycaps; the keycaps feel nice and I like that it has homing bumps on F and J; and the USB-C cable is awesome.

Initial frustrations: backspace is relocated to backslash, and I can’t get used to it a la the TrueFox layout; I thought this keyboard is backlit, but it is not; grave accent relocated to right side of number row next to the relocated backslash, neither of which is working for me; getting Homebrew installed was a little problematic but I got it figured out only to discover that I can’t get macros to work using KLL (no0b problems); and function keys don’t recognize from 16-24.

I relocated the keys to a standard layout with the exception of Esc being assigned to a function layer. I’m still having a hard time with backspace even in its new but standard location because it is a 1u key. I will try sticking with this keeb for a while and see how I feel about it later. For now, I would say it is on par with the Rac3 as each has its own merits and shortcomings.

My setup includes:

  • Fn+1=Mute
  • Fn+2=Volume decrease
  • Fn+3=Volume increase
  • Fn+4=Previous
  • Fn+5=Play/Pause
  • Fn+6=Next
  • Fn+7=F7 (Run shell script 1)
  • Fn+8=F8 (Run shell script 2)
  • Fn+9=F9 (Run shell script 3)
  • Fn+0=F10 (Run shell script 4)
  • Fn+-=F11 (Show Notification Center)
  • Fn+==F12 (Toggle Do Not Disturb)
  • Esc=F1 (Run shell script 5)
  • Delete=F2 (Run shell script 6)
  • PageUp=F3 (Run shell script 7)
  • PageDown= F4 (Run shell script 8)
  • Fn+`=Esc
  • Fn+F1=F15 (Run shell script 9)
  • Fn+C=F5 (Run shell script 10)
  • Fn+V=F6 (Paste and Match Style shortcut)