Jun Wako 79fd952da4 ibm4704: Add keymap for Alps 102-key 9 jaren geleden
..
Makefile 7860d09914 Change TMK_DIR setting 10 jaren geleden
README.md a63a9c7845 ibm4704: Add keymap for Alps models 9 jaren geleden
config.h 80fd3b0b24 ibm4704_usb: Fix protocol handling 10 jaren geleden
ibm4704.txt 80fd3b0b24 ibm4704_usb: Fix protocol handling 10 jaren geleden
keymap_50key.c 2d9e0d5cab ibm4704_usb: Add keymaps for 107 and 50-key 10 jaren geleden
keymap_alps102key.c 79fd952da4 ibm4704: Add keymap for Alps 102-key 9 jaren geleden
keymap_common.c e2077cad45 Change key_t to keypos_t 10 jaren geleden
keymap_common.h a63a9c7845 ibm4704: Add keymap for Alps models 9 jaren geleden
keymap_hasu.c 2d9e0d5cab ibm4704_usb: Add keymaps for 107 and 50-key 10 jaren geleden
keymap_plain.c 2d9e0d5cab ibm4704_usb: Add keymaps for 107 and 50-key 10 jaren geleden
led.c ebe951a445 Add Initial files of 4704_usb 11 jaren geleden
matrix.c 455fd51a87 Fix 'enable break' commands for Alps models 9 jaren geleden

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/09/07 Added keymap for Alps 102-key. Thanks, tai @ geekhack! 2015/05/05 Added keymaps for 107-key, 77-key and 50-key. Thanks, orihalcon @ geekhack! 2015/05/19 Fixed a protocol handling bug.

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.

Use KEYMAP_ALPS102() to define your keymap for Alps models.