Before trievalot even sent me my Model F, I wondered if I could fix the annoying issue of the L-Enter button of death/pestilence/annoyance. Its not that I mind the large Enter button, its just that it's taking the spot of '|' and '\' and making the Backspace so damn tiny.
Anyways, so part of my deal with trievalot was that I got a full set of Model M key caps (which is what put this plan into motion).
What you need:
[*]IBM Model F (I only have an AT to test this on)
[*]ANSI sized Backspace
[*]ANSI sized \ | key
[*]ANSI sized Enter button
[*]Flat Head Screwdriver
[/LIST]Optional: (Highly recommended!)
[*] 2x Model M style plastic insert key stabilizers
First, take all the key caps off.
Next you use the Flat head screwdriver to remove the four screws from the back of the board.
Now pry the board apart from the side with the cord. You here lots of creaking sounds, that's normal. While prying, unslot the cord from the board.
Remove the screw holding in the wires and the two screws (to the right and left) holding the board in place.
There should be two plugs going into the main controller board (the smaller one is for the LEDs, you can ignore it completely), unplug them. Notice how they are somewhat idiot proof, so you'll be able to remember how to plug them in later.
Now take out the main board assembly.
Don't worry about the controller board, you can ignore it completely for this mod.
Next, notice the folded over tab on the top right corner (above picture). Use the needle-nose pliers to unbend the tab enough so that you can take the assembly apart.
If you take a closer look at how the assembly is put together, you'll notice that it slides into all of the tabs in order to lock it into place. I just used my hands to pull it apart and leveraged the floor a bit. This
post has way more details on how to take apart a Model F, if you're still confused.
Now before removing the top piece, raise the assembly off the ground. I just stacked some empty curry boxes. This is so all the springs don't jump out at you.
Next, remove the top piece of the assembly.
Look at all those extra contacts :D. Unfortunately I don't have any extra springs, and switches so I can't put them to use.
Now locate the spring/switch of the \ | key, remove it and place it where it should be.
Next you'll notice that there is an insert just beside the Enter key spring/switch; remove it, as it doesn't fit properly with the Model M style keys.
Mmm, instant (well 6-7 minutes plus however long it takes to cook the rice) curry.
And we're done!
Well not really. You still have to put the keyboard back together (which is relatively easy, just follow this
You also have to place the new key caps back on...
Easy nonetheless.Optional Part:
Right before you put the Enter and Backspace back on, insert the spacers.
They only go in one way, so don't force them in (though they do fit more snugly that the Model F insert stabilizer did, see pic with the curry box background above).
This part makes a world of a difference to the key feel as the keys don't shake so much.
I got 4 insert stabilizers from trievalot, 3 of them white, and one grey coloured one. The grey one is for the numpad 0 (as per trievalot).Scan Codes
Next part, scan codes. I use this board in Linux, so that is what this guide will describe. I have no idea how to fix this up in Windows (and am too lazy to figure it out). ripster says its automagically detected in Windows, what ever that means :P.Scan Code Background - Safe to skip unless you are having troubles
At first when I started doing this mod I could not get any scan codes out of the new \ | key. For me, xev gave me nothing. Next I tried showkey (you should run without X running), but still nothing (even using the -a, -s, or -k options).
But after reading a the man page I discovered that the 2.6 kernels does some keycode magic first before sending the signals to you.
To turn the magic off add the following option to the the kernel grub line:
For the clueless, at the grub boot loader, highlight the desired boot, press 'e' then highlight the line that starts with kernel. Now add the option at the end to look something like this (this one is for ArchLinux):
kernel /vmlinuz26 root=/dev/md0 ro atkbd.softraw=0
Now press Enter and then 'b' to boot the OS.
Since the kernel is no longer doing magic to the scan codes you can pick up the scan codes that weren't there before. albeit only with:
sudo showkey -s
The -k, -a and xev will still give you nothing.Assigning the new \ | key
On my system the \ | scan code is 0x75. This works even if you have not added the atkbd.softraw=0 option from the previous section.
To remap the key just issue the following command:
sudo setkeycodes 75 43
This sets the scancode 0x75 to signal the keycode 43. Keycode 43 is the keyboard layout identifier the OS has already prepared for \ |.
You can see a list of the current keycodes with 'xmodmap -pke'. For me I had to guess because I have an odd way of enabling colemak, but 43 should be ok for those using en_US.
Now you just have to add that command somewhere so it runs on startup. I'll probably use the /etc/rc.local file so it gets loaded before the login.
Finally, you're done!
So far this mod has been working great for me. The only minus would be that the backspace and Enter keys don't have stabilizers. But its not really that big of a deal.
And I'm sure somebody can figure out a way to fix that (the board has the slots for a Backspace and Enter stabilizer).
This guide should also work for any of the other unused pads (there are 6 of them, the space bar ones are hard to use mind you). Soarer was nice enough to provide a list of scancodes for the other pads
.Mod ImagesExtra Dismantling Images