A Leopold FC660C Reborn
Disclaimer: I don’t have an electrical engineering background, so beware. ¯\_(ツ)_/¯
The main reason behind this decision was so that I could program my own key mappings into my FC660C, as the stock controller isn’t programmable. While I adore the Leopold FC660C’s 66% layout with its dedicated arrow cluster and intuitive FN mappings (numerics for F1-12, arrow cluster for navigation like PGUP, END, etc.), there were a few issues that bothered me:
- CTRL+SHIFT+ESC for the Windows task manager doesn’t work, as SHIFT+ESC is mapped to the grave accent key (`)
- INS/DEL isn’t used often enough (I don’t program on a terminal much these days, sorry vim!)
- PRTSCR & PUS/BRK are a bit tricky to access, especially with modifiers
- CAPSLOCK is pretty much useless and could be used as an additional function layer instead
After taking the above issues into consideration, I decided that it would be a good idea to buy a programmable controller and program my own layouts instead!
The first step was to open up my FC660C. I’d done this once before when I installed some Hypersphere silencing rings onto my FC660C’s sliders (for that deep soothing sound), but unfortunately this time was just as annoying as before, involving lots of unused cards just to wedge the case open. orz
After that, all that’s left is to unscrew the controller from the case to detach to separate the case from the PCB.
Installation is fairly straightforward. Detach the original controller from the PCB by disconnecting the ribbon cable, and then connect the cable to the new controller. Screw the controller back to the case, place the PCB in the proper position, and then snap the case back together.
And that’s it for the installation!
Hasu has written a really nice Keymap Editor web app that generates a prebuilt firmware based on your customized mappings for the controller, which I used exclusively to create all of my key mappings. My plan was to keep the default layer more or less the same, expand the stock layer 1 layout with more quality of life mappings, and then add mappings for media support on layer 2.
Layer 0 - Modified Stock
The default layer is almost identical to the default FC660C layout, except:
- CAPSLOCK -> Layer 2
- SHIFT+ESC -> ESC
Caps lock is pretty useless to me and I needed a way to access layer 2, so I decided to map the layer 2 key to it. Removing the stock mapping of SHIFT+ESC to grave accent also enables the CTRL+SHIFT+ESC shortcut for the Windows task manager again.
Layer 1 - Quality of Life
Layer 1 is triggered by the FN key, and is where I added some significant functionality:
- INS -> PRTSCR (screenshots)
- DEL -> ALT+PRTSCR (app-specific screenshots)
- ESC -> CTRL+SHIFT+ESC (task manager)
- ENTER -> WIN+E (explorer)
- SHIFT -> WIN+L (lock screen)
- WASD+QE -> keyboard mouse support
These mappings are primarily quality of life mappings (task manager, explorer, lock, screenshots) that reduce the combination of key presses required and group common functionality together. Also, I decided to map mouse input to the WASD cluster, just in case I ever end up in a situation where I have no mouse available (most likely never, BUT!!).
Layer 2 - Media
Layer 2 is triggered by the CAPSLOCK key, and contains basic media functionality:
- Volume control
- Track control
This layer is also where I would normally add in keys for LED control. Unfortunately the FC660C doesn’t have any LEDs, so its rather empty at the moment until I figure out what else to add in the future.
Oh, and as a result of removing the mapping to the grave accent key (`) to SHIFT+ESC in layer 0, grave accent is now accessible on this layer with ESC, and tilde (~) is accessible with SHIFT+ESC.
Flashing the Firmware
All that’s left to do after customizing the layouts and generating the custom firmware is to flash the firmware on the FC660C controller. There’s a detailed guide here explaining the exact process, which basically boils down to setting the controller to bootloader mode (using the new switch that replaces the previous DIP switches) and then flashing the firmware using FLIP.
Programmable FC660C GET!
A Leopold FC660C Reborn
The entire process for installing the new controller, customizing the layouts, and then flashing the firmware only took around 2 hours or so, which made for a fun weekend activity. It was definitely nice seeing one of my favorite keyboards get some love by the mechanical keyboards community and being improved upon. Thanks Hasu!
See you next time!