Rebuilding and Redesigning a Classic Thinkpad Keyboard

pjmelon

23 Jul 2013, 04:54

I am planning to build a custom usb keyboard based loosely on a thinkpad keyboard.
The trackpoint is very important to me and something I cant do without.

I can get my hand on a thinkpad usb keyboard no problem.
Can I salvage the trackpoint and buttons from the keyboard and use the underlying electronics to connect to my custom keyboard?
To me it seems like a fairly simple way to avoid some messy electronics.

Apologize that this question may have been asked before.

Findecanor

23 Jul 2013, 09:29

There are a few guys who have transplanted trackpoints into other keyboards. How feasible it is depends on the specific circuitry in the donor keyboard. You will have to study the keyboard circuitry once you get it.

What is nearly impossible ... or rather, very difficult to do, is to take the keys from the Thinkpad keyboard and build something new. The parts are too integrated.

pjmelon

23 Jul 2013, 19:51

Thanks for the feedback Findecanor.
My goal was to build a new keyboard using MX switches and separate blank keys and then wire these switches so that they match up with the donor keyboard. For example when I press the letter A it will be wired to set off the A switch on the donor keyboard. Does this make sense and make it any more feasible?

pjmelon

24 Jul 2013, 05:08

I didn't want to hijack another thread or start a new one. But does anyone know where I can find the dimensions for the holes to get the switches cut to. I am looking at MX switches and for the life of me cannot find the dimensions to cut the holes for each of the switches.

mtl

24 Jul 2013, 06:48

14mm square

Findecanor

25 Jul 2013, 23:34

pjmelon wrote:My goal was to build a new keyboard using MX switches and separate blank keys and then wire these switches so that they match up with the donor keyboard. For example when I press the letter A it will be wired to set off the A switch on the donor keyboard. Does this make sense and make it any more feasible?
Yes, that is feasible. Several people have done that. You would have to reverse-engineer the keyboard matrix in the membranes of your Thinkpad keyboard and then build your new keyboard to have that matrix.
Something that you can not do (I'm mentioning it only because others have asked) is to make the new keyboard have N-key rollover by adding diodes into the matrix.

pjmelon

26 Jul 2013, 00:03

Sorry stupid question but what is N-key rollover and is it something that I need?

User avatar
webwit
Wild Duck

26 Jul 2013, 00:05


pjmelon

26 Jul 2013, 05:25

So I managed to get hold of some used keyboards including two keyboards removed from thinkpads. Four for ten dollars wasnt bad.
Got a good idea how the matrix is set up. I think I will need a thinkpad usb keyboard to act as a donor, just so that I can get full compatibility.

Here is the layout I will go with.

The other thing I noticed pulling apart another keyboard was that it had two different membrane layers. The closest I can figure out is that pushing the button connects the circuit by bringing the dots on each of the layers together. Can anyone else confirm this for me.
Attachments
2013-07-25 19.40.18.jpg
2013-07-25 19.40.18.jpg (940.39 KiB) Viewed 9275 times
Keyboard Base_orientation1.png
Keyboard Base_orientation1.png (59.84 KiB) Viewed 9275 times

pjmelon

27 Jul 2013, 05:03

Another problem I have run into is the placement of the stabilizer bars and cutting the holes for the stabilizer clips.
Can anyone help me figure out where to locate the holes?

pjmelon

28 Jul 2013, 18:57

Here is the final build.
Now to start getting quotes and start building.
Attachments
Keyboard Base_orientation_layers.png
Keyboard Base_orientation_layers.png (182.54 KiB) Viewed 9207 times

User avatar
Muirium
µ

28 Jul 2013, 19:28

Interesting project. Are you trying to reuse the donor's controller by substituting MX switches into the matrix? If so, are you using the membrane in some way or are you wiring your own identical matrix into the controller?

It's quite a conversion!

pjmelon

28 Jul 2013, 20:13

My plan is to substitute the switches into the matrix so that it replicates the original matrix. My intention is to only use the membrane as a guide on how to wire the matrix. The only part that will have the membrane integrated are the mouse buttons as I will be using the buttons from the donor.

User avatar
Muirium
µ

28 Jul 2013, 20:23

Smart. Membranes can be quite tricky to use. Or perhaps slippery is the word I'm looking for.

pjmelon

28 Jul 2013, 20:52

Looking forward to building and using the keyboard.

User avatar
suka
frobiac

29 Jul 2013, 13:58

So just to get this right: You intend to use the trackpoint and its buttons with the original controller, and want to wire your complete MX-based layout according to the old membrane without using it? If so, let me make two suggestions:

Why not use a teensy or similar controller with custom firmware? That way, you could simplify the wiring to a straight-forward row/column matrix style as Matt3o and others have already documented here, and customize anything in software later. Should be much easier than tracing the membrane, and less error-prone. Also, it gives you the chance to try out different enhancements to your layout later: Macros, more layers or different layouts altogether come to mind. You also might be able to scrap some of the keys on the far right or even top row, depending on your needs.

Given the scope of your redesign I would also consider rethinking your layout: Have you tried a similar arrangement already?
Personally, I am a big fan of separated and rotated halves (ideally totally split), but with my first wing-shaped design similar to this one I made the little mistake of getting the keys just 1mm too close together for this new position, which was not comfortable after longer periods although it looked sane. Before undertaking such an investment both time- and moneywise I'd double check with putty models or cheaper prototypes from wooden plates or even cut donor boards if the result feels acceptable - to me, it doesn't from the looks of it!
I'm certainly extremely biased here, but if you rotate the two halves _and_ keep the original stagger the result will most likely be more difficult to become used to than any more symmetric design like the Truly Ergonomic or the ErgoDox.

Don't get me wrong: if you're sure this is what you want then go right ahead - it will probably not remain your only custom board :D But from my own experience with custom layouts I can tell you that it took more than the mentioned 4 or 5 prototypes to finally come up with my BlueCube that was satisfying enough to use for more than a year, and yet there was still further room for improvement.

pjmelon

29 Jul 2013, 16:53

suka wrote:So just to get this right: You intend to use the trackpoint and its buttons with the original controller, and want to wire your complete MX-based layout according to the old membrane without using it? If so, let me make two suggestions:

Why not use a teensy or similar controller with custom firmware? That way, you could simplify the wiring to a straight-forward row/column matrix style as Matt3o and others have already documented here, and customize anything in software later. Should be much easier than tracing the membrane, and less error-prone. Also, it gives you the chance to try out different enhancements to your layout later: Macros, more layers or different layouts altogether come to mind. You also might be able to scrap some of the keys on the far right or even top row, depending on your needs.

Given the scope of your redesign I would also consider rethinking your layout: Have you tried a similar arrangement already?
Personally, I am a big fan of separated and rotated halves (ideally totally split), but with my first wing-shaped design similar to this one I made the little mistake of getting the keys just 1mm too close together for this new position, which was not comfortable after longer periods although it looked sane. Before undertaking such an investment both time- and moneywise I'd double check with putty models or cheaper prototypes from wooden plates or even cut donor boards if the result feels acceptable - to me, it doesn't from the looks of it!
I'm certainly extremely biased here, but if you rotate the two halves _and_ keep the original stagger the result will most likely be more difficult to become used to than any more symmetric design like the Truly Ergonomic or the ErgoDox.

Don't get me wrong: if you're sure this is what you want then go right ahead - it will probably not remain your only custom board :D But from my own experience with custom layouts I can tell you that it took more than the mentioned 4 or 5 prototypes to finally come up with my BlueCube that was satisfying enough to use for more than a year, and yet there was still further room for improvement.

Thanks for the advice Suka.

Just a quick follow up question.

So how I designed the keyboard was that I took the angle from the Microsoft Natural keyboard and applied this to the split layout. I enjoyed typing on the Microsoft Natural Keyboard but became addicted to trackpoints.

Is it the splitting of the keyboard that will cause the problem or is it the angle or is it both components? It is very hard for me to visualize where the problem is but as you say it is not easy to tell without experience.

The other thing that I noticed from your wing keyboard is that it is quite small, at least from what I can tell. My design is about 45cm from the widest point, does this help to mitigate some of the concerns.

I avoided doing a linear layout because I was concerned that it would struggle to type on my laptop keyboard and that switching between the two would be a nightmare. I went through the switch to Dvorak a year ago and cannot type on Qwerty anymore.

My preference is to have the trackpoint unit positioned close to the where the red dot is (like you have in your builds). I am concerned that if I have to use an extension to control the trackpoint that I will lose the responsiveness if I have to use a stick to connect.

I have a few options:

1.) Have the keyboard split but remove the wing
2.) Change the key spacing
3.) Linear layout (assuming that it is not difficult to switch between the two.

Thanks so much for your help Suka. Any advice here would be appreciated.

I would much rather learn from your experience than make expensive mistakes.

User avatar
Muirium
µ

29 Jul 2013, 17:21

Indeed. One important principle about ergo keyboards, however, is that what's great for one person isn't necessarily much good for another. There's not a single concrete ideal for everyone. So you can only learn so much from anyone else's work: their methods if not their solutions.

But then I've not built one yet!

By the way: is your design flat? I ask because a common strategy in ergos is to angle the halves in more than one dimension, so that the middle of the keyboard is higher from your desk than the left and right edges. I think it's called "tenting". It's about letting your wrists (and arms and shoulders) relax in a more natural position than the posture touch typing on standard keyboards demands. The angle in your diagrams addresses one axis, but there are more.

I'm tempted to go with a completely split design, and learning where and how I can best use it through experiment. (Complexities like how to mount the halves in a working environment, and how to connect them both together and to the computer, are exactly what holds me back from getting started. So you are definitely ahead of me!) The problem with a single piece keyboard is you're stuck with the geometry you chose at the beginning.

pjmelon

29 Jul 2013, 17:55

Yes, going with a completely flat design here for the first iteration. I wanted to try something simple and easy to execute for my first attempt. Down the road I will look at the whole tenting issue. I just wanted to get the angle right to start with.

pjmelon

29 Jul 2013, 18:24

Well got the quote back from a local company based on the design.
The stainless steel portion came in at $170 and the acrylic came in at $140.
I have a few old PS2 keyboards lying around, so I will take a dremmel to one tonight and cut it in half to see how typing on it is at that angle.

pjmelon

30 Jul 2013, 04:50

Ok, thank you very much for the suggestions, they were very useful.

I decided to opt for a split layout as suggested. I am going for a kinesis freestyle type look but with a trackpoint. I intend to keep the staggered key layout. To confirm this, I took one of my old usb keyboards (I have stacks of them) and took a dremel to it and split it exactly the same way that I am looking to.

The change also decreases the amount of stainless and acrylic that I use which will help keep the cost in line.
I also plan to use the teensy as this layout really necessitates the use of a simple keyboard matrix .

Let me know what you think.

My future plan is to use CAD and create something very creative like some of the members here. First my goal is to make something that I can feasibly make.
Attachments
2013-07-29 17.18.02.jpg
2013-07-29 17.18.02.jpg (825.15 KiB) Viewed 9051 times
kb800pb-690x353.jpg
kb800pb-690x353.jpg (58.33 KiB) Viewed 9051 times
Keyboard Base_orientation2_layerspt2.png
Keyboard Base_orientation2_layerspt2.png (39.58 KiB) Viewed 9051 times

User avatar
suka
frobiac

30 Jul 2013, 12:18

Whow, someone is really determined to get this thing rolling :D
pjmelon wrote: Is it the splitting of the keyboard that will cause the problem or is it the angle or is it both components?
The combination of the two can be an issue if you're not entirely sure it fits your needs. That's one reason why I'd suggest to go with a simple split design first (preferably all symmetrical) and find an arrangement that you can comfortably type on before giving up that flexibility and designing a final single pieced board.
pjmelon wrote: I avoided doing a linear layout because I was concerned that it would struggle to type on my laptop keyboard and that switching between the two would be a nightmare.
From my experience, switching between the two is no issue as the split boards are so different that my hands seem to adjust automatically. Also, if you are after an ergonomic solution and already willing to change your layout so fundamentally, I'd take the additional plunge and go linear/symmetric stagger/radically ergonomic (or what it was called in the other thread). After that, any minor changes in column offset I made seemed merely more natural and did not need more than a few minutes to adjust to.
pjmelon wrote: My preference is to have the trackpoint unit positioned close to the where the red dot is (like you have in your builds). I am concerned that if I have to use an extension to control the trackpoint that I will lose the responsiveness if I have to use a stick to connect.
That's what I've been using in my designs mostly due to the lack of space elsewhere, but with the recent integration of the TP right in the index-finger cluster and an extension I am more than happy. Of course this is only feasible if you can accomodate the extra height, either through tenting or a sloped design, but the smaller footprint and ability to stay on the homerow make it worth it. Through register settings you may be able to fine-tune the parameters of the TP directly so it does feel similar to an original setup - my needle extension feels a lot different now, but I've come to like the low-force / immediate response.
pjmelon wrote: 1.) Have the keyboard split but remove the wing
2.) Change the key spacing
3.) Linear layout (assuming that it is not difficult to switch between the two.
Seeing how fast you already went ahead in testing your layout, my previous points are probably moot. If _you_ feel comfortable with that setup, just go ahead, although personally I would assemble a functional prototype for testing first before ordering expensive and hard to reuse parts such as all the plates for a complete board. If you have that many old boards around, you could even get away without any plate and just hook up a teensy to them like I did with my initial keyboard from 2 numpads.

If you want to do some more experiments with linear split layouts (or a Hypernano with TP housing), drop me a PM, I might have some prototype frames left.

User avatar
suka
frobiac

30 Jul 2013, 12:38

Muirium wrote:Indeed. One important principle about ergo keyboards, however, is that what's great for one person isn't necessarily much good for another.
How very true! But that is exactly the reason I advocate split boards for their flexibility, so that everyone can find a comfortable position. When it comes down to the individual layout of the keys, there is not much freedom in laying out the normal matrix. But you can see from the ErgoDox discussions that while most users do not seem to mind the selected column stagger, many find the thumbkey positions not optimal for their hands, so yes, nothing beats individual testing.
Muirium wrote:I'm tempted to go with a completely split design ... Complexities like how to mount the halves in a working environment, and how to connect them both together and to the computer, are exactly what holds me back from getting started.
You would not want to see my previous setups during testing the split layouts: from putty, books wrapped in cloth, styrofoam, a soldering helping hand and boxes there was hardly anything around my desk that hasn't served as a stand. And although the detachable cable of the ErgoDox is very appealing, I'd rather go with a simple USB3 connection between my halves on a next iteration. Than again, the fixed cable is really just a minor nuisance when transporting it, and adds nothing to the usability for typing at all...
Muirium wrote:The problem with a single piece keyboard is you're stuck with the geometry you chose at the beginning.
The biggest problem with a single keyboard is you will most likely not use it anymore after having used split boards :D Apart from it not looking quite as geeky and being slightly easier to slip in a bag for transportation there really is no point for me to use my only single-pieced board much.

pjmelon

31 Jul 2013, 04:51

Ok so I had a crack at doing a linear layout. By symmetrical I assume you mean linear layout.

Definitely not perfect, need to adjust the positioning a bit.
I tried to use existing keycaps where ever possible, as it will minimize the number of blanks I need to buy.

Suka: I tend not to mess around when I get into something, I am hoping to have something sent off for laser cutting within the next week. I have some super crazy ideas along the lines of some of your projects but want a good grounding beforehand.
Attachments
Keyboard Base_orientation2_layerspt3.png
Keyboard Base_orientation2_layerspt3.png (17.2 KiB) Viewed 9000 times

User avatar
Muirium
µ

31 Jul 2013, 10:57

Symmetric stagger:
Image
Webwit's μTRON. Standard staggering on the right, but the mirror image on the left.
Image
And on Jesse's custom.
Image
I like the look of this one especially!

What you're doing is a matrix layout. Like this:
Image
I have that very keyboard on my desk. It takes a little getting used to, let me tell you! I find the P key a real stretch, because it's further out to the right than on standard stagger. Pure matrix keyboards make sense for point of sale and other specialised purposes (they often have relegendable keys and are always programmable) but they are not exactly ergonomic.

Jesse's post also has another model with good ideas:
Image
Note the keys being moved to match the hands, rather than the ruler. That's more like it!

For more on staggering, there's the wiki.

User avatar
ماء

01 Aug 2013, 13:41

Yes, μTRON have Ambidextrous Staggering

What good spacebar?
Spacebar regular or space like Ergodox? or They same

User avatar
Muirium
µ

01 Aug 2013, 14:47

If you have two thumbs, you should have two space bars. Obviously!

Really there's no one true best way. That's why there's so many different kinds of ergo keyboards. Experiment! Find your answer.

pjmelon

02 Aug 2013, 04:57

Which is the easiest to configure and best for the project? Teensy 2 or Teensy 3.
Also are there tutorials on how to configure the Teensy for this purpose?

User avatar
Muirium
µ

02 Aug 2013, 13:25

One tutorial coming up:

http://deskthority.net/workshop-f7/brow ... ml#p116902

Teensy 2 is the go-to hardware for a custom controller. It's plenty fast and capable for the purpose, and damn small, which really helps.
Image
Image
Whenever people need more pins, they go up to the Teensy++ 2, which has plenty. The Teensy 3's advantage is its more powerful hardware for situations more demanding than keyboard control. As I understand, it's backwards compatible with Teensy 2 binaries, if you already have one.

JBert

02 Aug 2013, 13:37

Muirium wrote:As I understand, it's backwards compatible with Teensy 2 binaries, if you already have one.
I haven't got a Teensy 3, but I don't think that's the case. I believe you can recompile your Teensy 2 C-code without too much trouble, but the binary "hex" files uses different instruction sets and hence might not run on the ARM processor of the Teensy 3.

Post Reply

Return to “Workshop”