Author Topic: IBM PC AT Modification Log  (Read 125680 times)

0 Members and 1 Guest are viewing this topic.

Offline wcass

  • Thread Starter
  • Posts: 506
  • Location: Fort Lauderdale, FL, USA
IBM PC AT Modification Log
« on: Tue, 10 January 2012, 00:03:32 »

[h=2]A Paragraph on History[/h] The IBM PC AT keyboard was made from 1984 to 85. It is similar to the IBM PC XT in that it uses capacitive sensors to register keystrokes. It is superior to its predecessor in that it is bidirectional and uses code set 2 and has an improved key layout. It was phased out in favor of the model M keyboard which was significantly less expensive to produce and has an even better key layout.

[h=2]The Plan[/h]
I won this guy on eBay for $46 (plus $15 for shipping). Another from the same seller sold 2 minutes before it for $72.50. But 27 years have taken their toll on the keyboard. There looks to be permanent marker on the bottom and the front edge is visibly chipped at the crease between the top and bottom of the case. The biggest disappointment is that the case badge is gone. Because of these deficiencies, I will start by doing a classic restoration, but will incorporate a few modifications to improve usability while trying to keep the old school aesthetic.





[h=2]Restoration and Initial Thoughts[/h]
There have been several Wikis done on restoration. I’m not sure another is needed, so I’ll gloss over much of this part. I used plain old rubbing alcohol to remove the “permanent marker” from the back and a sanding block to clean off the burs where the previous owner tried to pry open the case. To clean key caps, I use a 96 ounce (3 liter) large mouth drink bottle half filled with hot water and a squirt of automatic dish detergent; roll for 15 minutes or until clean. I have a selection of “replica” badges from a previous project to make replacement badges for various IBM keyboards. I assembled everything together and started using this keyboard exclusively at home. The idea was to see what I liked, didn’t like about this layout. After a month, I can say the following (ordered by importance):
    [*]I strongly prefer the ESC key be at the top left of the keyboard
    [*]I miss the enter key on the numeric keypad
    [*]I am not crazy about the AT location of Caps Lock, Ctrl, Alt
    [*]I don’t mind the small backspace
    [*]I do not miss F11 and F12 – I don’t think I use any of the F keys much
    [/LIST]
     I love the feel and sound of the keys. It is similar to a model M but perhaps looser – if that makes any sense. Some before and after pictures below.
    [ Guests cannot view attachments ] 37148[/ATTACH] [ Guests cannot view attachments ] 44793[/ATTACH]
    [ Guests cannot view attachments ] 37149[/ATTACH] [ Guests cannot view attachments ] 49216[/ATTACH]
    [ Guests cannot view attachments ] 37150[/ATTACH] [ Guests cannot view attachments ] 49217[/ATTACH]
    [ Guests cannot view attachments ] 37151[/ATTACH] [ Guests cannot view attachments ] 49218[/ATTACH]
    [ Guests cannot view attachments ] 44789[/ATTACH] [ Guests cannot view attachments ] 49219[/ATTACH]
    [ Guests cannot view attachments ] 44791[/ATTACH] [ Guests cannot view attachments ] 49215[/ATTACH]

    [h=2]Mods[/h][h=3]- Key Layout[/h]
    Unlike Cherry key caps, IBM/Unicomp key caps have the same height and slant as every other IBM/Unicomp key cap.  The proper key profile is achieved by a curve in the key base plate. You could move any “one unit wide” key to any other “one unit wide” key spot and the key would not look oddly slanted. You could also replace two “one unit wide” keys with a single “two unit wide” key. This makes the IBM/Unicomp keyboards one of the best for people that like “alternative” key layouts.
     
    My first priority was to move the Escape key away from the numeric keypad. I considered the spot currently used by the F1 and tilde/accent keys. Whichever one I used, I would need to put that key somewhere else as I do occasionally use both.
     
    The Enter key on the numeric keypad is easy – split the double-high plus key.
     
    I actually got used to the control key in the “caps lock” spot. At the end of the month, I didn’t have to look at the keyboard or consciously think to remember where it was. But I hated the AT location of the Caps Lock key. I had to actually take my eyes off the screen and search the keyboard when I wanted to use it. The Alt key didn’t require a search, but I did have to think about what I was typing. The best alternate locations for these keys for me would be to put them in the same spot as they are on my work keyboard for consistency and “no thinking required.”
     
    The small backspace was a minor annoyance. I hit pipe/backslash by accident once during my month long trial. I suppose that means that I tend to hit the right side of the backspace key. But I was not able to purposely hit the pipe/backslash key in the AT position without looking despite knowing where it was. The best location for these keys again would be to put them in the same spot as they are on my work keyboard.
     
    I found that I use F keys at home much less often than I thought. The only one I use regularly at home is F4. I’m stressing the “at home” because I know that I use more F keys more often at work. If I ever want to use this keyboard at work, I should keep them – including F11 and F12. The obvious solution is to put the F keys on a second layer; F1 under 1/!, F2 under 2/@, …, F11 under -/_, and F12 under =/+.
     
    In the end, I decided to make the “Ctrl” key to the left of “A” the “Function” key. I moved the Caps Lock to where the Escape key was – lining up the three lock keys under their respective indicator LEDs. I moved Print Screen so that I could add a slash to the math functions down the right side of the numeric keypad. The left key cluster has the Escape and Print Screen buttons in the F1 and F2 positions; Menu and Win in the F9 and F10 positions. The other former F keys could be used for macros, but I chose to use these for media keys – launch media app, play/pause, previous track, next track, volume down, and volume up. Fn + play/pause is the same as the Pause key; Fn + volume down will mute.

    If you want to do this same mod, you will need 20 replacement keycaps. You can order these direct from Unicomp if you don’t already have them in your collection. Unicomp is unable to do custom symbols and the quality of custom text may not meet high standards, but you can select from all of the text and symbols they use on other Unicomp keyboards such as terminals and the Spacesaver M. Legal reasons prevent them from selling the Win and Menu symbol keys except as part of a full key set - so keep that as an option. You need to be very exact as to what key shape/size you want. For example, this worked for me:
    style=width: 461px"
    |-
    |  style="width: 55px; height: 17px" | 1
    |  style="width: 64px; height: 17px" | pebble
    |  style="width: 343px; height: 17px" | Play (text)
    |-
    |  style="width: 55px; height: 17px" | 1
    |  style="width: 64px; height: 17px" | pebble
    |  style="width: 343px; height: 17px" | Enter
    |-
    |  style="width: 55px; height: 17px" | 1
    |  style="width: 64px; height: 17px" | pebble
    |  style="width: 343px; height: 17px" | /
    |-
    |  style="width: 55px; height: 17px" | 1
    |  style="width: 64px; height: 17px" | pebble
    |  style="width: 343px; height: 17px" | *
    |-
    |  style="width: 55px; height: 17px" | 1
    |  style="width: 64px; height: 17px" | pebble
    |  style="width: 343px; height: 17px" | +
    |-
    |  style="width: 55px; height: 17px" | 1
    |  style="width: 64px; height: 17px" | pebble
    |  style="width: 343px; height: 17px" | previous track symbol (as on the M but without the F7)
    |-
    |  style="width: 55px; height: 17px" | 1
    |  style="width: 64px; height: 17px" | pebble
    |  style="width: 343px; height: 17px" | play/pause symbol (as on the M but without the F8)
    |-
    |  style="width: 55px; height: 17px" | 1
    |  style="width: 64px; height: 17px" | pebble
    |  style="width: 343px; height: 17px" | next track symbol (as on the M but without the F9)
    |-
    |  style="width: 55px; height: 17px" | 1
    |  style="width: 64px; height: 17px" | pebble
    |  style="width: 343px; height: 17px" | mute symbol (as on the M but without the F10)
    |-
    |  style="width: 55px; height: 17px" | 1
    |  style="width: 64px; height: 17px" | pebble
    |  style="width: 343px; height: 17px" | volume up symbol (as on the M but without the F12)
    |-
    |  style="width: 55px; height: 17px" | 2
    |  style="width: 64px; height: 17px" | pebble
    |  style="width: 343px; height: 17px" | Ctrl (same button as “Ctrl” on Classic 101)
    |-
    |  style="width: 55px; height: 17px" | 2
    |  style="width: 64px; height: 17px" | pebble
    |  style="width: 343px; height: 17px" | Alt (same button as “Alt” on Classic 101)
    |-
    |  style="width: 55px; height: 17px" | 1
    |  style="width: 64px; height: 17px" | pebble
    |  style="width: 343px; height: 17px" | Enter (same as wide "enter" on US Classic 101)
    |-
    |  style="width: 55px; height: 17px" | 1
    |  style="width: 64px; height: 17px" | pearl
    |  style="width: 343px; height: 17px" | | \ (same "pipe backslash" on US Classic 101)
    |-
    |  style="width: 55px; height: 17px" | 1
    |  style="width: 64px; height: 17px" | pebble
    |  style="width: 343px; height: 17px" | Backspace (same as “backspace” on Classic 101)
    |-
    |  style="width: 55px; height: 17px" | 1
    |  style="width: 64px; height: 17px" | pebble
    |  style="width: 343px; height: 17px" | Fn (on a key the size and shape of "Caps Lock")
    |-
    |  style="width: 55px; height: 17px" | 1
    |  style="width: 64px; height: 17px" | pearl
    |  style="width: 343px; height: 17px" | Spacebar for US Classic 101
    |-





    [h=3]- Adding Keys[/h]
    My plan calls for removing one key (combining backspace and backslash into one big backspace) and adding 4 keys (split Enter into two, split keypad plus into two, split space bar into three). I will be following HaaTa's post to change the backspace, backslash, and enter keys. Splitting the keypad plus is just like the Enter key mod. It will require two new barrels and three new springs and hammers.
     
    As you can see from the pictures, there are only 3 keys on the bottom line of the alpha part of the AT keyboard; Alt, space and Caps Lock. I can add two more keys because there are 3 capacitive sensors below the AT space bar. But there are no barrels or proper barrel holes above two of these sensors. Instead it has odd shaped slots for the space bar stabilizer.

    I took some measurements from a Model M and the Model F AT to find where best to put the new Alt keys. I used the Delta CAD demo to draw it up and printed it on a transparent label sheet. The clear sheet makes it easy to get the template in the exact right spot. In hindsight, I should have put a small piece of white label or tape on the plate where the cut will be made prior to putting on the template because black-on-black is hard to see. I'll include my template as a PDF for anyone who wants it.
    [ Guests cannot view attachments ] 48300[/ATTACH] [ Guests cannot view attachments ] 48301[/ATTACH] [ Guests cannot view attachments ] 49220[/ATTACH]
    First, use a Dremel with a diamond burr engraving bit to trace the edge of the cut then use a wide cut-off wheel to make the holes. Make multiple cuts going straight in from the side until you get to the engraved line. Make fine adjustments with a diamond burr and check the fit with a barrel. Trim the pad to match the new holes.
    [ Guests cannot view attachments ] 48302[/ATTACH]
    The Model M space bar and ALT keys are 1/8" wider than the space bar on the AT keyboard so while you have the Dremel out, take 1/16" off of the insides of the tabs to the left and right of the space bar.

    The old space bar barrel needs to be trimmed so that the two new barrels can be added. I used a hack saw and miter box because it is important that these cuts be plumb. You will want to cut the top off the stabilizer housing first and then as close to the tab as possible. This picture shows it better than i can describe it.
    [ Guests cannot view attachments ] 48817[/ATTACH] [ Guests cannot view attachments ] 48818[/ATTACH]
    I tried a few different things to make new stabilizer retention clips. The problem is that the stabilizer bar is 2mm in diameter, and the key caps come down to 3mm over the barrel plate - leaving just 1mm for the stabilizer clips. What I have decided to go with is made from this. First break off the two thin tabs near the base. Bend the metal up 1/4" from the rounded end and fold over the stabilizer bar. Butt the bent end against a barrel and mark the clip for trimming just above the slot. Trim the clip and affix with JB Weld or other metal glue. Finish with a coat of black paint.
    [ Guests cannot view attachments ] 49214[/ATTACH] [ Guests cannot view attachments ] 49215[/ATTACH]


    [h=3]- USB Controller[/h]I wired up a Teensy to use with Soarer’s Converter code. I created a key remap text file and applied it to the Teensy. I tested it out using AquaKeyTest and found that two of the keys did not get remapped properly; Backslash and keypad Enter. The Backslash was a stupid error - I read the table poorly and called the key FAKE_07 instead of FAKE_06. The keypad Enter was something else. AquaKeyTest said that my keyboard registered this spot as F11 - so I remapped F11 to PAD_ENTER also and everything came out OK.

    [ Guests cannot view attachments ] 44851[/ATTACH] [ Guests cannot view attachments ] 44852[/ATTACH] [ Guests cannot view attachments ] 44853[/ATTACH]

    Code: [Select]
    # Billy's AT layout

    remapblock
        F1        ESC
        F2        PRINTSCREEN
        F3        MEDIA_MEDIA_SELECT
        F4        MEDIA_PLAY_PAUSE
        F5        MEDIA_PREV_TRACK
        F6        MEDIA_NEXT_TRACK
        F7        MEDIA_VOLUME_DOWN
        F8        MEDIA_VOLUME_UP
        F9        APP
        F10        LGUI
        ESC        CAPS_LOCK
        FAKE_19        PAD_SLASH
        FAKE_06        BACKSLASH
        LCTRL        FN1
        LALT        LCTRL
        FAKE_02        LALT
        FAKE_04        RALT
        CAPS_LOCK    RCTRL
        FAKE_03        PAD_ENTER
        F11        PAD_ENTER
    endblock

    layerblock
        FN1 1
    endblock

    remapblock
    layer 1
        1    F1
        2    F2
        3    F3
        4    F4
        5    F5
        6    F6
        7    F7
        8    F8
        9    F9
        0    F10
        MINUS    F11
        EQUAL    F12
        F4    PAUSE
        F7    MEDIA_MUTE
    endblock

    Offline fohat.digs

    • * Elevated Elder
    • Posts: 6462
    • Location: 35°55'N, 83°53'W
    • weird funny old guy
    IBM PC AT Modification Log
    « Reply #1 on: Tue, 10 January 2012, 08:14:39 »
    Look at the board and see your options. This is the larger 122 model.

    [ Guests cannot view attachments ] 37161[/ATTACH]

    On the 122-key terminal board, the pair of contacts to the left of "5" is the spacebar. To the right of "5" is Right Alt (below ?), then an open area, then Right Control (below the right half of Right Shift). I do not know what that little contact is for, but it not a switch. To the left of "5" are 3 contacts. The far left is Control (under the left 2/3 of Left Shift), the one closest to the spacebar is Alt (under Z X), and the middle one (under the right 1/3 of Left Shift and Z) is unused. On my boards, there is actually a plastic part of the case over that space.

    The metal plate has another hole to the right of Left Alt (which would protrude under the spacebar), without a contact under it, but does not have a hole for the contact between Left Control and Left Alt. Very curious.

    Meandering post, but it might be possible to drill a 1/2" diameter hole for another key (the dreaded Windows?) between Left Control and Left Alt to utilize that switch, but it could not have a corresponding mate on the right. I can't see how the other hole could ever work unless there is an altogether different spacebar available.

    Otherwise, moving barrels makes it rather easy to change the configuration, for those of you who did not know all this already.
    « Last Edit: Tue, 10 January 2012, 09:35:44 by fohat.digs »
    State Freedom Caucus News 2024
    Missouri state Senator Nick Schroer sponsors a bill that would allow senators to duel one another — in the Senate chambers! – legally.

    Offline Soarer

    • * Moderator
    • Posts: 1918
    • Location: UK
    IBM PC AT Modification Log
    « Reply #2 on: Wed, 21 March 2012, 08:39:04 »
    wcass, that's turned out really sweet! Seems like you had your work cut out for you, looking at the 'before' pictures, but it's paid off handsomely!

    I mean... ewwww... I don't wanna know what this was on the keys!!! ...


    Offline wcass

    • Thread Starter
    • Posts: 506
    • Location: Fort Lauderdale, FL, USA
    IBM PC AT Modification Log
    « Reply #3 on: Wed, 21 March 2012, 08:50:43 »
    thanks, Soarer. i could not have done this without the new version of your controller.

    i'm still waiting of a few key caps and putting together pictures and instructions for changing the space and adding the Alt keys. it has been fun.

    Offline andrewjoy

    • Posts: 42
    IBM PC AT Modification Log
    « Reply #4 on: Fri, 27 April 2012, 04:17:01 »
    This has to be the best model F mod i have seen

    I think i will be doing the keys next to the space and the backspace mod note sure if i want to move the function keys to the second layer i kind of like them on the left i may well do a function key for the 9 buttons you would usually get above the arrow keys on a full sized AT style keybord and for F11 and F12 ( second layer of the function keys )

    So the layout would stay the same

    i would reinstate caps lock that is currently mapped to Meta key

    New left alt would be meta key right alt FN key old UNIX style layout for shift would remain

    may also add Fn + backspace as delete

    jsut need to get me

    some model F barrels and switches

    ANSI enter and \|

    model m space bar

    some keys for unicomp FN META ect

    something to act as a stabiliser for the model m space bar

    a controller