Update README

This commit is contained in:
Jun Wako 2015-04-22 13:52:28 +09:00
parent 79cfa894af
commit 799993c414

View File

@ -5,6 +5,17 @@ This is a keyboard firmware with some useful features for Atmel AVR controller.
Source code is available here: <http://github.com/tmk/tmk_keyboard> Source code is available here: <http://github.com/tmk/tmk_keyboard>
Updates
-------
#### 2015/04/22
Core library was separated to other branch `core`. <https://github.com/tmk/tmk_keyboard/tree/core>
In `Makefile` you need to set `TMK_DIR` to indicate core library location now.
TMK_DIR = ../../tmk_core
Features Features
-------- --------
These features can be used in your keyboard. These features can be used in your keyboard.
@ -26,6 +37,7 @@ These features can be used in your keyboard.
* Backlight - Control backlight levels * Backlight - Control backlight levels
Projects Projects
-------- --------
You can find some keyboard specific projects under `converter` and `keyboard` directory. 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
Caps: Lock Keyboard(Child Proof) Caps: Lock Keyboard(Child Proof)
Paus: jump to bootloader Paus: jump to bootloader
**TBD**
### Boot Magic Configuration - Virtual DIP Switch
Boot Magic Configuration - Virtual DIP Switch
---------------------------------------------
Boot Magic are executed during boot up time. Press Magic key below then plug in keyboard cable. Boot Magic are executed during boot up time. Press Magic key below then plug in keyboard cable.
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. 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.
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). 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).
#### General #### General
- Skip reading EEPROM to start with default configuration(`ESC`) - 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
- Set Default Layer to 6(`6`) - Set Default Layer to 6(`6`)
- Set Default Layer to 7(`7`) - Set Default Layer to 7(`7`)
#### Caution
Unintentional use of this feature will cause user confusion.
TODO: Magic key combination to avoid unintentional press during plug in
**TBD**
Mechanical Locking support Mechanical Locking support
@ -196,39 +203,10 @@ This feature makes it possible for you to use mechanical switch for `CapsLock`,
#define LOCKING_RESYNC_ENABLE #define LOCKING_RESYNC_ENABLE
Start Your Own Project Start Your Own Project
----------------------- -----------------------
**TBD** **TBD**
### Config.h Options
#### 1. USB vendor/product ID and device description
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0xBEEF
#define MANUFACTURER t.m.k.
#define PRODUCT Macway mod
#define DESCRIPTION t.m.k. keyboard firmware for Macway mod
#### 2. Keyboard matrix configuration
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
#define MATRIX_HAS_GHOST
Architecture
------------
Architecture Diagram
+---------------+---------------+-------------+
| Host | Keyboard | Matrix, LED |
___________ |-----------+-+ +-------------+ | +-----------|
/ /| Keys/Mouse | Protocol |d| | Action | | | Protocol |
/__________/ |<-----------| LUFA |r| | Layer, Tap | | | Matrix |
|.--------.| | LED | V-USB |i| |-------------| | | PS/2,IBM | __________________
|| || |----------->| PJRC |v| | Keymap | | | ADB,M0110| Keys / /_/_/_/_/_/_/_/ /|
|| Host || | Console | iWRAP(BT)|e| | Mousekey | | | SUN/NEWS |<----------/ /_/_/_/_/_/_/_/ / /
||________||/.<-----------| UART |r| | Report | | | X68K/PC98| Control / /_/_/_/_/_/_/_/ / /
`_========_'/| |---------------------------------------------|-------->/___ /_______/ ___/ /
|_o______o_|/ | Sendchar, Print, Debug, Command, ... | |_________________|/
+---------------------------------------------+ Keyboard
@ -236,52 +214,17 @@ Debugging
-------- --------
Use PJRC's `hid_listen` to see debug messages. You can use the tool for debug even if firmware use LUFA stack. Use PJRC's `hid_listen` to see debug messages. You can use the tool for debug even if firmware use LUFA stack.
You can use xprintf() to display debug info on `hid_listen`, see `common/xprintf.h`. You can use xprintf() to display debug info on `hid_listen`, see `tmk_core/common/xprintf.h`.
Files and Directories Files and Directories
------------------- -------------------
### Top ### Top
* common/ - common codes * tmk_core/ - core library
* protocol/ - keyboard protocol support
* keyboard/ - keyboard projects * keyboard/ - keyboard projects
* converter/ - protocol converter projects * converter/ - protocol converter projects
* doc/ - documents * doc/ - documents
* common.mk - Makefile for common
* protocol.mk - Makefile for protocol
* rules.mk - Makefile for build rules
### Common
* host.h
* host_driver.h
* keyboard.h
* command.h
* keymap.h
* action.h
* keycode.h
* matrix.h
* led.h
* mousekey.h
* report.h
* debug.h
* print.h
* bootloader.h
* sendchar.h
* timer.h
* util.h
### Keyboard Protocols
* lufa/ - LUFA USB stack
* pjrc/ - PJRC USB stack
* vusb/ - Objective Development V-USB
* iwrap/ - Bluetooth HID for Bluegiga iWRAP
* ps2.c - PS/2 protocol
* adb.c - Apple Desktop Bus protocol
* m0110.c - Macintosh 128K/512K/Plus keyboard protocol
* news.c - Sony NEWS keyboard protocol
* x68k.c - Sharp X68000 keyboard protocol
* serial_soft.c - Asynchronous Serial protocol implemented by software