Page 1 of 2
IBM SSK Reconfigured as HHKB via KRM4MB
Posted: 30 Mar 2014, 19:05
by Hypersphere
After trying many keyboards, two very different boards have emerged as my favorites: the HHKB Pro 2 and the IBM Model M SSK. I prefer the layout of the HHKB; however, with its legendary buckling springs, the IBM provides excellent aural and tactile feedback that is consistent across all keys. Not being able to choose a single favorite, I alternate between the two boards. To make this easier when switching to the IBM, I have remapped its keys to the HHKB layout. This is quite easy for Mac users because of the superb free program, KeyRemap4Macbook (KRM4MB). No need to install a new controller.
My setup includes a Mac as the primary computer along with a Linux box and Windows machine as secondaries. I use a single keyboard and mouse with Synergy as a software KM switch; the Mac is the server and the Linux and Windows machines are clients. This way, the remapping of my IBM SSK on the Mac works on the other computers as well.
Some of the IBM to HHKB remapping could have been done using the built-in keyboard preferences in OS X, but KRM4MB enables swapping the Backspace and Backslash keys as well.
What really surprised me was that by using KRM4MB, I was able to create a Fn key on the IBM SSK. I had initially thought that the program could only remap an existing Fn key. To avoid conflicts with keys used for other things, I used Command + Option (remapped from Ctrl and Alt) as Fn. This enabled me to use the HHKB cursor diamond, Fn + [/;' , which I now prefer over using the (still functional) built-in arrow keys on the IBM keyboard. Similarly, although I can now get F-keys using Fn + number, the F-keys in the top row of the IBM still work as before.
I am currently in the process of locating custom keycaps for the remapped keys on my IBM. For example, I could replace the backspace (now backslash) with the backslash key from a European layout IBM; then I will need to install a dummy key in the stabilizer barrel of the former backspace key. The other replacements should be more straightforward.
In the meantime, I am enjoying the best of both worlds; it is like having an HHKB with buckling springs!
Posted: 30 Mar 2014, 19:23
by Muirium
I'm on the fence over installing a kernel extension. Much prefer to stay out of there. But keyremap4macbook, despite having a shitty name, has earned a good name for itself from what I've read. Perhaps I'll give it a shot. Especially as I've USB mechanical keyboards now that I can't apply Soarer-grade sorcery on.
Dr. Drang likes it. Guess I shouldn't argue.
http://www.leancrew.com/all-this/2012/1 ... caps-lock/
Posted: 30 Mar 2014, 20:04
by Hypersphere
Hi again Muirium! I won the bet I placed with myself that you would be the first to respond to my new post.
Regarding KRM4MB, I have had nothing but positive experiences with it thus far. I have installed it on 3 Macs with no issues. Unlike some programs, this one comes with an uninstaller. The only bad thing about it that I can see is its name!
Apart from my praise for the remapping program, this latest experience adds to my amazed gratitude for the IBM Model M and SSK. It is astonishing that a keyboard made in 1990 for the IBM PC can be used today in HHKB mode on a Mac (and via Synergy on Linux and Windows machines as well).
Posted: 30 Mar 2014, 20:14
by Muirium
What can I say: SSKs, Macs and remaps are right in my wheel house.
Have you got a diagram of how you've mapped your SSK? My tradition with winkeyless boards is to make the bottom row Control-Command-Space-Command-Option. I have HHKB arrows on the Fn layer, but as I use Caps Lock way over at the other side of the keyboard to enter that, they are largely redundant. The SSK's long right shift is always mocking me!
Posted: 30 Mar 2014, 22:35
by Hypersphere
I don't have a diagram, but I can list the remappings for you:
Backspace (Delete) ---> Backslash (\)
Backslash (\) ---> Backspace (Delete)
CapsLock ---> Control
Control_L ---> Option_L
Alt_L ---> Command_L
Alt_R ---> Command_R
Control_R ---> Option_R
Command_R + Option_R ---> Fn
Cursor Diamond: Fn (i.e., Command_R + Option_R) + [/;'
To get the HHKB cursor diamond, in KRM4MB preferences I check "Enable HHK compatible Arrow Key Mode".
Cursor Inverted-T: Option_L + ikjl
To get the inverted-T, in KRM4MB preferences, check "Diamond Cursor, Option_L+IKJL to Up/Down/Left/Right".
Note: I actually prefer Control + ijkl for the Cursor Inverted-T, but one of the commands I use frequently is Control+k to delete a line to the right of the cursor, and so this interfered. However, this is becoming moot, because I much prefer the HHKB default, which is Fn + [/;' . On the IBM SSK, I press the right Command + Option with thumb and pinkie, and use middle and index fingers for [/;' to work the cursor diamond.
I find that the newly created Fn key works for HHKB defaults, such as Fn+1 = F1, etc.
I might have asked this before, but could you recommend a program for generating easily editable keyboard layouts? Alternatively, are there web sites that have keyboard layouts for downloading?
Posted: 30 Mar 2014, 23:25
by Muirium
Lots of people like this:
http://www.keyboard-layout-editor.com/
I don't, honestly. Way too old fashioned for my liking. I do my diagrams in OmniGraffle. Via mouseā¦
Anyway, I get what you're doing with a virtual Fn key. Probably wouldn't feel immediately right for me as I often hold right Shift while using HHKB arrow keys. I just want to shorten that Shift and pop a real Fn key in there, where it should be!
Interestingly, all the barrels in SSKs (besides those under the space bar) are equipped for taking keys if they're given a spring. People have added an ISO style extra key beside left Shift, and split backspace in two if I remember right. Alas, right Shift is the same on ISO and ANSI, so my HHKB style SSK dream is still grounded.
Posted: 31 Mar 2014, 00:42
by Hypersphere
Thanks for the link to the keyboard layout site. I used it to generate a diagram showing my remapping of the SSK:

- IBM-SSK-HHKB-ReMap.png (43.16 KiB) Viewed 9313 times
It would be nice to shorten the right Shift and put a real Fn key to the right of the shortened right Shift. However, I find using Command_R + Opt_R = Fn to work reasonably well (for me).
Another naive question: regarding adding keys to empty barrels on the SSK, this would only add "dummy" keys that could be pressed but that would not register anything, correct?
Posted: 31 Mar 2014, 01:09
by Halvar
It depends -- there are barrels that are used in other layouts, like ISO, that have membrane contact under them, and others don't. You can easily try that with a keyboard testing software and a blunt stick that you use to press on the membrane.
Remember you have to do a bolt mod to put a buckling spring assembly in if you really want to use a barrel.
Posted: 31 Mar 2014, 12:56
by Muirium
Indeed. But if you do, several extra keys become available. Including key codes sent to the computer. All the black ones in this picture:
Split backspace, ISO's short left shift plus extra key, and a pair on the right. The only one I don't understand is the key to the left of right shift. Neither ISO nor ANSI use that, but it's there and waiting.
http://deskthority.net/photos-videos-f8 ... ml#p151087
As for getting key events from them: entirely doable via Soarer's converter. You poll for their native PS/2 codes and remap to whatever you want. The same trick as using a funky terminal Model M.
But I don't know if they're accessible at all with a regular (blue cube style) active adapter. Depends how ambitious the developers were compared to Soarer.
Posted: 31 Mar 2014, 16:33
by Hypersphere
Interesting. The poor SSK in Mu's picture looks like it has missing teeth.
For what I have in mind, I would be satisfied with simply finding appropriate replacement keys or keycaps. The tricky one is the former backspace that I have remapped to a backslash. I could use a single-unit backslash key from an ISO layout board for the active key, but I would like to install a dummy key in the stabilizer barrel, which would require installing a spring. Could this be done without disassembling the keyboard? I would suppose that there is no peg already installed at the bottom of the barrel to which a spring could be attached using the whittled chopstick method. Suggestions welcome.
Posted: 31 Mar 2014, 18:36
by Halvar
rjrich wrote:Could this be done without disassembling the keyboard? I would suppose that there is no peg already installed at the bottom of the barrel to which a spring could be attached using the whittled chopstick method. Suggestions welcome.
True, that's what I was trying to say with my last sentence. You need to disassemble the board to put a peg&spring assembly in if you want to use a barrel. That's also what keeping me from ISOifying my own ANSI SSK at the moment.
Posted: 31 Mar 2014, 20:57
by E TwentyNine
rjrich wrote:Interesting. The poor SSK in Mu's picture looks like it has missing teeth.
For what I have in mind, I would be satisfied with simply finding appropriate replacement keys or keycaps. The tricky one is the former backspace that I have remapped to a backslash. I could use a single-unit backslash key from an ISO layout board for the active key, but I would like to install a dummy key in the stabilizer barrel, which would require installing a spring. Could this be done without disassembling the keyboard? I would suppose that there is no peg already installed at the bottom of the barrel to which a spring could be attached using the whittled chopstick method. Suggestions welcome.
Contact Unicomp. They don't normally do custom keys for anything other than single unit keycaps, but it's possible they'd be willing to set you up with what you want.
Posted: 31 Mar 2014, 21:27
by Hypersphere
Halvar wrote:rjrich wrote:Could this be done without disassembling the keyboard? I would suppose that there is no peg already installed at the bottom of the barrel to which a spring could be attached using the whittled chopstick method. Suggestions welcome.
True, that's what I was trying to say with my last sentence. You need to disassemble the board to put a peg&spring assembly in if you want to use a barrel. That's also what keeping me from ISOifying my own ANSI SSK at the moment.
Thanks. I do not necessarily want or need to use the stabilizer barrel next to the backspace key. However, I would at least like to put a dummy key there just for aesthetics. Unfortunately, without a spring, the key will appear to be in the fully depressed state. Is there a facile way to install a dummy key so that it will look normal even if it is not functional?
Posted: 31 Mar 2014, 21:29
by Hypersphere
E TwentyNine wrote:rjrich wrote:Interesting. The poor SSK in Mu's picture looks like it has missing teeth.
For what I have in mind, I would be satisfied with simply finding appropriate replacement keys or keycaps. The tricky one is the former backspace that I have remapped to a backslash. I could use a single-unit backslash key from an ISO layout board for the active key, but I would like to install a dummy key in the stabilizer barrel, which would require installing a spring. Could this be done without disassembling the keyboard? I would suppose that there is no peg already installed at the bottom of the barrel to which a spring could be attached using the whittled chopstick method. Suggestions welcome.
Contact Unicomp. They don't normally do custom keys for anything other than single unit keycaps, but it's possible they'd be willing to set you up with what you want.
Thanks. I contacted them and they said they can only supply their standard-issue keycaps.
Posted: 31 Mar 2014, 22:04
by E TwentyNine
rjrich wrote:E TwentyNine wrote:
Contact Unicomp. They don't normally do custom keys for anything other than single unit keycaps, but it's possible they'd be willing to set you up with what you want.
Thanks. I contacted them and they said they can only supply their standard-issue keycaps.
Well, at least they're quick in responding.
For the deadkey approach, you can probably get a small piece of foam or something similar (wad of paper, bit of cotton ball, just something that won't trigger the switch) and put it in the barrel, then put the key in.
Posted: 01 Apr 2014, 18:05
by Hypersphere
E TwentyNine wrote:rjrich wrote:E TwentyNine wrote:
Contact Unicomp. They don't normally do custom keys for anything other than single unit keycaps, but it's possible they'd be willing to set you up with what you want.
Thanks. I contacted them and they said they can only supply their standard-issue keycaps.
Well, at least they're quick in responding.
For the deadkey approach, you can probably get a small piece of foam or something similar (wad of paper, bit of cotton ball, just something that won't trigger the switch) and put it in the barrel, then put the key in.
Thanks for the suggestion. In fact, I found a similar solution. I slipped a red O-ring (from WASD Keyboards) onto the stem of a 1x IBM key, pushed the O-ring up the stem as far as it would go, and inserted the stem into the stabilizer barrel (after first removing the teflon insert). It just so happens that the O-ring firmly stops the key at exactly the correct height. I have placed an order on eBay for a 122-key IBM keyboard, which I will use to get a 1x backslash (\) key and another key to use as the dead key. The single-arrow tab key from the 122 could serve as the new backspace, and I could put one of the Ctrl keys in the Caps Lock space. For Command and Opt, I might just use Ctrl and Alt, or perhaps go with blanks or color-coded keycaps from Hoolean, which are likely to look better than the Command and Opt keycaps from Unicomp.
Posted: 01 Apr 2014, 19:05
by Muirium
rjrich wrote:Interesting. The poor SSK in Mu's picture looks like it has missing teeth.
Indeed, not the prettiest arrangement, but an informative one. My own SSK looks like this:
Well, typically without the illustrative MX caps lying about. I like ANSI, but I like the HHKB layout even better. So I may explore this in time.
Posted: 01 Apr 2014, 21:02
by Hypersphere
Nice clean-looking SSK. You should have just let us wonder about your technological prowess in adding special function keys flanking the IBM logo!
It is going to take a while for my own specialized key stems and keycaps to arrive, but I will send an update after I get my IBM-SSK-HHKB up and running.
Posted: 01 Apr 2014, 21:38
by quantalume
Fascinating thread. I had no idea there were "secret" switches on Model M keyboards. I may take advantage of this soon. Is it possible to convert an M122 to ANSI, too?
Regarding layouts, I've settled on the KBT Pure, more or less:

However, I have the bottom row configured as Ctrl-Fn-Alt-Space-Alt-Fn-Ctrl-Meta (soldering required). I like having all of the cursor movement keys under the right fingers. I have a philosophy of not straying too far from the standard ANSI 104 layout, and I have the 60% portion of my TKLs and 104s mapped identically to this (the Win keys become Fn modifiers). This way, regardless of which keyboard I'm using (and I like to swap frequently), everything is in the exact same location. This is also why I have resisted the HHKB.
Posted: 01 Apr 2014, 22:24
by E TwentyNine
quantalume wrote:Fascinating thread. I had no idea there were "secret" switches on Model M keyboards. I may take advantage of this soon. Is it possible to convert an M122 to ANSI, too?
Yep. It's possible to convert an F to ANSI too (122 or AT).
Posted: 01 Apr 2014, 23:08
by quantalume
E TwentyNine wrote:quantalume wrote:Fascinating thread. I had no idea there were "secret" switches on Model M keyboards. I may take advantage of this soon. Is it possible to convert an M122 to ANSI, too?
Yep. It's possible to convert an F to ANSI too (122 or AT).
What about putting a horizontal (2X?) Enter key on the 5150 keyboard, and putting something else where the top part of the Enter was? That's really my only gripe with that keyboard (aside from the stiff spacebar).
Posted: 01 Apr 2014, 23:24
by E TwentyNine
quantalume wrote:E TwentyNine wrote:quantalume wrote:Fascinating thread. I had no idea there were "secret" switches on Model M keyboards. I may take advantage of this soon. Is it possible to convert an M122 to ANSI, too?
Yep. It's possible to convert an F to ANSI too (122 or AT).
What about putting a horizontal (2X?) Enter key on the 5150 keyboard, and putting something else where the top part of the Enter was? That's really my only gripe with that keyboard (aside from the stiff spacebar).
Not easily. The problem there is the enter key pad is vertical halfway between two rows.
The XT keyboard has no hidden pads.
Posted: 02 Apr 2014, 00:40
by Muirium
Oh, here we go. The split right shift support on Model Ms matches up nicely with Japan's own layout: JIS.
http://deskthority.net/wiki/JIS
But what about all those mods hidden by the standard space bar!? Perhaps Japanese Ms used a hybrid, or pre-JIS layout?
Posted: 02 Apr 2014, 00:42
by scottc
Don't think it's for JIS: look at this Japanese IBM here.
However, Brazilian layout:
http://en.wikipedia.org/wiki/Portuguese_keyboard_layout
Posted: 02 Apr 2014, 00:45
by Muirium
Sneaky Portuguese! Nice catch, and I wonder how you knew that!
The Japanese keyboard doesn't look like a buckling spring to me, though. Any idea what vintage Japanese Ms looked like?
Posted: 02 Apr 2014, 00:46
by scottc
Check out that directory in Webwit's input folder:
http://webwit.nl/input/ibm_japan/
Also: looks like it is buckling spring!

Posted: 02 Apr 2014, 00:47
by scottc
And here's the full-size:
I think I'm single-handedly ruining load times for this thread...
Posted: 02 Apr 2014, 00:48
by webwit
Brother buckling spring. Very nice. The touch is lighter than IBM buckling spring. The tenkeyless was one of the stars of the Mr. Interface keyboard party 2012!
Posted: 02 Apr 2014, 00:51
by Muirium
Aha! I'll bet it was.
That's a whole different design then. And I bet 7bit wouldn't mind one of these >122 key terminal boards:
Lighter and more keys? Sounds like a fine alternate line of buckling spring. Damn it, my wishlist grows!
Posted: 02 Apr 2014, 00:51
by scottc
I remember a friend telling me all about Brother buckling spring quite some time ago but I'd forgotten about them. I'd love to get my hands on one some day.