You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qmk_firmware/converter/ibm4704_usb
tmk 9a2282157f ibm4704_usb: Fix interrupt of clock(rising edge) 10 years ago
..
Makefile Change TMK_DIR setting 10 years ago
README.md ibm4704_usb: Add keymaps for 107 and 50-key 10 years ago
config.h ibm4704_usb: Fix interrupt of clock(rising edge) 10 years ago
ibm4704.txt ibm4704_usb: Fix interrupt of clock(rising edge) 10 years ago
keymap_50key.c ibm4704_usb: Add keymaps for 107 and 50-key 10 years ago
keymap_common.c Change key_t to keypos_t 10 years ago
keymap_common.h ibm4704_usb: Add keymaps for 107 and 50-key 10 years ago
keymap_hasu.c ibm4704_usb: Add keymaps for 107 and 50-key 10 years ago
keymap_plain.c ibm4704_usb: Add keymaps for 107 and 50-key 10 years ago
led.c Add Initial files of 4704_usb 11 years ago
matrix.c Fix debug print 10 years ago

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.