Searching for Progammable Mechanical Keyboards

undulatus

19 Mar 2014, 12:49

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.

User avatar
Muirium
µ

19 Mar 2014, 12:55

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

User avatar
Laser
emacs -nw

19 Mar 2014, 13:18

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.

User avatar
kbdfr
The Tiproman

19 Mar 2014, 13:22

Tipro keyboards are fully programmable point of sale keyboards, existing in different matrix sizes but also with (almost) standard layout.

User avatar
HzFaq

19 Mar 2014, 13:25

+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 :D.

User avatar
Muirium
µ

19 Mar 2014, 13:30

kbdfr wrote:Tipro keyboards are fully programmable point of sale keyboards, existing in different matrix sizes but also with (almost) standard layout.
Tipros are quite interesting, and make a bit of a layout universe all themselves:

Image

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.

undulatus

19 Mar 2014, 13:38

@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

User avatar
Laser
emacs -nw

19 Mar 2014, 14:08

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

User avatar
Muirium
µ

19 Mar 2014, 14:41

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?
Hard core! I guess so.

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
I'm typing on that very config right now. He has some pretty decent documentation for it, and we answer each others questions in the thread anyway. That config is for a full custom keyboard (that I built from bare metal) so the top section defines the switch matrix. The stuff you're looking for (layers and macros, right?) is in the layerblock and macroblock sections.

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:

Image

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:

Image

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!

undulatus

19 Mar 2014, 15:55

Wow I'll check this out later have to go for now

quantalume

19 Mar 2014, 17:00

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.

User avatar
scottc

19 Mar 2014, 17:14

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.
I might do. Would it be fully assembled? And would shipping/etc to Ireland be prohibitively expensive?

User avatar
scottc

19 Mar 2014, 17:15

Sorry, by "fully assembled" I mean without switches etc.

quantalume

19 Mar 2014, 21:23

scottc wrote: I might do. Would it be fully assembled? And would shipping/etc to Ireland be prohibitively expensive?
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.

Post Reply

Return to “Keyboards”