aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorJun Wako <wakojun@gmail.com>2015-04-22 13:52:28 +0900
committerJun Wako <wakojun@gmail.com>2015-04-22 13:52:28 +0900
commit799993c414416c8b23acfaf8f2701ea514d10080 (patch)
tree49e6ee6c487e92c21badc825dd13d00fa6907a48 /README.md
parent79cfa894afbc0a94ac642f57de905d9afc068ce7 (diff)
downloadqmk_firmware-799993c414416c8b23acfaf8f2701ea514d10080.tar.gz
qmk_firmware-799993c414416c8b23acfaf8f2701ea514d10080.zip
Update README
Diffstat (limited to 'README.md')
-rw-r--r--README.md95
1 files changed, 19 insertions, 76 deletions
diff --git a/README.md b/README.md
index dd03e1403..78817a84f 100644
--- a/README.md
+++ b/README.md
@@ -5,6 +5,17 @@ This is a keyboard firmware with some useful features for Atmel AVR controller.
5Source code is available here: <http://github.com/tmk/tmk_keyboard> 5Source code is available here: <http://github.com/tmk/tmk_keyboard>
6 6
7 7
8Updates
9-------
10#### 2015/04/22
11Core library was separated to other branch `core`. <https://github.com/tmk/tmk_keyboard/tree/core>
12
13In `Makefile` you need to set `TMK_DIR` to indicate core library location now.
14
15 TMK_DIR = ../../tmk_core
16
17
18
8Features 19Features
9-------- 20--------
10These features can be used in your keyboard. 21These 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
29Projects 41Projects
30-------- 42--------
31You can find some keyboard specific projects under `converter` and `keyboard` directory. 43You 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
156Boot Magic Configuration - Virtual DIP Switch
157---------------------------------------------
145Boot Magic are executed during boot up time. Press Magic key below then plug in keyboard cable. 158Boot Magic are executed during boot up time. Press Magic key below then plug in keyboard cable.
146Note 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. 159Note 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
148To 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). 161To 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
184Unintentional use of this feature will cause user confusion.
185
186TODO: Magic key combination to avoid unintentional press during plug in
187
188**TBD**
189 196
190 197
191Mechanical Locking support 198Mechanical 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
199Start Your Own Project 207Start 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
217Architecture
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--------
237Use PJRC's `hid_listen` to see debug messages. You can use the tool for debug even if firmware use LUFA stack. 215Use PJRC's `hid_listen` to see debug messages. You can use the tool for debug even if firmware use LUFA stack.
238 216
239You can use xprintf() to display debug info on `hid_listen`, see `common/xprintf.h`. 217You can use xprintf() to display debug info on `hid_listen`, see `tmk_core/common/xprintf.h`.
240 218
241 219
242 220
243Files and Directories 221Files 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