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

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.