This repo describes how to make a USB keyboard from a laptop keyboard.
This repo contains all the files that are needed to make a USB keyboard and a KVM from an old laptop.
See the USB keyboard video at https://vimeo.com/458595950
See the Pi KVM video at https://vimeo.com/458616562
See the IBM Thinkpad 380ED Keyboard and Trackpoint Conversion to USB video at https://vimeo.com/458669376
See the keyboard "Instructable" at https://www.instructables.com/id/How-to-Make-a-USB-Laptop-Keyboard-Controller/
See the KVM "Instructable" at https://www.instructables.com/id/DIY-Portable-KVM-Crashcart-From-Recycled-Laptop-Pr/
See the IBM Thinkpad 380ED to USB project description at https://hackaday.io/project/171439-ibm-thinkpad-380ed-keyboardtrackpoint-to-usb
Marcel's Python matrix generator program has been modified for the Teensy 3.2 and 4.0. His repo is forked here:
All files and folders in my repo are listed below:
Keyboard_Scanner.brd EagleCad circuit board file for Teensy LC or 3.2.
Keyboard_Scanner_LT.brd EagleCad file same as above with 2 bit Level Translator for touchpad Clock and Data
Keyboard_Scanner_LT2.brd EagleCad file same as above with improved hole spacing for right angle header on 3.2 backside signals
Keyboard_Scanner_LT_0p5.brd EagleCad file same as Keyboard_Scanner except made for a 0.5mm pitch FPC connector
Keyboard_Scanner_Dual.brd EagleCad file is for keyboards with dual FPC cables
Keyboard_Scanner_4p0.brd EagleCad file for Teensy LC or 4.0
Keyboard_Scanner_LC_thruhole.brd EagleCad file for Teensy LC with 26 pin thru hole FPC connector
Keyboard_Scanner_2pp.brd EagleCad file for Teensy ++2.0 and up to 36 pins at 1mm, 0.8mm, or 0.5mm pitch
FPC_10pin0p5mm.brd EagleCad file for 10 pin (or less) FPC connector with 0.5mm pitch
FPC_8pin1mm.brd EagleCad file for 8 pin (or less) FPC connector with 1mm pitch
Keyboard_Scanner_....zip and FPC_....zip Zipped gerber files for PJRC fabrication
Note that some keyboards require unique Eagle board files that are found in the Example_Keyboards Folder
Keyboard_with_number_pad.txt Lists all keys on a keyboard with a number pad.
Keyboard_without_number_pad.txt Lists all keys on a keyboard without a number pad.
Teensy LC code and key list files developed by Olga for a Commodore 64, see Readme file.
GRID 1550 Folder
Teensy LC code for a GRID 1550 UK keyboard and roller-shaft mouse. PDF describes project.
IBM T43 Folder
Teensy 3.2 code and KiCad layout for an IBM Thinkpad T43 keyboard developed by Nat. PDF describes project.
T Caschy Folder
HP Jornada and Atari Portfolio keyboard files developed by T Caschera
Matrix_Decoder_LC.ino Teensyduino file for Teensy LC continuity tester.
Matrix_Decoder_3p2.ino Teensyduino file for Teensy 3.2 continuity tester.
Matrix_Decoder_4p0.ino Teensyduino file for Teensy 4.0 continuity tester.
Matrix_Decoder_2pp.ino Teensyduino file for Teensy ++2.0 continuity tester.
Matrix_Decoder_LC_alternate.ino Alternate code allows exclusion of grounded pins.
Matrix_Decoder_3p2_alternate.ino Alternate code allows exclusion of grounded pins.
Matrix_Decoder_4p0_alternate.ino Alternate code allows exclusion of grounded pins.
Matrix_Decoder_French Folder has above files but sends a shift key along with the number key.
Touchpad_3p2.ino Teensyduino file for Teensy 3.2 touchpad controller.
Touchpad_LC.ino Teensyduino file for Teensy LC touchpad controller.
Touchpad_pinout_testing.pdf Describes how to find the clock, data, power, and ground.
Instructions for Modifying the Teensyduino LC code.pdf PDF file with LC instructions.
Instructions for Modifying the Teensyduino 3p2 code.pdf PDF file with 3.2 instructions.
Instructions for Modifying the Teensyduino 4p0 code.pdf PDF file with 4.0 instructions.
Laptop_Keyboard A separate Folder for each laptop keyboard, containing the following:
Text file with FPC pin connections. The results from running the Matrix_decoder code. PDF file with key matrix table and any additional information. Teensyduino code that makes a simple homebrew USB keyboard routine.