Bringing the IBM PC XT into the 21st Century

User avatar
wcass

01 Jul 2012, 17:36

The IBM XT keyboard has a fantastic feel but the key layout is ... not great. For years it has been the ugly stepchild next to the AT, Model M, and SSK. It uses the XT protocol, so is not natively compatible with any computer made in the last 30 years and no one actually likes where the keys are on this thing, they just love the feel.

For the last few months I have been investigating the feasibility of modifying a Model F XT keyboard. I’ve hinted about this in a few threads here and at GH and at the urging of a few members, I’d like to crowdsource this idea. A design goal for the project is to re-use as much of the original keyboard as possible while adding popular elements of modern keyboards such as improved key layout, USB connectivity, programmable keys, and maybe backlighting.

My research suggests that this can be accomplished by adding Soarer’s adapter and changing only two significant parts; the matrix PCB and the metal top plate (barrel frame). As an incentive for your participation in this project, I offer you recognition here and also the fruits of your collective labors – a group buy of the new parts along with easy to follow instructions. The PCB, barrel frame, and pad “conversion kit” should run between $30 and $60 each depending on quantity ordered. Teensy, custom keys, and IBM XT would not be included at this price, but many of you may already have these.

If this project is a success, I expect that it will stir interest and spin off similar projects like a capacitive buckling spring mini or ergonomic. But these ideas will likely require a different controller and case than the original IBM PC XT keyboard.

To make this a true community project, I encourage anyone interested in this to read the list of challenges below. If you are interested in doing one of these, accept the challenge and submit your results. As the “Crowdsourcer”, I get to decide who wins the challenges and will give credit where credit is due. People who contribute significantly to the project will be offered first dibs on the kits. Kits will come with a personalized, numbered and dated label for the keyboard bottom or backplate.

Challenges:
• Suggest a name for the keyboard (complete: XTant)
• Suggest features to include (backlight option)
• Suggest new challenges (ongoing)
• Define and list all the physical characteristics of the XT (ongoing)
• Suggest a key layout. Must use keycap shapes currently available from Unicomp and must not exceed defined limits of XT (16”x4”, 83 keys) (done - see text)
• Submit ideas/artwork for labels (done)
• Use “XT definition” to design a PCB with a single key (done)
• Build the test design and verify that it registers keystrokes when connected to the controller (in progress)
• Incorporate the lessons learned in the design test to produce files needed by a PCB vendor (waiting on test)
• Produce files needed for barrel frame and pad production (in progress)
• Get quote based on PCB design with shipping cost to Americas, Asia, Europe (waiting on PCB draft)
• Get quote based on frame design with shipping cost to Americas, Asia, Europe (waiting on frame draft)
• Get quote based on pad design with shipping cost to Americas, Asia, Europe (waiting on pad draft)
• Run a group buy (wait on successful pre-production run)

Common Questions and Answers:
Q: Will the PCB be curved?
A: The PCB in the XT is flat. But it is thin enough to be bent to a curve by the top and bottom metal plates. This feature allows IBM/Unicomp keycaps to have the same side profile regardless what row they are on – and makes it simple to convert to Colemak, Dvorak, ISO or ANSI. All of these will be supported using the same kit parts.

Q: How many key rollover?
A: Full NKRO over USB thanks to Soarer’s converter and the capacitive switch.

Q: How does the Teensy detect capacitance?
A: It doesn’t. That is done by the original XT controller. The Teensy with Soarer’s code on it converts the signals from XT format to USB format, changes the value , and controls the LEDs. Both old controller and Teensy will be inside the keyboard case.

Q: What about key stabilizers?
A: We will be using the same stabilization as on the Model M. The space key uses an anti-roll bar with mount points on the key and barrel frame. Double-wide and double-high keys use a standard barrel with an insert instead of a buckling spring. The inserts and roll bar are available from Unicomp.

Q: Can I get key caps with non-standard legends?
A: You are going to have to ask Unicomp that. What I can tell you is that they have no problem printing keys with any of the legends available on any of the other models – even on non-standard key sizes. For example, they made me a “Caps Lock” on a standard single key, “Fn” on a caps lock key, and keys with media symbols on them. Unicomp's quality dye sub on PBT key caps are also very reasonably priced.

Q: This looks cool, but I have never done anything like this before. Could I just get someone to do this for me?
A: Actually this is going to be pretty easy. You will need to solder 20 wires to connect the matrix to the controller, and 4 wires to connect the controller to the Teensy to convert XT to USB. Additional wires would be needed for the optional lock LEDs and backlighting. If you don’t think you have the skills to do this, I’m sure another keyboard enthusiast would offer this service at a reasonable price. Check for offers in the comments to this post.

Q: Will there be a replacement badge?
A: Maybe. Let’s see some artistic suggestions.
Last edited by wcass on 24 Jul 2012, 03:24, edited 1 time in total.

mintberryminuscrunch

01 Jul 2012, 17:50

Names
Model F NG (next generation)
Model F U (for USB, I like this one in particular)
Wcass Model F

Btw. Great idea and project.

User avatar
wcass

01 Jul 2012, 17:54

the case trim that separates the function keys from the rest of the keyboard could be trimmed away giving us a space 16"x4". this would fit in there nicely. home, page up, page down, end could be on one side and arrow keys could be on the other. i would use the "caps lock" key as my function key, but others may want to make that a Control and use one or two of the bottom row keys as Fn keys. i would put the three lock keys at the top right - LEDs above these. changing which barrels get springs would allow for ISO enter and left shift.
FX.jpg
FX.jpg (45.26 KiB) Viewed 26641 times

User avatar
AKIMbO

01 Jul 2012, 18:44

I love the name Model F NG.

Here's my take on a proposed layout. It has all the keys a normal TKL does...plus media keys (vol up, vol down, play, pause, next track, prev track). The only key that I completely did away with was capslock, but who will miss it! It also doesn't have a right windows key.

Image

User avatar
webwit
Wild Duck

01 Jul 2012, 19:21

I'd love to see this happen.

User avatar
nathanscribe

01 Jul 2012, 20:36

Hmm, I like the idea of Caps Lock -> Fn. Coupled with the number row->Fn it makes them easier to reach.

How about Esc just to the left of Fn, then? That would make it nicely accessible via little finger, with minimal wrist movement. I like the idea of a cluster to the left of the main block, but not so much it being a mirror image to the usual right-hand end.

User avatar
wcass

01 Jul 2012, 21:53

here is where we will cut the controller:
controller1.JPG
controller1.JPG (56.42 KiB) Viewed 26587 times
from the other side with rows numbered and columns lettered:
controller2.JPG
controller2.JPG (72.22 KiB) Viewed 26587 times
here is a close up of the front top right of the matrix:
matrix top.JPG
matrix top.JPG (217.98 KiB) Viewed 26587 times
and the same spot from the back (mirrored):
matrix back.JPG
matrix back.JPG (170.07 KiB) Viewed 26587 times

User avatar
wcass

01 Jul 2012, 22:42

AKIMbO wrote: Here's my take on a proposed layout. It has all the keys a normal TKL does...plus media keys (vol up, vol down, play, pause, next track, prev track). The only key that I completely did away with was capslock, but who will miss it! It also doesn't have a right windows key.
Key assignments are 100% up to you!
All keys can be re-assigned to anything else. Want the space bar to be the letter A - fine; just change one line of code. This is a keyboard for people that like to customize. If you don't like to customize - fine; grab one of the configuration files that will be posted here.

What i'm looking for with the layout challenge is where to place the keys.
nathanscribe wrote: How about Esc just to the left of Fn, then? That would make it nicely accessible via little finger, with minimal wrist movement. I like the idea of a cluster to the left of the main block, but not so much it being a mirror image to the usual right-hand end.
Good idea. But we are limited to 83 keypads. We are using 63 under the alphanumeric keys (2 for left shift and 2 for enter – required for ISO convertibility). The right shift has only one live switch, but uses two barrels (one for the stabilizer). The backspace key is still using two keypads – could take one there, but for every “extra” key added it means that you will need to find a source for barrels. The downside of the layout I suggest is that it does require one more barrel than what comes with the XT.

Try your hand at rearranging the keys in a way that incorporates that spot but still only uses 19 keys in 6 columns outside of the alphanumeric. Remember, you can use 1.25, 1.5, and double-wide keys.

User avatar
didja

01 Jul 2012, 22:56

Love this idea!

You should incorporate XT in it to designate which board it was based off of. Since there were multiple model F's, you could end up with confusion if other boards get mods.
Last edited by didja on 01 Jul 2012, 23:12, edited 1 time in total.

User avatar
AKIMbO

01 Jul 2012, 22:58

What about a layout like below? It would alleviate the need to cut out the bar that runs parallel to the function keys.

Image

Please excuse my poor paint skills^

Findecanor

01 Jul 2012, 23:10

I don't think that the layout with three columns on the left would fit. Note that the Model F XT has only a 1-unit wide Enter key and a 1 3/4 wide Backspace key, and the partition to the function keys is 1/2 keys wide. The area available for keys is therefore 21 1/4 wide with the partition removed. The main keyboard area needs 15 units. Then you are left with 6 1/4 for six keys + new partition. This means that each new partition must be 1/8 unit wide, and 1/8 units wide is 1.78 mm including space on each side. We don't have these tolerances.

Will Unicomp be able to provide Model F key caps? I have read that they are different from Model M key caps. Model M key caps should "work" on Model F .. but do they function just as well, or is there a difference in feel?
... or are we talking about two-part key caps here and Unicomp making only tops?

Will there be both ANSI and ISO layouts? Possibility to get HHKB-like layout, with two small keys instead of one two-unit backspace?
As an ISO user, I would prefer the right Alt key to be positioned under '.' as on a typical winkeyful keyboard. That is actually a more symmetric position for the Alt key, because there being more keys on the right hand's side.

If the key groups are going to change, then we would also need inserts to place where we have made space.

There was someone on Geekhack who discovered that Model F AT had a few extra capacitative pads, added keys to these positions -- and they worked! No extra pads on the XT PCB? ;) *crossing my fingers*.

I can brainstorm some names, but none that is very good:
* "Model Foenix" (as in the keyboard being reborn like the bird)
* "neXT Model F"
* "Model F Deskthority Edition"
* "Model F XTended"
* ... and one that is just bad: "Model F XTreme" :P

User avatar
nathanscribe

01 Jul 2012, 23:21

That's kind of what I imagined - it's hardly original, but it's neat and keys could be repositioned within it. My other thought was a wider gap between those two columns to aid differentiation. I don't know about anybody else but I find it very easy to hit the wrong keys in the Ins/Del (etc.) block and would expect to find the same thing on the left - even a slight gap between columns might help make sure that didn't happen.

User avatar
didja

01 Jul 2012, 23:23

Findecanor wrote:There was someone on Geekhack who discovered that Model F AT had a few extra capacitative pads, added keys to these positions -- and they worked! No extra pads on the XT PCB? ;) *crossing my fingers*.
* "Model F XTended"
Model F XTended, or XTended Model F sounds awesome.

Here's a Model F AT that you might be referring to. (Not trying to hijack)
http://deskthority.net/keyboards-f2/ibm ... tml#p57943

User avatar
wcass

02 Jul 2012, 00:00

PCB Info:
The board is .031” thick with two copper layers. Copper weight is unknown (does anyone know how to test for this?). The matrix part of the PCB is 16.6”x 4.8”
Each capacitive switch is composed of three rectangular pads:
• a row pad is .500” tall, .250” wide, and is on the top copper layer
• a column pad is .500” tall, .300” wide, and is on the bottom copper layer
• the third pad is exactly the same size as a column pad, but is on the top layer directly above the column pad; this pad is not connected to anything; if there is not a proper name for this pad, I dub it the “magic pad”
• distance between a row pad and the magic pad is .050”
• two .085 diameter dots are at the top corners of each switch; like the magic pad, these are not connected to anything; I will be referred to these as “magic dots”
• standard switch width is .750”; standard height is .825”
• row and column traces look to be .025” wide
• minimum distance between traces looks to be .025” also
• row lines normally run .175” above the top edge or .100” below the bottom edge of a row pad
• the bottom of a bottom row pad is .200” from the bottom edge of the PCB
• the top of a top row pad is .800” from the top edge of the PCB
• the left side of a left most column pad is .400” from the edge of the PCB
• the right side of the right most column pad is .400” from the edge of the PCB

User avatar
wcass

02 Jul 2012, 00:54

Findecanor wrote:I don't think that the layout with three columns on the left would fit. … Then you are left with 6 1/4 for six keys + new partition. This means that each new partition must be 1/8 unit wide, and 1/8 units wide is 1.78 mm including space on each side. We don't have these tolerances.

If the key groups are going to change, then we would also need inserts to place where we have made space.
My measurements give me a little more room than what you quote; 6 1/3 keys. For that layout, I would not put in any partition – just 2.54mm (.1”) gap on either side. You would see the barrel plate there and in the big gaps between the navigation keys. But I would paint my barrel plate a nice bright color, so I think it would look nice. Again, this is just one idea for layout – please submit!
Will Unicomp be able to provide Model F key caps? I have read that they are different from Model M key caps. Model M key caps should "work" on Model F .. but do they function just as well, or is there a difference in feel?
... or are we talking about two-part key caps here and Unicomp making only tops?
I have used new Unicomp and model M keys on an AT mod with no noticeable difference to stock keys at all. The only difference between an AT barrel and an XT barrel is the location of the lock notch, so there should be no issue.
Will there be both ANSI and ISO layouts? Possibility to get HHKB-like layout, with two small keys instead of one two-unit backspace?
Yep. You can get both ANSI and ISO with one PCB/frame combo. And yes, you can split the backspace into two keys.
As an ISO user, I would prefer the right Alt key to be positioned under '.' as on a typical winkeyful keyboard. That is actually a more symmetric position for the Alt key, because there being more keys on the right hand's side.
It could be part of the final layout, but we would need to move a key from one of the sides. We are limited by the number of keys on the XT.
There was someone on Geekhack who discovered that Model F AT had a few extra capacitative pads, added keys to these positions -- and they worked! No extra pads on the XT PCB? ;) *crossing my fingers*.
No extra keypads, but we are building a new matrix, so it would be possible to add extra keypads. But we don’t know yet if any of these will work. The controller is 8x12 for 96 keys as a theoretical max, but we are sure of only 83 of these combinations. Even if the controller does spit out something for the 13 unassigned keys Soarer’s code may not understand it. We will know more once a “single key test switch” has been made.

User avatar
wcass

02 Jul 2012, 01:04

AKIMbO wrote:What about a layout like below? It would alleviate the need to cut out the bar that runs parallel to the function keys.

Image

Please excuse my poor paint skills^
Good idea. It is one key narrower so the space between the alphanumeric and navigation keys will be a tad wider than what you are used to on a tenkeyless. I could do a mock-up if you like.

User avatar
AKIMbO

02 Jul 2012, 01:24

wcass wrote:
AKIMbO wrote:What about a layout like below? It would alleviate the need to cut out the bar that runs parallel to the function keys.

Image

Please excuse my poor paint skills^
Good idea. It is one key narrower so the space between the alphanumeric and navigation keys will be a tad wider than what you are used to on a tenkeyless. I could do a mock-up if you like.
Yes, please do a mock up.

User avatar
wcass

02 Jul 2012, 02:35

This has got the border on it. Also, all 83 keys are shown. Left shift is split (ISO), backspace is split (Happy Hacker), enter is split (ISO would be double high, ANSI would be double wide). I just dropped the navigation keys in, but there is .80" of space to split up for left and right of the navigation keys.
Akimb0.jpg
Akimb0.jpg (44.85 KiB) Viewed 26431 times
I just thought of something. If we make all of the navigation keys 1.25 wide then it fills in the extra space. I'll do a mock up of that.
Akimb02.jpg
Akimb02.jpg (45.42 KiB) Viewed 26428 times

User avatar
AKIMbO

02 Jul 2012, 02:57

Akimb02 is more aesthetically pleasing for sure. Maybe someone who's used the KBT Race keyboard can chime in on how 1.25 keys work as arrow keys. I know the race uses enlarged arrow keys similar to the Akimb02 layout.

What would be the plan for the empty space between the arrow keys and the 6 keys above it?

User avatar
wcass

02 Jul 2012, 04:12

AKIMbO wrote:What would be the plan for the empty space between the arrow keys and the 6 keys above it?
The barrel plate will show through. I personally plan to paint my barrel plate a bright color - blue, red, or green.

User avatar
wcass

02 Jul 2012, 04:31

Here's a starting point for the guys that like a split keyboard. What you see displayed uses 68 barrels leaving you with 15 barrels to use elsewhere. The split in the middle is just over 4".
split.jpg
split.jpg (38.95 KiB) Viewed 26412 times

User avatar
graboy

02 Jul 2012, 05:33

IBM XT+
IBM XT Pro

Detachable USB?

User avatar
wcass

02 Jul 2012, 06:56

graboy wrote:Detachable USB?
Optional.

I need a volunteer or two. Do we have any KiCAD/Eagle people out there? All units below are in inches.
Do we have anyone with experience with DIY etching? I have enough .031 thick double sided 1oz to make a bunch of these, but have no experience.
single key PCB top.jpg
single key PCB top.jpg (48.49 KiB) Viewed 26397 times
single key PCB bottom.jpg
single key PCB bottom.jpg (40.99 KiB) Viewed 26397 times

andrewjoy

02 Jul 2012, 12:45

I need to snag an XT f now damit.

This could do me if i cannot get my 122key i am after

User avatar
Icarium

02 Jul 2012, 23:56

Great idea! Wanted to do something similar for a while.

Do you know how exactly the switches work, yet?
What exactly does the PCB have to look like?
There seems to be one pad on either side with one having this "shield" around it. I assume it is grounded? Do you know why it's necessary?

Another question: Why is this for the XT only, not the AT?

User avatar
Soarer

03 Jul 2012, 00:28

Because it would be sacrilege to butcher an AT for this!!!

TBH I'm not sure it's fair on the XT, either, but it's got no modding potential otherwise, unlike the AT.

Sorry, the Soarer is not a fan of tenkeyless... OTOH, I love the hackery that this would involve. Mixed feelings.

User avatar
wcass

03 Jul 2012, 04:31

Icarium wrote:Great idea! Wanted to do something similar for a while.

Do you know how exactly the switches work, yet?
What exactly does the PCB have to look like?
There seems to be one pad on either side with one having this "shield" around it. I assume it is grounded? Do you know why it's necessary?
I have a copy of the IBM patent and several other derivatives around here somewhere, but -not being an EE, i don't pretend to understand it. as near as i can tell, the switch is composed of 3 pads and the hammer. one of the pads is charged and - due to the position of the other pads, some of the potential energy is stored electromagnetically across all the pads. when the hammer strikes, it adds another "pad" and potential energy is shifted around. the controller is connected to one of the pads and detects this change and registers this as a key press. the type of capacitor formed by the pads is polar - serving the same purpose as the diodes in conductive switches.

this might also be useful reading
http://en.wikipedia.org/wiki/Capacitive_sensing
Another question: Why is this for the XT only, not the AT?
Soarer wrote:Because it would be sacrilege to butcher an AT for this!!!
Soarer is right - the AT is pretty useable stock and with minor mods is really very nice. Here is a picture of one i tweaked. The Ctrl key/caps lock became a function key; the three lock keys are just below the LEDs; Win and Menu (with alternate symbols) are at the bottom left below the media keys.
AT.JPG
AT.JPG (103.82 KiB) Viewed 26268 times
Soarer wrote:TBH I'm not sure it's fair on the XT, either, but it's got no modding potential otherwise, unlike the AT.

Sorry, the Soarer is not a fan of tenkeyless... OTOH, I love the hackery that this would involve. Mixed feelings.
I would argue that the tenkey on the XT is almost unusable. A triple-high plus !? And remember that the XT only has 83 barrels. The AT had extra barrels because it was the first to use these as stabilizers. That said, it would be possible to put a proper tenkey on the right side, but it would use all of the 20 available barrels, so nothing for the left side block.

Here is a the XT matrix:
matrix.jpg
matrix.jpg (43.28 KiB) Viewed 26268 times
and some name suggestions:
NXT - for New XT - pronounced "next" as in "This is my NXT keyboard."
modFX - a contraction of "Model F XT", but mod also suggest "modification" and "modern".

User avatar
riffraff

03 Jul 2012, 06:06

Glad to see this post made it on deskthority, I'll try to contribute a bit soon, just been dealing with some big issues lately.

User avatar
Soarer

03 Jul 2012, 14:10

wcass wrote:Soarer is right - the AT is pretty useable stock and with minor mods is really very nice.
Indeed, and of course it's possible to split insert into two keys and have a tenkeyless style layout.
Soarer wrote:TBH I'm not sure it's fair on the XT, either, but it's got no modding potential otherwise, unlike the AT.

Sorry, the Soarer is not a fan of tenkeyless... OTOH, I love the hackery that this would involve. Mixed feelings.
wcass wrote:I would argue that the tenkey on the XT is almost unusable. A triple-high plus !? And remember that the XT only has 83 barrels. The AT had extra barrels because it was the first to use these as stabilizers. That said, it would be possible to put a proper tenkey on the right side, but it would use all of the 20 available barrels, so nothing for the left side block.
The XT's numpad layout is quirky, but certainly not unusable! I know a few people have used my converter on them, so I hope at least some of those are actually being used. There is something pure about using old keyboards 'as is' that I appreciate.

User avatar
Soarer

03 Jul 2012, 14:30

wcass wrote:... the type of capacitor formed by the pads is polar - serving the same purpose as the diodes in conductive switches.
I don't think it's polar - it doesn't need to be. When the switch is closed, the capacitance is lowered which when strobed increases the rate of change of voltage at the sensing side, hence increasing the voltage sensed at a given time after the strobe above some threshold in the sensing circuit. Any other path to the sensing would have to go through multiple switches, but the switches in other columns have their strobe lines grounded which I guess quells the signal.

Post Reply

Return to “Workshop”