qmk-firmware/adb
2011-02-13 23:02:08 +09:00
..
config.h ADB to USB keyboard converter 2011-01-13 01:51:59 +09:00
keymap.c change keycodes and define keymap macro for AEK. 2011-01-13 16:39:49 +09:00
Makefile ADB to USB keyboard converter 2011-01-13 01:51:59 +09:00
matrix.c ADB keyboard LEDs support 2011-01-13 22:46:57 +09:00
README added note about external pull resistor on DATA line. 2011-02-13 23:02:08 +09:00

ADB to USB keyboard converter
=============================
http://geekhack.org/showwiki.php?title=Island:14290

This firmware converts ADB keyboard protocol to USB.


Build
-----
0. Connect ADB keyboard to Teensy by 3 lines(Vcc, GND, Data).
   You need a external pull-up resistor on DATA line in most case,
   in particular when you want to use a long or coiled cable.
   This converter uses AVR's internal pull-up, but it seems to be too weak.
   The external pull-up resistor is strongly recommended.
   PSW line is optional. See ADB.txt for details.
1. Define following macros for ADB connection in config.h:
   ADB_PORT
   ADB_PIN
   ADB_DDR
   ADB_DATA_BIT
   ADB_PSW_BIT
2. make
3. program Teensy.


Keymap
------
You can change a keymap by editing code of keymap.c like following.
This is a keymap for AEK, however, also used for other keyboards.
How to define the keymap is probably obvious. You can find  key
symbols in usb_keycodes.h.
If you want to define some keymaps than just one, see hhkb/keymap.c and
macway/keymap.c as examples. Keymap(layer) switching may needs a bit of
effort at this time.

    /* Default Layer: plain keymap
     * ,---.   ,---------------. ,---------------. ,---------------. ,-----------.             ,---.
     * |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|             |Pwr|
     * `---'   `---------------' `---------------' `---------------' `-----------'             `---'
     * ,-----------------------------------------------------------. ,-----------. ,---------------.
     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backspa| |Ins|Hom|PgU| |NmL|  =|  /|  *|
     * |-----------------------------------------------------------| |-----------| |---------------|
     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \| |Del|End|PgD| |  7|  8|  9|  -|
     * |-----------------------------------------------------------| `-----------' |---------------|
     * |CapsLo|  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Return  |               |  4|  5|  6|  +|
     * |-----------------------------------------------------------|     ,---.     |---------------|
     * |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /|Shift     |     |Up |     |  1|  2|  3|   |
     * |-----------------------------------------------------------| ,-----------. |-----------|Ent|
     * |Ctrl |Gui |Alt |         Space           |     |    |      | |Lef|Dow|Rig| |      0|  .|   |
     * `-----------------------------------------------------------' `-----------' `---------------'
     */
    KEYMAP(
    ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,BRK,                    PWR,
    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC,     INS, HOME,PGUP,    NLCK,EQL, PSLS,PAST,
    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PMNS,
    CAPS,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     ENT,                         P4,  P5,  P6,  PPLS,
    LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,          RSFT,          UP,           P1,  P2,  P3,
    LCTL,LGUI,LALT,          SPC,                                              LEFT,DOWN,RGHT,    P0,       PDOT,PENT
    ),


EOF