I have a deceased Thinkpad 340CSE. I'd like to use it as a shell for a Raspberry Pi (the case has a lot of space). The original keyboard is a thing of beauty by modern laptop standards, with several millimetres of movement and a good feel - so I'd like to use it if at all possible. Unfortunately, a lot of searching has sent me repeatedly to a page on how to convert a T60 keyboard to USB - different keyboard, different connector(s). There's a full explanation with photos here: https://www.gilesorr.com/blog/thinkpad-retrofit-1.html If you have any suggestions, feel free to let me know on or off list. If you think I need to add more information to the web page, same thing: let me know. If you know someone who might be able to help, please forward this to them. Thanks! -- Giles https://www.gilesorr.com/ gilesorr@gmail.com
Back in the days of the Commodore PET, I wanted to convert the keyboard into Dvorak layout. Nowadays, I'd find the keyboard translation table, edit that and blow a new ROM. But in those days it was easier to rewire the keyboard. Using a Dremel tool, I cut the traces to each switch and rewired it with #30AWG solid wire. At the end, it did work and I used it for several years. Must have been a surprise to the person who got it after me... P.
I have a deceased Thinkpad 340CSE. I'd like to use it as a shell for a Raspberry Pi (the case has a lot of space). The original keyboard is a thing of beauty by modern laptop standards, with several millimetres of movement and a good feel - so I'd like to use it if at all possible. Unfortunately, a lot of searching has sent me repeatedly to a page on how to convert a T60 keyboard to USB - different keyboard, different connector(s). There's a full explanation with photos here:
https://www.gilesorr.com/blog/thinkpad-retrofit-1.html
If you have any suggestions, feel free to let me know on or off list. If you think I need to add more information to the web page, same thing: let me know. If you know someone who might be able to help, please forward this to them. Thanks!
-- Giles https://www.gilesorr.com/ gilesorr@gmail.com --- Talk Mailing List talk@gtalug.org https://gtalug.org/mailman/listinfo/talk
-- Peter Hiscocks Syscomp Electronic Design Limited, Toronto http://www.syscompdesign.com USB Oscilloscope and Waveform Generator 647-839-0325
On 10 April 2017 at 15:38, <phiscock@ee.ryerson.ca> wrote:
I have a deceased Thinkpad 340CSE. I'd like to use it as a shell for a Raspberry Pi (the case has a lot of space). The original keyboard is a thing of beauty by modern laptop standards, with several millimetres of movement and a good feel - so I'd like to use it if at all possible. Unfortunately, a lot of searching has sent me repeatedly to a page on how to convert a T60 keyboard to USB - different keyboard, different connector(s). There's a full explanation with photos here:
https://www.gilesorr.com/blog/thinkpad-retrofit-1.html
If you have any suggestions, feel free to let me know on or off list. If you think I need to add more information to the web page, same thing: let me know. If you know someone who might be able to help, please forward this to them. Thanks!
Back in the days of the Commodore PET, I wanted to convert the keyboard into Dvorak layout. Nowadays, I'd find the keyboard translation table, edit that and blow a new ROM.
I'd like to do that, but I think there are a few more steps involved. Want to help out? Can you point me to a detailed HOWTO for doing this? I'm not an electrical engineer, but I can solder, I have basic programming skills, and I can probably lay hands on a ROM burner if needed. But it seems translating the output to USB is may also be an added challenging step ... Any help appreciated. -- Giles https://www.gilesorr.com/ gilesorr@gmail.com
On Mon, Apr 10, 2017 at 09:41:24PM -0400, Giles Orr via talk wrote:
I'd like to do that, but I think there are a few more steps involved. Want to help out? Can you point me to a detailed HOWTO for doing this? I'm not an electrical engineer, but I can solder, I have basic programming skills, and I can probably lay hands on a ROM burner if needed. But it seems translating the output to USB is may also be an added challenging step ... Any help appreciated.
From looking at what you linked to, it seems you would need some small
Well the thinkpad keyboards don't have a rom, or any map. They have a raw matrix apparently, and you need a controller with a lot of input puts to read the keyboard state and turn that into key codes. processor that can work as a USB client device to pretend to me a USB keyboard, and also has some 35 to 40 inputs that can be connected to the keyboard. It does sound like quite a bit of work to figure out. -- Len Sorensen
On 11 April 2017 at 11:53, Lennart Sorensen via talk <talk@gtalug.org> wrote:
On Mon, Apr 10, 2017 at 09:41:24PM -0400, Giles Orr via talk wrote:
I'd like to do that, but I think there are a few more steps involved. Want to help out? Can you point me to a detailed HOWTO for doing this? I'm not an electrical engineer, but I can solder, I have basic programming skills, and I can probably lay hands on a ROM burner if needed. But it seems translating the output to USB is may also be an added challenging step ... Any help appreciated.
Well the thinkpad keyboards don't have a rom, or any map. They have a raw matrix apparently, and you need a controller with a lot of input puts to read the keyboard state and turn that into key codes.
From looking at what you linked to, it seems you would need some small processor that can work as a USB client device to pretend to me a USB keyboard, and also has some 35 to 40 inputs that can be connected to the keyboard.
It does sound like quite a bit of work to figure out.
There is a chip, and a project, for that sort of thing. The Atmel processors (recently discussed by Peter Hiscock) include some quite suitable to the task, notably the Atmega32U4 http://www.microchip.com/wwwproducts/en/ATmega32u4 There's a project for managing keyboard firmware for various keyboards using that chip, and it includes some "I built my own from scratch" options... https://github.com/qmk/qmk_firmware -- When confronted by a difficult problem, solve it by reducing it to the question, "How would the Lone Ranger handle this?"
On Tue, Apr 11, 2017 at 01:02:39PM -0400, Christopher Browne wrote:
There is a chip, and a project, for that sort of thing.
The Atmel processors (recently discussed by Peter Hiscock) include some quite suitable to the task, notably the Atmega32U4
http://www.microchip.com/wwwproducts/en/ATmega32u4
There's a project for managing keyboard firmware for various keyboards using that chip, and it includes some "I built my own from scratch" options...
By the looks of it, not enough pins. Sure you could add some GPIO expander, but that would probably make it slower and more costly. -- Len Sorensen
On Tue, Apr 11, 2017 at 11:53:00AM -0400, Lennart Sorensen via talk wrote:
From looking at what you linked to, it seems you would need some small processor that can work as a USB client device to pretend to me a USB keyboard, and also has some 35 to 40 inputs that can be connected to the keyboard.
It does sound like quite a bit of work to figure out.
It so happens that I may have to build something similar at work here. Right now, I have to press keys manually, and it's difficult to do any kind of automated testing. I need an external USB device, acting as keyboard to the test machine that it's plugged into, but in reality accepting input from me remotely. I'm thinking - simple forwarder between network port and usb port. - ssh into the device and run program/script on command-line. :-) -- William
On 2017-04-11 01:45 PM, William Park via talk wrote:
… I need an external USB device, acting as keyboard to the test machine that it's plugged into, but in reality accepting input from me remotely.
There are boards that combine Chris's keyboard-pretending ATMega32u4 with networking, like Adafruit's Feather ecosystem: * “Feather 32u4 Basic Proto” <https://www.adafruit.com/product/2771> * “Ethernet FeatherWing” <https://www.adafruit.com/product/3201> An ssh remote keyboard might be a bit beyond an ATMega µc, though. Stewart
On Tue, Apr 11, 2017 at 1:45 PM, William Park via talk <talk@gtalug.org> wrote:
On Tue, Apr 11, 2017 at 11:53:00AM -0400, Lennart Sorensen via talk wrote:
From looking at what you linked to, it seems you would need some small processor that can work as a USB client device to pretend to me a USB keyboard, and also has some 35 to 40 inputs that can be connected to the keyboard.
It does sound like quite a bit of work to figure out.
It so happens that I may have to build something similar at work here. Right now, I have to press keys manually, and it's difficult to do any kind of automated testing. I need an external USB device, acting as keyboard to the test machine that it's plugged into, but in reality accepting input from me remotely.
I'm thinking - simple forwarder between network port and usb port. - ssh into the device and run program/script on command-line. :-)
Take a look at the CSE gift shop 8-)
On Tue, Apr 11, 2017 at 02:24:10PM -0400, Mike wrote:
On Tue, Apr 11, 2017 at 1:45 PM, William Park via talk <talk@gtalug.org> wrote:
On Tue, Apr 11, 2017 at 11:53:00AM -0400, Lennart Sorensen via talk wrote:
From looking at what you linked to, it seems you would need some small processor that can work as a USB client device to pretend to me a USB keyboard, and also has some 35 to 40 inputs that can be connected to the keyboard.
It does sound like quite a bit of work to figure out.
It so happens that I may have to build something similar at work here. Right now, I have to press keys manually, and it's difficult to do any kind of automated testing. I need an external USB device, acting as keyboard to the test machine that it's plugged into, but in reality accepting input from me remotely.
I'm thinking - simple forwarder between network port and usb port. - ssh into the device and run program/script on command-line. :-)
Take a look at the CSE gift shop 8-)
Meaning of CSE? -- William
On 11 April 2017 at 14:57, William Park via talk <talk@gtalug.org> wrote:
On Tue, Apr 11, 2017 at 02:24:10PM -0400, Mike wrote:
On Tue, Apr 11, 2017 at 1:45 PM, William Park via talk <talk@gtalug.org> wrote:
On Tue, Apr 11, 2017 at 11:53:00AM -0400, Lennart Sorensen via talk wrote:
From looking at what you linked to, it seems you would need some small processor that can work as a USB client device to pretend to me a USB keyboard, and also has some 35 to 40 inputs that can be connected to the keyboard.
It does sound like quite a bit of work to figure out.
It so happens that I may have to build something similar at work here. Right now, I have to press keys manually, and it's difficult to do any kind of automated testing. I need an external USB device, acting as keyboard to the test machine that it's plugged into, but in reality accepting input from me remotely.
I'm thinking - simple forwarder between network port and usb port. - ssh into the device and run program/script on command-line. :-)
Take a look at the CSE gift shop 8-)
Meaning of CSE?
Communications Security Establishment. https://www.cse-cst.gc.ca/en When they took over the old CBC headquarters, I thought they put a LOT of barbed wire around it, so I'd be more than vaguely surprised to see a gift shop there... -- When confronted by a difficult problem, solve it by reducing it to the question, "How would the Lone Ranger handle this?"
On Tue, Apr 11, 2017 at 01:45:30PM -0400, William Park via talk wrote:
It so happens that I may have to build something similar at work here. Right now, I have to press keys manually, and it's difficult to do any kind of automated testing. I need an external USB device, acting as keyboard to the test machine that it's plugged into, but in reality accepting input from me remotely.
I'm thinking - simple forwarder between network port and usb port. - ssh into the device and run program/script on command-line. :-)
Well something like a BeagleBone black should be able to run as a usb keyboard in usb gadget mode, which you could then ssh to and send whatever keyboard signals you want. The hard part (which is fortunately not similar to what you want) is reading the physical thinkpad keyboard. -- Len Sorensen
Hi Giles, Can you trace the device or devices that the keyboard used to trace to on the motherboard (may it rest more-or-less in peace)? As Lennart says, it probably requires GPIO/scanning. Might be a job for Arduino, unless the Pi has enough generic inputs and outputs. Then you would need to figure out how to either hook in to an existing linux keyboard driver, or perhaps implement a new one. Might be worth reviewing Linux to see if there is already a keyboard driver that does its own GPIO-style scanning. On Mon, Apr 10, 2017 at 9:41 PM, Giles Orr via talk <talk@gtalug.org> wrote:
On 10 April 2017 at 15:38, <phiscock@ee.ryerson.ca> wrote:
I have a deceased Thinkpad 340CSE. I'd like to use it as a shell for a Raspberry Pi (the case has a lot of space). The original keyboard is a thing of beauty by modern laptop standards, with several millimetres of movement and a good feel - so I'd like to use it if at all possible. Unfortunately, a lot of searching has sent me repeatedly to a page on how to convert a T60 keyboard to USB - different keyboard, different connector(s). There's a full explanation with photos here:
https://www.gilesorr.com/blog/thinkpad-retrofit-1.html
If you have any suggestions, feel free to let me know on or off list. If you think I need to add more information to the web page, same thing: let me know. If you know someone who might be able to help, please forward this to them. Thanks!
Back in the days of the Commodore PET, I wanted to convert the keyboard into Dvorak layout. Nowadays, I'd find the keyboard translation table, edit that and blow a new ROM.
I'd like to do that, but I think there are a few more steps involved. Want to help out? Can you point me to a detailed HOWTO for doing this? I'm not an electrical engineer, but I can solder, I have basic programming skills, and I can probably lay hands on a ROM burner if needed. But it seems translating the output to USB is may also be an added challenging step ... Any help appreciated.
-- Giles https://www.gilesorr.com/ gilesorr@gmail.com --- Talk Mailing List talk@gtalug.org https://gtalug.org/mailman/listinfo/talk
participants (7)
-
Christopher Browne -
Giles Orr -
lsorense@csclub.uwaterloo.ca -
Mike -
phiscock@ee.ryerson.ca -
Stewart C. Russell -
William Park