diff --git a/README.md b/README.md index 32461c71..725fae6d 100644 --- a/README.md +++ b/README.md @@ -19,3 +19,148 @@ License **GPLv2** or later. Some protocol files are under **Modified BSD License**. Third party libraries like LUFA, PJRC and V-USB have their own license respectively. + + +Build Firmware and Program Controller +------------------------------------- +See [tmk_core/doc/build.md](tmk_core/doc/build.md). + + + +Change your keymap +------------------ +See [tmk_core/doc/keymap.md](tmk_core/doc/keymap.md). + + + +Magic Commands +-------------- +To see help press `Magic` + `H`. + +`Magic` key combination is `LShift` + `RShift` in many projects, 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. + + ----- Command Help ----- + c: enter console mode + d: toggle debug enable + x: toggle matrix debug + k: toggle keyboard debug + m: toggle mouse debug + v: print device version & info + t: print timer count + s: print status + e: print eeprom config + n: toggle NKRO + 0/F10: switch to Layer0 + 1/F1: switch to Layer1 + 2/F2: switch to Layer2 + 3/F3: switch to Layer3 + 4/F4: switch to Layer4 + PScr: power down/remote wake-up + Caps: Lock Keyboard(Child Proof) + Paus: jump to bootloader + + + +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 [tmk_core/common/bootmagic.h](tmk_core/common/bootmagic.h). + +#### General +- Skip reading EEPROM to start with default configuration(`ESC`) +- Clear configuration stored in EEPROM to reset configuration(`Backspace`) + +#### Bootloader +- Kick up Bootloader(`B`) + +#### Debug +- Debug enable(`D`) +- Debug matrix enable(`D`+`X`) +- Debug keyboard enable(`D`+`K`) +- Debug mouse enable(`D`+`M`) + +#### Keymap +- Swap Control and CapsLock(`Left Control`) +- Change CapsLock to Control(`Caps Lock`) +- Swap LeftAlt and Gui(`Left Alt`) +- Swap RightAlt and Gui(`Right Alt`) +- Disable Gui(`Left Gui`) +- Swap Grave and Escape(`Grave`) +- Swap BackSlash and BackSpace(`Back Slash`) +- Enable NKRO on boot(`N`) + +#### Default Layer +- Set Default Layer to 0(`0`) +- Set Default Layer to 1(`1`) +- Set Default Layer to 2(`2`) +- Set Default Layer to 3(`3`) +- Set Default Layer to 4(`4`) +- Set Default Layer to 5(`5`) +- Set Default Layer to 6(`6`) +- Set Default Layer to 7(`7`) + + + +Mechanical Locking support +-------------------------- +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 +----------------------- +1. Add `tmk_core` into your repository using `git submodule` or `git subtree`. +2. Copy files from `tmk_keybaord` or other project similar to yours +3. Edit those files to support your keyboard. + +See these as examples. +- https://github.com/tmk/infinity_ergodox +- https://github.com/tmk/whitefox + + + +Debugging +-------- +Use PJRC's `hid_listen` to see debug messages. You can use xprintf() to display debug info, see `tmk_core/common/xprintf.h`. + +- https://www.pjrc.com/teensy/hid_listen.html + + + +Files and Directories +------------------- +### Top +* keyboard/ - keyboard projects +* converter/ - protocol converter projects +* tmk_core/ - core library +* tmk_core/doc/ - documents + + + +Contribution +------------ +- Report bugs in github **[Issues](https://github.com/tmk/tmk_keyboard/issues)**. +- Pull requets are also welcomed. + + + +Coding Style +------------- +- Doesn't use Tab to indent, use 4-spaces instead. + + + +Other Keyboard Firmware Projects +------------------ +You can learn a lot about keyboard firmware from these. See [Other Projects](https://github.com/tmk/tmk_keyboard/wiki/Other-Protjects) other than TMK. diff --git a/keyboard/ergodox/Ergodox-FAQ.md b/keyboard/ergodox/Ergodox-FAQ.md index a4247176..256806a1 100644 --- a/keyboard/ergodox/Ergodox-FAQ.md +++ b/keyboard/ergodox/Ergodox-FAQ.md @@ -42,11 +42,11 @@ https://github.com/cub-uanic/tmk_keyboard/tree/master # use one of these make -f Makefile.lufa - make -f Makefile.lufa KEYMAP=dvorak - make -f Makefile.lufa KEYMAP=colemak - make -f Makefile.lufa KEYMAP=workman - make -f Makefile.lufa KEYMAP=micro - make -f Makefile.lufa KEYMAP=cub + make -f Makefile.lufa dvorak + make -f Makefile.lufa colemak + make -f Makefile.lufa workman + make -f Makefile.lufa micro + make -f Makefile.lufa cub # Layouts diff --git a/keyboard/ergodox/Makefile.lufa b/keyboard/ergodox/Makefile.lufa index 42efc7d5..976877e1 100644 --- a/keyboard/ergodox/Makefile.lufa +++ b/keyboard/ergodox/Makefile.lufa @@ -114,6 +114,7 @@ EXTRAKEY_ENABLE = yes # Audio control and System control(+600) CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend +NKRO_ENABLE = yes # USB Nkey Rollover (+500) #PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support INVERT_NUMLOCK = yes # invert state of NumLock led diff --git a/tmk_core/protocol/pjrc/main.c b/tmk_core/protocol/pjrc/main.c index 4e1823d6..45eb17d4 100644 --- a/tmk_core/protocol/pjrc/main.c +++ b/tmk_core/protocol/pjrc/main.c @@ -36,7 +36,6 @@ #include "suspend.h" #include "host.h" #include "pjrc.h" -#include "sleep_led.h" #define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n)) diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0-tmk b/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0-tmk index df8e64d0..b6128f25 160000 --- a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0-tmk +++ b/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0-tmk @@ -1 +1 @@ -Subproject commit df8e64d0500c012c47b637522d0c1b33c3683e91 +Subproject commit b6128f252700a8dd2d12400c55680ef67cdcac86