You may very well be entirely right! The only Teensies I've ever dealt with are Teensy 2's. They're essentially perfect for this work.JBert wrote: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.Muirium wrote:As I understand, it's backwards compatible with Teensy 2 binaries, if you already have one.
Rebuilding and Redesigning a Classic Thinkpad Keyboard
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
-
- Main keyboard: Thinkpad
- Main mouse: Trackpoint
- Favorite switch: MX
- DT Pro Member: -
Excellent, I have ordered two teensy 2.0's. I am not 100% certain on the exact layout that I will use. Suka is going to help me with a frame so that I can iron it all out. I am leaning toward a staggered layout but having the frame will help me make the decision.
Will order a set of blank DSA keycaps from Signature Plastics. the lack of sculpturing will give me the ultimate flexibility. I will also order some red cherry mx switches and diodes.
Yay, excited to get this project moving and will post updates as I go along
Will order a set of blank DSA keycaps from Signature Plastics. the lack of sculpturing will give me the ultimate flexibility. I will also order some red cherry mx switches and diodes.
Yay, excited to get this project moving and will post updates as I go along
-
- Main keyboard: Thinkpad
- Main mouse: Trackpoint
- Favorite switch: MX
- DT Pro Member: -
Changed my mind and got the switch sampler from WASD. The Cherry MX Clear are tempting but wanted to compare them to the blue. Easier if I had all of them to compare at the same time.
Still will stick to the blank DSA keys from Signature Plastics, if they are blank I can move them to get either staggered or matrix.
Only thing I don't like about the DSA keys is that I can't find dimensions for anything except the 1*1. At least if I get the keycaps first I can play around and measure them before I get any steel cut.
Still will stick to the blank DSA keys from Signature Plastics, if they are blank I can move them to get either staggered or matrix.
Only thing I don't like about the DSA keys is that I can't find dimensions for anything except the 1*1. At least if I get the keycaps first I can play around and measure them before I get any steel cut.
-
- Main keyboard: Thinkpad
- Main mouse: Trackpoint
- Favorite switch: MX
- DT Pro Member: -
So I finally got some of the keyboard materials. I got my teensy, keycaps and switch trial.
I love the clear MX switch although it was a close call over the brown.
The DSA keycaps were great as well. Does anyone happen to have the dimensions of these keycaps?
I could measure them but would really like high accuracy and would rather avoid buying caliper if I can help it. The Signature Plastics site only has the dimensions for the 1*1 on their site.
I love the clear MX switch although it was a close call over the brown.
The DSA keycaps were great as well. Does anyone happen to have the dimensions of these keycaps?
I could measure them but would really like high accuracy and would rather avoid buying caliper if I can help it. The Signature Plastics site only has the dimensions for the 1*1 on their site.
-
- Main keyboard: Thinkpad
- Main mouse: Trackpoint
- Favorite switch: MX
- DT Pro Member: -
Now that I have had a chance to play around with the teensy I am a little confused.Muirium wrote: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.
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.
Step 8 of matt3o's tutorial covers the teensy firmware but is very general and not what I would consider a tutorial. Does anyone know any more resources on programming the teensy firmware?
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
Matt marked it as something needing a tutorial of its own, actually. I'll know more when I get that far with my project. I've flashed a Teensy with Soarer's converter firmware so I know that bit. Dead easy, in fact. The complex stuff lives in modifying Hasu's code when making a controller. I believe you edit the matrix definition to match your physical layout, then compile and upload to the Teensy.
-
- Main keyboard: Thinkpad
- Main mouse: Trackpoint
- Favorite switch: MX
- DT Pro Member: -
I agree, it is something that would need a tutorial later on.
I have managed to get to the stage where I have taken hasu's firmware and have managed to compile it and upload it to the teensy. I do not know whether it works or not but I have no problems uploading firmware so am confident. It is building the matrix that is the bit that I am struggling with. What is life without a challenge.
I have managed to get to the stage where I have taken hasu's firmware and have managed to compile it and upload it to the teensy. I do not know whether it works or not but I have no problems uploading firmware so am confident. It is building the matrix that is the bit that I am struggling with. What is life without a challenge.

-
- Main keyboard: Thinkpad
- Main mouse: Trackpoint
- Favorite switch: MX
- DT Pro Member: -
Thanks to Suka I have a keyboard frame for an early prototype. The goal here is figure out whether the staggered layout works for me. I have assembled the keys in a 4 *12 Matrix.
I have attached images of the layout as well as the frame itself. My goal is to use the mod key to access the second layer.
I have managed to get Hasu's code and played around with the GH60. What I am struggling to do is to code the teensy 2.
Can anyone help me customize the GH60 code so that I can get this keyboard working?
Again thanks Suka for the frame, greatly appreciated
I have attached images of the layout as well as the frame itself. My goal is to use the mod key to access the second layer.
I have managed to get Hasu's code and played around with the GH60. What I am struggling to do is to code the teensy 2.
Can anyone help me customize the GH60 code so that I can get this keyboard working?
Again thanks Suka for the frame, greatly appreciated
- Attachments
-
- Keymap.png (26.6 KiB) Viewed 6490 times
-
- 2013-08-25 19.52.15.jpg (354.21 KiB) Viewed 6490 times
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
how did you connect the rows/cols to the teensy?
-
- Main keyboard: Thinkpad
- Main mouse: Trackpoint
- Favorite switch: MX
- DT Pro Member: -
I havent as yet done the soldering, I was planning to connect them as you did in the tutorial. Just imagine that the two halves are joined together like you did in the tutorial. I was unsure on what pins to connect it to on the teensy.
I can do the soldering tonight and post a picture for your if you need that information.
I can do the soldering tonight and post a picture for your if you need that information.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
okay let's say it is a standard keyboard. You have 4 rows and 12 cols. Very easy.
You could connects the cols to PB0,1,2,3,7,PD0,1,2,3,PC6,7,PD5
And the rows to PF0,1,4,5. This is just a suggestion, you can do whatever you want, just remember to skip pin PD6.
With this config it should be pretty easy to compile a firmware. When you confirmed the wiring we can proceed to coding.
You could connects the cols to PB0,1,2,3,7,PD0,1,2,3,PC6,7,PD5
And the rows to PF0,1,4,5. This is just a suggestion, you can do whatever you want, just remember to skip pin PD6.
With this config it should be pretty easy to compile a firmware. When you confirmed the wiring we can proceed to coding.
- ماء
- Location: Solo, ID
- Main keyboard: Soon
- Main mouse: Roccat Lua
- Favorite switch: Blacks to heavy>Lighter
- DT Pro Member: -
What plate you use,stainless,alum,acyrylic or what?pjmelon wrote:Thanks to Suka I have a keyboard frame for an early prototype. The goal here is figure out whether the staggered layout works for me. I have assembled the keys in a 4 *12 Matrix.
I have attached images of the layout as well as the frame itself. My goal is to use the mod key to access the second layer.
I have managed to get Hasu's code and played around with the GH60. What I am struggling to do is to code the teensy 2.
Can anyone help me customize the GH60 code so that I can get this keyboard working?
Again thanks Suka for the frame, greatly appreciated
-
- Main keyboard: Thinkpad
- Main mouse: Trackpoint
- Favorite switch: MX
- DT Pro Member: -
The frame is 3D printed plastic (Suka can confirm material) Took a picture of the underside so you can see how it is mounted. It is very tough and has little flex.
I am starting to do the soldering now so will post it once it is all done. I may have been a little ambitious as to how quickly I could solder it all together. Moving house in two weeks so hopefully I get the basic soldering done before then.
I am starting to do the soldering now so will post it once it is all done. I may have been a little ambitious as to how quickly I could solder it all together. Moving house in two weeks so hopefully I get the basic soldering done before then.
- Attachments
-
- 2013-08-27 20.32.19.jpg (853.92 KiB) Viewed 6447 times
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
Hopefully this will make a good tutorial for matrix making and the appropriate modifications to the GH60 code. Suka generously sent me similar prototypes (symmetrically staggered!) and I have spare switches mounted ready to experiment. Once I have another Teensy and know how to code it…
- suka
- frobiac
- Location: Germany
- Main keyboard: custom split ergonomic "RedTilt"
- Main mouse: IBM trackpoint
- Favorite switch: MX red
- DT Pro Member: 0046
Nice! I did not expect you would actually build a board straight away with these frames, but if you like it that way, fine 
In my designs (either split or single board) I connected the columns of both halves to get away with a 8x6 matrix needing 14 pins on the teensy.
Code for either my own or tmk_firmware is on github, put configuring rows and columns is really fairly easy if you know the basic logical operations on binary data. I put way too much effort in using F-Pins for columns and D for rows (also forgetting about LED on D6!) which makes neater code but a mess to solder all connections, but as Matt3o stated before basically any pin is fine. Only if you need certain special features (PWM for led, interrupts on PS/2 lines) make sure to reserve these pins for their future use.

In my designs (either split or single board) I connected the columns of both halves to get away with a 8x6 matrix needing 14 pins on the teensy.
Code for either my own or tmk_firmware is on github, put configuring rows and columns is really fairly easy if you know the basic logical operations on binary data. I put way too much effort in using F-Pins for columns and D for rows (also forgetting about LED on D6!) which makes neater code but a mess to solder all connections, but as Matt3o stated before basically any pin is fine. Only if you need certain special features (PWM for led, interrupts on PS/2 lines) make sure to reserve these pins for their future use.
- ماء
- Location: Solo, ID
- Main keyboard: Soon
- Main mouse: Roccat Lua
- Favorite switch: Blacks to heavy>Lighter
- DT Pro Member: -
You making split keyboarad too,interest, any picture?Muirium wrote:Hopefully this will make a good tutorial for matrix making and the appropriate modifications to the GH60 code. Suka generously sent me similar prototypes (symmetrically staggered!) and I have spare switches mounted ready to experiment. Once I have another Teensy and know how to code it…

Thk
-
- Main keyboard: Thinkpad
- Main mouse: Trackpoint
- Favorite switch: MX
- DT Pro Member: -
Well it has been a while. I moved house so have been a little distracted. I have played around with Suka's prototypes and have come to the following layout choice. The overall key spacing should be similar to Suka's but I added a few extra keys. Let me know what you all think of this. The two red buttons at the bottom are the mouse buttons and the rectangle the trackpad.
- Attachments
-
- Keyboard Base_orientation5layout.png (33.79 KiB) Viewed 6275 times
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
The asymmetry would drive me nuts (because I have an unhealthy obsession for keeping things balanced) and the trackpad looks so small, but I expect you've tested these basics and have chosen what works for you. The overall split arrangement with symmetric stagger is definitely strong.
-
- Main keyboard: Thinkpad
- Main mouse: Trackpoint
- Favorite switch: MX
- DT Pro Member: -
Sorry meant trackpoint and not trackpad. 
Symmetry doesnt bother me, it is really only because it is split that you notice it. Most keyboards are right hand heavy with keys you just dont notice them as much.
Planning to get the layers cut at Big Blue Saw in aluminum as the price is the best (~$200). The Top and bottom plates will be cut out of aluminum sheet while the middle will be made out of two 0.25 inch aluminum layers.

Symmetry doesnt bother me, it is really only because it is split that you notice it. Most keyboards are right hand heavy with keys you just dont notice them as much.
Planning to get the layers cut at Big Blue Saw in aluminum as the price is the best (~$200). The Top and bottom plates will be cut out of aluminum sheet while the middle will be made out of two 0.25 inch aluminum layers.
- Attachments
-
- Keyboard Base_orientation5.png (312.07 KiB) Viewed 6245 times
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
Ah, of course. Interesting that you're putting the nipple as far away from its usual position mingled with the keys. But from the outline that may be more the underlying PCB's choice than yours.
MTL took a different route in our lasering group buy:

Switch modding indeed!
http://deskthority.net/post127794.html#p127794
Aluminium's a smart choice for this work. I've a bit of steel hammering, filing and polishing ahead of me with my project. Moments like these you value a softer metal!
MTL took a different route in our lasering group buy:
Switch modding indeed!
http://deskthority.net/post127794.html#p127794
Aluminium's a smart choice for this work. I've a bit of steel hammering, filing and polishing ahead of me with my project. Moments like these you value a softer metal!
-
- Main keyboard: Thinkpad
- Main mouse: Trackpoint
- Favorite switch: MX
- DT Pro Member: -
Yup the trackpoint is the only thing I need to firm up the measurements to ensure that it fits properly. The positioning of the trackpoint is similar to how it is positioned on MTL example, just shifted 14 mm to the left.
I am salvaging a trakpoint from a thinkpad usb keyboard so need to take photos of all the components and measure them. I have two trackpoint salvaged from thinkpad laptop keyboards but I havent figured out how to get the teensy to drive them properly.
I am salvaging a trakpoint from a thinkpad usb keyboard so need to take photos of all the components and measure them. I have two trackpoint salvaged from thinkpad laptop keyboards but I havent figured out how to get the teensy to drive them properly.
-
- Main keyboard: Thinkpad
- Main mouse: Trackpoint
- Favorite switch: MX
- DT Pro Member: -
So I am choosing to stick with aluminium and go with 2mm sheet for the top and the base and for the two middle parts will be 4.76 mm thickness each (9.5 mm total).
Works out to be fairly pricey but I think it is worth it and that the clearances are adequate.
Works out to be fairly pricey but I think it is worth it and that the clearances are adequate.
-
- Main keyboard: Thinkpad
- Main mouse: Trackpoint
- Favorite switch: MX
- DT Pro Member: -
Ok, up to my final decision before I get it sent to get cut. Both my laptop keyboard and usb keyboard have a palm rest and was looking to replicate it. Here is a comparison between the two, one with a palm rest and one without.
Opinions?
Opinions?
- Attachments
-
- Comparison.png (138.14 KiB) Viewed 6139 times
-
- Location: USA
- Main keyboard: Custom
- Main mouse: IBM TrackPoint IV
- Favorite switch: Cherry MX Clicky
- DT Pro Member: -
I use a hard, flat acrylic wrist rest and like it. Having one seamlessly part of the keyboard would be nice as well.
If you go with the rest, you may want to file down the sharp edge that will be facing you. Also, since it will be supporting the weight of your arms, it may be good to have an additional support screw in the (horizontal) middles near the bottom row of keys. A couple other things to consider is the wrist rest will give you more internal space for wires, components, etc., and add weight to the keyboard (pro or con depending on your preference).

-
- Main keyboard: Thinkpad
- Main mouse: Trackpoint
- Favorite switch: MX
- DT Pro Member: -
Weight is not the biggest concern for me. As for the sharp edges will have them covered with something. I will also think about adding a beam in the middle for support, it is a good idea and will reduce flex in the keyboard.