diff options
| author | Jun Wako <wakojun@gmail.com> | 2015-04-22 13:52:28 +0900 |
|---|---|---|
| committer | Jun Wako <wakojun@gmail.com> | 2015-04-22 13:52:28 +0900 |
| commit | 799993c414416c8b23acfaf8f2701ea514d10080 (patch) | |
| tree | 49e6ee6c487e92c21badc825dd13d00fa6907a48 /README.md | |
| parent | 79cfa894afbc0a94ac642f57de905d9afc068ce7 (diff) | |
| download | qmk_firmware-799993c414416c8b23acfaf8f2701ea514d10080.tar.gz qmk_firmware-799993c414416c8b23acfaf8f2701ea514d10080.zip | |
Update README
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 95 |
1 files changed, 19 insertions, 76 deletions
| @@ -5,6 +5,17 @@ This is a keyboard firmware with some useful features for Atmel AVR controller. | |||
| 5 | Source code is available here: <http://github.com/tmk/tmk_keyboard> | 5 | Source code is available here: <http://github.com/tmk/tmk_keyboard> |
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | Updates | ||
| 9 | ------- | ||
| 10 | #### 2015/04/22 | ||
| 11 | Core library was separated to other branch `core`. <https://github.com/tmk/tmk_keyboard/tree/core> | ||
| 12 | |||
| 13 | In `Makefile` you need to set `TMK_DIR` to indicate core library location now. | ||
| 14 | |||
| 15 | TMK_DIR = ../../tmk_core | ||
| 16 | |||
| 17 | |||
| 18 | |||
| 8 | Features | 19 | Features |
| 9 | -------- | 20 | -------- |
| 10 | These features can be used in your keyboard. | 21 | These features can be used in your keyboard. |
| @@ -26,6 +37,7 @@ These features can be used in your keyboard. | |||
| 26 | * Backlight - Control backlight levels | 37 | * Backlight - Control backlight levels |
| 27 | 38 | ||
| 28 | 39 | ||
| 40 | |||
| 29 | Projects | 41 | Projects |
| 30 | -------- | 42 | -------- |
| 31 | You can find some keyboard specific projects under `converter` and `keyboard` directory. | 43 | You can find some keyboard specific projects under `converter` and `keyboard` directory. |
| @@ -139,13 +151,14 @@ Following commands can be also executed with `Magic` + key. In console mode `Mag | |||
| 139 | Caps: Lock Keyboard(Child Proof) | 151 | Caps: Lock Keyboard(Child Proof) |
| 140 | Paus: jump to bootloader | 152 | Paus: jump to bootloader |
| 141 | 153 | ||
| 142 | **TBD** | ||
| 143 | 154 | ||
| 144 | ### Boot Magic Configuration - Virtual DIP Switch | 155 | |
| 156 | Boot Magic Configuration - Virtual DIP Switch | ||
| 157 | --------------------------------------------- | ||
| 145 | Boot Magic are executed during boot up time. Press Magic key below then plug in keyboard cable. | 158 | 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. | 159 | 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 | 160 | ||
| 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). | 161 | 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 [tmk_core/common/bootmagic.h](tmk_core/common/bootmagic.h). |
| 149 | 162 | ||
| 150 | #### General | 163 | #### General |
| 151 | - Skip reading EEPROM to start with default configuration(`ESC`) | 164 | - Skip reading EEPROM to start with default configuration(`ESC`) |
| @@ -180,12 +193,6 @@ To avoid configuring accidentally additive salt key `KC_SPACE` also needs to be | |||
| 180 | - Set Default Layer to 6(`6`) | 193 | - Set Default Layer to 6(`6`) |
| 181 | - Set Default Layer to 7(`7`) | 194 | - Set Default Layer to 7(`7`) |
| 182 | 195 | ||
| 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 | 196 | ||
| 190 | 197 | ||
| 191 | Mechanical Locking support | 198 | Mechanical Locking support |
| @@ -196,39 +203,10 @@ This feature makes it possible for you to use mechanical switch for `CapsLock`, | |||
| 196 | #define LOCKING_RESYNC_ENABLE | 203 | #define LOCKING_RESYNC_ENABLE |
| 197 | 204 | ||
| 198 | 205 | ||
| 206 | |||
| 199 | Start Your Own Project | 207 | Start Your Own Project |
| 200 | ----------------------- | 208 | ----------------------- |
| 201 | **TBD** | 209 | **TBD** |
| 202 | ### Config.h Options | ||
| 203 | #### 1. USB vendor/product ID and device description | ||
| 204 | #define VENDOR_ID 0xFEED | ||
| 205 | #define PRODUCT_ID 0xBEEF | ||
| 206 | #define MANUFACTURER t.m.k. | ||
| 207 | #define PRODUCT Macway mod | ||
| 208 | #define DESCRIPTION t.m.k. keyboard firmware for Macway mod | ||
| 209 | |||
| 210 | #### 2. Keyboard matrix configuration | ||
| 211 | #define MATRIX_ROWS 8 | ||
| 212 | #define MATRIX_COLS 8 | ||
| 213 | #define MATRIX_HAS_GHOST | ||
| 214 | |||
| 215 | |||
| 216 | |||
| 217 | Architecture | ||
| 218 | ------------ | ||
| 219 | Architecture Diagram | ||
| 220 | +---------------+---------------+-------------+ | ||
| 221 | | Host | Keyboard | Matrix, LED | | ||
| 222 | ___________ |-----------+-+ +-------------+ | +-----------| | ||
| 223 | / /| Keys/Mouse | Protocol |d| | Action | | | Protocol | | ||
| 224 | /__________/ |<-----------| LUFA |r| | Layer, Tap | | | Matrix | | ||
| 225 | |.--------.| | LED | V-USB |i| |-------------| | | PS/2,IBM | __________________ | ||
| 226 | || || |----------->| PJRC |v| | Keymap | | | ADB,M0110| Keys / /_/_/_/_/_/_/_/ /| | ||
| 227 | || Host || | Console | iWRAP(BT)|e| | Mousekey | | | SUN/NEWS |<----------/ /_/_/_/_/_/_/_/ / / | ||
| 228 | ||________||/.<-----------| UART |r| | Report | | | X68K/PC98| Control / /_/_/_/_/_/_/_/ / / | ||
| 229 | `_========_'/| |---------------------------------------------|-------->/___ /_______/ ___/ / | ||
| 230 | |_o______o_|/ | Sendchar, Print, Debug, Command, ... | |_________________|/ | ||
| 231 | +---------------------------------------------+ Keyboard | ||
| 232 | 210 | ||
| 233 | 211 | ||
| 234 | 212 | ||
| @@ -236,52 +214,17 @@ Debugging | |||
| 236 | -------- | 214 | -------- |
| 237 | Use PJRC's `hid_listen` to see debug messages. You can use the tool for debug even if firmware use LUFA stack. | 215 | Use PJRC's `hid_listen` to see debug messages. You can use the tool for debug even if firmware use LUFA stack. |
| 238 | 216 | ||
| 239 | You can use xprintf() to display debug info on `hid_listen`, see `common/xprintf.h`. | 217 | You can use xprintf() to display debug info on `hid_listen`, see `tmk_core/common/xprintf.h`. |
| 240 | 218 | ||
| 241 | 219 | ||
| 242 | 220 | ||
| 243 | Files and Directories | 221 | Files and Directories |
| 244 | ------------------- | 222 | ------------------- |
| 245 | ### Top | 223 | ### Top |
| 246 | * common/ - common codes | 224 | * tmk_core/ - core library |
| 247 | * protocol/ - keyboard protocol support | ||
| 248 | * keyboard/ - keyboard projects | 225 | * keyboard/ - keyboard projects |
| 249 | * converter/ - protocol converter projects | 226 | * converter/ - protocol converter projects |
| 250 | * doc/ - documents | 227 | * doc/ - documents |
| 251 | * common.mk - Makefile for common | ||
| 252 | * protocol.mk - Makefile for protocol | ||
| 253 | * rules.mk - Makefile for build rules | ||
| 254 | |||
| 255 | ### Common | ||
| 256 | * host.h | ||
| 257 | * host_driver.h | ||
| 258 | * keyboard.h | ||
| 259 | * command.h | ||
| 260 | * keymap.h | ||
| 261 | * action.h | ||
| 262 | * keycode.h | ||
| 263 | * matrix.h | ||
| 264 | * led.h | ||
| 265 | * mousekey.h | ||
| 266 | * report.h | ||
| 267 | * debug.h | ||
| 268 | * print.h | ||
| 269 | * bootloader.h | ||
| 270 | * sendchar.h | ||
| 271 | * timer.h | ||
| 272 | * util.h | ||
| 273 | |||
| 274 | ### Keyboard Protocols | ||
| 275 | * lufa/ - LUFA USB stack | ||
| 276 | * pjrc/ - PJRC USB stack | ||
| 277 | * vusb/ - Objective Development V-USB | ||
| 278 | * iwrap/ - Bluetooth HID for Bluegiga iWRAP | ||
| 279 | * ps2.c - PS/2 protocol | ||
| 280 | * adb.c - Apple Desktop Bus protocol | ||
| 281 | * m0110.c - Macintosh 128K/512K/Plus keyboard protocol | ||
| 282 | * news.c - Sony NEWS keyboard protocol | ||
| 283 | * x68k.c - Sharp X68000 keyboard protocol | ||
| 284 | * serial_soft.c - Asynchronous Serial protocol implemented by software | ||
| 285 | 228 | ||
| 286 | 229 | ||
| 287 | 230 | ||
