With the help of @Nuum @anakey I managed to convert a IBM 5140 board to USB.
1. Using the connector: Most people who have done this conversion removed removed the ribbon connector and connected the teensy straight to the pads on the pcb. I didn't want to go this far for testing purposes, so I simply connected a bunch of jumpers to a Teensy++. This works fine as well.
2. Firmware: I ended up using soarer's controller and config shared by @copter in this thread, instead of kbfirmware. This was my first time using soarer's controller, and it took a few hours to figure out. I found this step-by-step
https://github.com/BASLQC/ibm-wheelwrit ... oller/wiki for an IBM keyboard very useful.
If you're using a 64-bit CPU/OS, you have to use the rebuilt 64-bit version of soarer's controller by @Muirium (
viewtopic.php?f=7&t=25309). Additionally, if you use an M1 Mac, you have to make sure to run from a Rosetta Terminal.
My steps were as follows:
1. Flash the AT90USB1286 hex file to the Teensy++ with Teensy loader (original files by soarer
viewtopic.php?t=6767)
2. Edit/save copter's config to change a few keys back to US layout, and add a few different layer 1 keys (code below).
3. Open a Rosetta Terminal (since I'm using an M1 Mac)
4. Compile the config file using scascontroller and write to the teensy with scwr.
The keyboard works like a charm. Next up is making a bottom tray to put this all into, after I've soldered the connections to the Teensy.
Code: Select all
ifset any
ifkeyboard any
ifselect any
matrix
scanrate 1
strobe_mode 0
sense_polarity 0
debounce 5
blocking 1
debounce_method 0
sense_delay 1
sense PF2 PF3 PF4 PF5 PF6 PF7
strobe PD0 ESC BACK_QUOTE TAB CAPS_LOCK LSHIFT LCTRL
strobe PD1 F1 1 Q A Z FN1
strobe PD2 F2 2 W S X LGUI
strobe PD3 F3 3 E D C UNASSIGNED
strobe PD4 F4 4 R F V UNASSIGNED
strobe PD5 F5 5 T G B SPACE
strobe PD7 F6 6 Y H N UNASSIGNED
strobe PE0 F7 7 U J M UNASSIGNED
strobe PE1 F8 8 I K COMMA UNASSIGNED
strobe PC0 F9 9 O L PERIOD LALT
strobe PC1 F10 0 P SEMICOLON SLASH LEFT
strobe PC2 VOLUME_DOWN MINUS LEFT_BRACE QUOTE RSHIFT UP
strobe PC3 VOLUME_UP EQUAL RIGHT_BRACE UNASSIGNED UNASSIGNED UNASSIGNED
strobe PC4 MUTE BACKSLASH UNASSIGNED ENTER PAD_ASTERIX DOWN
strobe PC5 DELETE BACKSPACE UNASSIGNED UNASSIGNED UNASSIGNED RIGHT
end
layerblock
FN1 1
endblock
remapblock
layer 1
LEFT HOME
RIGHT END
UP PAGE_UP
DOWN PAGE_DOWN
PAD_ASTERIX PAD_ASTERIX
VOLUME_DOWN PAUSE
7 7
8 8
9 9
U 4
I 5
O 6
J 1
K 2
L 3
M 0
PERIOD PAD_PERIOD
SLASH PAD_SLASH
ENTER PAD_ENTER
MINUS PAD_MINUS
EQUAL PAD_PLUS
endblock