mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-23 08:56:47 +06:00
.. | ||
config.h | ||
keymap.c | ||
led.c | ||
Makefile | ||
matrix.c | ||
README |
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 ), Notes ----- Many ADB keyboards has no discrimination between right modifier and left one, you will always see left control even if you press right control key. Apple Extended Keyboard and Apple Extended Keyboard II are the examples. Though ADB protocol itsef has the ability of distinction between right and left. And most ADB keyboard has no NKRO functionality, though ADB protocol itsef has that. EOF