]> git.friedersdorff.com Git - max/tmk_keyboard.git/blobdiff - README.md
Update README
[max/tmk_keyboard.git] / README.md
index e918faa0df62c09d02fcdfc9fc30ba9811ebef00..78817a84f95825bb19ab962d74348495f98c9f6a 100644 (file)
--- a/README.md
+++ b/README.md
@@ -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
 --------
 These features can be used in your keyboard.
 Features
 --------
 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
 --------
 You can find some keyboard specific projects under `converter` and `keyboard` directory.
 Projects
 --------
 You can find some keyboard specific projects under `converter` and `keyboard` directory.
@@ -55,6 +67,14 @@ You can find some keyboard specific projects under `converter` and `keyboard` di
 * [Lightsaber](keyboard/lightsaber/)        - Korean custom keyboard
 * [Infinity](keyboard/infinity/)            - Massdrop [Infinity keyboard][Infinity]
 * [NerD](keyboard/nerd/)                    - Korean custom keyboard
 * [Lightsaber](keyboard/lightsaber/)        - Korean custom keyboard
 * [Infinity](keyboard/infinity/)            - Massdrop [Infinity keyboard][Infinity]
 * [NerD](keyboard/nerd/)                    - Korean custom keyboard
+* [KittenPaw](keyboard/kitten_paw)          - Custom Majestouch controller
+* [Lightpad](keyboard/lightpad)             - Korean custom keypad
+* [ghost_squid](keyboard/ghost_squid/)      - [The Ghost Squid][ghost_squid] controller for [Cooler Master QuickFire XT][cmxt]
+
+### Extenal projects using tmk_keyboard
+* [ErgoDox_cub-uanic][cub-uanic]            - Split Ergonomic Keyboard [ErgoDox][ergodox_org]
+* [mcdox][mcdox_tmk]                        - [mcdox][mcdox]
+
 
 [GH_macway]:    http://geekhack.org/showwiki.php?title=Island:11930
 [GH_hhkb]:      http://geekhack.org/showwiki.php?title=Island:12047
 
 [GH_macway]:    http://geekhack.org/showwiki.php?title=Island:11930
 [GH_hhkb]:      http://geekhack.org/showwiki.php?title=Island:12047
@@ -75,6 +95,12 @@ You can find some keyboard specific projects under `converter` and `keyboard` di
 [Sun]:          http://en.wikipedia.org/wiki/Sun-3
 [IIGS]:         http://en.wikipedia.org/wiki/Apple_IIGS
 [Infinity]:     https://www.massdrop.com/buy/infinity-keyboard-kit
 [Sun]:          http://en.wikipedia.org/wiki/Sun-3
 [IIGS]:         http://en.wikipedia.org/wiki/Apple_IIGS
 [Infinity]:     https://www.massdrop.com/buy/infinity-keyboard-kit
+[ghost_squid]:  http://deskthority.net/wiki/Costar_replacement_controllers#The_Ghost_Squid
+[cmxt]:         http://gaming.coolermaster.com/en/products/keyboards/quickfirext/
+[ergodox_org]:  http://ergodox.org/
+[cub-uanic]:    https://github.com/cub-uanic/tmk_keyboard/tree/master/keyboard/ergodox
+[mcdox]:        https://github.com/DavidMcEwan/mcdox
+[mcdox_tmk]:    https://github.com/DavidMcEwan/tmk_keyboard/tree/master/keyboard/mcdox
 
 
 
 
 
 
@@ -125,13 +151,14 @@ Following commands can be also executed with `Magic` + key. In console mode `Mag
     Caps:   Lock Keyboard(Child Proof)
     Paus:   jump to bootloader
 
     Caps:   Lock Keyboard(Child Proof)
     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.
 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.
 
 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.
 
-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
 - Skip reading EEPROM to start with default configuration(`ESC`)
 
 #### General
 - Skip reading EEPROM to start with default configuration(`ESC`)
@@ -166,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 7(`7`)
 
 - Set Default Layer to 6(`6`)
 - 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
@@ -182,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
 -----------------------
 **TBD**
 Start Your Own Project
 -----------------------
 **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
 
 
 
 
 
 
@@ -222,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
 -------------------
 ### Top
 
 
 
 Files and Directories
 -------------------
 ### Top
-* common/       - common codes
-* protocol/     - keyboard protocol support
+* tmk_core/     - core library
 * keyboard/     - keyboard projects
 * converter/    - protocol converter projects
 * doc/          - documents
 * keyboard/     - keyboard projects
 * converter/    - protocol converter projects
 * 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
 
 
 
 
 
 
@@ -279,4 +236,4 @@ Coding Style
 
 Other Keyboard Firmware Projects
 ------------------
 
 Other Keyboard Firmware Projects
 ------------------
-See [doc/other_projects.md](doc/other_projects.md).
+You can learn a lot about keyboard firmware from these. See [doc/other_projects.md](doc/other_projects.md).