From: Mark Sikora Date: Sun, 19 Jul 2015 18:56:30 +0000 (-0400) Subject: Merge remote-tracking branch 'tmk/master' X-Git-Url: https://git.friedersdorff.com/?a=commitdiff_plain;h=e1f1a65d6b878aafbe98fe5685a04b6277fdf192;hp=-c;p=max%2Ftmk_keyboard.git Merge remote-tracking branch 'tmk/master' --- e1f1a65d6b878aafbe98fe5685a04b6277fdf192 diff --combined README.md index 78610f4b,4f850619..81d7eef8 --- a/README.md +++ b/README.md @@@ -5,6 -5,17 +5,17 @@@ This is a keyboard firmware with some u Source code is available here: + Updates + ------- + #### 2015/04/22 + Core library was separated to other branch `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. @@@ -26,6 -37,7 +37,7 @@@ * Backlight - Control backlight levels + Projects -------- You can find some keyboard specific projects under `converter` and `keyboard` directory. @@@ -58,11 -70,12 +70,11 @@@ * [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] +* [ErgoDox](keyboard/ergodox/) - [Ergonomic keyboard][ergodox_org] [with split design][GH_ergodox] (see [Ergodox-FAQ.md](keyboard/ergodox/Ergodox-FAQ.md)) ### 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_ps2]: http://geekhack.org/showwiki.php?title=Island:14618 @@@ -74,7 -87,6 +86,7 @@@ [GH_x68k]: http://geekhack.org/showwiki.php?title=Island:29060 [GH_hbkb]: http://geekhack.org/showwiki.php?title=Island:29483 [GH_ibm4704]: http://geekhack.org/index.php?topic=54706.0 +[GH_ergodox]: http://geekhack.org/index.php?topic=48106.0 [HID_liber]: http://deskthority.net/wiki/HID_Liberation_Device_-_DIY_Instructions [Phantom]: http://geekhack.org/index.php?topic=26742 [GH60]: http://geekhack.org/index.php?topic=34959 @@@ -95,7 -107,8 +107,8 @@@ License ------- **GPLv2** or later. Some protocol files are under **Modified BSD License**. - LUFA, PJRC and V-USB stack have their own license respectively. + + Third party libraries like LUFA, PJRC and V-USB have their own license respectively. @@@ -115,7 -128,8 +128,8 @@@ Magic Command -------------- To see help press `Magic` + `H`. - `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. + `Magic` key combination is `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. Following commands can be also executed with `Magic` + key. In console mode `Magic` keybind is not needed. @@@ -139,13 -153,14 +153,14 @@@ 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. - 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`) @@@ -180,55 -195,23 +195,23 @@@ - 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 -------------------------- - 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. + This feature makes it possible for you to use mechanical locking switch for `CapsLock`, `NumLock` + or `ScrollLock`. To enable this feature define these macros in `config.h` and use `KC_LCAP`, `KC_LN + UM` or `KC_LSCR` in keymap for locking key instead of normal `KC_CAPS`, `KC_NLCK` or `KC_SLCK`. Res + ync option tries to keep switch state consistent with keyboard LED state. #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE + 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 @@@ -236,52 -219,17 +219,17 @@@ Debuggin -------- 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 - * common/ - common codes - * protocol/ - keyboard protocol support + * tmk_core/ - core library * 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