diff options
| author | Jun Wako <wakojun@gmail.com> | 2015-04-22 13:29:13 +0900 |
|---|---|---|
| committer | Jun Wako <wakojun@gmail.com> | 2015-04-22 13:29:13 +0900 |
| commit | 79cfa894afbc0a94ac642f57de905d9afc068ce7 (patch) | |
| tree | ffa40d3fbe63cf35cb5e9bf6f44ed2b373e318bd | |
| parent | 7860d09914dba5e7d2d6c1c25b62b49d1bbd2591 (diff) | |
| parent | a20ef7052c6e937d2f7672dd59456e55a5c08296 (diff) | |
| download | qmk_firmware-79cfa894afbc0a94ac642f57de905d9afc068ce7.tar.gz qmk_firmware-79cfa894afbc0a94ac642f57de905d9afc068ce7.zip | |
Merge commit 'a20ef7052c6e937d2f7672dd59456e55a5c08296' into master_ng
| -rw-r--r-- | tmk_core/README.md | 182 |
1 files changed, 16 insertions, 166 deletions
diff --git a/tmk_core/README.md b/tmk_core/README.md index dd03e1403..6b6714a6a 100644 --- a/tmk_core/README.md +++ b/tmk_core/README.md | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | TMK Keyboard Firmware Collection | 1 | TMK Keyboard Firmware Core Library |
| 2 | ================================ | 2 | ================================== |
| 3 | This is a keyboard firmware with some useful features for Atmel AVR controller. | 3 | This is a keyboard firmware library with some useful features for Atmel AVR and Cortex-M. |
| 4 | 4 | ||
| 5 | Source code is available here: <http://github.com/tmk/tmk_keyboard> | 5 | Source code is available here: <https://github.com/tmk/tmk_keyboard/tree/core> |
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | Features | 8 | Features |
| @@ -26,69 +26,18 @@ These features can be used in your keyboard. | |||
| 26 | * Backlight - Control backlight levels | 26 | * Backlight - Control backlight levels |
| 27 | 27 | ||
| 28 | 28 | ||
| 29 | Projects | 29 | |
| 30 | -------- | 30 | Updates |
| 31 | You can find some keyboard specific projects under `converter` and `keyboard` directory. | 31 | ------- |
| 32 | 32 | 2015/04/22 separated with TMK Keyboard Firmware Collection | |
| 33 | ### converter | 33 | |
| 34 | * [ps2_usb](converter/ps2_usb/) - [PS/2 keyboard to USB][GH_ps2] | 34 | |
| 35 | * [adb_usb](converter/adb_usb/) - [ADB keyboard to USB][GH_adb] | 35 | |
| 36 | * [m0110_usb](converter/m0110_usb) - [Macintosh 128K/512K/Plus keyboard to USB][GH_m0110] | 36 | TMK Keyboard Firmware Collection |
| 37 | * [terminal_usb](converter/terminal_usb/) - [IBM Model M terminal keyboard(PS/2 scancode set3) to USB][GH_terminal] | 37 | -------------------------------- |
| 38 | * [news_usb](converter/news_usb/) - [Sony NEWS keyboard to USB][GH_news] | 38 | Complete firmwares for various keyboards and protocol converters. |
| 39 | * [x68k_usb](converter/x68k_usb/) - [Sharp X68000 keyboard to USB][GH_x68k] | 39 | |
| 40 | * [sun_usb](converter/sun_usb/) - [Sun] to USB(type4, 5 and 3?) | 40 | <https://github.com/tmk/tmk_keyboard> |
| 41 | * [pc98_usb](converter/pc98_usb/) - [PC98] to USB | ||
| 42 | * [usb_usb](converter/usb_usb/) - USB to USB(experimental) | ||
| 43 | * [ascii_usb](converter/ascii_usb/) - ASCII(Serial console terminal) to USB | ||
| 44 | * [ibm4704_usb](converter/ibm4704_usb) - [IBM 4704 keyboard Converter][GH_ibm4704] | ||
| 45 | |||
| 46 | ### keyboard | ||
| 47 | * [hhkb](keyboard/hhkb/) - [Happy Hacking Keyboard pro][GH_hhkb] **my main board** | ||
| 48 | * [gh60](keyboard/gh60/) - [GH60] DIY 60% keyboard [prototype][GH60_proto] **my second board** | ||
| 49 | * [hbkb](keyboard/hbkb/) - [Happy Buckling spring keyboard][GH_hbkb](IBM Model M 60% mod) | ||
| 50 | * [hid_liber](keyboard/hid_liber/) - [HID liberation][HID_liber] controller (by alaricljs) | ||
| 51 | * [phantom](keyboard/phantom/) - [Phantom] keyboard (by Tranquilite) | ||
| 52 | * [IIgs_Standard](keyboard/IIgs/) - Apple [IIGS] keyboard mod(by JeffreySung) | ||
| 53 | * [macway](keyboard/macway/) - [Compact keyboard mod][GH_macway] [retired] | ||
| 54 | * [KMAC](keyboard/kmac/) - Korean custom keyboard | ||
| 55 | * [Lightsaber](keyboard/lightsaber/) - Korean custom keyboard | ||
| 56 | * [Infinity](keyboard/infinity/) - Massdrop [Infinity keyboard][Infinity] | ||
| 57 | * [NerD](keyboard/nerd/) - Korean custom keyboard | ||
| 58 | * [KittenPaw](keyboard/kitten_paw) - Custom Majestouch controller | ||
| 59 | * [Lightpad](keyboard/lightpad) - Korean custom keypad | ||
| 60 | * [ghost_squid](keyboard/ghost_squid/) - [The Ghost Squid][ghost_squid] controller for [Cooler Master QuickFire XT][cmxt] | ||
| 61 | |||
| 62 | ### Extenal projects using tmk_keyboard | ||
| 63 | * [ErgoDox_cub-uanic][cub-uanic] - Split Ergonomic Keyboard [ErgoDox][ergodox_org] | ||
| 64 | * [mcdox][mcdox_tmk] - [mcdox][mcdox] | ||
| 65 | |||
| 66 | |||
| 67 | [GH_macway]: http://geekhack.org/showwiki.php?title=Island:11930 | ||
| 68 | [GH_hhkb]: http://geekhack.org/showwiki.php?title=Island:12047 | ||
| 69 | [GH_ps2]: http://geekhack.org/showwiki.php?title=Island:14618 | ||
| 70 | [GH_adb]: http://geekhack.org/showwiki.php?title=Island:14290 | ||
| 71 | [GH_hhkb_bt]: http://geekhack.org/showwiki.php?title=Island:20851 | ||
| 72 | [GH_m0110]: http://geekhack.org/showwiki.php?title=Island:24965 | ||
| 73 | [GH_news]: http://geekhack.org/showwiki.php?title=Island:25759 | ||
| 74 | [GH_terminal]: http://geekhack.org/showwiki.php?title=Island:27272 | ||
| 75 | [GH_x68k]: http://geekhack.org/showwiki.php?title=Island:29060 | ||
| 76 | [GH_hbkb]: http://geekhack.org/showwiki.php?title=Island:29483 | ||
| 77 | [GH_ibm4704]: http://geekhack.org/index.php?topic=54706.0 | ||
| 78 | [HID_liber]: http://deskthority.net/wiki/HID_Liberation_Device_-_DIY_Instructions | ||
| 79 | [Phantom]: http://geekhack.org/index.php?topic=26742 | ||
| 80 | [GH60]: http://geekhack.org/index.php?topic=34959 | ||
| 81 | [GH60_proto]: http://geekhack.org/index.php?topic=37570.0 | ||
| 82 | [PC98]: http://en.wikipedia.org/wiki/NEC_PC-9801 | ||
| 83 | [Sun]: http://en.wikipedia.org/wiki/Sun-3 | ||
| 84 | [IIGS]: http://en.wikipedia.org/wiki/Apple_IIGS | ||
| 85 | [Infinity]: https://www.massdrop.com/buy/infinity-keyboard-kit | ||
| 86 | [ghost_squid]: http://deskthority.net/wiki/Costar_replacement_controllers#The_Ghost_Squid | ||
| 87 | [cmxt]: http://gaming.coolermaster.com/en/products/keyboards/quickfirext/ | ||
| 88 | [ergodox_org]: http://ergodox.org/ | ||
| 89 | [cub-uanic]: https://github.com/cub-uanic/tmk_keyboard/tree/master/keyboard/ergodox | ||
| 90 | [mcdox]: https://github.com/DavidMcEwan/mcdox | ||
| 91 | [mcdox_tmk]: https://github.com/DavidMcEwan/tmk_keyboard/tree/master/keyboard/mcdox | ||
| 92 | 41 | ||
| 93 | 42 | ||
| 94 | 43 | ||
| @@ -105,97 +54,6 @@ See [doc/build.md](doc/build.md). | |||
| 105 | 54 | ||
| 106 | 55 | ||
| 107 | 56 | ||
| 108 | Change your keymap | ||
| 109 | ------------------ | ||
| 110 | See [doc/keymap.md](doc/keymap.md). | ||
| 111 | |||
| 112 | |||
| 113 | |||
| 114 | Magic Commands | ||
| 115 | -------------- | ||
| 116 | To see help press `Magic` + `H`. | ||
| 117 | |||
| 118 | `Magic` key bind may be `LShift` + `RShift` in many project, but `Power` key on ADB converter. `Magic` keybind can be vary on each project, check `config.h` in project directory. | ||
| 119 | |||
| 120 | Following commands can be also executed with `Magic` + key. In console mode `Magic` keybind is not needed. | ||
| 121 | |||
| 122 | ----- Command Help ----- | ||
| 123 | c: enter console mode | ||
| 124 | d: toggle debug enable | ||
| 125 | x: toggle matrix debug | ||
| 126 | k: toggle keyboard debug | ||
| 127 | m: toggle mouse debug | ||
| 128 | v: print device version & info | ||
| 129 | t: print timer count | ||
| 130 | s: print status | ||
| 131 | e: print eeprom config | ||
| 132 | n: toggle NKRO | ||
| 133 | 0/F10: switch to Layer0 | ||
| 134 | 1/F1: switch to Layer1 | ||
| 135 | 2/F2: switch to Layer2 | ||
| 136 | 3/F3: switch to Layer3 | ||
| 137 | 4/F4: switch to Layer4 | ||
| 138 | PScr: power down/remote wake-up | ||
| 139 | Caps: Lock Keyboard(Child Proof) | ||
| 140 | Paus: jump to bootloader | ||
| 141 | |||
| 142 | **TBD** | ||
| 143 | |||
| 144 | ### Boot Magic Configuration - Virtual DIP Switch | ||
| 145 | Boot Magic are executed during boot up time. Press Magic key below then plug in keyboard cable. | ||
| 146 | Note that you must use keys of **Layer 0** as Magic keys. These settings are stored in EEPROM so that retain your configure over power cycles. | ||
| 147 | |||
| 148 | To avoid configuring accidentally additive salt key `KC_SPACE` also needs to be pressed along with the following configuration keys. The salt key is configurable in `config.h`. See [common/bootmagic.h](common/bootmagic.h). | ||
| 149 | |||
| 150 | #### General | ||
| 151 | - Skip reading EEPROM to start with default configuration(`ESC`) | ||
| 152 | - Clear configuration stored in EEPROM to reset configuration(`Backspace`) | ||
| 153 | |||
| 154 | #### Bootloader | ||
| 155 | - Kick up Bootloader(`B`) | ||
| 156 | |||
| 157 | #### Debug | ||
| 158 | - Debug enable(`D`) | ||
| 159 | - Debug matrix enable(`D`+`X`) | ||
| 160 | - Debug keyboard enable(`D`+`K`) | ||
| 161 | - Debug mouse enable(`D`+`M`) | ||
| 162 | |||
| 163 | #### Keymap | ||
| 164 | - Swap Control and CapsLock(`Left Control`) | ||
| 165 | - Change CapsLock to Control(`Caps Lock`) | ||
| 166 | - Swap LeftAlt and Gui(`Left Alt`) | ||
| 167 | - Swap RightAlt and Gui(`Right Alt`) | ||
| 168 | - Disable Gui(`Left Gui`) | ||
| 169 | - Swap Grave and Escape(`Grave`) | ||
| 170 | - Swap BackSlash and BackSpace(`Back Slash`) | ||
| 171 | - Enable NKRO on boot(`N`) | ||
| 172 | |||
| 173 | #### Default Layer | ||
| 174 | - Set Default Layer to 0(`0`) | ||
| 175 | - Set Default Layer to 1(`1`) | ||
| 176 | - Set Default Layer to 2(`2`) | ||
| 177 | - Set Default Layer to 3(`3`) | ||
| 178 | - Set Default Layer to 4(`4`) | ||
| 179 | - Set Default Layer to 5(`5`) | ||
| 180 | - Set Default Layer to 6(`6`) | ||
| 181 | - Set Default Layer to 7(`7`) | ||
| 182 | |||
| 183 | #### Caution | ||
| 184 | Unintentional use of this feature will cause user confusion. | ||
| 185 | |||
| 186 | TODO: Magic key combination to avoid unintentional press during plug in | ||
| 187 | |||
| 188 | **TBD** | ||
| 189 | |||
| 190 | |||
| 191 | Mechanical Locking support | ||
| 192 | -------------------------- | ||
| 193 | This feature makes it possible for you to use mechanical switch for `CapsLock`, `NumLock` or `ScrollLock`. To enable this feature define these macros in `config.h` and use `KC_LCAP`, `KC_LNUM` or `KC_LSCR` in keymap for locking key instead of normal `KC_CAPS`, `KC_NLCK` or `KC_SLCK`. Resync option tries to keep lock switch state consistent with keyboard LED state. | ||
| 194 | |||
| 195 | #define LOCKING_SUPPORT_ENABLE | ||
| 196 | #define LOCKING_RESYNC_ENABLE | ||
| 197 | |||
| 198 | |||
| 199 | Start Your Own Project | 57 | Start Your Own Project |
| 200 | ----------------------- | 58 | ----------------------- |
| 201 | **TBD** | 59 | **TBD** |
| @@ -245,8 +103,6 @@ Files and Directories | |||
| 245 | ### Top | 103 | ### Top |
| 246 | * common/ - common codes | 104 | * common/ - common codes |
| 247 | * protocol/ - keyboard protocol support | 105 | * protocol/ - keyboard protocol support |
| 248 | * keyboard/ - keyboard projects | ||
| 249 | * converter/ - protocol converter projects | ||
| 250 | * doc/ - documents | 106 | * doc/ - documents |
| 251 | * common.mk - Makefile for common | 107 | * common.mk - Makefile for common |
| 252 | * protocol.mk - Makefile for protocol | 108 | * protocol.mk - Makefile for protocol |
| @@ -288,9 +144,3 @@ Files and Directories | |||
| 288 | Coding Style | 144 | Coding Style |
| 289 | ------------- | 145 | ------------- |
| 290 | - Doesn't use Tab to indent, use 4-spaces instead. | 146 | - Doesn't use Tab to indent, use 4-spaces instead. |
| 291 | |||
| 292 | |||
| 293 | |||
| 294 | Other Keyboard Firmware Projects | ||
| 295 | ------------------ | ||
| 296 | You can learn a lot about keyboard firmware from these. See [doc/other_projects.md](doc/other_projects.md). | ||
