qmk_firmware/converter/ibm4704_usb
tmk 2d9e0d5cab ibm4704_usb: Add keymaps for 107 and 50-key 2015-05-14 13:02:13 +09:00
..
Makefile Change TMK_DIR setting 2015-04-10 01:53:24 +09:00
README.md ibm4704_usb: Add keymaps for 107 and 50-key 2015-05-14 13:02:13 +09:00
config.h Fix debug print 2015-04-22 14:18:13 +09:00
ibm4704.txt ibm4704_usb: Add keymaps for 107 and 50-key 2015-05-14 13:02:13 +09:00
keymap_50key.c ibm4704_usb: Add keymaps for 107 and 50-key 2015-05-14 13:02:13 +09:00
keymap_common.c Change key_t to keypos_t 2014-11-24 15:14:52 +09:00
keymap_common.h ibm4704_usb: Add keymaps for 107 and 50-key 2015-05-14 13:02:13 +09:00
keymap_hasu.c ibm4704_usb: Add keymaps for 107 and 50-key 2015-05-14 13:02:13 +09:00
keymap_plain.c ibm4704_usb: Add keymaps for 107 and 50-key 2015-05-14 13:02:13 +09:00
led.c Add Initial files of 4704_usb 2014-02-09 02:42:17 +09:00
matrix.c Fix debug print 2015-04-22 14:18:13 +09:00

README.md

IBM 4704 to USB keyboard converter

This firmware converts IBM 4704 keyboard protocol to USB HID.

Keyboard initialization process takes a few seconds at start up. During that you will hear buzzer from the keyboard. You need to plug USB cable after hooking up your keyboard to the converter.

Update

2015/05/05 Added keymaps for 107-key, 77-key and 50-key. Thanks, orihalcon @ geekhack!

Supported Keyboard

IBM capacitive switch models:

Alps switch(vintage Green) models:

Connector

Keyboard Plug from front:

DSUB-9
-------------
\ N 2 3 4 5 /
 \ N N N N /
  ---------
2   GND
3   VCC 5V
4   DATA
5   CLOCK
N   No connection/No pin.

Connection

In case of using ATMega32U4(Teensy2.0):

  1. Supply power with VCC and GND.
  2. Connect CLOCK to PD1 and DATA to PD0. You can change pin with config.h.
  3. Optionally you may need pull-up register. 1KOhm probably work.

Build Firmware

Just run make:

$ make

To select keymap:

$ make KEYMAP=[plain|...]

Keymap

Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named keymap_<name>.c and see keymap document(you can find in top README.md) and existent keymap files.