Searching for Progammable Mechanical Keyboards
-
- Main keyboard: CM Quickfire TK
- Main mouse: MS Sidewinder
- Favorite switch: Blue
- DT Pro Member: -
Hi guys.
Could you help me search for a fully programmable mechanical keyboard (hardware level). Something like a Rapoo v7.
I need this because I use colemak and I would prefer not switching layouts via OS.
Post your known programmable keyboards.
Thank you.
Could you help me search for a fully programmable mechanical keyboard (hardware level). Something like a Rapoo v7.
I need this because I use colemak and I would prefer not switching layouts via OS.
Post your known programmable keyboards.
Thank you.
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
Easy: choose the nicest feeling PS/2 or XT keyboard you can find, and hook it up through one of these:
http://deskthority.net/workshop-f7/xt-a ... t2510.html
Soarer's Converter is pure magic. You just need a Teensy. Fully customisable layers and macros, plus the ability to use my beloved IBMs. He also has a controller version that I have built into my own custom 60% keyboard:
http://deskthority.net/workshop-f7/soar ... t6767.html
Another similar but distinct project that's worth a look is Hasu's firmware. Unlike Soarer's, it's already wholly open source. You need to recompile to make changes to layouts, but it does have a few extras of its own like tap and hold modifiers and layer locks:
http://deskthority.net/workshop-f7/tmk- ... t4478.html
http://deskthority.net/workshop-f7/xt-a ... t2510.html
Soarer's Converter is pure magic. You just need a Teensy. Fully customisable layers and macros, plus the ability to use my beloved IBMs. He also has a controller version that I have built into my own custom 60% keyboard:
http://deskthority.net/workshop-f7/soar ... t6767.html
Another similar but distinct project that's worth a look is Hasu's firmware. Unlike Soarer's, it's already wholly open source. You need to recompile to make changes to layouts, but it does have a few extras of its own like tap and hold modifiers and layer locks:
http://deskthority.net/workshop-f7/tmk- ... t4478.html
- Laser
- emacs -nw
- Location: Romania
- Main keyboard: Plum TKL \w Topre domes (work) / Novatouch (home)
- DT Pro Member: 0180
Also, you can go this route:
http://deskthority.net/marketplace-f11/ ... t6193.html
Buy (if you don't have already) one of the keyboards listed there, from any shop you want, then order a matching replacement controller from the above page, and you're all set.
http://deskthority.net/marketplace-f11/ ... t6193.html
Buy (if you don't have already) one of the keyboards listed there, from any shop you want, then order a matching replacement controller from the above page, and you're all set.
- kbdfr
- The Tiproman
- Location: Berlin, Germany
- Main keyboard: Tipro MID-QM-128A + two Tipro matrix modules
- Main mouse: Contour Rollermouse Pro
- Favorite switch: Cherry black
- DT Pro Member: 0010
Tipro keyboards are fully programmable point of sale keyboards, existing in different matrix sizes but also with (almost) standard layout.
- HzFaq
- Location: Windsor, UK
- Main keyboard: Phantom
- Main mouse: CST L-Trac
- Favorite switch: MX Clears
- DT Pro Member: -
+1 to the HID liberators that Laser pointed out. My daily driver is a Filco with TMK firmware so I have integrated home row arrows, mouse keys and a number pad. bpiphany and hasu have saved my wrists
.

- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
Tipros are quite interesting, and make a bit of a layout universe all themselves:kbdfr wrote:Tipro keyboards are fully programmable point of sale keyboards, existing in different matrix sizes but also with (almost) standard layout.

Configuring them has to be done via proprietary software, though, which can be a pain when your Tipro only talks to 32 bit Windows XP and older; like mine. I'm sure the modern ones are better.
-
- Main keyboard: CM Quickfire TK
- Main mouse: MS Sidewinder
- Favorite switch: Blue
- DT Pro Member: -
@Muirium @Laser Wow DH is definitely hardcore xD.
@Muirium
Is there a manual to remap with Soarer's Converter? Or does is still require some coding, or do you mean its not open source?
Sorry for this noob question what is an XT keyboard xD. Is there a USB keyboard solution?
@Laser
Are the replacement controllers usable on just the said CM Filco and Rosewill versions?
Also how do I remap after putting it on my kb?
@kbdfr
ohh thats quite exotic xD is it easy to remap?
Thanks for interesting replies
keep the info flowing.
everyone post more programmable keyboards you know
@Muirium
Is there a manual to remap with Soarer's Converter? Or does is still require some coding, or do you mean its not open source?
Sorry for this noob question what is an XT keyboard xD. Is there a USB keyboard solution?
@Laser
Are the replacement controllers usable on just the said CM Filco and Rosewill versions?
Also how do I remap after putting it on my kb?
@kbdfr
ohh thats quite exotic xD is it easy to remap?
Thanks for interesting replies

everyone post more programmable keyboards you know
- Laser
- emacs -nw
- Location: Romania
- Main keyboard: Plum TKL \w Topre domes (work) / Novatouch (home)
- DT Pro Member: 0180
AFAIK, only one of those keyboards, unless you know for sure that the keyboard you buy is *perfectly* compatible.
I still wait to receive the replacement controller for my QFR, but from what i know, you have to modify the key layout you get from the link to the github page in the instructions ( http://deskthority.net/wiki/Costar_repl ... ontrollers ), rebuild the code and reflash the keyboard controller. Also search geekhack.org "replacement controller" threads by Bpiphany.
(or use other keyboard firmware code - basically any project that supports atmega32u2 connected to pc by usb).
Also, maybe this:
http://geekhack.org/index.php?topic=51252.0
I still wait to receive the replacement controller for my QFR, but from what i know, you have to modify the key layout you get from the link to the github page in the instructions ( http://deskthority.net/wiki/Costar_repl ... ontrollers ), rebuild the code and reflash the keyboard controller. Also search geekhack.org "replacement controller" threads by Bpiphany.
(or use other keyboard firmware code - basically any project that supports atmega32u2 connected to pc by usb).
Also, maybe this:
http://geekhack.org/index.php?topic=51252.0
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
Hard core! I guess so.undulatus wrote:@Muirium @Laser Wow DH is definitely hardcore xD.
@Muirium
Is there a manual to remap with Soarer's Converter? Or does is still require some coding, or do you mean its not open source?
Sorry for this noob question what is an XT keyboard xD. Is there a USB keyboard solution?
Soarer's converter is closed source, but will be open source when he's comfortable releasing it. Programming Teensies is very memory constrained and I suspect Soarer's pulled some artful hacks that will need cunning documentation inside the code itself. But the actual binary is perfect. I've never found a bug. And I have typed hundreds of thousands of words through it, including these.
The way you configure it is by running a handful of command line utilities he supplies, and sending text files through them like this.
Code: Select all
# Muirium's Shiny 60%
# Todo:
# Better layout of function and media keys, where my fingers expect them to be.
# Integrate full numpad around I key on some layer for keyboard mouse control.
matrix
blocking 0
sense PF7 PB6 PB5 PB4 PD7 PC7 PC6 PD3 PD2 PD1 PD0 PB7 PB3 PB2 PB1 PB0
strobe PF0 esc 1 2 3 4 5 6 7 8 9 0 minus equal backslash back_quote unassigned
strobe PF1 tab q w e r t y u i o p left_brace right_brace unassigned backspace unassigned
strobe PF4 fn1 a s d f g h j k l semicolon quote unassigned enter unassigned unassigned
strobe PF5 lshift z x c v b n m comma period slash unassigned rshift unassigned fn2 unassigned
strobe PF6 lctrl lalt lgui unassigned unassigned space unassigned unassigned unassigned rgui ralt unassigned rctrl unassigned pad_enter unassigned
end
layerblock
fn1 1
fn2 1 # One for each hand, where available
fn1 fn2 2 # Press them both for a hard to reach second layer
endblock
# Layerin' time
remapblock
layer 1
# HHKB Arrows
LEFT_BRACE UP
SEMICOLON LEFT
SLASH DOWN
QUOTE RIGHT
L PAGE_UP
PERIOD PAGE_DOWN
K HOME
COMMA END
H PAD_ASTERIX
J PAD_SLASH
N PAD_PLUS
M PAD_MINUS
# ESDF Arrows
E UP
S LEFT
D DOWN
F RIGHT
R PAGE_UP
V PAGE_DOWN
A HOME
G END
# Media keys across the number row
1 F14 # Decrease Display Brightness
2 F15 # Increase Display Brightness
3 F10 # Exposé: All App Windows
4 F12 # Dashboard
5 F11 # Exposé: Show Desktop
6 F9 # Exposé: All Windows in All Apps
7 MEDIA_PREV_TRACK # iTunes / media playback controls
8 MEDIA_PLAY_PAUSE
9 MEDIA_NEXT_TRACK
0 MEDIA_MUTE # Volume controls
MINUS MEDIA_VOLUME_DOWN
EQUAL MEDIA_VOLUME_UP
# Maybe use the two function layer keys differently to resolve this clash.
# Specifically Shiny
Esc EUROPE_2 # Our old friend §
backspace delete
# ralt left # The sneaky inerted T arrow cluster
# rshift up # Perhaps put this on layer zero?
# rctrl down # Retired for now.
# pad_enter right
back_quote f24
backslash system_power
endblock
remapblock
layer 2
# Don't forget the media keys. Contention here on what goes on layer 1.
# Function row across the number row
Esc EUROPE_2
1 F1
2 F2
3 F3
4 F4
5 F5
6 F6
7 F7
8 F8
9 F9
0 F10
minus F11
equal F12
back_quote F13
endblock
# If I ever figure out how to engage it!
remapblock
layer 3
7 pad_7 # Numpad / mouse movement keys
8 pad_8
9 pad_9
u pad_4
i pad_5
o pad_6
j pad_1
k pad_2
l pad_3
m pad_0
comma pad_period
minus pad_minus
equal pad_plus
endblock
# Engage the macros!
macroblock
# Command + Escape = Command + Section break (for app window cycling)
macro ESC gui -ctrl -alt
press EUROPE_2
endmacro
# Soarer's Double Shift Caps Lock
macro lshift rshift
press caps_lock
endmacro
macro rshift lshift
press caps_lock
endmacro
# Apple style Control + Corner Arrow shortcuts for Shiny
# Page Up
macro up lctrl
press page_up
endmacro
# Page Down
macro down lctrl
press page_down
endmacro
# Home
macro left lctrl
press home
endmacro
# End
macro right lctrl
press end
endmacro
# Fn + Backtick = Ctrl + Cmd + Opt + 8 (Negative / night colours mode)
macro f24 -shift
push_meta set_meta rgui ralt rctrl
press 8
pop_meta
endmacro
# Shift + Fn + Backtick = Ctrl + Cmd + Opt + I (Isolator darkness mode)
macro f24 shift
push_meta set_meta rgui ralt rctrl
push_meta clear_meta lshift rshift
press I
pop_all_meta
endmacro
# Shift + Fn + Backslash = Numlock for Mouse Keys
macro system_power shift
push_meta set_meta rshift
press scroll_lock
pop_meta
endmacro
# Swap # and £ so I can keep UK layout in software but match legends
# Pound = Hash
macro 3 shift -alt
push_meta set_meta lalt
push_meta clear_meta lshift rshift
press 3
pop_all_meta
endmacro
# Hash = Pound
macro 3 -shift alt
push_meta set_meta lshift
push_meta clear_meta lalt ralt
press 3
pop_all_meta
endmacro
# Quick Ctrl+F-keys for menu navigation
# Ctrl 2 = Ctrl + F2 = Enter main app menu
macro 2 ctrl -alt -gui -shift
press f2
endmacro
# Ctrl 8 = Ctrl + F8 = Enter system menus
macro 8 ctrl -alt -gui -shift
press f8
endmacro
endblock
XT was the ancient ancestor of AT which was the ancestor of PS/2. I have one keyboard that uses it. A wonderfully loud IBM PC/XT keyboard from the original PC:
And with Soarer's converter it works very nicely on OS X! As do my other old IBMs, via a little switch box I made with Soarer's work inside it:
As for USB: I believe Hasu's TMK firmware has an experimental USB converter mode. But your best move there would be as the guys are saying: put a replacement (Teensy based) controller straight into a Filco etc. The best native USB keyboard I have is this one here: with a Teensy running the show right inside it!
-
- Location: Houston, Texas
- Main keyboard: IBM Bigfoot
- Main mouse: CST trackball
- Favorite switch: IBM Model F
- DT Pro Member: -
You could build yourself a GH60 rev B with exactly the key sizes and positions you want and run the TMK firmware. Speaking of which, is anyone interested in a group buy on some GH60 PCBs? The group buy over on GH is closed, but I think I can get the price down to USD 20 each if we can put together an order for 10.
- scottc
- ☃
- Location: Remote locations in Europe
- Main keyboard: GH60-HASRO 62g Nixies, HHKB Pro1 HS, Novatouch
- Main mouse: Steelseries Rival 300
- Favorite switch: Nixdorf 'Soft Touch' MX Black
- DT Pro Member: -
I might do. Would it be fully assembled? And would shipping/etc to Ireland be prohibitively expensive?quantalume wrote:You could build yourself a GH60 rev B with exactly the key sizes and positions you want and run the TMK firmware. Speaking of which, is anyone interested in a group buy on some GH60 PCBs? The group buy over on GH is closed, but I think I can get the price down to USD 20 each if we can put together an order for 10.
-
- Location: Houston, Texas
- Main keyboard: IBM Bigfoot
- Main mouse: CST trackball
- Favorite switch: IBM Model F
- DT Pro Member: -
No, that would actually be just the PCB, although the other components don't add up to much. I was surprised to get the PCB down that low as it's a pretty big board as low-volume production goes. Shipping to Ireland would be something like USD 10 from here.scottc wrote: I might do. Would it be fully assembled? And would shipping/etc to Ireland be prohibitively expensive?