PS/2 to USB keyboard converter for IBM terminal keyboard | PS/2 to USB keyboard converter for IBM terminal keyboard | ||||
========================================================= | ========================================================= | ||||
It supports PS/2 Scan Code Set 3 and runs on Teensy, Teensy++ and boards withATMega32u4/AT90USB. | It supports PS/2 Scan Code Set 3 and runs on Teensy, Teensy++ and boards withATMega32u4/AT90USB. | ||||
I tested the converter only on Teensy with 1392595(102keys terminal keyboard), though, I think it will also work with 122keys boards. | |||||
I tested the converter only on Teensy with 1392595(102keys terminal keyboard), | |||||
though, I think it will also work with 122keys boards. | |||||
http://geekhack.org/showwiki.php?title=Island:27272 | |||||
CONNECTION | CONNECTION | ||||
---------- | ---------- | ||||
Data: PD0 | Data: PD0 | ||||
Clock: PD1 | Clock: PD1 | ||||
VCC and GND, of course. | |||||
It is same as Soarer's converter pin configuration. | |||||
http://geekhack.org/showwiki.php?title=Island:17458 | |||||
It is the same as Soarer's converter pin configuration. | |||||
See RESOURCE for keyboard connector pin assign. | |||||
BUILD | BUILD | ||||
----- | ----- | ||||
Get source: | |||||
$ git clone https://github.com/tmk/tmk_keyboard.git | |||||
$ cd terminal_usb | |||||
For 102keys: | For 102keys: | ||||
$ make -f Makefile.102_pjrc | $ make -f Makefile.102_pjrc | ||||
For 122keys(not tested): | For 122keys(not tested): | ||||
$ make -f Makefile.122_pjrc | $ make -f Makefile.122_pjrc | ||||
I used WinAVR 20100110 to develop. | |||||
I used WinAVR 20100110 to develop and build. | |||||
RESOURCE | RESOURCE | ||||
-------- | -------- | ||||
Soarer's Converter: http://geekhack.org/showwiki.php?title=Island:17458 | |||||
102keys(1392595): http://geekhack.org/showthread.php?10737-What-Can-I-Do-With-a-Terminal-Model-M | |||||
122keys(1390876): http://www.seasip.info/VintagePC/ibm_1390876.html | |||||
KbdBabel: http://www.kbdbabel.org/ | |||||
RJ45 Connector: http://www.kbdbabel.org/conn/kbd_connector_ibmterm.png | |||||
DIN Connector: http://www.kbdbabel.org/conn/kbd_connector_ibm3179_318x_319x.png | |||||
WinAVR: http://winavr.sourceforge.net/ | WinAVR: http://winavr.sourceforge.net/ | ||||
1392595: http://geekhack.org/showthread.php?10737-What-Can-I-Do-With-a-Terminal-Model-M | |||||
EOF |
{ KB_NO, KB_##K49, KB_##K4A, KB_##K4B, KB_##K4C, KB_##K4D, KB_##K4E, KB_##K4F }, \ | { KB_NO, KB_##K49, KB_##K4A, KB_##K4B, KB_##K4C, KB_##K4D, KB_##K4E, KB_##K4F }, \ | ||||
{ KB_NO, KB_##K51, KB_##K52, KB_##K53, KB_##K54, KB_##K55, KB_##K56, KB_##K57 }, \ | { KB_NO, KB_##K51, KB_##K52, KB_##K53, KB_##K54, KB_##K55, KB_##K56, KB_##K57 }, \ | ||||
{ KB_##K58, KB_##K59, KB_##K5A, KB_##K5B, KB_##K5C, KB_##K5D, KB_##K5E, KB_##K5F }, \ | { KB_##K58, KB_##K59, KB_##K5A, KB_##K5B, KB_##K5C, KB_##K5D, KB_##K5E, KB_##K5F }, \ | ||||
{ KB_NO, KB_##K61, KB_##K62, KB_##K63, KB_##K64, KB_##K65, KB_##K66, KB_##K67 }, \ | |||||
{ KB_##K60, KB_##K61, KB_##K62, KB_##K63, KB_##K64, KB_##K65, KB_##K66, KB_##K67 }, \ | |||||
{ KB_##K68, KB_##K69, KB_##K6A, KB_##K6B, KB_##K6C, KB_##K6D, KB_##K6E, KB_##K6F }, \ | { KB_##K68, KB_##K69, KB_##K6A, KB_##K6B, KB_##K6C, KB_##K6D, KB_##K6E, KB_##K6F }, \ | ||||
{ KB_##K70, KB_##K71, KB_##K72, KB_##K73, KB_##K74, KB_##K75, KB_##K76, KB_##K77 }, \ | { KB_##K70, KB_##K71, KB_##K72, KB_##K73, KB_##K74, KB_##K75, KB_##K76, KB_##K77 }, \ | ||||
{ KB_##K78, KB_##K79, KB_##K7A, KB_##K7B, KB_##K7C, KB_##K7D, KB_##K7E, KB_NO }, \ | { KB_##K78, KB_##K79, KB_##K7A, KB_##K7B, KB_##K7C, KB_##K7D, KB_##K7E, KB_NO }, \ |
PSCR,ESC, GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, JYEN,BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS, | PSCR,ESC, GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, JYEN,BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS, | ||||
SLCK,INT4, TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, BSLS, DEL, END, PGDN, P7, P8, P9, PPLS, | SLCK,INT4, TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, BSLS, DEL, END, PGDN, P7, P8, P9, PPLS, | ||||
PAUS,INT5, CAPS,A, S, D, F, G, H, J, K, L, FN0, QUOT, NUHS,ENT, UP, P4, P5, P6, PCMM, | |||||
APP, INT6, LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, FN1, RO, FN2, LEFT,INT2,RGHT, P1, P2, P3, PENT, | |||||
PAUS,INT5, CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT, NUHS,ENT, UP, P4, P5, P6, PCMM, | |||||
APP, INT6, LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RO, RSFT, LEFT,INT2,RGHT, P1, P2, P3, PENT, | |||||
RGUI,LGUI, LCTL, LALT, SPC, RALT, RCTL, DOWN, NO, P0, PDOT,NO | RGUI,LGUI, LCTL, LALT, SPC, RALT, RCTL, DOWN, NO, P0, PDOT,NO | ||||
), | ), | ||||
}; | }; |