From 649b33d7783cf3021928534b7ae127e0a89e8807 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Tue, 21 Jun 2016 22:39:54 -0400 Subject: [PATCH] Renames keyboard folder to keyboards, adds couple of tmk's fixes (#432) * fixes from tmk's repo * rename keyboard to keyboards --- .gitignore | 8 ++-- .travis.yml | 2 +- Makefile | 10 ++--- README.md | 18 ++++---- doc/BUILD_GUIDE.md | 16 +++---- doc/CYGWIN_GUIDE.md | 2 +- doc/HAND_WIRE.md | 8 ++-- doc/PCB_GUIDE.md | 4 +- doc/TMK_README.md | 42 +++++++++--------- doc/VAGRANT_GUIDE.md | 4 +- doc/keymap.md | 4 +- keyboard/atomic/atomic_pcb.hex | Bin 70426 -> 0 bytes keyboard/planck/keymaps/default/compiled.hex | Bin 72500 -> 0 bytes .../experimental/planck_experimental.hex | Bin 73989 -> 0 bytes keyboard/planck/planck_pcb_r3.hex | Bin 69400 -> 0 bytes .../planck/planck_pcb_r3_w_bootloader.hex | Bin 80584 -> 0 bytes keyboard/planck/planck_pcb_r4.hex | Bin 73937 -> 0 bytes .../planck/planck_pcb_r4_w_bootloader.hex | Bin 85121 -> 0 bytes keyboard/preonic/preonic_pcb_r1.hex | Bin 73192 -> 0 bytes .../preonic/preonic_pcb_r1_w_bootloader.hex | Bin 84376 -> 0 bytes {keyboard => keyboards}/alps64/Makefile | 0 {keyboard => keyboards}/alps64/alps64.c | 0 {keyboard => keyboards}/alps64/alps64.h | 0 {keyboard => keyboards}/alps64/config.h | 0 .../alps64/keymaps/default/compiled.hex | Bin .../alps64/keymaps/default/keymap.c | 0 {keyboard => keyboards}/alps64/led.c | 0 {keyboard => keyboards}/alps64/matrix.c | 0 {keyboard => keyboards}/arrow_pad/Makefile | 0 {keyboard => keyboards}/arrow_pad/README.md | 2 +- {keyboard => keyboards}/arrow_pad/arrow_pad.c | 0 {keyboard => keyboards}/arrow_pad/arrow_pad.h | 0 {keyboard => keyboards}/arrow_pad/config.h | 0 .../arrow_pad/keymaps/default/compiled.hex | Bin .../arrow_pad/keymaps/default/keymap.c | 0 .../arrow_pad/keymaps/pad_21/Makefile | 0 .../arrow_pad/keymaps/pad_21/compiled.hex | Bin .../arrow_pad/keymaps/pad_21/config.h | 0 .../arrow_pad/keymaps/pad_21/keymap.c | 0 .../arrow_pad/keymaps/pad_24/Makefile | 0 .../arrow_pad/keymaps/pad_24/compiled.hex | Bin .../arrow_pad/keymaps/pad_24/config.h | 0 .../arrow_pad/keymaps/pad_24/keymap.c | 0 {keyboard => keyboards}/atomic/Makefile | 0 {keyboard => keyboards}/atomic/README.md | 2 +- {keyboard => keyboards}/atomic/atomic.c | 0 {keyboard => keyboards}/atomic/atomic.h | 0 {keyboard => keyboards}/atomic/config.h | 0 .../atomic/keymaps/abienz.c | 0 .../atomic/keymaps/default/compiled.hex | Bin .../atomic/keymaps/default/keymap.c | 0 .../atomic/keymaps/michelle.c | 0 .../atomic/keymaps/pvc/Makefile | 0 .../atomic/keymaps/pvc/compiled.hex | Bin .../atomic/keymaps/pvc/config.h | 0 .../atomic/keymaps/pvc/keymap.c | 0 {keyboard => keyboards}/atreus/Makefile | 0 {keyboard => keyboards}/atreus/README.md | 2 +- {keyboard => keyboards}/atreus/atreus.c | 0 {keyboard => keyboards}/atreus/atreus.h | 0 {keyboard => keyboards}/atreus/config.h | 0 .../atreus/keymaps/default/compiled.hex | Bin .../atreus/keymaps/default/keymap.c | 0 .../atreus/keymaps/gerb/compiled.hex | Bin .../atreus/keymaps/gerb/keymap.c | 0 {keyboard => keyboards}/bantam44/Makefile | 0 {keyboard => keyboards}/bantam44/README.md | 2 +- {keyboard => keyboards}/bantam44/bantam44.c | 0 {keyboard => keyboards}/bantam44/bantam44.h | 0 {keyboard => keyboards}/bantam44/config.h | 0 .../bantam44/keymaps/default/compiled.hex | Bin .../bantam44/keymaps/default/keymap.c | 0 {keyboard => keyboards}/clueboard1/Makefile | 0 .../clueboard1/clueboard1.c | 0 .../clueboard1/clueboard1.h | 0 {keyboard => keyboards}/clueboard1/config.h | 0 .../clueboard1/keymaps/default/compiled.hex | Bin .../clueboard1/keymaps/default/keymap.c | 0 {keyboard => keyboards}/clueboard1/led.c | 0 {keyboard => keyboards}/clueboard2/Makefile | 0 .../clueboard2/backlight.c | 0 .../clueboard2/clueboard2.c | 0 .../clueboard2/clueboard2.h | 0 {keyboard => keyboards}/clueboard2/config.h | 0 .../clueboard2/keymaps/default/compiled.hex | Bin .../clueboard2/keymaps/default/keymap.c | 0 .../clueboard2/keymaps/max/Makefile | 0 .../clueboard2/keymaps/max/compiled.hex | Bin .../clueboard2/keymaps/max/keymap.c | 0 .../clueboard2/keymaps/skully/compiled.hex | Bin .../clueboard2/keymaps/skully/keymap.c | 0 {keyboard => keyboards}/clueboard2/led.c | 0 {keyboard => keyboards}/cluepad/Makefile | 0 {keyboard => keyboards}/cluepad/backlight.c | 0 {keyboard => keyboards}/cluepad/cluepad.c | 0 {keyboard => keyboards}/cluepad/cluepad.h | 0 {keyboard => keyboards}/cluepad/config.h | 0 .../cluepad/keymaps/default/compiled.hex | Bin .../cluepad/keymaps/default/keymap.c | 0 .../ergodox_ez/190hotfix.sh | 0 {keyboard => keyboards}/ergodox_ez/Makefile | 0 {keyboard => keyboards}/ergodox_ez/config.h | 0 .../ergodox_ez/ergodox_ez.c | 0 .../ergodox_ez/ergodox_ez.h | 0 .../ergodox_ez/i2cmaster.h | 0 .../ergodox_ez/keymaps/ab/compiled.hex | Bin .../keymaps/ab/keyboard-layout.json | 0 .../ergodox_ez/keymaps/ab/keyboard-layout.png | Bin .../ergodox_ez/keymaps/ab/keymap.c | 0 .../ergodox_ez/keymaps/ab/readme.md | 2 +- .../keymaps/adnw_k_o_y/compiled.hex | Bin .../ergodox_ez/keymaps/adnw_k_o_y/keymap.c | 0 .../ergodox_ez/keymaps/adnw_k_o_y/readme.md | 0 .../ergodox_ez/keymaps/alexjj/compiled.hex | Bin .../ergodox_ez/keymaps/alexjj/keymap.c | 0 .../ergodox_ez/keymaps/alexjj/readme.md | 0 .../ergodox_ez/keymaps/alexjj/rl-layout.jpg | Bin .../ergodox_ez/keymaps/algernon/.gitignore | 0 .../ergodox_ez/keymaps/algernon/COPYING | 0 .../ergodox_ez/keymaps/algernon/Makefile | 0 .../ergodox_ez/keymaps/algernon/config.h | 0 .../keymaps/algernon/images/base-layer.png | Bin .../keymaps/algernon/images/emacs-layer.png | Bin .../algernon/images/experimental-layer.png | Bin .../keymaps/algernon/images/hun-layer.png | Bin .../algernon/images/one-handed-layer.png | Bin .../keymaps/algernon/images/steno-layer.png | Bin .../ergodox_ez/keymaps/algernon/keymap.c | 0 .../ergodox_ez/keymaps/algernon/readme.md | 6 +-- .../keymaps/algernon/tools/max-focused | 0 .../keymaps/andrew_osx/compiled.hex | Bin .../ergodox_ez/keymaps/andrew_osx/keymap.c | 0 .../ergodox_ez/keymaps/bepo/README.md | 0 .../ergodox_ez/keymaps/bepo/bepo.png | Bin .../ergodox_ez/keymaps/bepo/compiled.hex | Bin .../ergodox_ez/keymaps/bepo/keymap.c | 0 .../ergodox_ez/keymaps/coderkun_neo2/Makefile | 0 .../keymaps/coderkun_neo2/compiled.hex | Bin .../ergodox_ez/keymaps/coderkun_neo2/keymap.c | 0 .../keymaps/coderkun_neo2/readme.md | 0 .../ergodox_ez/keymaps/colemak/compiled.hex | Bin .../ergodox_ez/keymaps/colemak/keymap.c | 0 .../ergodox_ez/keymaps/colemak/readme.md | 0 .../keymaps/colemak_osx_pc_no/compiled.hex | Bin .../colemak_osx_pc_no/keyboard-layout.png | Bin .../keymaps/colemak_osx_pc_no/keymap.c | 0 .../keymaps/colemak_osx_pc_no/readme.md | 0 .../keymaps/csharp_dev/compiled.hex | Bin .../keymaps/csharp_dev/csharp_dev.png | Bin .../keymaps/csharp_dev/csharp_dev_legend.png | Bin .../ergodox_ez/keymaps/csharp_dev/keymap.c | 0 .../ergodox_ez/keymaps/csharp_dev/readme.md | 0 .../ergodox_ez/keymaps/dave/compiled.hex | Bin .../ergodox_ez/keymaps/dave/keymap.c | 0 .../ergodox_ez/keymaps/dave/readme.md | 0 .../ergodox_ez/keymaps/default/compiled.hex | Bin .../ergodox_ez/keymaps/default/default.png | Bin .../keymaps/default/default_highres.png | Bin .../ergodox_ez/keymaps/default/keymap.c | 0 .../ergodox_ez/keymaps/default/readme.md | 0 .../keymaps/default_osx/compiled.hex | Bin .../default_osx/default_osx_highres.png | Bin .../ergodox_ez/keymaps/default_osx/keymap.c | 0 .../ergodox_ez/keymaps/default_osx/readme.md | 0 .../ergodox_ez/keymaps/dragon788/compiled.hex | Bin .../ergodox_ez/keymaps/dragon788/keymap.c | 0 .../ergodox_ez/keymaps/dvorak/compiled.hex | Bin .../ergodox_ez/keymaps/dvorak/dvorak.png | Bin .../ergodox_ez/keymaps/dvorak/keymap.c | 0 .../keymaps/dvorak_intl_squisher/README.md | 0 .../keymaps/dvorak_intl_squisher/compiled.hex | Bin .../dvorak_intl_squisher/keyboard-layout0.png | Bin .../dvorak_intl_squisher/keyboard-layout1.png | Bin .../dvorak_intl_squisher/keyboard-layout2.png | Bin .../keymaps/dvorak_intl_squisher/keymap.c | 0 .../keymaps/dvorak_spanish/README.md | 0 .../keymaps/dvorak_spanish/compiled.hex | Bin .../keymaps/dvorak_spanish/keymap.c | 0 .../keymaps/emacs_osx_dk/compiled.hex | Bin .../keymaps/emacs_osx_dk/default_highres.png | Bin .../ergodox_ez/keymaps/emacs_osx_dk/keymap.c | 0 .../ergodox_ez/keymaps/emacs_osx_dk/readme.md | 0 .../keymaps/erez_experimental/Makefile | 0 .../keymaps/erez_experimental/compiled.hex | Bin .../keymaps/erez_experimental/config.h | 0 .../keymaps/erez_experimental/keymap.c | 0 .../keymaps/erez_experimental/readme.md | 0 .../keymaps/german-kinergo/compiled.hex | Bin .../keymaps/german-kinergo/keymap.c | 0 .../keymaps/german-kinergo/layout-code.png | Bin .../keymaps/german-kinergo/layout-media.png | Bin .../keymaps/german-kinergo/layout.png | Bin .../keymaps/german-kinergo/readme.md | 0 .../keymaps/german-manuneo/compile_keymap.py | 0 .../keymaps/german-manuneo/compiled.hex | Bin .../keymaps/german-manuneo/keymap.c | 0 .../keymaps/german-manuneo/keymap.md | 0 .../ergodox_ez/keymaps/german/compiled.hex | Bin .../ergodox_ez/keymaps/german/keymap.c | 0 .../ergodox_ez/keymaps/j3rn/compiled.hex | Bin .../ergodox_ez/keymaps/j3rn/keymap.c | 0 .../ergodox_ez/keymaps/j3rn/readme.md | 0 .../ergodox_ez/keymaps/jack/compiled.hex | Bin .../ergodox_ez/keymaps/jack/keymap.c | 0 .../ergodox_ez/keymaps/jacobono/README.md | 0 .../ergodox_ez/keymaps/jacobono/compiled.hex | Bin .../jacobono/img/colemak-default-layer.png | Bin .../jacobono/img/number-dpad-layer.png | Bin .../keymaps/jacobono/img/symbol-layer.png | Bin .../ergodox_ez/keymaps/jacobono/keymap.c | 0 .../ergodox_ez/keymaps/jgarr/compiled.hex | Bin .../ergodox_ez/keymaps/jgarr/keymap.c | 0 .../ergodox_ez/keymaps/kastyle/compiled.hex | Bin .../ergodox_ez/keymaps/kastyle/keymap.c | 0 .../ergodox_ez/keymaps/kines-ish/compiled.hex | Bin .../ergodox_ez/keymaps/kines-ish/keymap.c | 0 .../ergodox_ez/keymaps/kines-ish/readme.md | 0 .../keymaps/mpiechotka/compiled.hex | Bin .../ergodox_ez/keymaps/mpiechotka/keymap.c | 0 .../ergodox_ez/keymaps/mpiechotka/readme.md | 0 .../ergodox_ez/keymaps/msc/compiled.hex | Bin .../ergodox_ez/keymaps/msc/img/code_layer.png | Bin .../ergodox_ez/keymaps/msc/img/main_layer.png | Bin .../keymaps/msc/img/media_layer.png | Bin .../ergodox_ez/keymaps/msc/keymap.c | 0 .../ergodox_ez/keymaps/msc/readme.md | 0 .../ergodox_ez/keymaps/naps62/README.md | 0 .../ergodox_ez/keymaps/naps62/compiled.hex | Bin .../ergodox_ez/keymaps/naps62/keymap.c | 0 .../ergodox_ez/keymaps/ordinary/compiled.hex | Bin .../ergodox_ez/keymaps/ordinary/keymap.c | 0 .../keymaps/ordinary/ordinary-base.png | Bin .../keymaps/ordinary/ordinary-base.txt | 0 .../keymaps/ordinary/ordinary-media.png | Bin .../keymaps/ordinary/ordinary-media.txt | 0 .../keymaps/ordinary/ordinary-special.png | Bin .../keymaps/ordinary/ordinary-special.txt | 0 .../keymaps/ordinary/ordinary-symbol.png | Bin .../keymaps/ordinary/ordinary-symbol.txt | 0 .../ergodox_ez/keymaps/ordinary/readme.md | 0 .../ergodox_ez/keymaps/osx_de/compiled.hex | Bin .../ergodox_ez/keymaps/osx_de/keymap.c | 0 .../keymaps/osx_de/osx_de_highres.png | Bin .../ergodox_ez/keymaps/osx_de/readme.md | 0 .../keymaps/osx_de_adnw_koy/compiled.hex | Bin .../keymaps/osx_de_adnw_koy/keymap.c | 0 .../osx_de_adnw_koy_highres.png | Bin .../keymaps/osx_de_experimental/compiled.hex | Bin .../keymaps/osx_de_experimental/keymap.c | 0 .../osx_de_experimental_highres.png | Bin .../keymaps/osx_de_experimental/readme.md | 0 .../ergodox_ez/keymaps/osx_fr/compiled.hex | Bin .../ergodox_ez/keymaps/osx_fr/keymap.c | 0 .../keymaps/osx_kinesis_pnut/compiled.hex | Bin .../keymaps/osx_kinesis_pnut/keymap.c | 0 .../ergodox_ez/keymaps/plover/compiled.hex | Bin .../ergodox_ez/keymaps/plover/keymap.c | 0 .../ergodox_ez/keymaps/plums/compiled.hex | Bin .../ergodox_ez/keymaps/plums/keymap.c | 0 .../ergodox_ez/keymaps/plums/plums.png | Bin .../ergodox_ez/keymaps/plums/readme.md | 0 .../romanzolotarev-norman-osx/compiled.hex | Bin .../romanzolotarev-norman-osx/keymap.c | 0 .../romanzolotarev-norman-osx/readme.md | 0 .../romanzolotarev-norman-osx.png | Bin .../compiled.hex | Bin .../keymap.c | 0 .../readme.md | 0 .../romanzolotarev-norman-plover-osx-hjkl.png | Bin .../compiled.hex | Bin .../romanzolotarev-norman-plover-osx/keymap.c | 0 .../readme.md | 0 .../romanzolotarev-norman-plover-osx.png | Bin .../compiled.hex | Bin .../romanzolotarev-norman-qwerty-osx/keymap.c | 0 .../readme.md | 0 .../romanzolotarev-norman-qwerty-osx.png | Bin .../ergodox_ez/keymaps/sneako/README.md | 0 .../ergodox_ez/keymaps/sneako/compiled.hex | Bin .../ergodox_ez/keymaps/sneako/keymap.c | 0 .../keymaps/software_neo2/compiled.hex | Bin .../ergodox_ez/keymaps/software_neo2/keymap.c | 0 .../ergodox_ez/keymaps/supercoder/README.md | 2 +- .../keymaps/supercoder/compiled.hex | Bin .../keymaps/supercoder/config_user.h | 0 .../keymaps/supercoder/images/layout.png | Bin .../supercoder/images/supercoder_2000.jpg | Bin .../ergodox_ez/keymaps/supercoder/keymap.c | 0 .../ergodox_ez/keymaps/supercoder/makefile.mk | 0 .../ergodox_ez/keymaps/techtomas/compiled.hex | Bin .../ergodox_ez/keymaps/techtomas/keymap.c | 0 .../ergodox_ez/keymaps/techtomas/readme.md | 0 .../ergodox_ez/keymaps/tm2030/README.md | 0 .../ergodox_ez/keymaps/tm2030/compiled.hex | Bin .../ergodox_ez/keymaps/tm2030/keymap.c | 0 .../keymaps/tonyabra_osx/compiled.hex | Bin .../ergodox_ez/keymaps/tonyabra_osx/keymap.c | 0 .../ergodox_ez/keymaps/tonyabra_osx/readme.md | 0 .../ergodox_ez/keymaps/townk_osx/compiled.hex | Bin .../ergodox_ez/keymaps/townk_osx/config.h | 0 .../ergodox_ez/keymaps/townk_osx/keymap.c | 0 .../ergodox_ez/keymaps/townk_osx/makefile.mk | 0 .../ergodox_ez/keymaps/townk_osx/readme.md | 0 .../keymaps/townk_osx/townk_osx_base.png | Bin .../keymaps/townk_osx/townk_osx_fn.png | Bin .../keymaps/townk_osx/townk_osx_keypad.png | Bin .../ergodox_ez/keymaps/twey/compiled.hex | Bin .../ergodox_ez/keymaps/twey/keymap.c | 0 .../ergodox_ez/keymaps/twey/readme.md | 0 .../keymaps/workman_osx_mdw/compiled.hex | Bin .../keymaps/workman_osx_mdw/keymap.c | 0 .../keymaps/zweihander-osx/compiled.hex | Bin .../keymaps/zweihander-osx/keymap.c | 0 .../keymaps/zweihander-osx/readme.markdown | 0 {keyboard => keyboards}/ergodox_ez/matrix.c | 0 {keyboard => keyboards}/ergodox_ez/readme.md | 2 +- .../ergodox_ez/twimaster.c | 0 .../ergodox_ez/util/compile_keymap.py | 0 .../ergodox_ez/util/readme.md | 0 {keyboard => keyboards}/gh60/Makefile | 0 {keyboard => keyboards}/gh60/README.md | 2 +- {keyboard => keyboards}/gh60/config.h | 0 {keyboard => keyboards}/gh60/gh60.c | 0 {keyboard => keyboards}/gh60/gh60.h | 0 {keyboard => keyboards}/gh60/gh60revc.jpg | Bin .../gh60/keymaps/default/compiled.hex | Bin .../gh60/keymaps/default/keymap.c | 0 {keyboard => keyboards}/gh60/pinout.txt | 0 {keyboard => keyboards}/hhkb/Makefile | 0 {keyboard => keyboards}/hhkb/README.md | 2 +- {keyboard => keyboards}/hhkb/config.h | 0 {keyboard => keyboards}/hhkb/hhkb.c | 0 {keyboard => keyboards}/hhkb/hhkb.h | 0 {keyboard => keyboards}/hhkb/hhkb_avr.h | 0 .../hhkb/keymaps/default/compiled.hex | Bin .../hhkb/keymaps/default/keymap.c | 0 .../hhkb/keymaps/lxol/compiled.hex | Bin .../hhkb/keymaps/lxol/keymap.c | 0 {keyboard => keyboards}/hhkb/matrix.c | 0 {keyboard => keyboards}/jd45/Makefile | 0 {keyboard => keyboards}/jd45/config.h | 0 {keyboard => keyboards}/jd45/jd45.c | 0 {keyboard => keyboards}/jd45/jd45.h | 0 .../jd45/keymaps/default/compiled.hex | Bin .../jd45/keymaps/default/keymap.c | 0 .../jd45/keymaps/justin/compiled.hex | Bin .../jd45/keymaps/justin/keymap.c | 0 {keyboard => keyboards}/kc60/Makefile | 0 {keyboard => keyboards}/kc60/README.md | 2 +- {keyboard => keyboards}/kc60/config.h | 0 {keyboard => keyboards}/kc60/kc60.c | 0 {keyboard => keyboards}/kc60/kc60.h | 0 .../kc60/keymaps/default/compiled.hex | Bin .../kc60/keymaps/default/keymap.c | 0 .../kc60/keymaps/sgoodwin/compiled.hex | Bin .../kc60/keymaps/sgoodwin/keymap.c | 0 .../kc60/keymaps/stanleylai/Makefile | 0 .../kc60/keymaps/stanleylai/README.md | 0 .../kc60/keymaps/stanleylai/base_layer.png | Bin .../kc60/keymaps/stanleylai/compiled.hex | Bin .../kc60/keymaps/stanleylai/config.h | 0 .../kc60/keymaps/stanleylai/keymap.c | 0 .../kc60/keymaps/stanleylai/rgb_layer.png | Bin .../kc60/keymaps/ws2812/Makefile | 0 .../kc60/keymaps/ws2812/README.md | 0 .../kc60/keymaps/ws2812/compiled.hex | Bin .../kc60/keymaps/ws2812/config.h | 0 .../kc60/keymaps/ws2812/keymap.c | 0 .../kc60/keymaps/ws2812/ws2812_example.jpg | Bin .../keymaps/ws2812/ws2812_underside-lit.jpg | Bin .../kc60/keymaps/ws2812/ws2812_underside.jpg | Bin .../kc60/keymaps/ws2812/ws2812_wiring.jpg | Bin {keyboard => keyboards}/phantom/Makefile | 0 {keyboard => keyboards}/phantom/config.h | 0 .../phantom/keymaps/default/compiled.hex | Bin .../phantom/keymaps/default/keymap.c | 0 {keyboard => keyboards}/phantom/led.c | 0 {keyboard => keyboards}/phantom/phantom.c | 0 {keyboard => keyboards}/phantom/phantom.h | 0 {keyboard => keyboards}/phantom/pinout.jpg | Bin {keyboard => keyboards}/phantom/pinout.txt | 0 {keyboard => keyboards}/planck/.gitignore | 0 {keyboard => keyboards}/planck/Makefile | 0 {keyboard => keyboards}/planck/README.md | 2 +- {keyboard => keyboards}/planck/config.h | 0 .../planck/keymaps/.gitignore | 0 .../planck/keymaps/README.md | 0 .../planck/keymaps/alexey/Makefile | 0 .../planck/keymaps/alexey/compiled.hex | Bin .../planck/keymaps/alexey/keymap.c | 0 .../planck/keymaps/angerthosenear/Makefile | 0 .../keymaps/angerthosenear/compiled.hex | Bin .../planck/keymaps/angerthosenear/keymap.c | 0 .../planck/keymaps/austin/Makefile | 0 .../planck/keymaps/austin/compiled.hex | Bin .../planck/keymaps/austin/keymap.c | 0 .../planck/keymaps/basic/Makefile | 0 .../planck/keymaps/basic/README.md | 0 .../planck/keymaps/basic/compiled.hex | Bin .../planck/keymaps/basic/keymap.c | 0 .../planck/keymaps/bone2planck/Makefile | 0 .../planck/keymaps/bone2planck/compiled.hex | Bin .../planck/keymaps/bone2planck/keymap.c | 0 .../planck/keymaps/brandon/Makefile | 0 .../planck/keymaps/brandon/compiled.hex | Bin .../planck/keymaps/brandon/keymap.c | 0 .../planck/keymaps/cbbrowne/.gitignore | 0 .../planck/keymaps/cbbrowne/Makefile | 0 .../planck/keymaps/cbbrowne/config.h | 0 .../planck/keymaps/cbbrowne/keymap.c | 0 .../planck/keymaps/cbbrowne/readme.md | 0 .../planck/keymaps/charlie/Makefile | 0 .../planck/keymaps/charlie/compiled.hex | Bin .../planck/keymaps/charlie/keymap.c | 0 .../planck/keymaps/daniel/Makefile | 0 .../planck/keymaps/daniel/compiled.hex | Bin .../planck/keymaps/daniel/keymap.c | 0 .../planck/keymaps/david/Makefile | 0 .../planck/keymaps/david/compiled.hex | Bin .../planck/keymaps/david/keymap.c | 0 .../planck/keymaps/default/Makefile | 0 .../planck/keymaps/default/README.md | 0 keyboards/planck/keymaps/default/compiled.hex | Bin 0 -> 72901 bytes .../planck/keymaps/default/keymap.c | 0 .../planck/keymaps/dzobert/Makefile | 0 .../planck/keymaps/dzobert/compiled.hex | Bin .../planck/keymaps/dzobert/keymap.c | 0 .../planck/keymaps/experimental/Makefile | 0 .../planck/keymaps/experimental/README.md | 0 .../planck/keymaps/experimental/compiled.hex | Bin .../planck/keymaps/experimental/config.h | 0 .../planck/keymaps/experimental/keymap.c | 0 .../planck/keymaps/gabriel/Makefile | 0 .../planck/keymaps/gabriel/compiled.hex | Bin .../planck/keymaps/gabriel/keymap.c | 0 .../planck/keymaps/jacob/Keyboard Layout.PNG | Bin .../planck/keymaps/jacob/Makefile | 0 .../planck/keymaps/jacob/compiled.hex | Bin .../planck/keymaps/jacob/keymap.c | 0 .../planck/keymaps/jacob/readme.md | 0 .../planck/keymaps/joe/Makefile | 0 .../planck/keymaps/joe/compiled.hex | Bin .../planck/keymaps/joe/keymap.c | 0 .../planck/keymaps/kyle/Makefile | 0 .../planck/keymaps/kyle/compiled.hex | Bin .../planck/keymaps/kyle/keymap.c | 0 .../planck/keymaps/leo/Makefile | 0 .../planck/keymaps/leo/compiled.hex | Bin .../planck/keymaps/leo/keymap.c | 0 .../planck/keymaps/lucas/Makefile | 0 .../planck/keymaps/lucas/compiled.hex | Bin .../planck/keymaps/lucas/keymap.c | 0 .../planck/keymaps/lukas/Makefile | 0 .../planck/keymaps/lukas/compiled.hex | Bin .../planck/keymaps/lukas/keymap.c | 0 .../planck/keymaps/max/Makefile | 0 .../planck/keymaps/max/compiled.hex | Bin .../planck/keymaps/max/keymap.c | 0 .../planck/keymaps/mollat/Makefile | 0 .../planck/keymaps/mollat/compiled.hex | Bin .../planck/keymaps/mollat/keymap.c | 0 .../planck/keymaps/nico/Makefile | 0 .../planck/keymaps/nico/compiled.hex | Bin .../planck/keymaps/nico/keymap.c | 0 .../planck/keymaps/pete/Makefile | 0 .../planck/keymaps/pete/README.md | 0 .../planck/keymaps/pete/compiled.hex | Bin .../planck/keymaps/pete/keymap.c | 0 .../planck/keymaps/pvc/Makefile | 0 .../planck/keymaps/pvc/compiled.hex | Bin .../planck/keymaps/pvc/config.h | 0 .../planck/keymaps/pvc/keymap.c | 0 .../planck/keymaps/tak3over/Makefile | 0 .../planck/keymaps/tak3over/compiled.hex | Bin .../planck/keymaps/tak3over/keymap.c | 0 .../planck/keymaps/unicode/Makefile | 0 .../planck/keymaps/unicode/compiled.hex | Bin .../planck/keymaps/unicode/keymap.c | 0 .../planck/keymaps/yang/Makefile | 0 .../planck/keymaps/yang/WS2812-wiring.jpg | Bin .../planck/keymaps/yang/compiled.hex | Bin .../planck/keymaps/yang/keymap.c | 0 .../yang/planck-with-rgb-underglow.jpg | Bin .../common_keymaps/keymap_brett.c | 0 .../common_keymaps/keymap_dotcom.c | 0 .../common_keymaps/keymap_jack.c | 0 .../common_keymaps/keymap_joe.c | 0 .../common_keymaps/keymap_matthew.c | 0 .../common_keymaps/keymap_mitch.c | 0 .../common_keymaps/keymap_nathan.c | 0 .../common_keymaps/keymap_paul.c | 0 .../common_keymaps/keymap_peasant.c | 0 .../common_keymaps/keymap_reed.c | 2 +- .../common_keymaps/keymap_sean.c | 0 .../common_keymaps/keymap_shane.c | 0 .../common_keymaps/keymap_simon.c | 0 .../common_keymaps/keymap_tim.c | 0 .../common_keymaps/keymap_wilba.c | 0 .../planck/old_keymap_files/keymap_common.c | 0 .../planck/old_keymap_files/keymap_common.h | 0 {keyboard => keyboards}/planck/planck.c | 0 {keyboard => keyboards}/planck/planck.h | 0 {keyboard => keyboards}/preonic/Makefile | 0 {keyboard => keyboards}/preonic/README.md | 2 +- {keyboard => keyboards}/preonic/config.h | 0 .../preonic/keymaps/default/Makefile | 0 .../preonic/keymaps/default/README.md | 0 .../preonic/keymaps/default/compiled.hex | Bin .../preonic/keymaps/default/keymap.c | 0 {keyboard => keyboards}/preonic/preonic.c | 0 {keyboard => keyboards}/preonic/preonic.h | 0 {keyboard => keyboards}/retro_refit/Makefile | 0 {keyboard => keyboards}/retro_refit/README.md | 2 +- {keyboard => keyboards}/retro_refit/config.h | 0 .../retro_refit/keymaps/default/compiled.hex | Bin .../retro_refit/keymaps/default/keymap.c | 0 .../retro_refit/retro_refit.c | 0 .../retro_refit/retro_refit.h | 0 {keyboard => keyboards}/satan/Makefile | 0 keyboards/satan/backlight.c | 24 ++++++++++ {keyboard => keyboards}/satan/config.h | 0 {keyboard => keyboards}/satan/controller.jpg | Bin .../satan/keymaps/default/compiled.hex | Bin .../satan/keymaps/default/keymap.c | 0 {keyboard => keyboards}/satan/led.c | 0 {keyboard => keyboards}/satan/pinout.txt | 0 {keyboard => keyboards}/satan/power.jpg | Bin {keyboard => keyboards}/satan/satan.c | 0 {keyboard => keyboards}/satan/satan.h | 0 {keyboard => keyboards}/sixkeyboard/Makefile | 0 {keyboard => keyboards}/sixkeyboard/README.md | 0 {keyboard => keyboards}/sixkeyboard/config.h | 0 .../sixkeyboard/keymaps/default/compiled.hex | Bin .../sixkeyboard/keymaps/default/keymap.c | 0 {keyboard => keyboards}/sixkeyboard/matrix.c | 0 .../sixkeyboard/sixkeyboard.c | 0 .../sixkeyboard/sixkeyboard.h | 0 quantum/template/README.md | 2 +- tmk_core/common/host.c | 2 +- tmk_core/common/host.h | 2 +- tmk_core/protocol/lufa.mk | 5 +++ tmk_core/protocol/lufa/descriptor.c | 4 +- tmk_core/protocol/vusb/vusb.c | 4 +- tmk_core/rules.mk | 16 +++---- util/new_project.sh | 22 ++++----- 545 files changed, 131 insertions(+), 102 deletions(-) delete mode 100644 keyboard/atomic/atomic_pcb.hex delete mode 100644 keyboard/planck/keymaps/default/compiled.hex delete mode 100644 keyboard/planck/keymaps/experimental/planck_experimental.hex delete mode 100644 keyboard/planck/planck_pcb_r3.hex delete mode 100755 keyboard/planck/planck_pcb_r3_w_bootloader.hex delete mode 100644 keyboard/planck/planck_pcb_r4.hex delete mode 100644 keyboard/planck/planck_pcb_r4_w_bootloader.hex delete mode 100644 keyboard/preonic/preonic_pcb_r1.hex delete mode 100644 keyboard/preonic/preonic_pcb_r1_w_bootloader.hex rename {keyboard => keyboards}/alps64/Makefile (100%) rename {keyboard => keyboards}/alps64/alps64.c (100%) rename {keyboard => keyboards}/alps64/alps64.h (100%) rename {keyboard => keyboards}/alps64/config.h (100%) rename {keyboard => keyboards}/alps64/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/alps64/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/alps64/led.c (100%) rename {keyboard => keyboards}/alps64/matrix.c (100%) rename {keyboard => keyboards}/arrow_pad/Makefile (100%) rename {keyboard => keyboards}/arrow_pad/README.md (84%) rename {keyboard => keyboards}/arrow_pad/arrow_pad.c (100%) rename {keyboard => keyboards}/arrow_pad/arrow_pad.h (100%) rename {keyboard => keyboards}/arrow_pad/config.h (100%) rename {keyboard => keyboards}/arrow_pad/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/arrow_pad/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/arrow_pad/keymaps/pad_21/Makefile (100%) rename {keyboard => keyboards}/arrow_pad/keymaps/pad_21/compiled.hex (100%) rename {keyboard => keyboards}/arrow_pad/keymaps/pad_21/config.h (100%) rename {keyboard => keyboards}/arrow_pad/keymaps/pad_21/keymap.c (100%) rename {keyboard => keyboards}/arrow_pad/keymaps/pad_24/Makefile (100%) rename {keyboard => keyboards}/arrow_pad/keymaps/pad_24/compiled.hex (100%) rename {keyboard => keyboards}/arrow_pad/keymaps/pad_24/config.h (100%) rename {keyboard => keyboards}/arrow_pad/keymaps/pad_24/keymap.c (100%) rename {keyboard => keyboards}/atomic/Makefile (100%) rename {keyboard => keyboards}/atomic/README.md (84%) rename {keyboard => keyboards}/atomic/atomic.c (100%) rename {keyboard => keyboards}/atomic/atomic.h (100%) rename {keyboard => keyboards}/atomic/config.h (100%) rename {keyboard => keyboards}/atomic/keymaps/abienz.c (100%) rename {keyboard => keyboards}/atomic/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/atomic/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/atomic/keymaps/michelle.c (100%) rename {keyboard => keyboards}/atomic/keymaps/pvc/Makefile (100%) rename {keyboard => keyboards}/atomic/keymaps/pvc/compiled.hex (100%) rename {keyboard => keyboards}/atomic/keymaps/pvc/config.h (100%) rename {keyboard => keyboards}/atomic/keymaps/pvc/keymap.c (100%) rename {keyboard => keyboards}/atreus/Makefile (100%) rename {keyboard => keyboards}/atreus/README.md (98%) rename {keyboard => keyboards}/atreus/atreus.c (100%) rename {keyboard => keyboards}/atreus/atreus.h (100%) rename {keyboard => keyboards}/atreus/config.h (100%) rename {keyboard => keyboards}/atreus/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/atreus/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/atreus/keymaps/gerb/compiled.hex (100%) rename {keyboard => keyboards}/atreus/keymaps/gerb/keymap.c (100%) rename {keyboard => keyboards}/bantam44/Makefile (100%) rename {keyboard => keyboards}/bantam44/README.md (84%) rename {keyboard => keyboards}/bantam44/bantam44.c (100%) rename {keyboard => keyboards}/bantam44/bantam44.h (100%) rename {keyboard => keyboards}/bantam44/config.h (100%) rename {keyboard => keyboards}/bantam44/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/bantam44/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/clueboard1/Makefile (100%) rename {keyboard => keyboards}/clueboard1/clueboard1.c (100%) rename {keyboard => keyboards}/clueboard1/clueboard1.h (100%) rename {keyboard => keyboards}/clueboard1/config.h (100%) rename {keyboard => keyboards}/clueboard1/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/clueboard1/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/clueboard1/led.c (100%) rename {keyboard => keyboards}/clueboard2/Makefile (100%) rename {keyboard => keyboards}/clueboard2/backlight.c (100%) rename {keyboard => keyboards}/clueboard2/clueboard2.c (100%) rename {keyboard => keyboards}/clueboard2/clueboard2.h (100%) rename {keyboard => keyboards}/clueboard2/config.h (100%) rename {keyboard => keyboards}/clueboard2/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/clueboard2/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/clueboard2/keymaps/max/Makefile (100%) rename {keyboard => keyboards}/clueboard2/keymaps/max/compiled.hex (100%) rename {keyboard => keyboards}/clueboard2/keymaps/max/keymap.c (100%) rename {keyboard => keyboards}/clueboard2/keymaps/skully/compiled.hex (100%) rename {keyboard => keyboards}/clueboard2/keymaps/skully/keymap.c (100%) rename {keyboard => keyboards}/clueboard2/led.c (100%) rename {keyboard => keyboards}/cluepad/Makefile (100%) rename {keyboard => keyboards}/cluepad/backlight.c (100%) rename {keyboard => keyboards}/cluepad/cluepad.c (100%) rename {keyboard => keyboards}/cluepad/cluepad.h (100%) rename {keyboard => keyboards}/cluepad/config.h (100%) rename {keyboard => keyboards}/cluepad/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/cluepad/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/190hotfix.sh (100%) rename {keyboard => keyboards}/ergodox_ez/Makefile (100%) rename {keyboard => keyboards}/ergodox_ez/config.h (100%) rename {keyboard => keyboards}/ergodox_ez/ergodox_ez.c (100%) rename {keyboard => keyboards}/ergodox_ez/ergodox_ez.h (100%) rename {keyboard => keyboards}/ergodox_ez/i2cmaster.h (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ab/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ab/keyboard-layout.json (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ab/keyboard-layout.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ab/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ab/readme.md (93%) rename {keyboard => keyboards}/ergodox_ez/keymaps/adnw_k_o_y/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/adnw_k_o_y/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/adnw_k_o_y/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/alexjj/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/alexjj/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/alexjj/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/alexjj/rl-layout.jpg (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/algernon/.gitignore (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/algernon/COPYING (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/algernon/Makefile (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/algernon/config.h (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/algernon/images/base-layer.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/algernon/images/emacs-layer.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/algernon/images/experimental-layer.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/algernon/images/hun-layer.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/algernon/images/one-handed-layer.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/algernon/images/steno-layer.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/algernon/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/algernon/readme.md (98%) rename {keyboard => keyboards}/ergodox_ez/keymaps/algernon/tools/max-focused (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/andrew_osx/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/andrew_osx/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/bepo/README.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/bepo/bepo.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/bepo/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/bepo/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/coderkun_neo2/Makefile (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/coderkun_neo2/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/coderkun_neo2/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/coderkun_neo2/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/colemak/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/colemak/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/colemak/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/colemak_osx_pc_no/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/colemak_osx_pc_no/keyboard-layout.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/colemak_osx_pc_no/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/colemak_osx_pc_no/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/csharp_dev/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/csharp_dev/csharp_dev.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/csharp_dev/csharp_dev_legend.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/csharp_dev/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/csharp_dev/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dave/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dave/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dave/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/default/default.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/default/default_highres.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/default/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/default_osx/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/default_osx/default_osx_highres.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/default_osx/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/default_osx/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dragon788/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dragon788/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dvorak/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dvorak/dvorak.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dvorak/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dvorak_intl_squisher/README.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dvorak_intl_squisher/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dvorak_spanish/README.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dvorak_spanish/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/dvorak_spanish/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/emacs_osx_dk/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/emacs_osx_dk/default_highres.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/emacs_osx_dk/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/emacs_osx_dk/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/erez_experimental/Makefile (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/erez_experimental/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/erez_experimental/config.h (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/erez_experimental/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/erez_experimental/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/german-kinergo/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/german-kinergo/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/german-kinergo/layout-code.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/german-kinergo/layout-media.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/german-kinergo/layout.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/german-kinergo/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/german-manuneo/compile_keymap.py (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/german-manuneo/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/german-manuneo/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/german-manuneo/keymap.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/german/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/german/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/j3rn/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/j3rn/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/j3rn/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/jack/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/jack/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/jacobono/README.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/jacobono/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/jacobono/img/colemak-default-layer.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/jacobono/img/number-dpad-layer.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/jacobono/img/symbol-layer.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/jacobono/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/jgarr/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/jgarr/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/kastyle/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/kastyle/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/kines-ish/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/kines-ish/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/kines-ish/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/mpiechotka/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/mpiechotka/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/mpiechotka/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/msc/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/msc/img/code_layer.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/msc/img/main_layer.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/msc/img/media_layer.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/msc/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/msc/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/naps62/README.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/naps62/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/naps62/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ordinary/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ordinary/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ordinary/ordinary-base.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ordinary/ordinary-base.txt (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ordinary/ordinary-media.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ordinary/ordinary-media.txt (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ordinary/ordinary-special.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ordinary/ordinary-special.txt (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ordinary/ordinary-symbol.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/ordinary/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/osx_de/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/osx_de/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/osx_de/osx_de_highres.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/osx_de/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/osx_de_adnw_koy/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/osx_de_experimental/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/osx_de_experimental/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/osx_de_experimental/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/osx_fr/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/osx_fr/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/osx_kinesis_pnut/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/osx_kinesis_pnut/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/plover/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/plover/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/plums/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/plums/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/plums/plums.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/plums/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-osx/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-osx/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-osx/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/romanzolotarev-norman-plover-osx-hjkl.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/romanzolotarev-norman-plover-osx.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/sneako/README.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/sneako/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/sneako/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/software_neo2/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/software_neo2/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/supercoder/README.md (96%) rename {keyboard => keyboards}/ergodox_ez/keymaps/supercoder/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/supercoder/config_user.h (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/supercoder/images/layout.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/supercoder/images/supercoder_2000.jpg (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/supercoder/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/supercoder/makefile.mk (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/techtomas/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/techtomas/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/techtomas/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/tm2030/README.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/tm2030/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/tm2030/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/tonyabra_osx/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/tonyabra_osx/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/tonyabra_osx/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/townk_osx/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/townk_osx/config.h (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/townk_osx/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/townk_osx/makefile.mk (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/townk_osx/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/townk_osx/townk_osx_base.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/townk_osx/townk_osx_fn.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/townk_osx/townk_osx_keypad.png (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/twey/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/twey/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/twey/readme.md (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/workman_osx_mdw/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/workman_osx_mdw/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/zweihander-osx/compiled.hex (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/zweihander-osx/keymap.c (100%) rename {keyboard => keyboards}/ergodox_ez/keymaps/zweihander-osx/readme.markdown (100%) rename {keyboard => keyboards}/ergodox_ez/matrix.c (100%) rename {keyboard => keyboards}/ergodox_ez/readme.md (96%) rename {keyboard => keyboards}/ergodox_ez/twimaster.c (100%) rename {keyboard => keyboards}/ergodox_ez/util/compile_keymap.py (100%) rename {keyboard => keyboards}/ergodox_ez/util/readme.md (100%) rename {keyboard => keyboards}/gh60/Makefile (100%) rename {keyboard => keyboards}/gh60/README.md (87%) rename {keyboard => keyboards}/gh60/config.h (100%) rename {keyboard => keyboards}/gh60/gh60.c (100%) rename {keyboard => keyboards}/gh60/gh60.h (100%) rename {keyboard => keyboards}/gh60/gh60revc.jpg (100%) rename {keyboard => keyboards}/gh60/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/gh60/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/gh60/pinout.txt (100%) rename {keyboard => keyboards}/hhkb/Makefile (100%) rename {keyboard => keyboards}/hhkb/README.md (98%) rename {keyboard => keyboards}/hhkb/config.h (100%) rename {keyboard => keyboards}/hhkb/hhkb.c (100%) rename {keyboard => keyboards}/hhkb/hhkb.h (100%) rename {keyboard => keyboards}/hhkb/hhkb_avr.h (100%) rename {keyboard => keyboards}/hhkb/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/hhkb/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/hhkb/keymaps/lxol/compiled.hex (100%) rename {keyboard => keyboards}/hhkb/keymaps/lxol/keymap.c (100%) rename {keyboard => keyboards}/hhkb/matrix.c (100%) rename {keyboard => keyboards}/jd45/Makefile (100%) rename {keyboard => keyboards}/jd45/config.h (100%) rename {keyboard => keyboards}/jd45/jd45.c (100%) rename {keyboard => keyboards}/jd45/jd45.h (100%) rename {keyboard => keyboards}/jd45/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/jd45/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/jd45/keymaps/justin/compiled.hex (100%) rename {keyboard => keyboards}/jd45/keymaps/justin/keymap.c (100%) rename {keyboard => keyboards}/kc60/Makefile (100%) rename {keyboard => keyboards}/kc60/README.md (86%) rename {keyboard => keyboards}/kc60/config.h (100%) rename {keyboard => keyboards}/kc60/kc60.c (100%) rename {keyboard => keyboards}/kc60/kc60.h (100%) rename {keyboard => keyboards}/kc60/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/kc60/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/kc60/keymaps/sgoodwin/compiled.hex (100%) rename {keyboard => keyboards}/kc60/keymaps/sgoodwin/keymap.c (100%) rename {keyboard => keyboards}/kc60/keymaps/stanleylai/Makefile (100%) rename {keyboard => keyboards}/kc60/keymaps/stanleylai/README.md (100%) rename {keyboard => keyboards}/kc60/keymaps/stanleylai/base_layer.png (100%) rename {keyboard => keyboards}/kc60/keymaps/stanleylai/compiled.hex (100%) rename {keyboard => keyboards}/kc60/keymaps/stanleylai/config.h (100%) rename {keyboard => keyboards}/kc60/keymaps/stanleylai/keymap.c (100%) rename {keyboard => keyboards}/kc60/keymaps/stanleylai/rgb_layer.png (100%) rename {keyboard => keyboards}/kc60/keymaps/ws2812/Makefile (100%) rename {keyboard => keyboards}/kc60/keymaps/ws2812/README.md (100%) rename {keyboard => keyboards}/kc60/keymaps/ws2812/compiled.hex (100%) rename {keyboard => keyboards}/kc60/keymaps/ws2812/config.h (100%) rename {keyboard => keyboards}/kc60/keymaps/ws2812/keymap.c (100%) rename {keyboard => keyboards}/kc60/keymaps/ws2812/ws2812_example.jpg (100%) rename {keyboard => keyboards}/kc60/keymaps/ws2812/ws2812_underside-lit.jpg (100%) rename {keyboard => keyboards}/kc60/keymaps/ws2812/ws2812_underside.jpg (100%) rename {keyboard => keyboards}/kc60/keymaps/ws2812/ws2812_wiring.jpg (100%) rename {keyboard => keyboards}/phantom/Makefile (100%) rename {keyboard => keyboards}/phantom/config.h (100%) rename {keyboard => keyboards}/phantom/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/phantom/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/phantom/led.c (100%) rename {keyboard => keyboards}/phantom/phantom.c (100%) rename {keyboard => keyboards}/phantom/phantom.h (100%) rename {keyboard => keyboards}/phantom/pinout.jpg (100%) rename {keyboard => keyboards}/phantom/pinout.txt (100%) rename {keyboard => keyboards}/planck/.gitignore (100%) rename {keyboard => keyboards}/planck/Makefile (100%) rename {keyboard => keyboards}/planck/README.md (89%) rename {keyboard => keyboards}/planck/config.h (100%) rename {keyboard => keyboards}/planck/keymaps/.gitignore (100%) rename {keyboard => keyboards}/planck/keymaps/README.md (100%) rename {keyboard => keyboards}/planck/keymaps/alexey/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/alexey/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/alexey/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/angerthosenear/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/angerthosenear/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/angerthosenear/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/austin/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/austin/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/austin/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/basic/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/basic/README.md (100%) rename {keyboard => keyboards}/planck/keymaps/basic/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/basic/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/bone2planck/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/bone2planck/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/bone2planck/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/brandon/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/brandon/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/brandon/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/cbbrowne/.gitignore (100%) rename {keyboard => keyboards}/planck/keymaps/cbbrowne/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/cbbrowne/config.h (100%) rename {keyboard => keyboards}/planck/keymaps/cbbrowne/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/cbbrowne/readme.md (100%) rename {keyboard => keyboards}/planck/keymaps/charlie/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/charlie/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/charlie/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/daniel/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/daniel/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/daniel/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/david/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/david/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/david/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/default/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/default/README.md (100%) create mode 100644 keyboards/planck/keymaps/default/compiled.hex rename {keyboard => keyboards}/planck/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/dzobert/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/dzobert/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/dzobert/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/experimental/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/experimental/README.md (100%) rename {keyboard => keyboards}/planck/keymaps/experimental/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/experimental/config.h (100%) rename {keyboard => keyboards}/planck/keymaps/experimental/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/gabriel/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/gabriel/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/gabriel/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/jacob/Keyboard Layout.PNG (100%) rename {keyboard => keyboards}/planck/keymaps/jacob/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/jacob/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/jacob/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/jacob/readme.md (100%) rename {keyboard => keyboards}/planck/keymaps/joe/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/joe/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/joe/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/kyle/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/kyle/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/kyle/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/leo/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/leo/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/leo/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/lucas/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/lucas/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/lucas/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/lukas/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/lukas/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/lukas/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/max/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/max/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/max/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/mollat/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/mollat/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/mollat/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/nico/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/nico/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/nico/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/pete/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/pete/README.md (100%) rename {keyboard => keyboards}/planck/keymaps/pete/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/pete/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/pvc/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/pvc/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/pvc/config.h (100%) rename {keyboard => keyboards}/planck/keymaps/pvc/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/tak3over/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/tak3over/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/tak3over/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/unicode/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/unicode/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/unicode/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/yang/Makefile (100%) rename {keyboard => keyboards}/planck/keymaps/yang/WS2812-wiring.jpg (100%) rename {keyboard => keyboards}/planck/keymaps/yang/compiled.hex (100%) rename {keyboard => keyboards}/planck/keymaps/yang/keymap.c (100%) rename {keyboard => keyboards}/planck/keymaps/yang/planck-with-rgb-underglow.jpg (100%) rename {keyboard => keyboards}/planck/old_keymap_files/common_keymaps/keymap_brett.c (100%) rename {keyboard => keyboards}/planck/old_keymap_files/common_keymaps/keymap_dotcom.c (100%) rename {keyboard => keyboards}/planck/old_keymap_files/common_keymaps/keymap_jack.c (100%) rename {keyboard => keyboards}/planck/old_keymap_files/common_keymaps/keymap_joe.c (100%) rename {keyboard => keyboards}/planck/old_keymap_files/common_keymaps/keymap_matthew.c (100%) rename {keyboard => keyboards}/planck/old_keymap_files/common_keymaps/keymap_mitch.c (100%) rename {keyboard => keyboards}/planck/old_keymap_files/common_keymaps/keymap_nathan.c (100%) rename {keyboard => keyboards}/planck/old_keymap_files/common_keymaps/keymap_paul.c (100%) rename {keyboard => keyboards}/planck/old_keymap_files/common_keymaps/keymap_peasant.c (100%) rename {keyboard => keyboards}/planck/old_keymap_files/common_keymaps/keymap_reed.c (97%) rename {keyboard => keyboards}/planck/old_keymap_files/common_keymaps/keymap_sean.c (100%) rename {keyboard => keyboards}/planck/old_keymap_files/common_keymaps/keymap_shane.c (100%) rename {keyboard => keyboards}/planck/old_keymap_files/common_keymaps/keymap_simon.c (100%) rename {keyboard => keyboards}/planck/old_keymap_files/common_keymaps/keymap_tim.c (100%) rename {keyboard => keyboards}/planck/old_keymap_files/common_keymaps/keymap_wilba.c (100%) rename {keyboard => keyboards}/planck/old_keymap_files/keymap_common.c (100%) rename {keyboard => keyboards}/planck/old_keymap_files/keymap_common.h (100%) rename {keyboard => keyboards}/planck/planck.c (100%) rename {keyboard => keyboards}/planck/planck.h (100%) rename {keyboard => keyboards}/preonic/Makefile (100%) rename {keyboard => keyboards}/preonic/README.md (84%) rename {keyboard => keyboards}/preonic/config.h (100%) rename {keyboard => keyboards}/preonic/keymaps/default/Makefile (100%) rename {keyboard => keyboards}/preonic/keymaps/default/README.md (100%) rename {keyboard => keyboards}/preonic/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/preonic/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/preonic/preonic.c (100%) rename {keyboard => keyboards}/preonic/preonic.h (100%) rename {keyboard => keyboards}/retro_refit/Makefile (100%) rename {keyboard => keyboards}/retro_refit/README.md (84%) rename {keyboard => keyboards}/retro_refit/config.h (100%) rename {keyboard => keyboards}/retro_refit/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/retro_refit/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/retro_refit/retro_refit.c (100%) rename {keyboard => keyboards}/retro_refit/retro_refit.h (100%) rename {keyboard => keyboards}/satan/Makefile (100%) create mode 100644 keyboards/satan/backlight.c rename {keyboard => keyboards}/satan/config.h (100%) rename {keyboard => keyboards}/satan/controller.jpg (100%) rename {keyboard => keyboards}/satan/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/satan/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/satan/led.c (100%) rename {keyboard => keyboards}/satan/pinout.txt (100%) rename {keyboard => keyboards}/satan/power.jpg (100%) rename {keyboard => keyboards}/satan/satan.c (100%) rename {keyboard => keyboards}/satan/satan.h (100%) rename {keyboard => keyboards}/sixkeyboard/Makefile (100%) rename {keyboard => keyboards}/sixkeyboard/README.md (100%) rename {keyboard => keyboards}/sixkeyboard/config.h (100%) rename {keyboard => keyboards}/sixkeyboard/keymaps/default/compiled.hex (100%) rename {keyboard => keyboards}/sixkeyboard/keymaps/default/keymap.c (100%) rename {keyboard => keyboards}/sixkeyboard/matrix.c (100%) rename {keyboard => keyboards}/sixkeyboard/sixkeyboard.c (100%) rename {keyboard => keyboards}/sixkeyboard/sixkeyboard.h (100%) diff --git a/.gitignore b/.gitignore index 76d09a6806a..1ff0f2fa98b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,12 @@ -keyboard/planck/dfu-programmer.exe +keyboards/planck/dfu-programmer.exe .dep *.o *.eep *.elf /*.hex -/keyboard/**/*.hex -/keyboard/**/keymaps/**/*.hex -!/keyboard/**/keymaps/**/compiled.hex +/keyboards/**/*.hex +/keyboards/**/keymaps/**/*.hex +!/keyboards/**/keymaps/**/compiled.hex *.log *.lss *.lst diff --git a/.travis.yml b/.travis.yml index 436c17338a2..151f8618de4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,7 +29,7 @@ env: - KEYBOARD=sixkeyboard script: - - cd keyboard/$KEYBOARD && make all-keymaps + - cd keyboards/$KEYBOARD && make all-keymaps addons: apt: diff --git a/Makefile b/Makefile index 607636035b1..93e8fc4045b 100644 --- a/Makefile +++ b/Makefile @@ -7,8 +7,8 @@ starting_makefile := $(subst $(space),_SPACE_,$(abspath $(firstword $(MAKEFILE_L mkfile_path := $(subst $(space),_SPACE_,$(abspath $(lastword $(MAKEFILE_LIST)))) abs_tmk_root := $(patsubst %/,%,$(dir $(mkfile_path))) -ifneq (,$(findstring /keyboard/,$(starting_makefile))) - possible_keyboard:=$(patsubst %/,%,$(dir $(patsubst $(abs_tmk_root)/keyboard/%,%,$(starting_makefile)))) +ifneq (,$(findstring /keyboards/,$(starting_makefile))) + possible_keyboard:=$(patsubst %/,%,$(dir $(patsubst $(abs_tmk_root)/keyboards/%,%,$(starting_makefile)))) ifneq (,$(findstring /keymaps/,$(possible_keyboard))) KEYBOARD_DIR:=$(firstword $(subst /keymaps/, ,$(possible_keyboard))) KEYMAP_DIR:=$(lastword $(subst /keymaps/, ,$(possible_keyboard))) @@ -41,9 +41,9 @@ endif ifndef KEYBOARD KEYBOARD=planck endif -KEYBOARD_PATH = $(TOP_DIR)/keyboard/$(KEYBOARD) +KEYBOARD_PATH = $(TOP_DIR)/keyboards/$(KEYBOARD) ifneq ("$(wildcard $(KEYBOARD_PATH)/$(KEYBOARD).c)","") - KEYBOARD_FILE = keyboard/$(KEYBOARD)/$(KEYBOARD).c + KEYBOARD_FILE = keyboards/$(KEYBOARD)/$(KEYBOARD).c ifndef ARCH include $(KEYBOARD_PATH)/Makefile endif @@ -62,7 +62,7 @@ ifndef KEYMAP endif KEYMAP_PATH = $(KEYBOARD_PATH)/keymaps/$(KEYMAP) ifneq ("$(wildcard $(KEYMAP_PATH)/keymap.c)","") - KEYMAP_FILE = keyboard/$(KEYBOARD)/keymaps/$(KEYMAP)/keymap.c + KEYMAP_FILE = keyboards/$(KEYBOARD)/keymaps/$(KEYMAP)/keymap.c -include $(KEYMAP_PATH)/Makefile else $(error "$(KEYMAP_PATH)/keymap.c" does not exist) diff --git a/README.md b/README.md index be7cd0a851b..f6e0daa8ec4 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ The OLKB product firmwares are maintained by Jack, the Ergodox EZ by Erez, and t This is not a tiny project. While this is the main Readme, there are many other files you might want to consult. Here are some points of interest: -* The Readme for your own keyboard: This is found under `keyboards//`. So for the ErgoDox EZ, it's [here](keyboard/ergodox_ez/); for the Atomic, it's [here](keyboard/atomic/) and so on. +* The Readme for your own keyboard: This is found under `keyboards//`. So for the ErgoDox EZ, it's [here](keyboards/ergodox_ez/); for the Atomic, it's [here](keyboards/atomic/) and so on. * The [build guide](doc/BUILD_GUIDE.md), also mentioned in the next section. This is how you put your development environment together so you can compile the firmware. * The list of possible keycodes you can use in your keymap is actually spread out in a few different places: * [tmk_core/common/keycode.h](tmk_core/common/keycode.h) - the base TMK keycodes. This is the actual source file. @@ -23,9 +23,9 @@ This is not a tiny project. While this is the main Readme, there are many other ## Getting started -* [BUILD_GUIDE.md](doc/BUILD_GUIDE.md) contains instructions to set up a build environment, build the firmware, and deploy it to a keyboard. Once your build environment has been set up, all `make` commands to actually build the firmware must be run from a folder in `keyboard/`. -* If you're looking to customize a keyboard that currently runs QMK or TMK, find your keyboard's directory under `keyboard/` and run the make commands from there. -* If you're looking to apply this firmware to an entirely new hardware project (a new kind of keyboard), you can create your own Quantum-based project by using `util/new_project.sh `, which will create `/keyboard/` with all the necessary components for a Quantum project. +* [BUILD_GUIDE.md](doc/BUILD_GUIDE.md) contains instructions to set up a build environment, build the firmware, and deploy it to a keyboard. Once your build environment has been set up, all `make` commands to actually build the firmware must be run from a folder in `keyboards/`. +* If you're looking to customize a keyboard that currently runs QMK or TMK, find your keyboard's directory under `keyboards/` and run the make commands from there. +* If you're looking to apply this firmware to an entirely new hardware project (a new kind of keyboard), you can create your own Quantum-based project by using `util/new_project.sh `, which will create `/keyboards/` with all the necessary components for a Quantum project. ### Makefile Options @@ -307,7 +307,7 @@ If you have a bunch of macros you want to refer to from your keymap, while keepi #define EXT_PLV M(13) ``` -As was done on the [Planck default keymap](/keyboard/planck/keymaps/default/keymap.c#L33-L40) +As was done on the [Planck default keymap](/keyboards/planck/keymaps/default/keymap.c#L33-L40) #### Timer functionality @@ -400,7 +400,7 @@ Enable the backlight from the Makefile. Your keyboard can make sounds! If you've got a Planck, Preonic, or basically any keyboard that allows access to the C6 port, you can hook up a simple speaker and have it beep. You can use those beeps to indicate layer transitions, modifiers, special keys, or just to play some funky 8bit tunes. -The audio code lives in [quantum/audio/audio.h](/quantum/audio/audio.h) and in the other files in the audio directory. It's enabled by default on the Planck [stock keymap](/keyboard/planck/keymaps/default/keymap.c). Here are the important bits: +The audio code lives in [quantum/audio/audio.h](/quantum/audio/audio.h) and in the other files in the audio directory. It's enabled by default on the Planck [stock keymap](/keyboards/planck/keymaps/default/keymap.c). Here are the important bits: ``` #include "audio.h" @@ -475,7 +475,7 @@ AutoHotkey inserts the Text right of `Send, ` when this combination is pressed. ## RGB Under Glow Mod -![Planck with RGB Underglow](https://raw.githubusercontent.com/yangliu/qmk_firmware/planck-rgb/keyboard/planck/keymaps/yang/planck-with-rgb-underglow.jpg) +![Planck with RGB Underglow](https://raw.githubusercontent.com/yangliu/qmk_firmware/planck-rgb/keyboards/planck/keymaps/yang/planck-with-rgb-underglow.jpg) Here is a quick demo on Youtube (with NPKC KC60) (https://www.youtube.com/watch?v=VKrpPAHlisY). @@ -501,11 +501,11 @@ You'll need to edit `PORTF`, `DDRF`, and `PF4` on the first three lines to the p #define ws2812_DDRREG DDRB #define ws2812_pin PB3 -The firmware supports 5 different light effects, and the color (hue, saturation, brightness) can be customized in most effects. To control the underglow, you need to modify your keymap file to assign those functions to some keys/key combinations. For details, please check this keymap. `keyboard/planck/keymaps/yang/keymap.c` +The firmware supports 5 different light effects, and the color (hue, saturation, brightness) can be customized in most effects. To control the underglow, you need to modify your keymap file to assign those functions to some keys/key combinations. For details, please check this keymap. `keyboards/planck/keymaps/yang/keymap.c` ### WS2812 Wiring -![WS2812 Wiring](https://raw.githubusercontent.com/yangliu/qmk_firmware/planck-rgb/keyboard/planck/keymaps/yang/WS2812-wiring.jpg) +![WS2812 Wiring](https://raw.githubusercontent.com/yangliu/qmk_firmware/planck-rgb/keyboards/planck/keymaps/yang/WS2812-wiring.jpg) Please note the USB port can only supply a limited amount of power to the keyboard (500mA by standard, however, modern computer and most usb hubs can provide 700+mA.). According to the data of NeoPixel from Adafruit, 30 WS2812 LEDs require a 5V 1A power supply, LEDs used in this mod should not more than 20. diff --git a/doc/BUILD_GUIDE.md b/doc/BUILD_GUIDE.md index 5636c65ea4d..c9a760107e2 100644 --- a/doc/BUILD_GUIDE.md +++ b/doc/BUILD_GUIDE.md @@ -40,20 +40,20 @@ If you have any problems building the firmware, you can try using a tool called ## Verify Your Installation 1. If you haven't already, obtain this repository ([https://github.com/jackhumbert/qmk_firmware](https://github.com/jackhumbert/qmk_firmware)). You can either download it as a zip file and extract it, or clone it using the command line tool git or the Github Desktop application. 2. Open up a terminal or command prompt and navigate to the `qmk_firmware` folder using the `cd` command. The command prompt will typically open to your home directory. If, for example, you cloned the repository to your Documents folder, then you would type `cd Documents/qmk_firmware`. If you extracted the file from a zip, then it may be named `qmk_firmware-master` instead. -3. To confirm that you're in the correct location, you can display the contents of your current folder using the `dir` command on Windows, or the `ls` command on Linux or Mac. You should see several files, including `README.md` and a `quantum` folder. From here, you need to navigate to the appropriate folder under `keyboard/`. For example, if you're building for a Planck, run `cd keyboard/planck`. +3. To confirm that you're in the correct location, you can display the contents of your current folder using the `dir` command on Windows, or the `ls` command on Linux or Mac. You should see several files, including `README.md` and a `quantum` folder. From here, you need to navigate to the appropriate folder under `keyboards/`. For example, if you're building for a Planck, run `cd keyboards/planck`. 4. Once you're in the correct keyboard-specific folder, run the `make` command. This should output a lot of information about the build process. More information about the `make` command can be found below. ## Customizing, Building, and Deploying Your Firmware ### The Make command -The `make` command is how you compile the firmware into a .hex file, which can be loaded by a dfu programmer (like dfu-progammer via `make dfu`) or the [Teensy loader](https://www.pjrc.com/teensy/loader.html) (only used with Teensys). You can run `make` from the root (`/`), your keyboard folder (`/keyboard//`), or your keymap folder (`/keyboard//keymaps//`) if you have a `Makefile` there (see the example [here](/doc/keymap_makefile_example.mk)). +The `make` command is how you compile the firmware into a .hex file, which can be loaded by a dfu programmer (like dfu-progammer via `make dfu`) or the [Teensy loader](https://www.pjrc.com/teensy/loader.html) (only used with Teensys). You can run `make` from the root (`/`), your keyboard folder (`/keyboards//`), or your keymap folder (`/keyboards//keymaps//`) if you have a `Makefile` there (see the example [here](/doc/keymap_makefile_example.mk)). By default, this will generate a `_.hex` file in whichever folder you run `make` from. These files are ignored by git, so don't worry about deleting them when committing/creating pull requests. Your .hex file will also be copied into your keymap folder as `compiled.hex`, which isn't ignored by git - this is included in case first-time users are having trouble compiling, and just want to flash a layout via `make dfu-no-build` or using the Teensy loader. * The "root" (`/`) folder is the qmk_firmware folder, in which are `doc`, `keyboard`, `quantum`, etc. -* The "keyboard" folder is any keyboard project's folder, like `/keyboard/planck`. -* The "keymap" folder is any keymap's folder, like `/keyboard/planck/keymaps/default`. +* The "keyboard" folder is any keyboard project's folder, like `/keyboards/planck`. +* The "keymap" folder is any keymap's folder, like `/keyboards/planck/keymaps/default`. Below is a list of the useful `make` commands in QMK: @@ -80,8 +80,8 @@ Other, less useful functionality: There are 3 different `make` and `Makefile` locations: * root (`/`) -* keyboard (`/keyboard//`) -* keymap (`/keyboard//keymaps//`) +* keyboard (`/keyboards//`) +* keymap (`/keyboards//keymaps//`) The root contains the code used to automatically figure out which keymap or keymaps to compile based on your current directory and commandline arguments. It's considered stable, and shouldn't be modified. The keyboard one will contain the MCU set-up and default settings for your keyboard, and shouldn't be modified unless you are the producer of that keyboard. The keymap Makefile can be modified by users, and is optional. It is included automatically if it exists. You can see an example [here](/doc/keymap_makefile_example.mk) - the last few lines are the most important. The settings you set here will override any defaults set in the keyboard Makefile. **It is required if you want to run `make` in the keymap folder.** @@ -89,8 +89,8 @@ The root contains the code used to automatically figure out which keymap or keym There are 2 `config.h` locations: -* keyboard (`/keyboard//`) -* keymap (`/keyboard//keymaps//`) +* keyboard (`/keyboards//`) +* keymap (`/keyboards//keymaps//`) The keyboard `config.h` is included only if the keymap one doesn't exist. The format to use for your custom one [is here](/doc/keymap_config_h_example.h). If you want to override a setting from the parent `config.h` file, you need to do this: diff --git a/doc/CYGWIN_GUIDE.md b/doc/CYGWIN_GUIDE.md index ac13e745d71..05e7a55f768 100755 --- a/doc/CYGWIN_GUIDE.md +++ b/doc/CYGWIN_GUIDE.md @@ -235,7 +235,7 @@ If you did everything else right. This part should be a snap! Grab the latest so ``` $ cd ~/src $ git clone https://github.com/jackhumbert/qmk_firmware.git -$ cd qmk_firmware/keyboard/planck +$ cd qmk_firmware/keyboards/planck $ make ``` diff --git a/doc/HAND_WIRE.md b/doc/HAND_WIRE.md index 073dbf447ed..bb3683cb9cc 100644 --- a/doc/HAND_WIRE.md +++ b/doc/HAND_WIRE.md @@ -185,13 +185,13 @@ From here, you should have a working keyboard with the correct firmware. Before To start out, download [the firmware](https://github.com/jackhumbert/qmk_firmware/) - we'll be using my (Jack's) fork of TMK called QMK/Quantum. We'll be doing a lot from the Terminal/command prompt, so get that open, along with a decent text editor like [Sublime Text](http://www.sublimetext.com/). -The first thing we're going to do is create a new project using the script in the root directory of the firmware. In your terminal, run this command with `` replaced by the name of your project - it'll need to be different from any other project in the `keyboard/` folder: +The first thing we're going to do is create a new project using the script in the root directory of the firmware. In your terminal, run this command with `` replaced by the name of your project - it'll need to be different from any other project in the `keyboards/` folder: util/new_project.sh -You'll want to navigate to the `keyboard//` folder by typing, like the print-out from the script specifies: +You'll want to navigate to the `keyboards//` folder by typing, like the print-out from the script specifies: - cd keyboard/ + cd keyboards/ #### config.h @@ -286,7 +286,7 @@ After you've written out your entire keymap, you're ready to get the firmware co Once everything is installed, running `make` in the terminal should get you some output, and eventually a `.hex` file in that folder. If you're having trouble with this step, see the end of the guide for the trouble-shooting section. -Once you have your `.hex` file, open up the Teensy loader application, and click the file icon. From here, navigate to your `QMK/keyboard//` folder, and select the `.hex` file. Plug in your keyboard and press the button on the Teensy - you should see the LED on the device turn off once you do. The Teensy Loader app will change a little, and the buttons should be clickable - click the download button (down arrow), and then the reset button (right arrow), and your keyboard should be ready to go! +Once you have your `.hex` file, open up the Teensy loader application, and click the file icon. From here, navigate to your `QMK/keyboards//` folder, and select the `.hex` file. Plug in your keyboard and press the button on the Teensy - you should see the LED on the device turn off once you do. The Teensy Loader app will change a little, and the buttons should be clickable - click the download button (down arrow), and then the reset button (right arrow), and your keyboard should be ready to go! #### Testing your firmware diff --git a/doc/PCB_GUIDE.md b/doc/PCB_GUIDE.md index b36d8fb64cd..3fad41dfb44 100644 --- a/doc/PCB_GUIDE.md +++ b/doc/PCB_GUIDE.md @@ -33,7 +33,7 @@ Note that, since it will be directly accessing USB hardware, the ## Verify Your Installation 1. Clone the following repository: https://github.com/jackhumbert/qmk_firmware -2. Open a Terminal and `cd` into `qmk_firmware/keyboard/planck` +2. Open a Terminal and `cd` into `qmk_firmware/keyboards/planck` 3. Run `make`. This should output a lot of information about the build process. ## Using the built-in functions @@ -73,7 +73,7 @@ If you see this make (e=2): The system cannot find the file specified. make: *** [dfu] Error 2 -when trying to 'make dfu' on Windows you need to copy the dfu-programmer.exe to qmk_firmware/keyboard/planck. +when trying to 'make dfu' on Windows you need to copy the dfu-programmer.exe to qmk_firmware/keyboards/planck. ## Quantum MK Firmware diff --git a/doc/TMK_README.md b/doc/TMK_README.md index 36ef84ac65e..150b4f93bf4 100644 --- a/doc/TMK_README.md +++ b/doc/TMK_README.md @@ -29,12 +29,12 @@ You can find some keyboard specific projects under `converter` and `keyboard` di ## Main projects ### OLKB products -* [planck](keyboard/planck/) - [Planck] Ortholinear 40% keyboard -* [preonic](keyboard/preonic/) - [Preonic] Ortholinear 50% keyboard -* [atomic](keyboard/atomic/) - [Atomic] Ortholinear 60% keyboard +* [planck](keyboards/planck/) - [Planck] Ortholinear 40% keyboard +* [preonic](keyboards/preonic/) - [Preonic] Ortholinear 50% keyboard +* [atomic](keyboards/atomic/) - [Atomic] Ortholinear 60% keyboard ### Ergodox EZ -* [ergodox_ez](keyboard/ergodox_ez) - [Ergodox_EZ] Assembled split keyboard +* [ergodox_ez](keyboards/ergodox_ez) - [Ergodox_EZ] Assembled split keyboard ## Other projects @@ -52,20 +52,20 @@ You can find some keyboard specific projects under `converter` and `keyboard` di * [ibm4704_usb](converter/ibm4704_usb) - [IBM 4704 keyboard Converter][GH_ibm4704] ### keyboard -* [hhkb](keyboard/hhkb/) - [Happy Hacking Keyboard pro][GH_hhkb] hasu's main board -* [gh60](keyboard/gh60/) - [GH60] DIY 60% keyboard [prototype][GH60_proto] hasu's second board -* [hbkb](keyboard/hbkb/) - [Happy Buckling spring keyboard][GH_hbkb](IBM Model M 60% mod) -* [hid_liber](keyboard/hid_liber/) - [HID liberation][HID_liber] controller (by alaricljs) -* [phantom](keyboard/phantom/) - [Phantom] keyboard (by Tranquilite) -* [IIgs_Standard](keyboard/IIgs/) - Apple [IIGS] keyboard mod(by JeffreySung) -* [macway](keyboard/macway/) - [Compact keyboard mod][GH_macway] [retired] -* [KMAC](keyboard/kmac/) - 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] +* [hhkb](keyboards/hhkb/) - [Happy Hacking Keyboard pro][GH_hhkb] hasu's main board +* [gh60](keyboards/gh60/) - [GH60] DIY 60% keyboard [prototype][GH60_proto] hasu's second board +* [hbkb](keyboards/hbkb/) - [Happy Buckling spring keyboard][GH_hbkb](IBM Model M 60% mod) +* [hid_liber](keyboards/hid_liber/) - [HID liberation][HID_liber] controller (by alaricljs) +* [phantom](keyboards/phantom/) - [Phantom] keyboard (by Tranquilite) +* [IIgs_Standard](keyboards/IIgs/) - Apple [IIGS] keyboard mod(by JeffreySung) +* [macway](keyboards/macway/) - [Compact keyboard mod][GH_macway] [retired] +* [KMAC](keyboards/kmac/) - Korean custom keyboard +* [Lightsaber](keyboards/lightsaber/) - Korean custom keyboard +* [Infinity](keyboards/infinity/) - Massdrop [Infinity keyboard][Infinity] +* [NerD](keyboards/nerd/) - Korean custom keyboard +* [KittenPaw](keyboards/kitten_paw) - Custom Majestouch controller +* [Lightpad](keyboards/lightpad) - Korean custom keypad +* [ghost_squid](keyboards/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] @@ -92,7 +92,7 @@ You can find some keyboard specific projects under `converter` and `keyboard` di [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/ +[cmxt]: http://gaming.coolermaster.com/en/products/keyboard/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 @@ -113,7 +113,7 @@ Third party libraries like LUFA, PJRC and V-USB have their own license respectiv Build Firmware and Program Controller ------------------------------------- -See [doc/build.md](tmk_core/doc/build.md), or the README in the particular keyboard/* folder. +See [doc/build.md](tmk_core/doc/build.md), or the README in the particular keyboards/* folder. @@ -226,7 +226,7 @@ Files and Directories ------------------- ### Top * tmk_core/ - core library -* keyboard/ - keyboard projects +* keyboards/ - keyboard projects * converter/ - protocol converter projects * doc/ - documents diff --git a/doc/VAGRANT_GUIDE.md b/doc/VAGRANT_GUIDE.md index f7419ccda88..72223e8041f 100644 --- a/doc/VAGRANT_GUIDE.md +++ b/doc/VAGRANT_GUIDE.md @@ -12,7 +12,7 @@ Other than having Vagrant and Virtualbox installed and possibly a restart of you Build Firmware and Program Controller ------------------------------------- -See [/doc/BUIDE_GUIDE.md](/doc/BUILD_GUIDE.md), or the README in the particular keyboard/* folder. +See [/doc/BUIDE_GUIDE.md](/doc/BUILD_GUIDE.md), or the README in the particular keyboards/* folder. Change your keymap ------------------ @@ -20,7 +20,7 @@ See [/doc/keymap.md](/doc/keymap.md). ## Flashing the firmware -The "easy" way to flash the firmware is using a tool from your host OS like the Teensy programming app. [ErgoDox EZ](/keyboard/ergodox_ez/readme.md) gives a great example. +The "easy" way to flash the firmware is using a tool from your host OS like the Teensy programming app. [ErgoDox EZ](/keyboards/ergodox_ez/readme.md) gives a great example. If you want to program via the command line you can uncomment the ['modifyvm'] lines in the Vagrantfile to enable the USB passthrough into Linux and then program using the command line tools like dfu-util/dfu-programmer or you can install the Teensy CLI version. \ No newline at end of file diff --git a/doc/keymap.md b/doc/keymap.md index 4d42fbe5cb9..d1985e567c8 100644 --- a/doc/keymap.md +++ b/doc/keymap.md @@ -378,7 +378,7 @@ Default Layer also has bitwise operations, they are executed when key is release #### 2.3.2 Examples ***TODO: sample implementation*** -See `keyboard/hhkb/keymap.c` for sample. +See `keyboards/hhkb/keymap.c` for sample. @@ -424,7 +424,7 @@ This C function is called every time key is operated, argument `id` selects acti } key_t; ***TODO: sample implementation*** -See `keyboard/hhkb/keymap.c` for sample. +See `keyboards/hhkb/keymap.c` for sample. diff --git a/keyboard/atomic/atomic_pcb.hex b/keyboard/atomic/atomic_pcb.hex deleted file mode 100644 index a40409e09090ace833c6689f95004e471fca1260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70426 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 GmPnS($l?^B&3om6;f`3k7282_*ubOR%jeQHZ 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 diff --git a/keyboard/planck/keymaps/experimental/planck_experimental.hex b/keyboard/planck/keymaps/experimental/planck_experimental.hex deleted file mode 100644 index 76984a07cc26d228d3c4dc8e913e0a0f08dc8293..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73989 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 I!1R3l0M3Ag=>Px# diff --git a/keyboard/planck/planck_pcb_r3.hex b/keyboard/planck/planck_pcb_r3.hex deleted file mode 100644 index 11f523c058a607c3941bf96e9ab835d8e49a1858..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69400 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 diff --git a/keyboard/planck/planck_pcb_r3_w_bootloader.hex b/keyboard/planck/planck_pcb_r3_w_bootloader.hex deleted file mode 100755 index c61dfb743a2620716c7b645edf15566a3252d6cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80584 zcma%^*>dYT4`%PXs^7)7BoBS(L4N;7>a{)sisGH*{MnUl$EHXS1Tho*e}~h-pZx!R z{@?%e{|@sdpB$dI`TCmH)3H80UHP03AD8L%I`HA~a5bidtcbbp_pZyTR()%a13U6J`VUEfz=ns3MS%KM4;?@Kj)(s(-F&L=*+ z-e@QYhuiU-Y1}3!bnTvBG(H?wR{J)kfw1=b*0JoNDPedswF+1>{&8m@Dq(LS9%&4nO+h(U|k>8vlNsMU9IQK1wI|u z7vx6=H&*lTe!ptDk28%0;l0rCeR&-(4t)y(538hfn{I`T<3eMnw>7wo2HR(Rf2nEW)fc5p5G@vESj*V=j-)e59{ge{yALfpin10Lsu*{!IShXda|Q!)7uJ;1-d>wBMbLg3;m3OCGHBy|N zuFU;*Jo3JI-AQ_OL2NwxN^gs=jBq?N+52sI73V)m&+`#DPRrqbG}Fl1c4FSW?WFlzM^kGUk|;lPSW#nx?XM){d1yA8qP4LH$8?yJrDO{GVEZG za|)GJ&yY)jGdEbZD3kOotitAyj^YTwdpNJp!wP-B3uaMvSk9n~#&AwRf6wPDEBFE< z&)abZq*qbh6#o34-p}KEIxMxs&w@@L@BG&8 zoY@EcAfYV;_F7I#{*rUna$iVOV6bNluELD&g%@5sogzE&rarXpP)}rr=lXy@U__3rC9DP zJx55YIzShjz*NY;5Y6(w67;k5oSupyE{HR9h-sRxkT3XWZ{E7G^sIC`K9GC#ocA=y zE2H^YQ{5~*N0b2{3<6}m4rq=nNU0Gp-eXO04n5nW(C~m*kW^1cSZ>7J?RcpTJBL53 zy|OS_Id;p#6@-^eXfr2v%-S%Ao>>I6f-EuHDwTvd&Q9ij^E>D7)lFr??GW^PXO zLg5VY8j6FC@&nJd; z#UNH5Qi(#(7m@Vr`)5h3MS8{(vuDGXn3IC#or6EJa9*^ehoKWCyaC^ib`@ueb|<} z4TN*}Gee1$2R79SbWNzl%=IBp;O}Ya2};j=Ijsw{%Z|Cj#_snM1frlXQf-(+&uFKp zlsq^11Z!7S(6DQD@qR|<~&P%I#cHh6u1?g>iIckDs9|3=HJDv#uPo>u8* zDcU$o&mkg65p5AFJ6?`A&_J+_Ut2(m*fPCBdRq@{V^3Sd8=B8y{TD1^7^Q9|<~JxAbVA%?&~ zZhZBQ_-OT#4NYT)!*h6#xi1^&#qkyHdMq(<2|ZV@dqEjNRI>0~D|nHfTSBEr^bPQf z96v>A74Mf4#~0}tTQzvT)+<{KHw_a+LpZ8J6d_$oe}?K;2v>H*@>O}p#RfwzfteR#cNz^aJN*=D)chR#< zjRoY(Xa$HeaI6s~-$09ITPW^_+H;Nm3}1U{F#5<1VG>?|SBK9}knW|H8}*wuxPCD` zF7y0EOsL4f6d$~&*Yg!`KzVzv(Vx-T7aBixD8QCb1}_&I!!Y$k92yMi8Lj2;kSwK5 ztxKIaQet2RoI>3-^eo}Xdcb!W4oU<*jO(i$luP$K_;ax@8m%n#-A1LHxO-l;2d~oe zN+XmZG&neu?-_w6?pg!|s%-7StMn|W3?C2LtM(!r22OCBpO5J=chAzZLxn3zp7M>I z_UI^csSwxDvyJtTv5lTEmdE`zA&9Vm&^dOD@jB=k5ODl!I^O{a4*8Zg)c1Wo7yG(K z-v}Wwyw0bhVTd11VeFQB?ZIpGjVP>Rx7?!qUGeb&KZY<&82zpYY3Lhh4eSVd!f%6w z#Y*O{3#)y(Yp#~s1Efq0LW73U$7?GYxEQ{$fOW6szDdvaN<-olz*x%b^C>OIv4C6{ zVBDnVD|DeQkcDw9G!#Xhom}{C>7J$MJN)6{BpLeJE9hwS%+5KsdlnYYqNyj(Xt?Z< zS$*I2XPc=*^Z9!zUZ>1Gypd31LOBR35N~L^Y}Qo`7j3frqJ$1;qbf-RL6zr312!U$ zEqH3?H}9u*!QG_i6S`*zPeIS}vh{E-uvvv4Fq)8V((@3MER2|7C9u}!2q5Mm6;ywA4yrDwSj?%DTK%S3q%D)YBJBkiW*b@$M-`>yZ`BICUb^|4FhsVZ@N zm!7dEm>G7U%Bvg*_|cbU-CMrDcVp=pPs#i$(=<+0mObi^u%jG4i*MYe=Wu)A#u|GE zGwf(l>2A02RD19qdWOvQI3`{?N%y^JpWRq`c1LSCBCVLw;MF(_AR>BZ#I+YC{JDr+ z+#W$)8p*GV8s{R>yY$S2`9DU@41b1zSS0qMlYKxlt;XM_=ZAQP`GCUZ1gnLKgZ^Pz zoS>UaV-35-=MA|2oLEQ=X&V* zGo%`wYe`$y=QtHTKcwfo=EmuaF^ys^>t(sIKA8+O0ycUNK1$z6Kk|sshyz7~94mS# z5`Ba}yFZ~Yo;ckiKyhS37g+U-_c!xz~lkM(_FUlLDY2>c5rCLZC> z`06gD%aJI+ma5^k512#i&x-#Hsm6tyf=R9KbL|lQx_;L7;IsJi>!R@4@GKFO;~J;+ zt+v%O{JA~Y(g;rL`0fzHF3dvDr_x2Ap=Z9(9<2EGFm%E33Xc7(1^qMh%#7pUYcQ~Y z8w_=hHa(uwGhYlo$S%>IO%(mTu2EDF6Waux3Y>)p&a>uwv=`g~##DSiG4T#GKchb{ zEC%9tl16-wcx(2+oR6FX z#q#^sMR8m1dhxx+fqsH&=zeS+DbgfE*F!pdQBk%u0sW300M!;P_;>*v(_q*s=fex^ zsQIpsce{pO()07QvTS}4{36tbJI=pf6P}{d7+;}hK0GhbF0WT(L0Xx-!qyf%ljwJ2 zxnF~x(E|~BZ=;NWf>CqAs5#yEg_9CXtH$Bad;rHh!7)$tc4`ZV#*=Kf&C*x+v%Nj8 zWUs)tZ`b*Hz2Y_`KLz=`z$rUx=p{YR&+CE4M;f!*xM;Ce5GIi6<7_;rRpOWQjHQpn z=KJ>}Qpud;&?FxGpP+L$Fd! z7CL}NF%Zx`OH90^XVk6poi88tB{@jv6MvhFq%40n>ZE5PU5~_i6wCTU(PRmP;_J8( zgj_GJ6}&>v*%yb)jP>rKoZi69X5|$_9hOiV_SN+4PR4No#hukFsC+yR&$?3v4 zHO%49!c3zRy`BnXkQX2E+2sMp9K^p$&nJlv2M9znvO=oS39;qpb1}wMdfpnb2k#46 zA@~Sz;1Q-^?gSM(QnL>I8L1>A2UZjWx4E$wUuW8$kENNfL*MXAy!Ke{n$$Y+-2jQf zFwy z5N&>zzv-xr$5nc^;fiA&ZTCV19m^NI5pjyG!U*kxQ$_(Ao)UY4x$vHChYNv_rJhT8 z-rN~w5F5MZNb~^Q5@wiD$4Fj4470_cu($x)Xa0`90dDW4IJg+n_5%gm1=I##VOPz} zp-u=+MU{nN=?N|qlR#+|%_Gc<&?wYFQAi`ZVP`apg{$MQ=A$@MfV(tv4H6961uJ@f z!#03(J)_0reWrWlBiWQpd@PD_k+D&mZ~)`|(Cqm7iN}@f0-P9MAI9RZ)gp+*7d*L= z_T+2AzrLb?`?t7#DVZ=Aae<7+AxXZ(Q#l&ZIGU{U=O?~CRBa|5VDn*y(WjB&*w>%0 zrDe0mwx@eH|8K9A!00ahx$#kr(@x-Q6@x0k_z;gB+vw*JN-Kfg|I+gwtXewP_&XSH zNbYlll4)-I?~V68_Cwb}6s-RL(D>4gHI?l_GoyR@d@X+=n$G{wbNSw29)C5yoJmw7 zVPa4{8;{113rhR-PU;OwE?0w>_w{kVql;gk_=cbFrVX`THrsQdm&fa@M15W0x9>9^ z0CXfXU@C+@d^JKsAO&5=cYFy`J&{t3FL}K)MDc)dVVJ_{{=nVza2$S3lq_&SZ@5IiHF~d(z z{LVP9_2fXm_-4r|sK%jZP=?}!Z-rkFPaGY3;gw61iaPtvTU=-<+U zOFWp!_%2>Fu?wupW9K30I_d<`~ftfnJ=6up(k2b*y)AJwLxOL;u%rDpw zoMgQY-C;0Mkslgh_S-T$N%2W=fS9(jDQ1cugo!0s>aKiJNz=MG3g5o~WJtG9(j*!!Z~S zJ0FjXH2WG`Pa39GPJcKFwT~zjB9?r`;{1VN;A()fy>|tILx!qt<%YefX=G%9#n~eV`Ia``!8&i8KJ&JW0#aSU?X~i$6EH-C>LP9 z&&2=2MtM(%0@Abo?X{&ZI>9ocYj)F5p?c&GS4yq*_+-oE-SUb;J`s`w1m94@(!pPJ>mll=MCmoBY5jt?h~*S2!Ybze^2zQ)h)@iGKs z2|>q${Q(LgfgLDg#irx%C=6H8zkTHZ!vIAr4NG@q9y&e%Fi9pBQ-QynWMOHWpsUGO z{@{tpI~)2L+nVOAXybW2E0-7(BR_0BAisd3bb}n5Kj*W2J-&c})fi$pScV%HuPgsi zKrlhxerpv00AAkFF ztFJ~nlGw4re!Cv*cfdZFIp#g%hR{!Eg9Qj4078T0JtLx+@O5clvx~)`>Q4**;TEX= zrtX4}SLsMt;rtM{82u4XI(2_r7c6{%5qf6djd`bE$G`$)OM!2vxM3sw8MuIL0S`DS z(b{UWgNr=RfegjNLSd2s3$14~WSrBB=(mffEds2A-3g1b+y<;@N%b z5k_M4-RW{L0sHwxjn(jl=XkB6z~e;#C>xl3W%v-b~1sk5)+I1#vL~Q;6tOf zVC!UWd8GqiTO2Rav%Td@dSlrtx}+%LqKjuiFm;{ydseCt&CrQk=Lv8^`#lLDBpGoc z7L#ysP6XFth?&xP!i`$XEj`QsyU`h6dOKqr;Yw~%rR))qp)I7dkbZ^Vo4_OQCt^d_ zWxNLvlBh<{LFX0C#6}(=fdVf$>k#zB(wI1lxz^#Zi0L%c{dXoLL+>O8OJFcNCWi&{ zu7s~>3uCSMpEU;)^a_bCxYTTXr}tNFEAiXO@cBB_cSKU~8-WnUH zWTR|XrsZ9p0~!3Bsl(R%)+q4*^q?|`SaG8*ec8Y)p+3fQKu{F3`L=C9(eA?8uo|; zQp$=ks`p{Wt@8|yr3DTjEo2ZP28SgZ%PFPZmQ`U#M*NAkXsTQ%V5 z+2IIUP4haF#x0i~@4+)*thZ8oNV%agjR=<@kO{f^9xMw+cr`O-3)K5!m3=3`qgJ7aIg8#FAd> zSIKTzJ;K0~o_t{df(OQXv9XNzb;|H?8QYsLOo{gau|Z;L-ir-TT0vt%>V*x%1TvMI zzGHGv;U_RK&a>+uDlq|*m%ZIQBu6xiBd0VVhKP_lzF=f{fzW_z4{AJcN{IA%GXFbB z)uUW--s2tScTgP?LdM967gRdd1;IR`TKfkoZf0rz)iGgmj(EC`HH@=1gETpWVf47 zFvOj?zzA0x&bx->EBRfepn~Gy`G+1)qajQNo>V={pa1F6WPyz4`Fc+H6gF~9J20Bg ziBFe=YeBMuMUW785L5LmJ*$Ke#6cPoSyI@W;rxZ6bL$&8hgC(#Vz^=o_8ac~ylR~C zP~{}T%F^?YP*9{P>>k=tE(*@%`#K^3YooDT|H8gw6=r0}sd-;S9Z{*ud0`OS4qk^w zgP@e#ljGxO9ua_FU)w;qHh(r?1usq`Mv8=0`v%WzbN*}dXHF-uf`K^_mON~G&HFk4 zG!ksm6CCI$f94d3AY3@51|!e=V@WF$ZJZ#nJ}h(?jWo;#A0b|5W0qG%n2}txHRLE> zQQ$~Oqj$1o)OaFOc%Y(Nigollo@OIsu9z*qVlf-}^r7mxSb>;hA|s=tzr3<rvV-ipE#iFfqmlZbW#2SLTlTHZW7X&ht)~ zzq?)+!nvUE4X@lr>c*jG_Ck6^n%b*GK$>WJmASu5XksGnCTNhjdUe_1F=KmmV^;;j zC72BB;rGh#jbF;4poHF-CfF^_+`=lb{M%{em-XfgEHZv+L~0$cuLqgjg*xdOv*W_K zK29W$bPCN7Rd`JiY$#5>RAcpxPIC542dHynLdVDFnaOhA5Byi-(6e~umq-~=S0s0e z2%Mhe)IP~WBu-zArDx0wLZK(Z>8BMAjacQpln*0Jb5yFhD0>8>=6rgQ75KVx;sKR7 z#sWzui@LwbjZH`*LyK$) zp)rtMSm`_IZFe^sb#v?%#NYusqp+`G;(#ff;iM#YnLdN~XcA`guFkd}( zCmn9MOV6J$+9Tm|Y%2_X_({dv!5VGpkrP<|_Sl`Ys&<#2RTF|&dStf5y>aoPE78f> zPU;jm#W`r~5s|-8S4ZXI6b|apdPsTZT-_Csf%ifFcPBcI3eZJa;zhU9yH0r z#{V#uJuhiiz#+_l@egB>mz;~2G=F|b&*o|E84D|ij(WcG`u2T?DXk&|6B%Db1|k^F z2;j>Z&ZbPf;-)LL2R8}Z3Lf*pl`z`BxYD(@m7cb+D7V0GT&d&T59wJJ#Tw&k`GG5u z{yH`4wq`ycdpbfW$WnB^Y5G0{aFc&<0O1<*59~NJ8;Y>V!4Ml z`x{rfmOV(o7{wcg@)uWXA7jGXzxCK$sfsJ0UhyM~`im>ISItvv-*~Zn?vpDuHj;-F z)cwJgS{y&4ZzwMyR;2EtQ% zmPNsVe&tG4I)&6~8^fah;!1S}0+WEoI`h~vc*c0eah+ELXkOVsbyk~$n%x+h&X*pB z#%J;Ql0 zasSm~nv=Gjf?f?6aM8awX`KT1^eCuf$Nt4hTg#2s^P7s+oV5KL9yvwA{;ZPq4$d!uxum-LLOZ)z|n07zJbJCQ7G`Gn(wP(y84+qQa1&kq_? zs6pF!C9=WV4JJ9m|2Vr(y4X|2~-=yW|Sy5lxdCRozS?ApI4h_cezES%3_f@&^3L9~|>`Y01zdZbQ5 zAg!2=tY^r+O5V!GVUG1-Z>hU9-oi1M`D5(T(NLo)}v>nJrcjaWM|^ z*%{>w?_fv7a^#N&(e=~dMuVaMM_bQlWm|b{j)!T0Y1*2&;hpu3g3c#ekX0!M9MPBp zG1!!tp9_<^;AARMhb@nb2m_(`Mvgm6hB`p^i-XRNACqqBPfLT@sJz6l0@v%MEJITdFx*Uab@XEvxq!FB@7A3kiXKxvpfXDDN@E-4IJSeOx zq)wwS7$VESCPs8Xk_}49k7_J`&KJHSB=g>7#qCMW9gH#J zkwtZSml1@++avr5eA+AT)i?CfwFQ*ZX!($*IC=rtx;6oe+#Ecrcr&G&0z-OEj{vxV zQ}APCgcLf24T?tN8;vtL{>HVK_zJt_!M4KVoSvNtU*h92M%ft2COyL_+3A)OC^w7I z>cPy@E0YN*&RSfTo2Wz^9DvXFJ|h(pa%n9kd22nSa*0Rw$T#y2(p1$%bs%nhnk*bx zA(B)$l0Yb3#P)x$oP7XsSoWR(xW3>|@SfuQa1g-I?t5Qxxax|l27U%nFLqQ;Cld&q z6hT`IRCYO;yJ#FHOVP7677geY@ta9QV_@S;&fbk>H;V=Lv+Tu4Wapd^eh><5t-!tO zH6crSwWHLG7R%DJz2ZX?$H|S^7!D&Sj4E2naSGbfl2{N@X*W4eE+9O?1mBgv&Z=8x zWBuOn4C*S)&pL)o@RuHOMd!P!XX622KsH|vyzYlS8N>$T%hBoGfqtIk${GxEz zi9M@lhLDh8L*Y)^IFrL8&jF{%Xi`iDJ%^xs)xbBg6jl)0h=W~J%3X)goUJR&erN)d zr$WRx@y2n^flpYd(!SvEHii})vU{~;O%}+<>8OlH#5IkpSAs(T$_VZj$9b?VB!gn+ zod2?C;Iy`>1SGt8Xgqy_@Q0_dU?o$CjnG(qgMImUh&~23)qyh{(Kmce+#e30)8&*4TW1f(-?7)-tn|6u39x5$tf z)L406Xh!thH1ON9R}z8+MObcJ$DeYOKIqSnGbF_Kdv;9YTxbf@N) zyo06v2_wtUpRFdr4^RDy5f-J6yrgs*gao1gfss1w2pQAyezX3Bk;;t^(XlGSnf?<- zWMP$rfDS^>KlS#lgPNcTv-0P!Z3Po=evQ(1ylG;Wm@u=}GrABImK&Pfb%xD8G#MiY zQ6oKeG-x9UcN`?f!9a;_sLI?eLm_Y@HimkkRoJSr^h`#w(J5>~l4(lls4b=gh^I{H zW3q$N8|2s6Q1~cF=^g~Ib$Wu*Gb@-6r9i)AgXIES4GN#E>Iy>B3cpfS59EcuIYx| zqB2bKpFm7i*i!Ci1rwDayVnR5U~*WR5oRjiQ1gTHf;B;t6e$$L<{Xz^))PH$|Pm>rUPy z$yY;@8GLa<3_B$4Ko`FpL7`d{sz0Ck_fUz=Dsr{>0@SwBx4q&(82a9rU@}_681Ilf zh`n=E2MTqQ!&JbPQyr=r!C|q%@j}l0P}mTmev$o>%7M{vrs(X25<8^?a^zMpP%_9k zB*lea!c1g4V(g8=JshZ|=vsjxJ+s_rtN2*BhcC~Z%*27hF9$U}$om>*>2YMe(Nhxd z&{c@~U!FwTN~S<)D1k#4J$eelJ%l77;nZph!~;vV5Sxu`A&;oQke*d{q}$#Z{J|1M z2C`^h%Z>RodPbF@*8NEH`)9}0wo3kUZ=c_GOc}i77tnEUA9oBJ1+(sE-5d@-j)ki8 zR+_jlnXlF33@EFI^X0`aXOid$1EH}YJ@06NbjKt|k*Q*(Od7MpE0xR4KhuBt5L!Ui zn!M|dmcCBC30hj^OcMnbU(}g{d_5Kow&ZgXKaoGPiOS%O=!ONu`B?z0OPr4|$&ZKY z$jNc!Khu+vJ|$j&(bPP_Quqs2W#Hug10!025mt&50oZw%^OeL}hB{wIY>ys2fJ?4# zPN!`=Sq2`S-QWznn*!l9-cO7}m=7``J*IWsuu*vSdJy=Or2d5kP)yFmn>#ANgf?wa zowtB!BL0H`;pV)XYeVweAkpMM6PsrT{*Jz81*jFS+W5Y@PRFqrgN za=mNjC9(KR)p&s6(-?7tR2g4b-P7KACCh0LQ=3c4fBxK{y(dlillm%(M>SHBQKa}2 z^|>D_4I4>9V>f3=lKrRY(Yu-*%(h$Sa%UlyX}l-&pL(xD%4mZ$&VC~@y|Do3d#|=t zP9XM5HO7|_9quQ!t$hWc9@LeJ)~Z=+W7%rpy&{jPj-Ay@BoBG0!Dxbqpb_|r+og(y z94*RB{k&{g=m%PcOrZ-LAna;>p%>237H!18!3Pl25embEw<-V&!LQsJYQzgO8q1I* zQ7jj`o78Hd>FKGBa0KB~_ypg@a?he8VvOBlsZXWVC$njp za+aQ(^Zdqa${TNXUpP`YPcs{70-QvPQ3u(u;ml=GoBS?^-dZ{xdz=#DwSv+!f`jM? zilAEJ{y}s+1%I(Kkv3{t0bjsx?Myo#4^_cwUzl6LzWFt}OnIG+?ABB7b)5xKUjZTd14=;0>7nR8wPBP0+{69G^V%Lv{_{`5 zeJ{_C#W#}w>~4_PZH%#Xqtf$QXeR&J#%f!8;jVVG$@8*~lmBevy>LHMS9mXNt0KPV zZTNvrwdkdhcKDWoqqJ=jP5yJXk>t6e$rLSvW`w2eF2U;tjEm%b!@|CNMr#9SOd+J1Uj#knCTosu+7 zK4YE8fGyKjnA5;4N%kBfEn%LP0!{p~4NES;C%`NyB)uipPaa+|%T!zn&&hxG3z>QU zHjW!RbzBsNK|8*LQom63iJhr?mY$gyso-Cz5<6DC6$CL<1sRUXfBp$w^bv=!7-}b~ z_e1@Nu04jT`WhZ@yZ8ZJdkj5`nJ54GCv@#GRL3_=XyOO7?a{TT6CHzV+1<&14kl{m z=$WAn4lZy&X3$1e$0Uixp84VEX=p=zNf0oX%@ho6)KLfw1siq)X@hXdMjK`YKqu`e z!?@t*7n;Z<)k#YnC;z#32f9>re>Z`LpNOZ#%BX6uq{q;4FY9kB*)EIZKmSGeS;;b& zlx(Sber0lI{%(^qJC(_~l9kno4>GNPCVD4mN^7NI<3OUZir*dWe^fALF#Sp8_;qFL zz%MZi8ms5KD^Q}6;Y)*WzNE@T<#HVw!%VgeU;RiNPcvH@2;H23Q9C91&lD@uvORg7y6lJ@qc{u+s|HWvAhSlaxsnD32qME{e$k{;Zl$VCtqi@f z&pGH@JxkBcHJzlm?U?-;ry2!XE?du872L;T_^)(k=7AAQwQ3B6R;ZHyY`n+Ie~3!M zjVvr@eNdvl94zs>N?y`Oir$8{LDDfw2(?-Pqf-W)Fx7U5c@@mkb8Cyy@so4&T_9CS z4GaYu$J_eVBhOd|2^PgjE=mWvNMWRBSQVxMCs#+*&g6rfTjCrO>(#+=>%_s!N`)ZJ z@0EBxJwvOH7&XqN#6&jtZxideR6f6ljKPM+%MTOlxpW{S`Ok%_ZDM8tF@cXw+cx3t zk>Gty{_|&;GWq>pAO={^6Y+`CWKd$DXG;#gB6{(C@%rR%DtT$HTDY$A>pbnrcDFVm z?8+nzJ%ZF6^UTM1#U$=nn?*75VUi6xQ6&K#2mvt2P`PekxP%E)>sQ=2l1I{*L=kc# z3LCKp5kShloI`+cEF6>QKlC*}xYwvyfj(9C4JwjKIR<$ah9lrsY$xQNRDtIFmY7Ad ze^285-0AJvMo|=KRFR!A#wy0stvvU)id9>5(jUsd*2_ z2})IH7Nu8=zq!W`+`A~Sw8jRGY@h%Gd~de;Y!q6|^xx*3)LFc7=_ZwcNutr6jW3&? zI17b0o?yNj6li=FZ6yEM#bC)iKg{AYXAduETm z&#w&LdK0`>Ax4tC02%L2vMDxg06i}b#z@Fu?3B3q0Hb(Bwa3^-{0`S3NvJ*|%v0Y76Lf ztv@IKIs1V*;<9sM`VEeR5*yUz-cftWgSgF1WcBaRb-65(|7?$!wvBQwSlZO9@Q=b70-2 zMp2c8G9d6_x-!$HDlW@s8Mas}MPx~Dp!jb!>d))y^;8qL{0P2(_%I;>FCIVNVY6(w z&Yx-9YUDrD5P7}eR{7qD&rxTV=FiE0rYDXA?0T{hMwp}Frhw-S5=Dse!-r~yzTTfX z5QV*3+=;&1EKUA%R2>?U7&0U+thy~`JLpJF@}If+3?@EsjjEn~7zTreOYoU!dx0T; z-eyfNgb(45^hU)_572VsG|ami%b%0{kL*a^Fl-mgz%sG<8=g0Bjny}1v|Q`w*;t0? zv1gAE^FU4yw3eIvXB-Gt49gdCw;4y7EIc%F=8mGuD@gt`+?ldb$PQBIJN!h_*cNfB z^Mk7YOwcbza4W~Qp*+fJ(l@z>_Fjd|$31<>=!?CZKtXC4w(?g)M95r)pT~84Hq^(z z5@Pt)kiY$|(#hIEhR(geo$>SiO7ak1#jZ3+xH(rgk2iX)}zp--T&)SEo`}Dhvy&VgL zjF}j^Xs)DguD??^9cjac^lWC3_4QL{pRy+82fla@JHQ}A8ElU$dN45KWYm0iS34nj zhF4h_3#5~aFMF0 zAZiAUT~a7xauq*U&jqXS8Bo#quhok~XV5dnF>U+D>bYPQ(B~`>jm@+n%%o?CWNw%# z<(%;!dLaUq5HvHGxh8?B0{F_19X^zu0rB&GDBuuPl`9+9t(5F?=5->_(hEWVKpP}Lmo zdrza(u}4rkrr}}I*dEg`5J=geXAis?_wiVg6LZz9RLI0>POjSU_K>?qW6>i0|Fb~_ zoKEmIQP=6$L7V1>cX?)_;Tzt0%a7cCz(@XG;PkTJeD1221w>Y#VEjQBf>{2I6I=*= z;}5!!6iQl=&q!kyNo^{!dq1%(KeSRxpoJI#t?5D<0mh9kFz@`kqD!Zd{|qd6;ILVC zjiCz(SW>7+x+jzX;}5!!6q@Qr{xf{b^5snzUWl-#jq=HOIP_=QKpWU-qte~Ahxz#r z+NiUoNm34Nz@`RmcvSL(HY(n2RpkGsjjDKDg;M{Z4ZJ<5GJ}wk|7_%63qsclLX}fz z*xN1+c!g&{^VK-~8TlrI$z&DDI3Y{Dzs?fRd|?B6$5<+yo?NE^A@_LgRc`ylvxowJ^e8 zZbK?k(pD@WU07?*qYxy?1pN$7`r_|8eMYu7jSaJ?rg5kdQ4)V0gMV4cmDq;#}&D38LrKbDKT@gmg08;G6-Y=WkA5w5`30 zELdfTQRRikdsv@SPO+Z0>Rc#hlOPKw_x*>c~jb6SFyqNHnOYH63@H!|gpj5e2 z7}EHg%5xwVqo^jRzG0*eu|)5TK)o6#l@Y`eBa|~l5>hL`9V?vt7M}47eBrrH=#Tp! zgDz3DcUKhd9j(G=Mh2bWSdFYM&g1w16yKLm#zYr% zepV(8G7Jp}9ubq^cVwuRbGG>+pgU)CsT9PGf*i|Ug9 zJbD?oLHdAcB@oqS^tQ&B{AVrTZ$@t~4s;&ShVP4_2!MgJKfJkjhMOUcI0PvCO-LGc z3|NyvqYW0s3gEO!QXZ;Y3aC+IFaxp#D`^PJ%_}Y+KI@&L(LWlCE>Oe9jla?Nf@RpD z%u*5w2kNMaS#T}`&VWW~I`yVXARN+ogOe{6`g^pAsn&8w{_}tM3hJJkQ|dpbXEBo9 zGM0WDjn5v1XVpK^^&Jb@PG6r@$nTW=XUfFJ%T3^})#ZDHM=3FAj%c#LuJ~nIMW)-s- zz4W0O6spFC{Q19Vqd8LYpKbgTClz+dq4kaAKM%$@^r6r(*KzF=kXs34t{Aj1MYEB~ zV*fD#xz5q&!n))X!hzsp_?vl!BOwO9I8)tVsb7SjVpG3yrn>$K#eufXruLl40C^|V zSN_H*r=1l83aD;qG)!b4-z;A)5k0|xCiI|jWQm|Y729OFK3u4)3pKcAgtooR0SRZd z=%YAlWT6jLDC#uoKUWWXe50Ugr9_i#vo!h7y#Si}`z-Lrdy{DLpMT2&Z@gD+!&CB~ zcZ;xPJay{8{mDIY<=;sDvy1YXwXkwKfDTnLQuleDlK-4&2mTG^?Rvq@fscf^P@L9q zmbGdP5mXm-JRLohZA9rm`CIg6RZeyiC#Qx?8TFsb9=xLAa)1Jp41W*~7BW<1i(UMj zs{vd=>=HIAs{m#((zP(rs_;jT_m!xr%a@<|iBXp?^j(mw;tnUxT0VjrRmV4sw2z)~ z^x{ArY=Ges_*DJLq2=OWIR&W`n!7aasMOawO;g{}Sk zeQTXx9y5eIIE;1)Q`^upk)FAZgfHo#QcVp?Oy z=g@%hV>c|Aaf+_u3y~TumFFb+&)H`Z6DU)iKO(VI?rgwx;%7LcNOY^7<ZA)Qduc0izWLu!@$ zkLRahmNHQ#qdlr(O0uOrwoFm7g`Vxzbe0Wv#GD7-{JRPhaju-kpIbiKNN>vv{!f3Y~rt}J(&DwoDkN#x%ldr5GE1}VpZrv{LMv2{bvK&P|s4n@>n>7I_mS`e@0hYi%qZ4^a9SPKSUzs0v zy19qx!LGvni5ic)sQGj9pY>bmWu*ukN!^u8MTtAKhl=9v-Mn2>2Z18 zfAzf7?oR&m4?SP^J@*PG|M|aqZoZNF&qffeOJIEhQB{9)LWwOZ85Cno{&T)ut~kxd zmu>(YIy!+(M&eqffsM+4z9ZxB>LZ-wTW~DT5C=JdS0gX2} znnn3x2=ML|Pox1%Ri)Xwv>HIC7x%bP?vvF*DdDz|H{P(Ei$(kH>N*y)MH4{gd2=_C z78MD&(Kq@8iO0U$OPu`YGsZzR^t1v?!Y`Pq6D3?!R1=KU#GFfhD}0k=Z{(lKEj_X+ z_1)F&8>i$y^CeE^G=eGTT#CozSyvhoWp7_W@}DhL(zr$Wn3ge0pe zhAb**&cVGDs^mX6>T+(|@}g)0SP0Y}qp|2Ke_isQMVp2|qt6D7I-_xwv(4#R&@AfY zb3}W%rEJ`R7SM{I+DK3S^AP4tEDR*adXPe3p$Mx^t#a!FJ*P2LChYKzfYV^8VzxJ) z9S47g!MF$SC?iKb9?%6z*)J~p(cgA#+ba3b-Ajhvts;lR#%Q%+lmD!LicXAEsm%%$fYU305ZdTu{bv>uR8=!@rM>h;@_ODS+Gs!RQ68vJ>bxGp?m)_~C* z{*$RkD}amEt;DC1|I7#b6*PzOO;{m1|LZ3VX^o|(aRv#X7c89? zmHcOVp}MfvLyf@sn;9)M)-ROTQM}|obHxxz2qY9UJX{_3;_yaHZ{A~W)|qrpvNOT% z(Sum}X4p=EB7+&(B2~@L!ag*{JEChD-Gonm|E@W-ehNeu>pBM*ys2Wx}Z z{F(3`KlG~Db-#Kj6{|;&El=LDK@iZzMeTSym)Y=kQY`IR7+uX{f+G-CXRSC5#maw8 ztmkqp_N9xTr(qEi4(LyB(1vEx4a{7@Ovk&E|D1!>(t$lou7$Ghxx;74f8O^jQ+$Im zbjmLcvMiwFKkrpDwis~bq<+*(x7?{T^W;CPZ~nCZRB+$asqHMdReCP|jHiOk1-DbF znSI=@edb!799H3^K1_yHczT{EM|7bg`5PB{ijR zn1OxP*6%tyYt(=K&_!iisAJ($OaVxWkfLueF{&QG1f(z;n!LnuOgFOgsnfye2SPzb z8pISi7TDVyMq*%U-|-@T$Exf>VhI8x_ z1V?RGC(b63L25t^xjG7qvFH4CoF7I_V>y3O+Gg50F)`t&OYse z@WO~yQ`4Jgm_CrDW_7DPvN|#v<1a=S3=*{zdMVEd!}C)!w-_)_C)U41P9{0sa{H zrD(&9kUw+q4M(xP^S&}eLPnC^mKiCGI>`i!OX{qthc%bw*0D=l;M7TmH*G}iWW4m_ zgVOLatTvApF(giwghR;e@{~ie!wVeG1C^bkPnMnwHu0Kl@DJBeRZ91s!7*IJNv22O z+@r9}CAd9}w-5<4he|mrjL(l_ue~^zhFN>CSE_rD`ySlem^fb-Y)7pWjNOWf0dZ^o zl$ogcdnkdJ+k)YjR>XisyS$$(S}r(vK8@*2jHE{sy7#9)JrYN4bKtY7wpeu#X#s)?x^^p@(LIh(B z-#z{F@YsWHM}D#izk1q(;Dc3S(RuI#j2j3m>#6+wd+m4JeB{@Ql!j>_&?IJA6K4 z#5xk_Ri1#s(?1QL5fMpM8+=OsGX_7aWu?C{dwCxPI}(1U5DNEU7Z}pBU&7bS9!$x4 zUlI5hjGA$Y*HEZn_q4@{{NwF_@V?XzsUq|49oFOrO{OF1)Q!hZFEB#SKSa_6jo8{5 zGU5P!HI|-9KA>DGOxypU7U`1WO2}*`s)o~zrDvwg&Kg<(w)F)IH77psSmRWnX2_6M zhQrlGRaP_cGXXvC%OD8Fc0{L^ja-IaH;w#fm>~4AVEJ4obbfb@cb6jaMLMWehL`K0EreK!PoS_MFg2|!>VfE>aeLDG z9uM{&O^98gL8|4Ha>AJ)8XLF71DeFrZ?IFO;c5kk;u}e4(P@e~kDn1RsM;VA344eM z%v8b^7Xi^TL1vv%>6z&$yu1uPo5H_a4ua6ZMQsf2{up5@K<25y264% zXRV-g!shI!Jwp$aSqV+d z$SdxY`L>dEIR&>i2?tqO!rd#W91#ncPPucUY8y_;e|En;Ar2e~*BFpcodhH+c;Lyb zxYacBpSdAda=bs;IJ_c(xUGQC;slfe{iTIdAECTfON&+=zN48m;LTVZ~regPR43S4+D zn5o9$&$vEBlP)6Yc)S;V_wl}2LGquI<+O0E7Y`(R_FV7H9VNxJnN0GZ)5v@tid5x2 zM8KKv@g4=V%BoK+2FvYgK{UoD7<#-{ETb&=d4>F_uukLL$4p7PJYYHlCc2YT9MBO4 za!pYFJk$)nKq%)uI~tBO-h+*;vGff48efPFj`QaMvB89$L&XO@q&@hv#6%HzJi2UD zm2bU~?0S!&mrsUzME3kIb7AArbMcc(xSCA9_`YFx%*9xjyQa!hko!a9VlL1Zz3rGw z8p=0{<+|Ei1DT7khkfmMN!8AxSbq16#dEUfVk~=J(%2aJ&oUP7?oP%6%mu3ze=-hV zPU`qsUBttsbM%aOT+tLrio!bPOEcJ-XUHb1Ucof#Kf^P;tEhQ~RWDy0-_A&|i7F9; zx7eQH8Q6hQpt54U+iR!SVM9_CX#CmGmF!hiJ8#=6`OnR+8g2WAe%Bgf@}Grq-|(M9 z;k_u*^PkE#fw{UA65lk9KV`LIPOnL%tUBKCxK7D`-emNLq*WQja6MLnx0_!J2wsG? z1MZsqUyNm)`x8+WY^y~>aye~vvhR;V_6XF_vGIo01cT8DH8gEOx+e$3z z3w<651sycZ(zB6V)JWp`fPua&ZqKAXac$vxMGq-wbp&jbJ@n@^LL$P-aIoWxfd)}P66IatP^r5GpRGE9WMMc#8xW|W${z=@h$>ktkXIcf7MG~( zS-hIN#@2?AJGE+@G8K67TP05ZbN9TG8f?Btfnu>iwlClmGavPziPto&4>lhl&47d> zVtn2#H~G(S9yvU@p-;>>+@9LVZYSn|i*RXiocw2Qxzb;u&m7Llj9^=5ZUog=1(w*T zg*y4Oi$LQ|}Yz-BS#s#6|NNH>TW^Y1HWvGnlbD-vfyf4VY{klLp4<14=m-!Ztn)u}`eju`gHzJ%c*c z^$nCWG#{4hq5w)2$>aosV7PjEa4ygU@P_M47Z8J)>~&8KF()y{2Tn@n-Qlwir}5=l z6@jQHNn_JUu;!kx7uq|CXXf4O)S)`VJRwNBEwYts~obPy`u)pwF2gFFb?7 zD4+`?Fz+=(Dp3=`N@MWKH9e@wD7bj1U?QWTMvbdkmyTh~ijDu`&t=r4{_{Unwp-0R z6}a1)Kw2VVYf_WUrhFN+xRpfK%J=wOG zSj@$m{2Y2eTD$JC25ilC!W-9HDYUFFRyze!ZN`}V=e8VPY6U;gb1!%DpZ}Ad%g31f z=l`VV;{3^f{!e-?nKJU9|BIf>ON@t!AHR;)(+_TAl{!e-?H+b@&|C64(=l_YG zi!qM;=Rfof6Dq29mdO|Y13fp){}Vko80s5)3X`Z7^Ausff*?J&og%ybZ+fmp2{K@} zfBG0-rS^>cXNHEH(Y!et0#ng^;ysLy6ik_BsXZhAnLQ4egk@-i{6d*PW2~G&*lRmO z%*~-dDhet@ZzZi#vNvtUiPjkeTqt4#4LvlKki2l#<@Wb>sx6 z4L$#+T5>MqsuM0)KrFBcfDHPquB?*a!QW|0KEE#7qA3e}Qo?UYGpm z1_RFt^;f?8o)s5Wsb)(4^M7ey9Z66A^Iqj4Iu>z(gD*S%0%_@a_AXZ9f`#u_*S~9z`KoBMNz!8T-x}XklKdDRcPbi2}xVAZL8!z z$JUOTW@u0q69sKI*{b@2?~{)A1>1j`Y=_U1|GW?3^kgZyh0=rTPE)V!!PI|_F#s6c z2mDR3(i1y#grWs~@}IG@sc@BGB7AKqQ!1>9S1KDyV@&>Yt7W=pO@8!28)JKur1u3z zw%~r|KTWo(%yFS5*l3>i8yl<3zA+_fjF$ZPtM_ZE5Xpc3FEP9EBa63m@zHhO* zz>8y3H2!HJ_9Ikv_bK_$`^hx?` zIAm-b^A4EersZ#q;JQI_O8)a^PXT*evkH6TZv0KbUGk`h7b5x3=@B;}KKo${g4?(Q zAYfepbu4#E{&V}~{36~zV%5Bd`BvkS-N}C@Jc{%0%c-Yhq}^}0LFYP)Hzof$M!HD@ zV1%5v?UZ}G#Z0zt*(T`aqEuLtr9}&JnZ6&usVq3kf!SF8{PEkn$Byc5om4T^PD$cm z_v$OlJg&bWO~0f6$$$QfncH)v`H|HE6cGA$e2N$cz81VJM19Sev$z&uIYyKN$%m#T0!ZVQjX|=MDg(k5Z{aA$yG%)G>rn6V>K30i84Ao*8&hK z=6w41JGoj8CjZ${K~%oNh!2=&R-+sByv=QE522GY5@Tj5L*Dz~z`6hkpXMxEAh= z0*IZGk^EH@wtJ+zHl4LUD zCKdwjXe4X`U~pSW=l0$iILUv`e#5VC-F3Xw5uBEdl?0NTT?$q5pZV|`Js5t#DM!+Q zJxd0KXZbU=_VLE@g_=J0yC+VGsF4}T-?Xh$BuQKJbQJ{xL^79=<4y{!_+#*z65oI= z*K#NSSr)*yg!_O(SC5tBfHHv~O?QN3F`48)o8I7UK~Bi{`!)woR!Yi52XlOD)=x|D5R33wiPpUE%}=#bdv=6;_En;D(h44SOPr zLr-VlGrTnmI8sG5sj=M2e*0;5Y&FQR4}wQiq(|<3A-j+wwdk9j z`ocA<;F*od8D4Z+ditPcDQ_-aH2KdkiS?5#dn34to%EReXHNQf(vyq?tW7r(xXzi% z3ITQ?g9JJ!C~x?}^=AmM&MtAlrWzX$)J0@Nw6D0BTLHK>ZLr@!50;-vDWFN=6s1d@t1AGmJljUhEzRzhG|#>mzq1^6+mX+(<7N@)Z6oYNYsmH zz_UJiXqtp5v?>G;W+}MGWqwIWt!^{Nbs@}^7C;Pzup6wLM#d*PzEXA7yr)alQD;QE z4?K5bjV=~X4ZT?1isH>s44xBRK{S@5_sRjS@58<-f-vKHgG6EA5{@UCB^)Oztw^FS zckOPgJ21CeZqtgmLg_-h>_QUOLK4=3i}+D>wh`krma?Grl`lAsFhKHB+y<{oSt5jK z>q%QzE$kLy)B-b#AS|JZ`BT*2o(Xt9O(Wp}<+rTd^iuFZ32-?tUKoOD%B^_YD^(&7!G8Ok;#!vuo~ri|eS6DO}MD6IpM z>e!%;2?oEcSnvx9U1~Bi$4&CXxrb$6Ju41YdWNu*LdQWYb*7}ym6qE#%)c**NdK@P zg4oz#O(mr73*rsAy&zojP6%b74*mu<{#p>$pfYfz8g>d3`)5H$+yzykU&=?RBH~EQ^y5uD$IP^o~p1BA1+ys~r zStNOhldqI!^6Y3VY0CYrtgHtgvw})5>~z!<$+R-}sH{z6Fn!@rU$&6DhEuX6bDLI~ zqq)#S;aPgN2ky8SL=Pf!%)nx7^cQ#OFc+JlX%q*n6x9XjbtA}crE8sq%zZj7`T z#ODJg+UAk}{2{ZcQ}%6_SDs9&e{;NK1BlmSC-gS*XJj8K;uuAwvp2F%C~H|QR>dvvy#7)4R(iJ0K3 zd!2iYIVetDdm5QuWJG$?3Wgh;%VPwC1u!3p-g1D$P1={Q$oI+~v~nbE8IDvvlK&Z! zQAlT|0Mwvyt<8%5dpHcf;nGSUtgb1{pE*@kHX(VMz>Ee?6oYeWbVI^Ay)X2>c?b&| zSREsWs+HB&k2q<#>8EA25p$t&H&9vKFaU>=&&j@e!@}1vrPYVPK=jX2QY@RM(W}l> znIUtMTobzHq68KheVg1x7$b5JlbS>i()260$NM%#GkPD`xS_s)cS<7O)Fflc-BGGq z03|)^fk_m!$?=QfcmcH-l1=oY7~c=f(uG!!Y!_z`oEkZZ&)`bWP5jA!zR~lZh@d5Q z;g}qu5Gpwgs!RSetC(K)o`=1&p#}ZOfBx`1$mc{^loRJM{Gw#&x+q#GRo~D?Ms{_E z^h0$b!)s&}$3syixfLf3zB8>vCT#FV-&37Wnd2#Q1^v)oKbfL@unK$5MBm&g;FL-0 z1VQ+G%Zqn^R*tKc(b(Oeeo|wh=|#ZAH5JT0u*tQJxZ_3zEY!P zNEB9O1ax-wAlCDO=VAtM`-A%YKyO+2zJ=G1={jA2_K6Bkm;HJ8w0nFxZd{<%SbBD7iWyi;OiME&Sx`8!#pxZ;SNe1EpM4spi*XL20tT6Q z-@vG}D9Y8*aa#~KW11Y?_>^8Pj+6h~qKrm7iJc8&K`Yd;XT~gEr~$Lw%Z+JftX70c zuW{_@O3p(>nko&O96TDQhjUzRR!kfZaYn5D&lPT%lmG0{`GRz$-ZjuHYF#!m{`3MP z{291p+Jb`lX2on20O}BNtOZ5+(VQPHKp#Xq_HH2)p7tZOQIq`V9?qHnFhXZ_l0x7F z(c~CzVgz?N$3^+oxn3hwyViLh6;SP`#V?5aN;8B1bndazUGntj7DYdlvlQV_G(9M z9Rse*4ekBXtJzwI;v30-4u^+e!qi#1_;8J>xth>ORbKLDB|1gFU(jOC#C<5U^!Nm+ zH*D%Z_pE=LXg78NbMRH}FMJr+kU%y-XO;Ce0aSIPG2i|QFCcc+7pm;p7$p^W$x}qz z{{e-SFFGgx+0?V&;B{fzTuT0P!}}Ww>y{JP8elX&f$suH7eKlI(zdE~x?vvq&qX-< z-QlDWq+Fzk=2R<~{O9ZrRxJCE72EGWw_GcMssFsET}ktEgi0VJQ5~3jxF1Hq1x;nw z;z-GV{%Qa1M`+PD>OVV?-Gn|zsMJJtLU#(N`epw)LS+rjqy97O3%!4YZVyPZFQbp$Ug-^1R7l>FzONW;E|8;2GV zjaotV4UTzm44Y{aG;25;H0E<@JH;i4aBnLp0Rhm)ly$aYYat0rlS%%wDJQ0N=xp+2 zqN_<#P2iSi*ZCCBsKe{@E5f6r74Y84L9UQC+l{}Q*QNe54Y4XvAF3h5;FSP*$OleE zqH&9QmVfJ+_uqQv@74;E|Gf2F4b$`2LlhGks7wAcvLd~uQN908Ox0L=4vHaDZ9>WQ z+oIt0t~5UsaTlznYN-1_CDNmS3x;1ZG3+aD_GO=bj8ut0l=h)PRV~3 zMnQ1|F{5U1wnQ0!!`~p5LS6iI8X$ye#53F-*1s~O1qh%VvY_t0DAKcOe)x_ho^d`2 z;|m_0_Z-v2bz414&un0h;abj<6I^^5w>|H@8u&^lb-O6WuZ?ZsB^own`1Z&2NOk86 zXF+HjSb5d_}=QNnP$sMj>H-Opxuy4?{bg2Cg`Uq*P=Tp8P(}b%`D+RyO9tnEJrFzxpDJ0^Zx5 zr4q_;{FDeF#ZSZ1b0|p-g_rNo+Ob!k%vjmM?jod~J_A)f&e&7h!?T!q%a6PRc zxLQ6yX`yz8B>!1LayL6UIjUgkyb&zS5~#QE?5YT(1&MOs<5=$Ra=aI1`0Iv6j|U-j z<3C4f{Wc>1HL<ROH*4x16gD~T^2g1ih4=IU)x;tni`OmuAzzJi36t+5SD|NP|K6Y;x%$bw_EX+uJ z{9wFNKc1cAIVCbLpl6s)yR(x2+zjwHo;R14oBU^Y3-L?O2Y)9`b~_8jRxX&OXW12s zl+_wWp*z@z%3quc@RR0sssAjSLOp;7Vb1Z(_JN_Z0byq9>2;W8PX2QawN-rW=6O^7wM+IJzWMGemRk`OC zX$nYu<}G}6GI37+b9yMQ`IE+2dFC7qq~}kKQS5*j4*jyR0OMS~ulR4kP0pZu4A24x z@?=?WJ{Ru7bMl|_<=__)4^Ix(MQG}Nr{@-J$$zGRz?rf!h^z6XVgsKNM<1vefHS9( zOXuW2?;T8DLl4`h!GITQf9b$n@}D!L7tu3>!`h%_x1&}z%bfgYk2!xfB5WEtL!1!{ zU=ULBpTlBN@+JK3A=NkJ`Sn4C#M)NLf8IBM*F^uYA`psXviK_hc~1T_>L%g}lEk;c zd#g5}Ya<8E&tVR&swMw96JpqJy~0XybNMiYQZUPszV%A5afmqteqpBLDan6UgGtpQ zdN=yE&p5QBmR7j(*!~TxStSNF@FIgDloj9yjC<3D^c?mj>S_dse?4{6peaxzqn*{s ze-1N2LP6JwiuHsA$qqUqmi%WJN@cUCV1osQ-a4SzK~+2kK!0l1dIYgOvMA}G7NyQj zP``z?_Vf*XEJ|3Kpi$?dcX#rif9<&zrqa*mXmqI8ySTIpj;W9-b1TSYn0qiI$d4+)$ZP7Jc%c)e2hZm>|$HhOp^+ z;jYuVN@-61vvM$M1ie12C(7UI&iz@{y|ik2ilU4L>d_9%Lli_9pCM_h5-)Lo8voM( zv9bTG^}6IgXIND6G(cF|>mIZw{^UR3JsBY9f01mu5`h41AX)AT{y2YJ%695MZOb2ca5D3TdmDkzI%u2x=WdV(b`$LfI%O{P zpN(~Ydw|`6HwxyCM~q$9Zz9PK+pAI>dA1v zPlbQqK_wnbwDkN#Z&(1}nFmq$+Qdu#^S+n;gW5|maLOT>{AY*>%LT7CE9ZmkgCia@ zF6MdTDcsUlJ$a;^GA4(QLPIZ;o7pNX*l{-YUFLuCpJ|Xlcp?dqXKLh9k;5wWm@w2p z9_%am&-my_Hat-DA1#kPcm{>pQV^JgR5w|W(gheWmAJ07vtuys7X^*14Kd51j!8iR z_SQJ>S0n4qMU(%G2QUh2F!Aw_6%txU8u`y6AIZFLjD8s*FIp>YbvCjcCWDV)G$xqJ zwJ;bJgyzM$8hv9U`UdzFry-u&-Fx)4zb^UDSi8D7gT83Gg|fy{<+xIhNH7XzUAkTk z-OC<$FvXPGA!%ERlc@sZ2~a=MJisuJ(d2X0s}h>Yf5tC19C~#z#n!MoXeBWD&lEHJ zr#HxLbU?@LRZIS}K3sc)Ovxq%lzXy5w$ECjqLmXI4kw(^qqoP`h%D40i#hqvp)|4vM3s6R#h-UP#JYSe?8o^0rFu5 z_GC<5hC-SBZx166JNoaQ!#_(S3jbg!eu1G()I6o5DsYX9+s14ic=K0}vM#d)9ci7& z%PE+(m$qST1k4!;54X$igxk#`X%b!-FlSiakA3*nxK7$yIi1GPhBvC6-3qWPi7B;` zL?hp|1!P2?tpR}Ajj$_ycWHpMb*D%p?KWidF+ZqH`oK;9UKAW+2jUVt-b_?Z)P%dW zrLB-LdZni&djA(Ht9+0(O#xHiL4jfcGws+=USXqRZBR)yc7n#50y7Vr=R#s|&{z5f z=cxqJ*pQfnxyW*Rn9qxSEu;Q3Fn^L|9@c%w2B`b!v9alS$mu~e z!-Qs%MRCzZhqNM5fyTMX#4lO7GP4hbe8(d<1o zDzb`s^Y_qlQ;=zV3EJ`{gp|gRsj&(aLK2+D1XKU{LIaONn7ar`!?R&q@*ZfME6ho2 zsK(i{%)W(e6vXkNWqc^PyCVRY48|X|hvFa6&8bo8f*9)hEae
_AKyTpuoW-7`TB_m6@WX7{X(snk3~?UKpC5Yq;M=sJakK@}GOS z-$p1e1Q(~;bEB#lq^l-aEjX8AG7u(>-A-b{*IKo$F`~M6w?rq^G2?om_};$v%I#T_ z|D47&O7FgY^j;PaMQ-f5wE`NpLFS3uHpnWTVs$N6n%$hU2k4;tvj-*>y6dYh1VJ?# zhj!)5Ed$AaLwjQ{vaR^PQks|KKO4D2V(H>05&#cjE1^30H_2@7oI(5wU!*>MITK23 z>;{DjduNlez`5RPEIn(Z5DCRYMmUG=g zBehfDLZFVJ{_4Hl;7jtK9ZF90t@rxd-YZ7GB>$O(VS>N+Uh3rnvt?V=M11I5@AY?u z&la|ZOc^{_3FMdFt5OZ-X&Qf_$%pp6`*-EnQALr)ewp4;*?;Q2PA0mhEXv0sM9)_v zE4irdO?bUc!ASA(@IHI?P&27|Fmj|Jd z$_z1?mF3>`5)v&U%7eTwKmU^a=d75+gT;Ry6tgATlK*Vu^iqW5@Gf&d*t~A!KYO94 z=qtML!G50yht5wy#9G1b#o6b#ykj7gw8w@<_hbP4dHF_Qj3M%z55R!VS#Q=ptFtROO4X~{X zY>X6ZvJ?nv4o4aJ{q*dYsbm!Wg32CTKqgU{e}eBHdv(yp$bTkK0+P{D(qNG1d5lJN zLc9jm*nNe)%JU4Z8qC@_k{3dvY!j42@9)O)XOpC9gu($A6%-hh4;W=5%GkBRmy!R> ztVz%#v5AM=JT$!GUIk_&3b;TE4EZzV`P7+FV3;V1YZNKG4>X3EbCk81d2+e*phx!?f-=zfWwgbt9;3x;1sODL zB>!1zvtd*;9!#$w%mZ+KSI6rX>i4<_>DjalGcEpqUw4-j$F8hl_X>PRm5V)U zVj{mKX20fQn?`x7M19lPfY?juZcn3dTT8sBvrraAk5%BFMTwuAW1XaX!Tx{pRVU)T zD+Ry?oASv4NsW|Q`n+goJ$9P1ZZ-!0nNLYPW3F@2u3GgD2LG9Q`h3z(XdKlxdSd8G z?#9(--5rP4lR~oUXxGYQQKvCB z@4sE}yd_fBevjj_wf&c6u8;7X05Am?ez(Ic7qFWzZ>&ZF;s*uJ1uUZ6r{L^6eReS@ ziCpKfbi`y9qVD;4y41snF;x_m-5=4uj7EviW&< zNg#I3*`(2Z%r^nhjS0LK{@J$e&MPQsDyCJVt#r3;`WnkEi8T1<9y_&FA^pPMGK29_MGqi%n44wGc{MK zgx?3XvbtZ<`g_jt^R(QT`HIF_G3d<>@qb%D-u}}&9{ltC!8OuPbAg2<)z=G}-P2CK zs3Lb~e;8pt3g64N#Iq6F^%&_0Mpzny_sgAKU4OFU&@}Iz9M{vw;D5mxWb=k?DW9ge zTbEpbO*V*bL6hM~9zzk#&Ta~<10K=sxJx1xrm;4w*5xFk!4-2Bi6GDhDR~U4!9NQ( z+f|by6?`m;59~=@(4IGs7q<5F!MoPb>^)6E;6blVoAeUPI6l9%_#A=}q!Z3V=2b>~0k*t}<2JpFF8 z5oOolpVKMl&Hr^*DsLa9ba5_y{g1^U6NWmUgX3q?>oJX?(VDQT>}0&SIsHns^v8~U zF$TJ^AdP+RBIuU25IxPEhe}7o4*vNpw-7NW`FHa5g1eopQc`#Re_s%#P833p+1Fm$ z{Hq~bb2bS1Zms056exo0&i;6o_K@)FYVKb5*WjPOF74k|^TcFA#>mP1o#TX9f7}&Y z9B*Rq&kpNiZ>#RQ-W(~a6AexE0_&K@qR)klmfVQUn2Z^kf$FI4tL7KJlNJ{$-pN#g zbPtZ7oeO5&-pLHXRR^Au!#C{cBzaY8g0j0UBzUF4L~V*vTGfGZk6(AzD(ItJ@=jCg zxL`2Z_bx!{Z1PaQWDGeITGE11SG3+{{=q*>#mJT!o8n>CRGTM^{lS)g(%Amx_^^Y2 zrVtzvfG=?0H;}wSLYG7R9GuEVR+zK>!NETR*Xd8K@vl!8%KZU4dS_H&2|4_CQzL#> zv!oN6cED1P**0dt>m=a3X-m zXqR(fD$b6ax`}(!@;SUQ{huLnSRy>2>H39#txi8z_9_|o*r#4%6mxb~h2WmGV)i(X z2+w*#!X{H04r5n0q_KUqYL;7O6sK$c;=8GW39ne`3C|AxIfJ3b`0!?m_bnfY#7|+L zBCbeC5pB}N&$X{a5Y&CTvkLF=aBPbb!%&Bxy@sjbu5Y~%xgj_!$b|i3WE67hGF;TU zbCIFW%@nEhVjmQs1)-EN*!1d>j%so87@gVY5LO$Ix(MN<{J%t(TKzqZ?2S9YqLu3?_)mIc*!mZIBMwgV za`4aGqe=>5*+n&rwso2@%s3VO-K4;hsTq6!8zT$x$ipq zYvZ34jAPG(OX~3%*+TkucEWCvZt%}esnYugeT6!+5KBMgGP!6@E;zY~!9N!o3g4rQ zjFC#tZPuLA-R#Sq{ddYJYQ*4w@^fmqKanFc8haY?GxRa=qa$gcnx0<#y9sc2&WQd^ zwY%QO)H-0yVD4qdj=TV%+$fYA(KSqe_>U5Ke%uY0Zx&azsMUo1_ z{y@{`CF$opcF)<=h@XEOxL?+6v`g@DlYLx!DY@Q|y9OZbe@p->g6mnZIerNzv%wyh zHM3Ky8Zjs)8te&a^p$OQk@E6)dz9?~)^+_j(ZFI!$-H=E7s2tr+_@UTS#mq2ogS?- zSRBm;lt6hb@c%XV=k9z~u@|fEcuxC82a&JGvCIem97y^rxw?BfuUe<6H)o4A zwKXqzccVJ5!9S;Z&mYsMFZ`iikj3y`4aH$3+JG>(3L1h@!@mY(!PMHX3r^a7@XuY{ zAL~Wu;&-4R&EXC91jj~Fpo>L|RhCU(1IGL@1wSh}5}RDI zB0V$`DqQ{sTwQ~I&JMD^qrbmeVVP@l@mcQpxiY$RbZS|jiDDa%S50V-T0S2Am`F!Q z|4l7Rz+W3&$`p6!EEv|&jhz8nOO!?1EwAI74bgY-kHIm`lmYI!^L$W}N$L|me)r40 z2LF7(R@R1H^6kex;6LL8dBhyKtlRn;{IdcQ(v{5-xz=E3>lobj%3Rw~;=w;NnKPEd z%&t>=e7D=h0B1vpc&`;4{Bv(?Ys>NziOIXWuqC7FF{fz5eVoC`=Zt&^8FsLNsNg;I zy2RFKUMl`rUxR-(g;z$P_o3Lt=Q36iFa-(nO!=M{94ip%Xx5rO4f-@Gnl#1sWsam7 z_MGEqQ8IVDbtbcjLt%MQ6Q7?fUf=Q99-RGL7SkXmnvX)6)LU2|Zj;%(IWcSxjya^E z9x8Q3HQpa@nZhrf?&y7sU5A7})JQ%@&u3lgHQ;yV=f_o^-iT~riQIiXY51L*v6xyTa%i{Bzv(dcD2>Y$e1) z-`+r~w+F;({Pz7!Bl&Fe5HM;TB_z#!q>ycDYcCOY0_=l-#*e?5z~_QwNs?+G3V99w zIkBYy{x}1F3YZpW*Wz7+e@>=RDT=ayrF~CLd=+J%bdH~MKT~P<5(4&VkIy1t&fGEp z4)YKGIcq=za3|IMZVfmn?V<6cZUK8y#@?{bH_W4B5iefJlmSZ2G$lkG66yIYO8lJ8 zdsDD@xXh}3GM3{RKEvR1W9ML?gge+93drc~<=P$d@CU^zO~ib|ce z0TYzCam{(~&&wNDyk2+!X3puFcB_YypLz|y?WV64a@gHmj~Zaz%$g(qL@O1wr;(mN zQ0R6tj|=}S#2OrUI;Q;KiD;4h4pk11rpfZh?TCWGKa1Ra3nTO6@oxV+APs-B;o9ko zr?*5J{BsO`c-kG`I>j~}Bf?B(i$rXDWAM*8yNBuT<`}3qrJvqTJRCgI;GdbyMK$mU ze3F4l{_N61EJalgBMtt!5KA$7N6Ob21%XtcV*KOTf7=RZ@Xtvg);8ug5No~i*VhSw zwY2#7vHJuPh3G6Iq9;K;Pl&d&VYjK4t9SB)Xm1ai^U|sw9YoWC>bmi1!QhPZN-XBX|A3^MP4;_7H(laoVz~m=RjwE?w31@!inCj6HjO>wcv{7 zSROyN?jHOzWiXyjFIl05lko(t{2vRp0ZuxYaz;ALg9Z_LUZ~_2Kd087^B%_*ZI_9v z7H#1x=!jC6)J#fHsVNAk`gWA2R8S@`u_&r=$TOb!g0mtxkfs5?6lH(@?^FXQ^rA); z&)g+P-uO=WuzJN6HuZFk*F`-96E-c!hI9_c(}Xw_Mfy-?Wv($ zdTx0wa#D=Ma`-tIxSf0kkM!f4b&0PoZL%$1zl$LEv)y@Mend_mqA{in`N`8>oy=Uo zTV2+7PigD~eO(~og#Lc%f&gk^+l0Z_)&XCi!GXuZgoWM;XO+~6L4zd0M=WZpgh2Np0Hm j2@}-6e(qm`p{@;%q?3rx;l>&fYH+s3_C;d<_dov!K@^aJ diff --git a/keyboard/planck/planck_pcb_r4.hex b/keyboard/planck/planck_pcb_r4.hex deleted file mode 100644 index bd68d9e904ba50ade1542dad5ccbf1e280c73893..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73937 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 z 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 diff --git a/keyboard/planck/planck_pcb_r4_w_bootloader.hex b/keyboard/planck/planck_pcb_r4_w_bootloader.hex deleted file mode 100644 index 140bf415f2ce2808a724724f1c0b48ff0b919254..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85121 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 diff --git a/keyboard/preonic/preonic_pcb_r1.hex b/keyboard/preonic/preonic_pcb_r1.hex deleted file mode 100644 index eda1b1979f441c17cc2611949086a06dbdefc5cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73192 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

jJ@qewr4V9u(S{ZZYQ~) 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 Xy0J|DD2+=lWt29tFUHaT{?GpbRTewl diff --git a/keyboard/alps64/Makefile b/keyboards/alps64/Makefile similarity index 100% rename from keyboard/alps64/Makefile rename to keyboards/alps64/Makefile diff --git a/keyboard/alps64/alps64.c b/keyboards/alps64/alps64.c similarity index 100% rename from keyboard/alps64/alps64.c rename to keyboards/alps64/alps64.c diff --git a/keyboard/alps64/alps64.h b/keyboards/alps64/alps64.h similarity index 100% rename from keyboard/alps64/alps64.h rename to keyboards/alps64/alps64.h diff --git a/keyboard/alps64/config.h b/keyboards/alps64/config.h similarity index 100% rename from keyboard/alps64/config.h rename to keyboards/alps64/config.h diff --git a/keyboard/alps64/keymaps/default/compiled.hex b/keyboards/alps64/keymaps/default/compiled.hex similarity index 100% rename from keyboard/alps64/keymaps/default/compiled.hex rename to keyboards/alps64/keymaps/default/compiled.hex diff --git a/keyboard/alps64/keymaps/default/keymap.c b/keyboards/alps64/keymaps/default/keymap.c similarity index 100% rename from keyboard/alps64/keymaps/default/keymap.c rename to keyboards/alps64/keymaps/default/keymap.c diff --git a/keyboard/alps64/led.c b/keyboards/alps64/led.c similarity index 100% rename from keyboard/alps64/led.c rename to keyboards/alps64/led.c diff --git a/keyboard/alps64/matrix.c b/keyboards/alps64/matrix.c similarity index 100% rename from keyboard/alps64/matrix.c rename to keyboards/alps64/matrix.c diff --git a/keyboard/arrow_pad/Makefile b/keyboards/arrow_pad/Makefile similarity index 100% rename from keyboard/arrow_pad/Makefile rename to keyboards/arrow_pad/Makefile diff --git a/keyboard/arrow_pad/README.md b/keyboards/arrow_pad/README.md similarity index 84% rename from keyboard/arrow_pad/README.md rename to keyboards/arrow_pad/README.md index f669ad6a121..bf9a64a4526 100644 --- a/keyboard/arrow_pad/README.md +++ b/keyboards/arrow_pad/README.md @@ -7,7 +7,7 @@ For the full Quantum feature list, see [the parent README.md](/README.md). ## Building -Download or clone the whole firmware and navigate to the keyboard/arrow_pad folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. +Download or clone the whole firmware and navigate to the keyboards/arrow_pad folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. Depending on which keymap you would like to use, you will have to compile slightly differently. diff --git a/keyboard/arrow_pad/arrow_pad.c b/keyboards/arrow_pad/arrow_pad.c similarity index 100% rename from keyboard/arrow_pad/arrow_pad.c rename to keyboards/arrow_pad/arrow_pad.c diff --git a/keyboard/arrow_pad/arrow_pad.h b/keyboards/arrow_pad/arrow_pad.h similarity index 100% rename from keyboard/arrow_pad/arrow_pad.h rename to keyboards/arrow_pad/arrow_pad.h diff --git a/keyboard/arrow_pad/config.h b/keyboards/arrow_pad/config.h similarity index 100% rename from keyboard/arrow_pad/config.h rename to keyboards/arrow_pad/config.h diff --git a/keyboard/arrow_pad/keymaps/default/compiled.hex b/keyboards/arrow_pad/keymaps/default/compiled.hex similarity index 100% rename from keyboard/arrow_pad/keymaps/default/compiled.hex rename to keyboards/arrow_pad/keymaps/default/compiled.hex diff --git a/keyboard/arrow_pad/keymaps/default/keymap.c b/keyboards/arrow_pad/keymaps/default/keymap.c similarity index 100% rename from keyboard/arrow_pad/keymaps/default/keymap.c rename to keyboards/arrow_pad/keymaps/default/keymap.c diff --git a/keyboard/arrow_pad/keymaps/pad_21/Makefile b/keyboards/arrow_pad/keymaps/pad_21/Makefile similarity index 100% rename from keyboard/arrow_pad/keymaps/pad_21/Makefile rename to keyboards/arrow_pad/keymaps/pad_21/Makefile diff --git a/keyboard/arrow_pad/keymaps/pad_21/compiled.hex b/keyboards/arrow_pad/keymaps/pad_21/compiled.hex similarity index 100% rename from keyboard/arrow_pad/keymaps/pad_21/compiled.hex rename to keyboards/arrow_pad/keymaps/pad_21/compiled.hex diff --git a/keyboard/arrow_pad/keymaps/pad_21/config.h b/keyboards/arrow_pad/keymaps/pad_21/config.h similarity index 100% rename from keyboard/arrow_pad/keymaps/pad_21/config.h rename to keyboards/arrow_pad/keymaps/pad_21/config.h diff --git a/keyboard/arrow_pad/keymaps/pad_21/keymap.c b/keyboards/arrow_pad/keymaps/pad_21/keymap.c similarity index 100% rename from keyboard/arrow_pad/keymaps/pad_21/keymap.c rename to keyboards/arrow_pad/keymaps/pad_21/keymap.c diff --git a/keyboard/arrow_pad/keymaps/pad_24/Makefile b/keyboards/arrow_pad/keymaps/pad_24/Makefile similarity index 100% rename from keyboard/arrow_pad/keymaps/pad_24/Makefile rename to keyboards/arrow_pad/keymaps/pad_24/Makefile diff --git a/keyboard/arrow_pad/keymaps/pad_24/compiled.hex b/keyboards/arrow_pad/keymaps/pad_24/compiled.hex similarity index 100% rename from keyboard/arrow_pad/keymaps/pad_24/compiled.hex rename to keyboards/arrow_pad/keymaps/pad_24/compiled.hex diff --git a/keyboard/arrow_pad/keymaps/pad_24/config.h b/keyboards/arrow_pad/keymaps/pad_24/config.h similarity index 100% rename from keyboard/arrow_pad/keymaps/pad_24/config.h rename to keyboards/arrow_pad/keymaps/pad_24/config.h diff --git a/keyboard/arrow_pad/keymaps/pad_24/keymap.c b/keyboards/arrow_pad/keymaps/pad_24/keymap.c similarity index 100% rename from keyboard/arrow_pad/keymaps/pad_24/keymap.c rename to keyboards/arrow_pad/keymaps/pad_24/keymap.c diff --git a/keyboard/atomic/Makefile b/keyboards/atomic/Makefile similarity index 100% rename from keyboard/atomic/Makefile rename to keyboards/atomic/Makefile diff --git a/keyboard/atomic/README.md b/keyboards/atomic/README.md similarity index 84% rename from keyboard/atomic/README.md rename to keyboards/atomic/README.md index 0e42370ba62..9fe75f572eb 100644 --- a/keyboard/atomic/README.md +++ b/keyboards/atomic/README.md @@ -8,7 +8,7 @@ For the full Quantum feature list, see [the parent README.md](/README.md). ## Building -Download or clone the whole firmware and navigate to the keyboard/atomic folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button. +Download or clone the whole firmware and navigate to the keyboards/atomic folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button. Depending on which keymap you would like to use, you will have to compile slightly differently. diff --git a/keyboard/atomic/atomic.c b/keyboards/atomic/atomic.c similarity index 100% rename from keyboard/atomic/atomic.c rename to keyboards/atomic/atomic.c diff --git a/keyboard/atomic/atomic.h b/keyboards/atomic/atomic.h similarity index 100% rename from keyboard/atomic/atomic.h rename to keyboards/atomic/atomic.h diff --git a/keyboard/atomic/config.h b/keyboards/atomic/config.h similarity index 100% rename from keyboard/atomic/config.h rename to keyboards/atomic/config.h diff --git a/keyboard/atomic/keymaps/abienz.c b/keyboards/atomic/keymaps/abienz.c similarity index 100% rename from keyboard/atomic/keymaps/abienz.c rename to keyboards/atomic/keymaps/abienz.c diff --git a/keyboard/atomic/keymaps/default/compiled.hex b/keyboards/atomic/keymaps/default/compiled.hex similarity index 100% rename from keyboard/atomic/keymaps/default/compiled.hex rename to keyboards/atomic/keymaps/default/compiled.hex diff --git a/keyboard/atomic/keymaps/default/keymap.c b/keyboards/atomic/keymaps/default/keymap.c similarity index 100% rename from keyboard/atomic/keymaps/default/keymap.c rename to keyboards/atomic/keymaps/default/keymap.c diff --git a/keyboard/atomic/keymaps/michelle.c b/keyboards/atomic/keymaps/michelle.c similarity index 100% rename from keyboard/atomic/keymaps/michelle.c rename to keyboards/atomic/keymaps/michelle.c diff --git a/keyboard/atomic/keymaps/pvc/Makefile b/keyboards/atomic/keymaps/pvc/Makefile similarity index 100% rename from keyboard/atomic/keymaps/pvc/Makefile rename to keyboards/atomic/keymaps/pvc/Makefile diff --git a/keyboard/atomic/keymaps/pvc/compiled.hex b/keyboards/atomic/keymaps/pvc/compiled.hex similarity index 100% rename from keyboard/atomic/keymaps/pvc/compiled.hex rename to keyboards/atomic/keymaps/pvc/compiled.hex diff --git a/keyboard/atomic/keymaps/pvc/config.h b/keyboards/atomic/keymaps/pvc/config.h similarity index 100% rename from keyboard/atomic/keymaps/pvc/config.h rename to keyboards/atomic/keymaps/pvc/config.h diff --git a/keyboard/atomic/keymaps/pvc/keymap.c b/keyboards/atomic/keymaps/pvc/keymap.c similarity index 100% rename from keyboard/atomic/keymaps/pvc/keymap.c rename to keyboards/atomic/keymaps/pvc/keymap.c diff --git a/keyboard/atreus/Makefile b/keyboards/atreus/Makefile similarity index 100% rename from keyboard/atreus/Makefile rename to keyboards/atreus/Makefile diff --git a/keyboard/atreus/README.md b/keyboards/atreus/README.md similarity index 98% rename from keyboard/atreus/README.md rename to keyboards/atreus/README.md index aacf2841f4a..86e6e1f0c96 100644 --- a/keyboard/atreus/README.md +++ b/keyboards/atreus/README.md @@ -169,7 +169,7 @@ This requires [some hardware changes](https://www.reddit.com/r/MechanicalKeyboar ## Building -Download or clone the whole firmware and navigate to the keyboard/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button. +Download or clone the whole firmware and navigate to the keyboards/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button. Depending on which keymap you would like to use, you will have to compile slightly differently. diff --git a/keyboard/atreus/atreus.c b/keyboards/atreus/atreus.c similarity index 100% rename from keyboard/atreus/atreus.c rename to keyboards/atreus/atreus.c diff --git a/keyboard/atreus/atreus.h b/keyboards/atreus/atreus.h similarity index 100% rename from keyboard/atreus/atreus.h rename to keyboards/atreus/atreus.h diff --git a/keyboard/atreus/config.h b/keyboards/atreus/config.h similarity index 100% rename from keyboard/atreus/config.h rename to keyboards/atreus/config.h diff --git a/keyboard/atreus/keymaps/default/compiled.hex b/keyboards/atreus/keymaps/default/compiled.hex similarity index 100% rename from keyboard/atreus/keymaps/default/compiled.hex rename to keyboards/atreus/keymaps/default/compiled.hex diff --git a/keyboard/atreus/keymaps/default/keymap.c b/keyboards/atreus/keymaps/default/keymap.c similarity index 100% rename from keyboard/atreus/keymaps/default/keymap.c rename to keyboards/atreus/keymaps/default/keymap.c diff --git a/keyboard/atreus/keymaps/gerb/compiled.hex b/keyboards/atreus/keymaps/gerb/compiled.hex similarity index 100% rename from keyboard/atreus/keymaps/gerb/compiled.hex rename to keyboards/atreus/keymaps/gerb/compiled.hex diff --git a/keyboard/atreus/keymaps/gerb/keymap.c b/keyboards/atreus/keymaps/gerb/keymap.c similarity index 100% rename from keyboard/atreus/keymaps/gerb/keymap.c rename to keyboards/atreus/keymaps/gerb/keymap.c diff --git a/keyboard/bantam44/Makefile b/keyboards/bantam44/Makefile similarity index 100% rename from keyboard/bantam44/Makefile rename to keyboards/bantam44/Makefile diff --git a/keyboard/bantam44/README.md b/keyboards/bantam44/README.md similarity index 84% rename from keyboard/bantam44/README.md rename to keyboards/bantam44/README.md index cd059a66c98..a571e3d4472 100644 --- a/keyboard/bantam44/README.md +++ b/keyboards/bantam44/README.md @@ -7,7 +7,7 @@ For the full Quantum feature list, see [the parent README.md](/README.md). ## Building -Download or clone the whole firmware and navigate to the keyboard/Bantam44 folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. +Download or clone the whole firmware and navigate to the keyboards/Bantam44 folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. Depending on which keymap you would like to use, you will have to compile slightly differently. diff --git a/keyboard/bantam44/bantam44.c b/keyboards/bantam44/bantam44.c similarity index 100% rename from keyboard/bantam44/bantam44.c rename to keyboards/bantam44/bantam44.c diff --git a/keyboard/bantam44/bantam44.h b/keyboards/bantam44/bantam44.h similarity index 100% rename from keyboard/bantam44/bantam44.h rename to keyboards/bantam44/bantam44.h diff --git a/keyboard/bantam44/config.h b/keyboards/bantam44/config.h similarity index 100% rename from keyboard/bantam44/config.h rename to keyboards/bantam44/config.h diff --git a/keyboard/bantam44/keymaps/default/compiled.hex b/keyboards/bantam44/keymaps/default/compiled.hex similarity index 100% rename from keyboard/bantam44/keymaps/default/compiled.hex rename to keyboards/bantam44/keymaps/default/compiled.hex diff --git a/keyboard/bantam44/keymaps/default/keymap.c b/keyboards/bantam44/keymaps/default/keymap.c similarity index 100% rename from keyboard/bantam44/keymaps/default/keymap.c rename to keyboards/bantam44/keymaps/default/keymap.c diff --git a/keyboard/clueboard1/Makefile b/keyboards/clueboard1/Makefile similarity index 100% rename from keyboard/clueboard1/Makefile rename to keyboards/clueboard1/Makefile diff --git a/keyboard/clueboard1/clueboard1.c b/keyboards/clueboard1/clueboard1.c similarity index 100% rename from keyboard/clueboard1/clueboard1.c rename to keyboards/clueboard1/clueboard1.c diff --git a/keyboard/clueboard1/clueboard1.h b/keyboards/clueboard1/clueboard1.h similarity index 100% rename from keyboard/clueboard1/clueboard1.h rename to keyboards/clueboard1/clueboard1.h diff --git a/keyboard/clueboard1/config.h b/keyboards/clueboard1/config.h similarity index 100% rename from keyboard/clueboard1/config.h rename to keyboards/clueboard1/config.h diff --git a/keyboard/clueboard1/keymaps/default/compiled.hex b/keyboards/clueboard1/keymaps/default/compiled.hex similarity index 100% rename from keyboard/clueboard1/keymaps/default/compiled.hex rename to keyboards/clueboard1/keymaps/default/compiled.hex diff --git a/keyboard/clueboard1/keymaps/default/keymap.c b/keyboards/clueboard1/keymaps/default/keymap.c similarity index 100% rename from keyboard/clueboard1/keymaps/default/keymap.c rename to keyboards/clueboard1/keymaps/default/keymap.c diff --git a/keyboard/clueboard1/led.c b/keyboards/clueboard1/led.c similarity index 100% rename from keyboard/clueboard1/led.c rename to keyboards/clueboard1/led.c diff --git a/keyboard/clueboard2/Makefile b/keyboards/clueboard2/Makefile similarity index 100% rename from keyboard/clueboard2/Makefile rename to keyboards/clueboard2/Makefile diff --git a/keyboard/clueboard2/backlight.c b/keyboards/clueboard2/backlight.c similarity index 100% rename from keyboard/clueboard2/backlight.c rename to keyboards/clueboard2/backlight.c diff --git a/keyboard/clueboard2/clueboard2.c b/keyboards/clueboard2/clueboard2.c similarity index 100% rename from keyboard/clueboard2/clueboard2.c rename to keyboards/clueboard2/clueboard2.c diff --git a/keyboard/clueboard2/clueboard2.h b/keyboards/clueboard2/clueboard2.h similarity index 100% rename from keyboard/clueboard2/clueboard2.h rename to keyboards/clueboard2/clueboard2.h diff --git a/keyboard/clueboard2/config.h b/keyboards/clueboard2/config.h similarity index 100% rename from keyboard/clueboard2/config.h rename to keyboards/clueboard2/config.h diff --git a/keyboard/clueboard2/keymaps/default/compiled.hex b/keyboards/clueboard2/keymaps/default/compiled.hex similarity index 100% rename from keyboard/clueboard2/keymaps/default/compiled.hex rename to keyboards/clueboard2/keymaps/default/compiled.hex diff --git a/keyboard/clueboard2/keymaps/default/keymap.c b/keyboards/clueboard2/keymaps/default/keymap.c similarity index 100% rename from keyboard/clueboard2/keymaps/default/keymap.c rename to keyboards/clueboard2/keymaps/default/keymap.c diff --git a/keyboard/clueboard2/keymaps/max/Makefile b/keyboards/clueboard2/keymaps/max/Makefile similarity index 100% rename from keyboard/clueboard2/keymaps/max/Makefile rename to keyboards/clueboard2/keymaps/max/Makefile diff --git a/keyboard/clueboard2/keymaps/max/compiled.hex b/keyboards/clueboard2/keymaps/max/compiled.hex similarity index 100% rename from keyboard/clueboard2/keymaps/max/compiled.hex rename to keyboards/clueboard2/keymaps/max/compiled.hex diff --git a/keyboard/clueboard2/keymaps/max/keymap.c b/keyboards/clueboard2/keymaps/max/keymap.c similarity index 100% rename from keyboard/clueboard2/keymaps/max/keymap.c rename to keyboards/clueboard2/keymaps/max/keymap.c diff --git a/keyboard/clueboard2/keymaps/skully/compiled.hex b/keyboards/clueboard2/keymaps/skully/compiled.hex similarity index 100% rename from keyboard/clueboard2/keymaps/skully/compiled.hex rename to keyboards/clueboard2/keymaps/skully/compiled.hex diff --git a/keyboard/clueboard2/keymaps/skully/keymap.c b/keyboards/clueboard2/keymaps/skully/keymap.c similarity index 100% rename from keyboard/clueboard2/keymaps/skully/keymap.c rename to keyboards/clueboard2/keymaps/skully/keymap.c diff --git a/keyboard/clueboard2/led.c b/keyboards/clueboard2/led.c similarity index 100% rename from keyboard/clueboard2/led.c rename to keyboards/clueboard2/led.c diff --git a/keyboard/cluepad/Makefile b/keyboards/cluepad/Makefile similarity index 100% rename from keyboard/cluepad/Makefile rename to keyboards/cluepad/Makefile diff --git a/keyboard/cluepad/backlight.c b/keyboards/cluepad/backlight.c similarity index 100% rename from keyboard/cluepad/backlight.c rename to keyboards/cluepad/backlight.c diff --git a/keyboard/cluepad/cluepad.c b/keyboards/cluepad/cluepad.c similarity index 100% rename from keyboard/cluepad/cluepad.c rename to keyboards/cluepad/cluepad.c diff --git a/keyboard/cluepad/cluepad.h b/keyboards/cluepad/cluepad.h similarity index 100% rename from keyboard/cluepad/cluepad.h rename to keyboards/cluepad/cluepad.h diff --git a/keyboard/cluepad/config.h b/keyboards/cluepad/config.h similarity index 100% rename from keyboard/cluepad/config.h rename to keyboards/cluepad/config.h diff --git a/keyboard/cluepad/keymaps/default/compiled.hex b/keyboards/cluepad/keymaps/default/compiled.hex similarity index 100% rename from keyboard/cluepad/keymaps/default/compiled.hex rename to keyboards/cluepad/keymaps/default/compiled.hex diff --git a/keyboard/cluepad/keymaps/default/keymap.c b/keyboards/cluepad/keymaps/default/keymap.c similarity index 100% rename from keyboard/cluepad/keymaps/default/keymap.c rename to keyboards/cluepad/keymaps/default/keymap.c diff --git a/keyboard/ergodox_ez/190hotfix.sh b/keyboards/ergodox_ez/190hotfix.sh similarity index 100% rename from keyboard/ergodox_ez/190hotfix.sh rename to keyboards/ergodox_ez/190hotfix.sh diff --git a/keyboard/ergodox_ez/Makefile b/keyboards/ergodox_ez/Makefile similarity index 100% rename from keyboard/ergodox_ez/Makefile rename to keyboards/ergodox_ez/Makefile diff --git a/keyboard/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h similarity index 100% rename from keyboard/ergodox_ez/config.h rename to keyboards/ergodox_ez/config.h diff --git a/keyboard/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c similarity index 100% rename from keyboard/ergodox_ez/ergodox_ez.c rename to keyboards/ergodox_ez/ergodox_ez.c diff --git a/keyboard/ergodox_ez/ergodox_ez.h b/keyboards/ergodox_ez/ergodox_ez.h similarity index 100% rename from keyboard/ergodox_ez/ergodox_ez.h rename to keyboards/ergodox_ez/ergodox_ez.h diff --git a/keyboard/ergodox_ez/i2cmaster.h b/keyboards/ergodox_ez/i2cmaster.h similarity index 100% rename from keyboard/ergodox_ez/i2cmaster.h rename to keyboards/ergodox_ez/i2cmaster.h diff --git a/keyboard/ergodox_ez/keymaps/ab/compiled.hex b/keyboards/ergodox_ez/keymaps/ab/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/ab/compiled.hex rename to keyboards/ergodox_ez/keymaps/ab/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/ab/keyboard-layout.json b/keyboards/ergodox_ez/keymaps/ab/keyboard-layout.json similarity index 100% rename from keyboard/ergodox_ez/keymaps/ab/keyboard-layout.json rename to keyboards/ergodox_ez/keymaps/ab/keyboard-layout.json diff --git a/keyboard/ergodox_ez/keymaps/ab/keyboard-layout.png b/keyboards/ergodox_ez/keymaps/ab/keyboard-layout.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/ab/keyboard-layout.png rename to keyboards/ergodox_ez/keymaps/ab/keyboard-layout.png diff --git a/keyboard/ergodox_ez/keymaps/ab/keymap.c b/keyboards/ergodox_ez/keymaps/ab/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/ab/keymap.c rename to keyboards/ergodox_ez/keymaps/ab/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/ab/readme.md b/keyboards/ergodox_ez/keymaps/ab/readme.md similarity index 93% rename from keyboard/ergodox_ez/keymaps/ab/readme.md rename to keyboards/ergodox_ez/keymaps/ab/readme.md index 67d47151bc2..6b1ac2be353 100644 --- a/keyboard/ergodox_ez/keymaps/ab/readme.md +++ b/keyboards/ergodox_ez/keymaps/ab/readme.md @@ -8,7 +8,7 @@ Beginner's keymap emulates standard QWERTY keyboard for beginners. Once you get * Easy on beginners. It has everything you need for your day to day usage. #### Cons -* Keys are not ergonomically placed to take full advantage of Ergodox-EZ. Take a look at this [Default Keymap](https://github.com/jackhumbert/qmk_firmware/blob/master/keyboard/ergodox_ez/keymaps/default/readme.md) +* Keys are not ergonomically placed to take full advantage of Ergodox-EZ. Take a look at this [Default Keymap](https://github.com/jackhumbert/qmk_firmware/blob/master/keyboards/ergodox_ez/keymaps/default/readme.md) * While multiple layers are possible, beginner's keymap only uses one additional layer for mouse, function and volume keys. #### Notes diff --git a/keyboard/ergodox_ez/keymaps/adnw_k_o_y/compiled.hex b/keyboards/ergodox_ez/keymaps/adnw_k_o_y/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/adnw_k_o_y/compiled.hex rename to keyboards/ergodox_ez/keymaps/adnw_k_o_y/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/adnw_k_o_y/keymap.c b/keyboards/ergodox_ez/keymaps/adnw_k_o_y/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/adnw_k_o_y/keymap.c rename to keyboards/ergodox_ez/keymaps/adnw_k_o_y/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/adnw_k_o_y/readme.md b/keyboards/ergodox_ez/keymaps/adnw_k_o_y/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/adnw_k_o_y/readme.md rename to keyboards/ergodox_ez/keymaps/adnw_k_o_y/readme.md diff --git a/keyboard/ergodox_ez/keymaps/alexjj/compiled.hex b/keyboards/ergodox_ez/keymaps/alexjj/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/alexjj/compiled.hex rename to keyboards/ergodox_ez/keymaps/alexjj/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/alexjj/keymap.c b/keyboards/ergodox_ez/keymaps/alexjj/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/alexjj/keymap.c rename to keyboards/ergodox_ez/keymaps/alexjj/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/alexjj/readme.md b/keyboards/ergodox_ez/keymaps/alexjj/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/alexjj/readme.md rename to keyboards/ergodox_ez/keymaps/alexjj/readme.md diff --git a/keyboard/ergodox_ez/keymaps/alexjj/rl-layout.jpg b/keyboards/ergodox_ez/keymaps/alexjj/rl-layout.jpg similarity index 100% rename from keyboard/ergodox_ez/keymaps/alexjj/rl-layout.jpg rename to keyboards/ergodox_ez/keymaps/alexjj/rl-layout.jpg diff --git a/keyboard/ergodox_ez/keymaps/algernon/.gitignore b/keyboards/ergodox_ez/keymaps/algernon/.gitignore similarity index 100% rename from keyboard/ergodox_ez/keymaps/algernon/.gitignore rename to keyboards/ergodox_ez/keymaps/algernon/.gitignore diff --git a/keyboard/ergodox_ez/keymaps/algernon/COPYING b/keyboards/ergodox_ez/keymaps/algernon/COPYING similarity index 100% rename from keyboard/ergodox_ez/keymaps/algernon/COPYING rename to keyboards/ergodox_ez/keymaps/algernon/COPYING diff --git a/keyboard/ergodox_ez/keymaps/algernon/Makefile b/keyboards/ergodox_ez/keymaps/algernon/Makefile similarity index 100% rename from keyboard/ergodox_ez/keymaps/algernon/Makefile rename to keyboards/ergodox_ez/keymaps/algernon/Makefile diff --git a/keyboard/ergodox_ez/keymaps/algernon/config.h b/keyboards/ergodox_ez/keymaps/algernon/config.h similarity index 100% rename from keyboard/ergodox_ez/keymaps/algernon/config.h rename to keyboards/ergodox_ez/keymaps/algernon/config.h diff --git a/keyboard/ergodox_ez/keymaps/algernon/images/base-layer.png b/keyboards/ergodox_ez/keymaps/algernon/images/base-layer.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/algernon/images/base-layer.png rename to keyboards/ergodox_ez/keymaps/algernon/images/base-layer.png diff --git a/keyboard/ergodox_ez/keymaps/algernon/images/emacs-layer.png b/keyboards/ergodox_ez/keymaps/algernon/images/emacs-layer.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/algernon/images/emacs-layer.png rename to keyboards/ergodox_ez/keymaps/algernon/images/emacs-layer.png diff --git a/keyboard/ergodox_ez/keymaps/algernon/images/experimental-layer.png b/keyboards/ergodox_ez/keymaps/algernon/images/experimental-layer.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/algernon/images/experimental-layer.png rename to keyboards/ergodox_ez/keymaps/algernon/images/experimental-layer.png diff --git a/keyboard/ergodox_ez/keymaps/algernon/images/hun-layer.png b/keyboards/ergodox_ez/keymaps/algernon/images/hun-layer.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/algernon/images/hun-layer.png rename to keyboards/ergodox_ez/keymaps/algernon/images/hun-layer.png diff --git a/keyboard/ergodox_ez/keymaps/algernon/images/one-handed-layer.png b/keyboards/ergodox_ez/keymaps/algernon/images/one-handed-layer.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/algernon/images/one-handed-layer.png rename to keyboards/ergodox_ez/keymaps/algernon/images/one-handed-layer.png diff --git a/keyboard/ergodox_ez/keymaps/algernon/images/steno-layer.png b/keyboards/ergodox_ez/keymaps/algernon/images/steno-layer.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/algernon/images/steno-layer.png rename to keyboards/ergodox_ez/keymaps/algernon/images/steno-layer.png diff --git a/keyboard/ergodox_ez/keymaps/algernon/keymap.c b/keyboards/ergodox_ez/keymaps/algernon/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/algernon/keymap.c rename to keyboards/ergodox_ez/keymaps/algernon/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/algernon/readme.md b/keyboards/ergodox_ez/keymaps/algernon/readme.md similarity index 98% rename from keyboard/ergodox_ez/keymaps/algernon/readme.md rename to keyboards/ergodox_ez/keymaps/algernon/readme.md index c9c481add26..c66b33f3d95 100644 --- a/keyboard/ergodox_ez/keymaps/algernon/readme.md +++ b/keyboards/ergodox_ez/keymaps/algernon/readme.md @@ -130,14 +130,14 @@ own observations thrown in. How it works out in the long run remains to be seen. To make my workflow easier, this layout is maintained in [its own repository][algernon:ez-layout]. To build it, you will need the [QMK][qmk] firmware checked out, and this repo either checked out, or symlinked -to `keyboard/ergodox_ez/algernon`. One way to achieve that is this: +to `keyboards/ergodox_ez/algernon`. One way to achieve that is this: [algernon:ez-layout]: https://github.com/algernon/ergodox-layout [qmk]: https://github.com/jackhumbert/qmk_firmware ``` $ git clone https://github.com/jackhumbert/qmk_firmware.git -$ cd qmk_firmware/keyboard/ergodox_ez +$ cd qmk_firmware/keyboards/ergodox_ez $ git clone https://github.com/algernon/ergodox-layout.git keymaps/algernon $ make KEYMAP=algernon ``` @@ -147,7 +147,7 @@ are reading it there, you can build the firmware like any other firmware included with it (assuming you are in the root directory of the firmware): ``` -$ cd keyboard/ergodox_ez +$ cd keyboards/ergodox_ez $ make KEYMAP=algernon ``` diff --git a/keyboard/ergodox_ez/keymaps/algernon/tools/max-focused b/keyboards/ergodox_ez/keymaps/algernon/tools/max-focused similarity index 100% rename from keyboard/ergodox_ez/keymaps/algernon/tools/max-focused rename to keyboards/ergodox_ez/keymaps/algernon/tools/max-focused diff --git a/keyboard/ergodox_ez/keymaps/andrew_osx/compiled.hex b/keyboards/ergodox_ez/keymaps/andrew_osx/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/andrew_osx/compiled.hex rename to keyboards/ergodox_ez/keymaps/andrew_osx/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/andrew_osx/keymap.c b/keyboards/ergodox_ez/keymaps/andrew_osx/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/andrew_osx/keymap.c rename to keyboards/ergodox_ez/keymaps/andrew_osx/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/bepo/README.md b/keyboards/ergodox_ez/keymaps/bepo/README.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/bepo/README.md rename to keyboards/ergodox_ez/keymaps/bepo/README.md diff --git a/keyboard/ergodox_ez/keymaps/bepo/bepo.png b/keyboards/ergodox_ez/keymaps/bepo/bepo.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/bepo/bepo.png rename to keyboards/ergodox_ez/keymaps/bepo/bepo.png diff --git a/keyboard/ergodox_ez/keymaps/bepo/compiled.hex b/keyboards/ergodox_ez/keymaps/bepo/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/bepo/compiled.hex rename to keyboards/ergodox_ez/keymaps/bepo/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/bepo/keymap.c b/keyboards/ergodox_ez/keymaps/bepo/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/bepo/keymap.c rename to keyboards/ergodox_ez/keymaps/bepo/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/coderkun_neo2/Makefile b/keyboards/ergodox_ez/keymaps/coderkun_neo2/Makefile similarity index 100% rename from keyboard/ergodox_ez/keymaps/coderkun_neo2/Makefile rename to keyboards/ergodox_ez/keymaps/coderkun_neo2/Makefile diff --git a/keyboard/ergodox_ez/keymaps/coderkun_neo2/compiled.hex b/keyboards/ergodox_ez/keymaps/coderkun_neo2/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/coderkun_neo2/compiled.hex rename to keyboards/ergodox_ez/keymaps/coderkun_neo2/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/coderkun_neo2/keymap.c b/keyboards/ergodox_ez/keymaps/coderkun_neo2/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/coderkun_neo2/keymap.c rename to keyboards/ergodox_ez/keymaps/coderkun_neo2/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/coderkun_neo2/readme.md b/keyboards/ergodox_ez/keymaps/coderkun_neo2/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/coderkun_neo2/readme.md rename to keyboards/ergodox_ez/keymaps/coderkun_neo2/readme.md diff --git a/keyboard/ergodox_ez/keymaps/colemak/compiled.hex b/keyboards/ergodox_ez/keymaps/colemak/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/colemak/compiled.hex rename to keyboards/ergodox_ez/keymaps/colemak/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/colemak/keymap.c b/keyboards/ergodox_ez/keymaps/colemak/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/colemak/keymap.c rename to keyboards/ergodox_ez/keymaps/colemak/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/colemak/readme.md b/keyboards/ergodox_ez/keymaps/colemak/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/colemak/readme.md rename to keyboards/ergodox_ez/keymaps/colemak/readme.md diff --git a/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/compiled.hex b/keyboards/ergodox_ez/keymaps/colemak_osx_pc_no/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/compiled.hex rename to keyboards/ergodox_ez/keymaps/colemak_osx_pc_no/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/keyboard-layout.png b/keyboards/ergodox_ez/keymaps/colemak_osx_pc_no/keyboard-layout.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/keyboard-layout.png rename to keyboards/ergodox_ez/keymaps/colemak_osx_pc_no/keyboard-layout.png diff --git a/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/keymap.c b/keyboards/ergodox_ez/keymaps/colemak_osx_pc_no/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/keymap.c rename to keyboards/ergodox_ez/keymaps/colemak_osx_pc_no/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/readme.md b/keyboards/ergodox_ez/keymaps/colemak_osx_pc_no/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/readme.md rename to keyboards/ergodox_ez/keymaps/colemak_osx_pc_no/readme.md diff --git a/keyboard/ergodox_ez/keymaps/csharp_dev/compiled.hex b/keyboards/ergodox_ez/keymaps/csharp_dev/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/csharp_dev/compiled.hex rename to keyboards/ergodox_ez/keymaps/csharp_dev/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/csharp_dev/csharp_dev.png b/keyboards/ergodox_ez/keymaps/csharp_dev/csharp_dev.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/csharp_dev/csharp_dev.png rename to keyboards/ergodox_ez/keymaps/csharp_dev/csharp_dev.png diff --git a/keyboard/ergodox_ez/keymaps/csharp_dev/csharp_dev_legend.png b/keyboards/ergodox_ez/keymaps/csharp_dev/csharp_dev_legend.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/csharp_dev/csharp_dev_legend.png rename to keyboards/ergodox_ez/keymaps/csharp_dev/csharp_dev_legend.png diff --git a/keyboard/ergodox_ez/keymaps/csharp_dev/keymap.c b/keyboards/ergodox_ez/keymaps/csharp_dev/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/csharp_dev/keymap.c rename to keyboards/ergodox_ez/keymaps/csharp_dev/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/csharp_dev/readme.md b/keyboards/ergodox_ez/keymaps/csharp_dev/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/csharp_dev/readme.md rename to keyboards/ergodox_ez/keymaps/csharp_dev/readme.md diff --git a/keyboard/ergodox_ez/keymaps/dave/compiled.hex b/keyboards/ergodox_ez/keymaps/dave/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/dave/compiled.hex rename to keyboards/ergodox_ez/keymaps/dave/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/dave/keymap.c b/keyboards/ergodox_ez/keymaps/dave/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/dave/keymap.c rename to keyboards/ergodox_ez/keymaps/dave/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/dave/readme.md b/keyboards/ergodox_ez/keymaps/dave/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/dave/readme.md rename to keyboards/ergodox_ez/keymaps/dave/readme.md diff --git a/keyboard/ergodox_ez/keymaps/default/compiled.hex b/keyboards/ergodox_ez/keymaps/default/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/default/compiled.hex rename to keyboards/ergodox_ez/keymaps/default/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/default/default.png b/keyboards/ergodox_ez/keymaps/default/default.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/default/default.png rename to keyboards/ergodox_ez/keymaps/default/default.png diff --git a/keyboard/ergodox_ez/keymaps/default/default_highres.png b/keyboards/ergodox_ez/keymaps/default/default_highres.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/default/default_highres.png rename to keyboards/ergodox_ez/keymaps/default/default_highres.png diff --git a/keyboard/ergodox_ez/keymaps/default/keymap.c b/keyboards/ergodox_ez/keymaps/default/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/default/keymap.c rename to keyboards/ergodox_ez/keymaps/default/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/default/readme.md b/keyboards/ergodox_ez/keymaps/default/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/default/readme.md rename to keyboards/ergodox_ez/keymaps/default/readme.md diff --git a/keyboard/ergodox_ez/keymaps/default_osx/compiled.hex b/keyboards/ergodox_ez/keymaps/default_osx/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/default_osx/compiled.hex rename to keyboards/ergodox_ez/keymaps/default_osx/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/default_osx/default_osx_highres.png b/keyboards/ergodox_ez/keymaps/default_osx/default_osx_highres.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/default_osx/default_osx_highres.png rename to keyboards/ergodox_ez/keymaps/default_osx/default_osx_highres.png diff --git a/keyboard/ergodox_ez/keymaps/default_osx/keymap.c b/keyboards/ergodox_ez/keymaps/default_osx/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/default_osx/keymap.c rename to keyboards/ergodox_ez/keymaps/default_osx/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/default_osx/readme.md b/keyboards/ergodox_ez/keymaps/default_osx/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/default_osx/readme.md rename to keyboards/ergodox_ez/keymaps/default_osx/readme.md diff --git a/keyboard/ergodox_ez/keymaps/dragon788/compiled.hex b/keyboards/ergodox_ez/keymaps/dragon788/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/dragon788/compiled.hex rename to keyboards/ergodox_ez/keymaps/dragon788/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/dragon788/keymap.c b/keyboards/ergodox_ez/keymaps/dragon788/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/dragon788/keymap.c rename to keyboards/ergodox_ez/keymaps/dragon788/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/dvorak/compiled.hex b/keyboards/ergodox_ez/keymaps/dvorak/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/dvorak/compiled.hex rename to keyboards/ergodox_ez/keymaps/dvorak/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/dvorak/dvorak.png b/keyboards/ergodox_ez/keymaps/dvorak/dvorak.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/dvorak/dvorak.png rename to keyboards/ergodox_ez/keymaps/dvorak/dvorak.png diff --git a/keyboard/ergodox_ez/keymaps/dvorak/keymap.c b/keyboards/ergodox_ez/keymaps/dvorak/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/dvorak/keymap.c rename to keyboards/ergodox_ez/keymaps/dvorak/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/README.md b/keyboards/ergodox_ez/keymaps/dvorak_intl_squisher/README.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/README.md rename to keyboards/ergodox_ez/keymaps/dvorak_intl_squisher/README.md diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/compiled.hex b/keyboards/ergodox_ez/keymaps/dvorak_intl_squisher/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/compiled.hex rename to keyboards/ergodox_ez/keymaps/dvorak_intl_squisher/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.png b/keyboards/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.png rename to keyboards/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.png diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.png b/keyboards/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.png rename to keyboards/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.png diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.png b/keyboards/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.png rename to keyboards/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.png diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c b/keyboards/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c rename to keyboards/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/dvorak_spanish/README.md b/keyboards/ergodox_ez/keymaps/dvorak_spanish/README.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/dvorak_spanish/README.md rename to keyboards/ergodox_ez/keymaps/dvorak_spanish/README.md diff --git a/keyboard/ergodox_ez/keymaps/dvorak_spanish/compiled.hex b/keyboards/ergodox_ez/keymaps/dvorak_spanish/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/dvorak_spanish/compiled.hex rename to keyboards/ergodox_ez/keymaps/dvorak_spanish/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/dvorak_spanish/keymap.c b/keyboards/ergodox_ez/keymaps/dvorak_spanish/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/dvorak_spanish/keymap.c rename to keyboards/ergodox_ez/keymaps/dvorak_spanish/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/emacs_osx_dk/compiled.hex b/keyboards/ergodox_ez/keymaps/emacs_osx_dk/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/emacs_osx_dk/compiled.hex rename to keyboards/ergodox_ez/keymaps/emacs_osx_dk/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/emacs_osx_dk/default_highres.png b/keyboards/ergodox_ez/keymaps/emacs_osx_dk/default_highres.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/emacs_osx_dk/default_highres.png rename to keyboards/ergodox_ez/keymaps/emacs_osx_dk/default_highres.png diff --git a/keyboard/ergodox_ez/keymaps/emacs_osx_dk/keymap.c b/keyboards/ergodox_ez/keymaps/emacs_osx_dk/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/emacs_osx_dk/keymap.c rename to keyboards/ergodox_ez/keymaps/emacs_osx_dk/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/emacs_osx_dk/readme.md b/keyboards/ergodox_ez/keymaps/emacs_osx_dk/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/emacs_osx_dk/readme.md rename to keyboards/ergodox_ez/keymaps/emacs_osx_dk/readme.md diff --git a/keyboard/ergodox_ez/keymaps/erez_experimental/Makefile b/keyboards/ergodox_ez/keymaps/erez_experimental/Makefile similarity index 100% rename from keyboard/ergodox_ez/keymaps/erez_experimental/Makefile rename to keyboards/ergodox_ez/keymaps/erez_experimental/Makefile diff --git a/keyboard/ergodox_ez/keymaps/erez_experimental/compiled.hex b/keyboards/ergodox_ez/keymaps/erez_experimental/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/erez_experimental/compiled.hex rename to keyboards/ergodox_ez/keymaps/erez_experimental/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/erez_experimental/config.h b/keyboards/ergodox_ez/keymaps/erez_experimental/config.h similarity index 100% rename from keyboard/ergodox_ez/keymaps/erez_experimental/config.h rename to keyboards/ergodox_ez/keymaps/erez_experimental/config.h diff --git a/keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c b/keyboards/ergodox_ez/keymaps/erez_experimental/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c rename to keyboards/ergodox_ez/keymaps/erez_experimental/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/erez_experimental/readme.md b/keyboards/ergodox_ez/keymaps/erez_experimental/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/erez_experimental/readme.md rename to keyboards/ergodox_ez/keymaps/erez_experimental/readme.md diff --git a/keyboard/ergodox_ez/keymaps/german-kinergo/compiled.hex b/keyboards/ergodox_ez/keymaps/german-kinergo/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/german-kinergo/compiled.hex rename to keyboards/ergodox_ez/keymaps/german-kinergo/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/german-kinergo/keymap.c b/keyboards/ergodox_ez/keymaps/german-kinergo/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/german-kinergo/keymap.c rename to keyboards/ergodox_ez/keymaps/german-kinergo/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/german-kinergo/layout-code.png b/keyboards/ergodox_ez/keymaps/german-kinergo/layout-code.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/german-kinergo/layout-code.png rename to keyboards/ergodox_ez/keymaps/german-kinergo/layout-code.png diff --git a/keyboard/ergodox_ez/keymaps/german-kinergo/layout-media.png b/keyboards/ergodox_ez/keymaps/german-kinergo/layout-media.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/german-kinergo/layout-media.png rename to keyboards/ergodox_ez/keymaps/german-kinergo/layout-media.png diff --git a/keyboard/ergodox_ez/keymaps/german-kinergo/layout.png b/keyboards/ergodox_ez/keymaps/german-kinergo/layout.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/german-kinergo/layout.png rename to keyboards/ergodox_ez/keymaps/german-kinergo/layout.png diff --git a/keyboard/ergodox_ez/keymaps/german-kinergo/readme.md b/keyboards/ergodox_ez/keymaps/german-kinergo/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/german-kinergo/readme.md rename to keyboards/ergodox_ez/keymaps/german-kinergo/readme.md diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py b/keyboards/ergodox_ez/keymaps/german-manuneo/compile_keymap.py similarity index 100% rename from keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py rename to keyboards/ergodox_ez/keymaps/german-manuneo/compile_keymap.py diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/compiled.hex b/keyboards/ergodox_ez/keymaps/german-manuneo/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/german-manuneo/compiled.hex rename to keyboards/ergodox_ez/keymaps/german-manuneo/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c b/keyboards/ergodox_ez/keymaps/german-manuneo/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c rename to keyboards/ergodox_ez/keymaps/german-manuneo/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md b/keyboards/ergodox_ez/keymaps/german-manuneo/keymap.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md rename to keyboards/ergodox_ez/keymaps/german-manuneo/keymap.md diff --git a/keyboard/ergodox_ez/keymaps/german/compiled.hex b/keyboards/ergodox_ez/keymaps/german/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/german/compiled.hex rename to keyboards/ergodox_ez/keymaps/german/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/german/keymap.c b/keyboards/ergodox_ez/keymaps/german/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/german/keymap.c rename to keyboards/ergodox_ez/keymaps/german/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/j3rn/compiled.hex b/keyboards/ergodox_ez/keymaps/j3rn/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/j3rn/compiled.hex rename to keyboards/ergodox_ez/keymaps/j3rn/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/j3rn/keymap.c b/keyboards/ergodox_ez/keymaps/j3rn/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/j3rn/keymap.c rename to keyboards/ergodox_ez/keymaps/j3rn/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/j3rn/readme.md b/keyboards/ergodox_ez/keymaps/j3rn/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/j3rn/readme.md rename to keyboards/ergodox_ez/keymaps/j3rn/readme.md diff --git a/keyboard/ergodox_ez/keymaps/jack/compiled.hex b/keyboards/ergodox_ez/keymaps/jack/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/jack/compiled.hex rename to keyboards/ergodox_ez/keymaps/jack/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/jack/keymap.c b/keyboards/ergodox_ez/keymaps/jack/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/jack/keymap.c rename to keyboards/ergodox_ez/keymaps/jack/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/jacobono/README.md b/keyboards/ergodox_ez/keymaps/jacobono/README.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/jacobono/README.md rename to keyboards/ergodox_ez/keymaps/jacobono/README.md diff --git a/keyboard/ergodox_ez/keymaps/jacobono/compiled.hex b/keyboards/ergodox_ez/keymaps/jacobono/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/jacobono/compiled.hex rename to keyboards/ergodox_ez/keymaps/jacobono/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/jacobono/img/colemak-default-layer.png b/keyboards/ergodox_ez/keymaps/jacobono/img/colemak-default-layer.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/jacobono/img/colemak-default-layer.png rename to keyboards/ergodox_ez/keymaps/jacobono/img/colemak-default-layer.png diff --git a/keyboard/ergodox_ez/keymaps/jacobono/img/number-dpad-layer.png b/keyboards/ergodox_ez/keymaps/jacobono/img/number-dpad-layer.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/jacobono/img/number-dpad-layer.png rename to keyboards/ergodox_ez/keymaps/jacobono/img/number-dpad-layer.png diff --git a/keyboard/ergodox_ez/keymaps/jacobono/img/symbol-layer.png b/keyboards/ergodox_ez/keymaps/jacobono/img/symbol-layer.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/jacobono/img/symbol-layer.png rename to keyboards/ergodox_ez/keymaps/jacobono/img/symbol-layer.png diff --git a/keyboard/ergodox_ez/keymaps/jacobono/keymap.c b/keyboards/ergodox_ez/keymaps/jacobono/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/jacobono/keymap.c rename to keyboards/ergodox_ez/keymaps/jacobono/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/jgarr/compiled.hex b/keyboards/ergodox_ez/keymaps/jgarr/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/jgarr/compiled.hex rename to keyboards/ergodox_ez/keymaps/jgarr/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/jgarr/keymap.c b/keyboards/ergodox_ez/keymaps/jgarr/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/jgarr/keymap.c rename to keyboards/ergodox_ez/keymaps/jgarr/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/kastyle/compiled.hex b/keyboards/ergodox_ez/keymaps/kastyle/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/kastyle/compiled.hex rename to keyboards/ergodox_ez/keymaps/kastyle/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/kastyle/keymap.c b/keyboards/ergodox_ez/keymaps/kastyle/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/kastyle/keymap.c rename to keyboards/ergodox_ez/keymaps/kastyle/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/kines-ish/compiled.hex b/keyboards/ergodox_ez/keymaps/kines-ish/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/kines-ish/compiled.hex rename to keyboards/ergodox_ez/keymaps/kines-ish/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/kines-ish/keymap.c b/keyboards/ergodox_ez/keymaps/kines-ish/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/kines-ish/keymap.c rename to keyboards/ergodox_ez/keymaps/kines-ish/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/kines-ish/readme.md b/keyboards/ergodox_ez/keymaps/kines-ish/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/kines-ish/readme.md rename to keyboards/ergodox_ez/keymaps/kines-ish/readme.md diff --git a/keyboard/ergodox_ez/keymaps/mpiechotka/compiled.hex b/keyboards/ergodox_ez/keymaps/mpiechotka/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/mpiechotka/compiled.hex rename to keyboards/ergodox_ez/keymaps/mpiechotka/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/mpiechotka/keymap.c b/keyboards/ergodox_ez/keymaps/mpiechotka/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/mpiechotka/keymap.c rename to keyboards/ergodox_ez/keymaps/mpiechotka/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/mpiechotka/readme.md b/keyboards/ergodox_ez/keymaps/mpiechotka/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/mpiechotka/readme.md rename to keyboards/ergodox_ez/keymaps/mpiechotka/readme.md diff --git a/keyboard/ergodox_ez/keymaps/msc/compiled.hex b/keyboards/ergodox_ez/keymaps/msc/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/msc/compiled.hex rename to keyboards/ergodox_ez/keymaps/msc/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/msc/img/code_layer.png b/keyboards/ergodox_ez/keymaps/msc/img/code_layer.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/msc/img/code_layer.png rename to keyboards/ergodox_ez/keymaps/msc/img/code_layer.png diff --git a/keyboard/ergodox_ez/keymaps/msc/img/main_layer.png b/keyboards/ergodox_ez/keymaps/msc/img/main_layer.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/msc/img/main_layer.png rename to keyboards/ergodox_ez/keymaps/msc/img/main_layer.png diff --git a/keyboard/ergodox_ez/keymaps/msc/img/media_layer.png b/keyboards/ergodox_ez/keymaps/msc/img/media_layer.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/msc/img/media_layer.png rename to keyboards/ergodox_ez/keymaps/msc/img/media_layer.png diff --git a/keyboard/ergodox_ez/keymaps/msc/keymap.c b/keyboards/ergodox_ez/keymaps/msc/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/msc/keymap.c rename to keyboards/ergodox_ez/keymaps/msc/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/msc/readme.md b/keyboards/ergodox_ez/keymaps/msc/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/msc/readme.md rename to keyboards/ergodox_ez/keymaps/msc/readme.md diff --git a/keyboard/ergodox_ez/keymaps/naps62/README.md b/keyboards/ergodox_ez/keymaps/naps62/README.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/naps62/README.md rename to keyboards/ergodox_ez/keymaps/naps62/README.md diff --git a/keyboard/ergodox_ez/keymaps/naps62/compiled.hex b/keyboards/ergodox_ez/keymaps/naps62/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/naps62/compiled.hex rename to keyboards/ergodox_ez/keymaps/naps62/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/naps62/keymap.c b/keyboards/ergodox_ez/keymaps/naps62/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/naps62/keymap.c rename to keyboards/ergodox_ez/keymaps/naps62/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/ordinary/compiled.hex b/keyboards/ergodox_ez/keymaps/ordinary/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/ordinary/compiled.hex rename to keyboards/ergodox_ez/keymaps/ordinary/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c b/keyboards/ergodox_ez/keymaps/ordinary/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/ordinary/keymap.c rename to keyboards/ergodox_ez/keymaps/ordinary/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png b/keyboards/ergodox_ez/keymaps/ordinary/ordinary-base.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png rename to keyboards/ergodox_ez/keymaps/ordinary/ordinary-base.png diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt b/keyboards/ergodox_ez/keymaps/ordinary/ordinary-base.txt similarity index 100% rename from keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt rename to keyboards/ergodox_ez/keymaps/ordinary/ordinary-base.txt diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png b/keyboards/ergodox_ez/keymaps/ordinary/ordinary-media.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png rename to keyboards/ergodox_ez/keymaps/ordinary/ordinary-media.png diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt b/keyboards/ergodox_ez/keymaps/ordinary/ordinary-media.txt similarity index 100% rename from keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt rename to keyboards/ergodox_ez/keymaps/ordinary/ordinary-media.txt diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.png b/keyboards/ergodox_ez/keymaps/ordinary/ordinary-special.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.png rename to keyboards/ergodox_ez/keymaps/ordinary/ordinary-special.png diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.txt b/keyboards/ergodox_ez/keymaps/ordinary/ordinary-special.txt similarity index 100% rename from keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.txt rename to keyboards/ergodox_ez/keymaps/ordinary/ordinary-special.txt diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png b/keyboards/ergodox_ez/keymaps/ordinary/ordinary-symbol.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png rename to keyboards/ergodox_ez/keymaps/ordinary/ordinary-symbol.png diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt b/keyboards/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt similarity index 100% rename from keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt rename to keyboards/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt diff --git a/keyboard/ergodox_ez/keymaps/ordinary/readme.md b/keyboards/ergodox_ez/keymaps/ordinary/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/ordinary/readme.md rename to keyboards/ergodox_ez/keymaps/ordinary/readme.md diff --git a/keyboard/ergodox_ez/keymaps/osx_de/compiled.hex b/keyboards/ergodox_ez/keymaps/osx_de/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/osx_de/compiled.hex rename to keyboards/ergodox_ez/keymaps/osx_de/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboards/ergodox_ez/keymaps/osx_de/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/osx_de/keymap.c rename to keyboards/ergodox_ez/keymaps/osx_de/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png b/keyboards/ergodox_ez/keymaps/osx_de/osx_de_highres.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png rename to keyboards/ergodox_ez/keymaps/osx_de/osx_de_highres.png diff --git a/keyboard/ergodox_ez/keymaps/osx_de/readme.md b/keyboards/ergodox_ez/keymaps/osx_de/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/osx_de/readme.md rename to keyboards/ergodox_ez/keymaps/osx_de/readme.md diff --git a/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/compiled.hex b/keyboards/ergodox_ez/keymaps/osx_de_adnw_koy/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/compiled.hex rename to keyboards/ergodox_ez/keymaps/osx_de_adnw_koy/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c b/keyboards/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c rename to keyboards/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.png b/keyboards/ergodox_ez/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.png rename to keyboards/ergodox_ez/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.png diff --git a/keyboard/ergodox_ez/keymaps/osx_de_experimental/compiled.hex b/keyboards/ergodox_ez/keymaps/osx_de_experimental/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/osx_de_experimental/compiled.hex rename to keyboards/ergodox_ez/keymaps/osx_de_experimental/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/osx_de_experimental/keymap.c b/keyboards/ergodox_ez/keymaps/osx_de_experimental/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/osx_de_experimental/keymap.c rename to keyboards/ergodox_ez/keymaps/osx_de_experimental/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png b/keyboards/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png rename to keyboards/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png diff --git a/keyboard/ergodox_ez/keymaps/osx_de_experimental/readme.md b/keyboards/ergodox_ez/keymaps/osx_de_experimental/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/osx_de_experimental/readme.md rename to keyboards/ergodox_ez/keymaps/osx_de_experimental/readme.md diff --git a/keyboard/ergodox_ez/keymaps/osx_fr/compiled.hex b/keyboards/ergodox_ez/keymaps/osx_fr/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/osx_fr/compiled.hex rename to keyboards/ergodox_ez/keymaps/osx_fr/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/osx_fr/keymap.c b/keyboards/ergodox_ez/keymaps/osx_fr/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/osx_fr/keymap.c rename to keyboards/ergodox_ez/keymaps/osx_fr/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/osx_kinesis_pnut/compiled.hex b/keyboards/ergodox_ez/keymaps/osx_kinesis_pnut/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/osx_kinesis_pnut/compiled.hex rename to keyboards/ergodox_ez/keymaps/osx_kinesis_pnut/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/osx_kinesis_pnut/keymap.c b/keyboards/ergodox_ez/keymaps/osx_kinesis_pnut/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/osx_kinesis_pnut/keymap.c rename to keyboards/ergodox_ez/keymaps/osx_kinesis_pnut/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/plover/compiled.hex b/keyboards/ergodox_ez/keymaps/plover/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/plover/compiled.hex rename to keyboards/ergodox_ez/keymaps/plover/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/plover/keymap.c b/keyboards/ergodox_ez/keymaps/plover/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/plover/keymap.c rename to keyboards/ergodox_ez/keymaps/plover/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/plums/compiled.hex b/keyboards/ergodox_ez/keymaps/plums/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/plums/compiled.hex rename to keyboards/ergodox_ez/keymaps/plums/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/plums/keymap.c b/keyboards/ergodox_ez/keymaps/plums/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/plums/keymap.c rename to keyboards/ergodox_ez/keymaps/plums/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/plums/plums.png b/keyboards/ergodox_ez/keymaps/plums/plums.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/plums/plums.png rename to keyboards/ergodox_ez/keymaps/plums/plums.png diff --git a/keyboard/ergodox_ez/keymaps/plums/readme.md b/keyboards/ergodox_ez/keymaps/plums/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/plums/readme.md rename to keyboards/ergodox_ez/keymaps/plums/readme.md diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/compiled.hex b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-osx/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/compiled.hex rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-osx/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/keymap.c b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-osx/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/keymap.c rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-osx/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/readme.md b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-osx/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/readme.md rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-osx/readme.md diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.png b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.png rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.png diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/compiled.hex b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/compiled.hex rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/keymap.c b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/keymap.c rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/romanzolotarev-norman-plover-osx-hjkl.png b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/romanzolotarev-norman-plover-osx-hjkl.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/romanzolotarev-norman-plover-osx-hjkl.png rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/romanzolotarev-norman-plover-osx-hjkl.png diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/compiled.hex b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/compiled.hex rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/keymap.c b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/keymap.c rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/readme.md b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/readme.md rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/readme.md diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/romanzolotarev-norman-plover-osx.png b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/romanzolotarev-norman-plover-osx.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/romanzolotarev-norman-plover-osx.png rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx/romanzolotarev-norman-plover-osx.png diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/compiled.hex b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/compiled.hex rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/keymap.c b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/keymap.c rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/readme.md b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/readme.md rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/readme.md diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.png b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.png rename to keyboards/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.png diff --git a/keyboard/ergodox_ez/keymaps/sneako/README.md b/keyboards/ergodox_ez/keymaps/sneako/README.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/sneako/README.md rename to keyboards/ergodox_ez/keymaps/sneako/README.md diff --git a/keyboard/ergodox_ez/keymaps/sneako/compiled.hex b/keyboards/ergodox_ez/keymaps/sneako/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/sneako/compiled.hex rename to keyboards/ergodox_ez/keymaps/sneako/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/sneako/keymap.c b/keyboards/ergodox_ez/keymaps/sneako/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/sneako/keymap.c rename to keyboards/ergodox_ez/keymaps/sneako/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/software_neo2/compiled.hex b/keyboards/ergodox_ez/keymaps/software_neo2/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/software_neo2/compiled.hex rename to keyboards/ergodox_ez/keymaps/software_neo2/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/software_neo2/keymap.c b/keyboards/ergodox_ez/keymaps/software_neo2/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/software_neo2/keymap.c rename to keyboards/ergodox_ez/keymaps/software_neo2/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/supercoder/README.md b/keyboards/ergodox_ez/keymaps/supercoder/README.md similarity index 96% rename from keyboard/ergodox_ez/keymaps/supercoder/README.md rename to keyboards/ergodox_ez/keymaps/supercoder/README.md index ad531b3da74..97bf7f58357 100644 --- a/keyboard/ergodox_ez/keymaps/supercoder/README.md +++ b/keyboards/ergodox_ez/keymaps/supercoder/README.md @@ -23,7 +23,7 @@ your own: ``` $ git clone https://github.com/jackhumbert/qmk_firmware.git -$ cd qmk_firmware/keyboard/ergodox_ez +$ cd qmk_firmware/keyboards/ergodox_ez $ git clone https://github.com/algernon/ergodox-supercoder.git keymaps/supercoder $ make KEYMAP=supercoder ``` diff --git a/keyboard/ergodox_ez/keymaps/supercoder/compiled.hex b/keyboards/ergodox_ez/keymaps/supercoder/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/supercoder/compiled.hex rename to keyboards/ergodox_ez/keymaps/supercoder/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/supercoder/config_user.h b/keyboards/ergodox_ez/keymaps/supercoder/config_user.h similarity index 100% rename from keyboard/ergodox_ez/keymaps/supercoder/config_user.h rename to keyboards/ergodox_ez/keymaps/supercoder/config_user.h diff --git a/keyboard/ergodox_ez/keymaps/supercoder/images/layout.png b/keyboards/ergodox_ez/keymaps/supercoder/images/layout.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/supercoder/images/layout.png rename to keyboards/ergodox_ez/keymaps/supercoder/images/layout.png diff --git a/keyboard/ergodox_ez/keymaps/supercoder/images/supercoder_2000.jpg b/keyboards/ergodox_ez/keymaps/supercoder/images/supercoder_2000.jpg similarity index 100% rename from keyboard/ergodox_ez/keymaps/supercoder/images/supercoder_2000.jpg rename to keyboards/ergodox_ez/keymaps/supercoder/images/supercoder_2000.jpg diff --git a/keyboard/ergodox_ez/keymaps/supercoder/keymap.c b/keyboards/ergodox_ez/keymaps/supercoder/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/supercoder/keymap.c rename to keyboards/ergodox_ez/keymaps/supercoder/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/supercoder/makefile.mk b/keyboards/ergodox_ez/keymaps/supercoder/makefile.mk similarity index 100% rename from keyboard/ergodox_ez/keymaps/supercoder/makefile.mk rename to keyboards/ergodox_ez/keymaps/supercoder/makefile.mk diff --git a/keyboard/ergodox_ez/keymaps/techtomas/compiled.hex b/keyboards/ergodox_ez/keymaps/techtomas/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/techtomas/compiled.hex rename to keyboards/ergodox_ez/keymaps/techtomas/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/techtomas/keymap.c b/keyboards/ergodox_ez/keymaps/techtomas/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/techtomas/keymap.c rename to keyboards/ergodox_ez/keymaps/techtomas/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/techtomas/readme.md b/keyboards/ergodox_ez/keymaps/techtomas/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/techtomas/readme.md rename to keyboards/ergodox_ez/keymaps/techtomas/readme.md diff --git a/keyboard/ergodox_ez/keymaps/tm2030/README.md b/keyboards/ergodox_ez/keymaps/tm2030/README.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/tm2030/README.md rename to keyboards/ergodox_ez/keymaps/tm2030/README.md diff --git a/keyboard/ergodox_ez/keymaps/tm2030/compiled.hex b/keyboards/ergodox_ez/keymaps/tm2030/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/tm2030/compiled.hex rename to keyboards/ergodox_ez/keymaps/tm2030/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/tm2030/keymap.c b/keyboards/ergodox_ez/keymaps/tm2030/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/tm2030/keymap.c rename to keyboards/ergodox_ez/keymaps/tm2030/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/tonyabra_osx/compiled.hex b/keyboards/ergodox_ez/keymaps/tonyabra_osx/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/tonyabra_osx/compiled.hex rename to keyboards/ergodox_ez/keymaps/tonyabra_osx/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/tonyabra_osx/keymap.c b/keyboards/ergodox_ez/keymaps/tonyabra_osx/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/tonyabra_osx/keymap.c rename to keyboards/ergodox_ez/keymaps/tonyabra_osx/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/tonyabra_osx/readme.md b/keyboards/ergodox_ez/keymaps/tonyabra_osx/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/tonyabra_osx/readme.md rename to keyboards/ergodox_ez/keymaps/tonyabra_osx/readme.md diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/compiled.hex b/keyboards/ergodox_ez/keymaps/townk_osx/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/townk_osx/compiled.hex rename to keyboards/ergodox_ez/keymaps/townk_osx/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/config.h b/keyboards/ergodox_ez/keymaps/townk_osx/config.h similarity index 100% rename from keyboard/ergodox_ez/keymaps/townk_osx/config.h rename to keyboards/ergodox_ez/keymaps/townk_osx/config.h diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/keymap.c b/keyboards/ergodox_ez/keymaps/townk_osx/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/townk_osx/keymap.c rename to keyboards/ergodox_ez/keymaps/townk_osx/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/makefile.mk b/keyboards/ergodox_ez/keymaps/townk_osx/makefile.mk similarity index 100% rename from keyboard/ergodox_ez/keymaps/townk_osx/makefile.mk rename to keyboards/ergodox_ez/keymaps/townk_osx/makefile.mk diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/readme.md b/keyboards/ergodox_ez/keymaps/townk_osx/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/townk_osx/readme.md rename to keyboards/ergodox_ez/keymaps/townk_osx/readme.md diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_base.png b/keyboards/ergodox_ez/keymaps/townk_osx/townk_osx_base.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_base.png rename to keyboards/ergodox_ez/keymaps/townk_osx/townk_osx_base.png diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_fn.png b/keyboards/ergodox_ez/keymaps/townk_osx/townk_osx_fn.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_fn.png rename to keyboards/ergodox_ez/keymaps/townk_osx/townk_osx_fn.png diff --git a/keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_keypad.png b/keyboards/ergodox_ez/keymaps/townk_osx/townk_osx_keypad.png similarity index 100% rename from keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_keypad.png rename to keyboards/ergodox_ez/keymaps/townk_osx/townk_osx_keypad.png diff --git a/keyboard/ergodox_ez/keymaps/twey/compiled.hex b/keyboards/ergodox_ez/keymaps/twey/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/twey/compiled.hex rename to keyboards/ergodox_ez/keymaps/twey/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/twey/keymap.c b/keyboards/ergodox_ez/keymaps/twey/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/twey/keymap.c rename to keyboards/ergodox_ez/keymaps/twey/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/twey/readme.md b/keyboards/ergodox_ez/keymaps/twey/readme.md similarity index 100% rename from keyboard/ergodox_ez/keymaps/twey/readme.md rename to keyboards/ergodox_ez/keymaps/twey/readme.md diff --git a/keyboard/ergodox_ez/keymaps/workman_osx_mdw/compiled.hex b/keyboards/ergodox_ez/keymaps/workman_osx_mdw/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/workman_osx_mdw/compiled.hex rename to keyboards/ergodox_ez/keymaps/workman_osx_mdw/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/workman_osx_mdw/keymap.c b/keyboards/ergodox_ez/keymaps/workman_osx_mdw/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/workman_osx_mdw/keymap.c rename to keyboards/ergodox_ez/keymaps/workman_osx_mdw/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/zweihander-osx/compiled.hex b/keyboards/ergodox_ez/keymaps/zweihander-osx/compiled.hex similarity index 100% rename from keyboard/ergodox_ez/keymaps/zweihander-osx/compiled.hex rename to keyboards/ergodox_ez/keymaps/zweihander-osx/compiled.hex diff --git a/keyboard/ergodox_ez/keymaps/zweihander-osx/keymap.c b/keyboards/ergodox_ez/keymaps/zweihander-osx/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/zweihander-osx/keymap.c rename to keyboards/ergodox_ez/keymaps/zweihander-osx/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/zweihander-osx/readme.markdown b/keyboards/ergodox_ez/keymaps/zweihander-osx/readme.markdown similarity index 100% rename from keyboard/ergodox_ez/keymaps/zweihander-osx/readme.markdown rename to keyboards/ergodox_ez/keymaps/zweihander-osx/readme.markdown diff --git a/keyboard/ergodox_ez/matrix.c b/keyboards/ergodox_ez/matrix.c similarity index 100% rename from keyboard/ergodox_ez/matrix.c rename to keyboards/ergodox_ez/matrix.c diff --git a/keyboard/ergodox_ez/readme.md b/keyboards/ergodox_ez/readme.md similarity index 96% rename from keyboard/ergodox_ez/readme.md rename to keyboards/ergodox_ez/readme.md index 5f0becc6cff..b1e9d7eca52 100644 --- a/keyboard/ergodox_ez/readme.md +++ b/keyboards/ergodox_ez/readme.md @@ -17,7 +17,7 @@ This requires a little bit of familiarity with coding. 2. Clone the repository (download it) 3. Set up a build environment as per [the build guide](/doc/BUILD_GUIDE.md) - Using a Mac and have homebrew? just run `brew tap osx-cross/avr && brew install avr-libc` -4. Copy `keyboard/ergodox_ez/keymaps/default/keymap.c` into `keymaps/your_name/keymap.c` (for example, `keymaps/german/keymap.c`) +4. Copy `keyboards/ergodox_ez/keymaps/default/keymap.c` into `keymaps/your_name/keymap.c` (for example, `keymaps/german/keymap.c`) 5. Edit this file, changing keycodes to your liking (see "Finding the keycodes you need" below). Try to edit the comments as well, so the "text graphics" represent your layout correctly. See below for more tips on sharing your work. 6. Compile your firmware by running `make keymap=your_name`. For example, `make keymap=german`. This will result in a hex file, which will be called `ergodox_ez_your_name.hex`, e.g. `ergodox_ez_german.hex`. 6. Flash this hex file using the [Teensy loader](https://www.pjrc.com/teensy/loader.html) as described in step 4 in the "Easy Way" above. If you prefer you can automatically flash the hex file after successfull build by running `make teensy keymap=your_name`. diff --git a/keyboard/ergodox_ez/twimaster.c b/keyboards/ergodox_ez/twimaster.c similarity index 100% rename from keyboard/ergodox_ez/twimaster.c rename to keyboards/ergodox_ez/twimaster.c diff --git a/keyboard/ergodox_ez/util/compile_keymap.py b/keyboards/ergodox_ez/util/compile_keymap.py similarity index 100% rename from keyboard/ergodox_ez/util/compile_keymap.py rename to keyboards/ergodox_ez/util/compile_keymap.py diff --git a/keyboard/ergodox_ez/util/readme.md b/keyboards/ergodox_ez/util/readme.md similarity index 100% rename from keyboard/ergodox_ez/util/readme.md rename to keyboards/ergodox_ez/util/readme.md diff --git a/keyboard/gh60/Makefile b/keyboards/gh60/Makefile similarity index 100% rename from keyboard/gh60/Makefile rename to keyboards/gh60/Makefile diff --git a/keyboard/gh60/README.md b/keyboards/gh60/README.md similarity index 87% rename from keyboard/gh60/README.md rename to keyboards/gh60/README.md index bf209be8c6a..35c13375cee 100644 --- a/keyboard/gh60/README.md +++ b/keyboards/gh60/README.md @@ -43,7 +43,7 @@ For the full Quantum feature list, see [the parent README.md](/README.md). ## Building -Download or clone the whole firmware and navigate to the keyboard/gh60_rev_c folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. +Download or clone the whole firmware and navigate to the keyboards/gh60_rev_c folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. Depending on which keymap you would like to use, you will have to compile slightly differently. diff --git a/keyboard/gh60/config.h b/keyboards/gh60/config.h similarity index 100% rename from keyboard/gh60/config.h rename to keyboards/gh60/config.h diff --git a/keyboard/gh60/gh60.c b/keyboards/gh60/gh60.c similarity index 100% rename from keyboard/gh60/gh60.c rename to keyboards/gh60/gh60.c diff --git a/keyboard/gh60/gh60.h b/keyboards/gh60/gh60.h similarity index 100% rename from keyboard/gh60/gh60.h rename to keyboards/gh60/gh60.h diff --git a/keyboard/gh60/gh60revc.jpg b/keyboards/gh60/gh60revc.jpg similarity index 100% rename from keyboard/gh60/gh60revc.jpg rename to keyboards/gh60/gh60revc.jpg diff --git a/keyboard/gh60/keymaps/default/compiled.hex b/keyboards/gh60/keymaps/default/compiled.hex similarity index 100% rename from keyboard/gh60/keymaps/default/compiled.hex rename to keyboards/gh60/keymaps/default/compiled.hex diff --git a/keyboard/gh60/keymaps/default/keymap.c b/keyboards/gh60/keymaps/default/keymap.c similarity index 100% rename from keyboard/gh60/keymaps/default/keymap.c rename to keyboards/gh60/keymaps/default/keymap.c diff --git a/keyboard/gh60/pinout.txt b/keyboards/gh60/pinout.txt similarity index 100% rename from keyboard/gh60/pinout.txt rename to keyboards/gh60/pinout.txt diff --git a/keyboard/hhkb/Makefile b/keyboards/hhkb/Makefile similarity index 100% rename from keyboard/hhkb/Makefile rename to keyboards/hhkb/Makefile diff --git a/keyboard/hhkb/README.md b/keyboards/hhkb/README.md similarity index 98% rename from keyboard/hhkb/README.md rename to keyboards/hhkb/README.md index 389407b3aaf..2bfec7aa54c 100644 --- a/keyboard/hhkb/README.md +++ b/keyboards/hhkb/README.md @@ -163,7 +163,7 @@ This requires [some hardware changes](https://www.reddit.com/r/MechanicalKeyboar ## Building -Download or clone the whole firmware and navigate to the keyboard/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button. +Download or clone the whole firmware and navigate to the keyboards/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button. Depending on which keymap you would like to use, you will have to compile slightly differently. diff --git a/keyboard/hhkb/config.h b/keyboards/hhkb/config.h similarity index 100% rename from keyboard/hhkb/config.h rename to keyboards/hhkb/config.h diff --git a/keyboard/hhkb/hhkb.c b/keyboards/hhkb/hhkb.c similarity index 100% rename from keyboard/hhkb/hhkb.c rename to keyboards/hhkb/hhkb.c diff --git a/keyboard/hhkb/hhkb.h b/keyboards/hhkb/hhkb.h similarity index 100% rename from keyboard/hhkb/hhkb.h rename to keyboards/hhkb/hhkb.h diff --git a/keyboard/hhkb/hhkb_avr.h b/keyboards/hhkb/hhkb_avr.h similarity index 100% rename from keyboard/hhkb/hhkb_avr.h rename to keyboards/hhkb/hhkb_avr.h diff --git a/keyboard/hhkb/keymaps/default/compiled.hex b/keyboards/hhkb/keymaps/default/compiled.hex similarity index 100% rename from keyboard/hhkb/keymaps/default/compiled.hex rename to keyboards/hhkb/keymaps/default/compiled.hex diff --git a/keyboard/hhkb/keymaps/default/keymap.c b/keyboards/hhkb/keymaps/default/keymap.c similarity index 100% rename from keyboard/hhkb/keymaps/default/keymap.c rename to keyboards/hhkb/keymaps/default/keymap.c diff --git a/keyboard/hhkb/keymaps/lxol/compiled.hex b/keyboards/hhkb/keymaps/lxol/compiled.hex similarity index 100% rename from keyboard/hhkb/keymaps/lxol/compiled.hex rename to keyboards/hhkb/keymaps/lxol/compiled.hex diff --git a/keyboard/hhkb/keymaps/lxol/keymap.c b/keyboards/hhkb/keymaps/lxol/keymap.c similarity index 100% rename from keyboard/hhkb/keymaps/lxol/keymap.c rename to keyboards/hhkb/keymaps/lxol/keymap.c diff --git a/keyboard/hhkb/matrix.c b/keyboards/hhkb/matrix.c similarity index 100% rename from keyboard/hhkb/matrix.c rename to keyboards/hhkb/matrix.c diff --git a/keyboard/jd45/Makefile b/keyboards/jd45/Makefile similarity index 100% rename from keyboard/jd45/Makefile rename to keyboards/jd45/Makefile diff --git a/keyboard/jd45/config.h b/keyboards/jd45/config.h similarity index 100% rename from keyboard/jd45/config.h rename to keyboards/jd45/config.h diff --git a/keyboard/jd45/jd45.c b/keyboards/jd45/jd45.c similarity index 100% rename from keyboard/jd45/jd45.c rename to keyboards/jd45/jd45.c diff --git a/keyboard/jd45/jd45.h b/keyboards/jd45/jd45.h similarity index 100% rename from keyboard/jd45/jd45.h rename to keyboards/jd45/jd45.h diff --git a/keyboard/jd45/keymaps/default/compiled.hex b/keyboards/jd45/keymaps/default/compiled.hex similarity index 100% rename from keyboard/jd45/keymaps/default/compiled.hex rename to keyboards/jd45/keymaps/default/compiled.hex diff --git a/keyboard/jd45/keymaps/default/keymap.c b/keyboards/jd45/keymaps/default/keymap.c similarity index 100% rename from keyboard/jd45/keymaps/default/keymap.c rename to keyboards/jd45/keymaps/default/keymap.c diff --git a/keyboard/jd45/keymaps/justin/compiled.hex b/keyboards/jd45/keymaps/justin/compiled.hex similarity index 100% rename from keyboard/jd45/keymaps/justin/compiled.hex rename to keyboards/jd45/keymaps/justin/compiled.hex diff --git a/keyboard/jd45/keymaps/justin/keymap.c b/keyboards/jd45/keymaps/justin/keymap.c similarity index 100% rename from keyboard/jd45/keymaps/justin/keymap.c rename to keyboards/jd45/keymaps/justin/keymap.c diff --git a/keyboard/kc60/Makefile b/keyboards/kc60/Makefile similarity index 100% rename from keyboard/kc60/Makefile rename to keyboards/kc60/Makefile diff --git a/keyboard/kc60/README.md b/keyboards/kc60/README.md similarity index 86% rename from keyboard/kc60/README.md rename to keyboards/kc60/README.md index 00d78d0a6b8..1f03e200e46 100644 --- a/keyboard/kc60/README.md +++ b/keyboards/kc60/README.md @@ -5,7 +5,7 @@ KC60 (version 2.0) keyboard firmware For the full Quantum feature list, see [the parent README.md](/README.md). ## Building -Download or clone the whole firmware and navigate to the keyboard/kc60 folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. +Download or clone the whole firmware and navigate to the keyboards/kc60 folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. Depending on which keymap you would like to use, you will have to compile slightly differently. diff --git a/keyboard/kc60/config.h b/keyboards/kc60/config.h similarity index 100% rename from keyboard/kc60/config.h rename to keyboards/kc60/config.h diff --git a/keyboard/kc60/kc60.c b/keyboards/kc60/kc60.c similarity index 100% rename from keyboard/kc60/kc60.c rename to keyboards/kc60/kc60.c diff --git a/keyboard/kc60/kc60.h b/keyboards/kc60/kc60.h similarity index 100% rename from keyboard/kc60/kc60.h rename to keyboards/kc60/kc60.h diff --git a/keyboard/kc60/keymaps/default/compiled.hex b/keyboards/kc60/keymaps/default/compiled.hex similarity index 100% rename from keyboard/kc60/keymaps/default/compiled.hex rename to keyboards/kc60/keymaps/default/compiled.hex diff --git a/keyboard/kc60/keymaps/default/keymap.c b/keyboards/kc60/keymaps/default/keymap.c similarity index 100% rename from keyboard/kc60/keymaps/default/keymap.c rename to keyboards/kc60/keymaps/default/keymap.c diff --git a/keyboard/kc60/keymaps/sgoodwin/compiled.hex b/keyboards/kc60/keymaps/sgoodwin/compiled.hex similarity index 100% rename from keyboard/kc60/keymaps/sgoodwin/compiled.hex rename to keyboards/kc60/keymaps/sgoodwin/compiled.hex diff --git a/keyboard/kc60/keymaps/sgoodwin/keymap.c b/keyboards/kc60/keymaps/sgoodwin/keymap.c similarity index 100% rename from keyboard/kc60/keymaps/sgoodwin/keymap.c rename to keyboards/kc60/keymaps/sgoodwin/keymap.c diff --git a/keyboard/kc60/keymaps/stanleylai/Makefile b/keyboards/kc60/keymaps/stanleylai/Makefile similarity index 100% rename from keyboard/kc60/keymaps/stanleylai/Makefile rename to keyboards/kc60/keymaps/stanleylai/Makefile diff --git a/keyboard/kc60/keymaps/stanleylai/README.md b/keyboards/kc60/keymaps/stanleylai/README.md similarity index 100% rename from keyboard/kc60/keymaps/stanleylai/README.md rename to keyboards/kc60/keymaps/stanleylai/README.md diff --git a/keyboard/kc60/keymaps/stanleylai/base_layer.png b/keyboards/kc60/keymaps/stanleylai/base_layer.png similarity index 100% rename from keyboard/kc60/keymaps/stanleylai/base_layer.png rename to keyboards/kc60/keymaps/stanleylai/base_layer.png diff --git a/keyboard/kc60/keymaps/stanleylai/compiled.hex b/keyboards/kc60/keymaps/stanleylai/compiled.hex similarity index 100% rename from keyboard/kc60/keymaps/stanleylai/compiled.hex rename to keyboards/kc60/keymaps/stanleylai/compiled.hex diff --git a/keyboard/kc60/keymaps/stanleylai/config.h b/keyboards/kc60/keymaps/stanleylai/config.h similarity index 100% rename from keyboard/kc60/keymaps/stanleylai/config.h rename to keyboards/kc60/keymaps/stanleylai/config.h diff --git a/keyboard/kc60/keymaps/stanleylai/keymap.c b/keyboards/kc60/keymaps/stanleylai/keymap.c similarity index 100% rename from keyboard/kc60/keymaps/stanleylai/keymap.c rename to keyboards/kc60/keymaps/stanleylai/keymap.c diff --git a/keyboard/kc60/keymaps/stanleylai/rgb_layer.png b/keyboards/kc60/keymaps/stanleylai/rgb_layer.png similarity index 100% rename from keyboard/kc60/keymaps/stanleylai/rgb_layer.png rename to keyboards/kc60/keymaps/stanleylai/rgb_layer.png diff --git a/keyboard/kc60/keymaps/ws2812/Makefile b/keyboards/kc60/keymaps/ws2812/Makefile similarity index 100% rename from keyboard/kc60/keymaps/ws2812/Makefile rename to keyboards/kc60/keymaps/ws2812/Makefile diff --git a/keyboard/kc60/keymaps/ws2812/README.md b/keyboards/kc60/keymaps/ws2812/README.md similarity index 100% rename from keyboard/kc60/keymaps/ws2812/README.md rename to keyboards/kc60/keymaps/ws2812/README.md diff --git a/keyboard/kc60/keymaps/ws2812/compiled.hex b/keyboards/kc60/keymaps/ws2812/compiled.hex similarity index 100% rename from keyboard/kc60/keymaps/ws2812/compiled.hex rename to keyboards/kc60/keymaps/ws2812/compiled.hex diff --git a/keyboard/kc60/keymaps/ws2812/config.h b/keyboards/kc60/keymaps/ws2812/config.h similarity index 100% rename from keyboard/kc60/keymaps/ws2812/config.h rename to keyboards/kc60/keymaps/ws2812/config.h diff --git a/keyboard/kc60/keymaps/ws2812/keymap.c b/keyboards/kc60/keymaps/ws2812/keymap.c similarity index 100% rename from keyboard/kc60/keymaps/ws2812/keymap.c rename to keyboards/kc60/keymaps/ws2812/keymap.c diff --git a/keyboard/kc60/keymaps/ws2812/ws2812_example.jpg b/keyboards/kc60/keymaps/ws2812/ws2812_example.jpg similarity index 100% rename from keyboard/kc60/keymaps/ws2812/ws2812_example.jpg rename to keyboards/kc60/keymaps/ws2812/ws2812_example.jpg diff --git a/keyboard/kc60/keymaps/ws2812/ws2812_underside-lit.jpg b/keyboards/kc60/keymaps/ws2812/ws2812_underside-lit.jpg similarity index 100% rename from keyboard/kc60/keymaps/ws2812/ws2812_underside-lit.jpg rename to keyboards/kc60/keymaps/ws2812/ws2812_underside-lit.jpg diff --git a/keyboard/kc60/keymaps/ws2812/ws2812_underside.jpg b/keyboards/kc60/keymaps/ws2812/ws2812_underside.jpg similarity index 100% rename from keyboard/kc60/keymaps/ws2812/ws2812_underside.jpg rename to keyboards/kc60/keymaps/ws2812/ws2812_underside.jpg diff --git a/keyboard/kc60/keymaps/ws2812/ws2812_wiring.jpg b/keyboards/kc60/keymaps/ws2812/ws2812_wiring.jpg similarity index 100% rename from keyboard/kc60/keymaps/ws2812/ws2812_wiring.jpg rename to keyboards/kc60/keymaps/ws2812/ws2812_wiring.jpg diff --git a/keyboard/phantom/Makefile b/keyboards/phantom/Makefile similarity index 100% rename from keyboard/phantom/Makefile rename to keyboards/phantom/Makefile diff --git a/keyboard/phantom/config.h b/keyboards/phantom/config.h similarity index 100% rename from keyboard/phantom/config.h rename to keyboards/phantom/config.h diff --git a/keyboard/phantom/keymaps/default/compiled.hex b/keyboards/phantom/keymaps/default/compiled.hex similarity index 100% rename from keyboard/phantom/keymaps/default/compiled.hex rename to keyboards/phantom/keymaps/default/compiled.hex diff --git a/keyboard/phantom/keymaps/default/keymap.c b/keyboards/phantom/keymaps/default/keymap.c similarity index 100% rename from keyboard/phantom/keymaps/default/keymap.c rename to keyboards/phantom/keymaps/default/keymap.c diff --git a/keyboard/phantom/led.c b/keyboards/phantom/led.c similarity index 100% rename from keyboard/phantom/led.c rename to keyboards/phantom/led.c diff --git a/keyboard/phantom/phantom.c b/keyboards/phantom/phantom.c similarity index 100% rename from keyboard/phantom/phantom.c rename to keyboards/phantom/phantom.c diff --git a/keyboard/phantom/phantom.h b/keyboards/phantom/phantom.h similarity index 100% rename from keyboard/phantom/phantom.h rename to keyboards/phantom/phantom.h diff --git a/keyboard/phantom/pinout.jpg b/keyboards/phantom/pinout.jpg similarity index 100% rename from keyboard/phantom/pinout.jpg rename to keyboards/phantom/pinout.jpg diff --git a/keyboard/phantom/pinout.txt b/keyboards/phantom/pinout.txt similarity index 100% rename from keyboard/phantom/pinout.txt rename to keyboards/phantom/pinout.txt diff --git a/keyboard/planck/.gitignore b/keyboards/planck/.gitignore similarity index 100% rename from keyboard/planck/.gitignore rename to keyboards/planck/.gitignore diff --git a/keyboard/planck/Makefile b/keyboards/planck/Makefile similarity index 100% rename from keyboard/planck/Makefile rename to keyboards/planck/Makefile diff --git a/keyboard/planck/README.md b/keyboards/planck/README.md similarity index 89% rename from keyboard/planck/README.md rename to keyboards/planck/README.md index d9a1e3beeeb..47cfec03282 100644 --- a/keyboard/planck/README.md +++ b/keyboards/planck/README.md @@ -8,7 +8,7 @@ For the full Quantum feature list, see [the parent README.md](/README.md). ## Building -Download or clone the whole firmware and navigate to the keyboard/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button. +Download or clone the whole firmware and navigate to the keyboards/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button. Depending on which keymap you would like to use, you will have to compile slightly differently. diff --git a/keyboard/planck/config.h b/keyboards/planck/config.h similarity index 100% rename from keyboard/planck/config.h rename to keyboards/planck/config.h diff --git a/keyboard/planck/keymaps/.gitignore b/keyboards/planck/keymaps/.gitignore similarity index 100% rename from keyboard/planck/keymaps/.gitignore rename to keyboards/planck/keymaps/.gitignore diff --git a/keyboard/planck/keymaps/README.md b/keyboards/planck/keymaps/README.md similarity index 100% rename from keyboard/planck/keymaps/README.md rename to keyboards/planck/keymaps/README.md diff --git a/keyboard/planck/keymaps/alexey/Makefile b/keyboards/planck/keymaps/alexey/Makefile similarity index 100% rename from keyboard/planck/keymaps/alexey/Makefile rename to keyboards/planck/keymaps/alexey/Makefile diff --git a/keyboard/planck/keymaps/alexey/compiled.hex b/keyboards/planck/keymaps/alexey/compiled.hex similarity index 100% rename from keyboard/planck/keymaps/alexey/compiled.hex rename to keyboards/planck/keymaps/alexey/compiled.hex diff --git a/keyboard/planck/keymaps/alexey/keymap.c b/keyboards/planck/keymaps/alexey/keymap.c similarity index 100% rename from keyboard/planck/keymaps/alexey/keymap.c rename to keyboards/planck/keymaps/alexey/keymap.c diff --git a/keyboard/planck/keymaps/angerthosenear/Makefile b/keyboards/planck/keymaps/angerthosenear/Makefile similarity index 100% rename from keyboard/planck/keymaps/angerthosenear/Makefile rename to keyboards/planck/keymaps/angerthosenear/Makefile diff --git a/keyboard/planck/keymaps/angerthosenear/compiled.hex b/keyboards/planck/keymaps/angerthosenear/compiled.hex similarity index 100% rename from keyboard/planck/keymaps/angerthosenear/compiled.hex rename to keyboards/planck/keymaps/angerthosenear/compiled.hex diff --git a/keyboard/planck/keymaps/angerthosenear/keymap.c b/keyboards/planck/keymaps/angerthosenear/keymap.c similarity index 100% rename from keyboard/planck/keymaps/angerthosenear/keymap.c rename to keyboards/planck/keymaps/angerthosenear/keymap.c diff --git a/keyboard/planck/keymaps/austin/Makefile b/keyboards/planck/keymaps/austin/Makefile similarity index 100% rename from keyboard/planck/keymaps/austin/Makefile rename to keyboards/planck/keymaps/austin/Makefile diff --git a/keyboard/planck/keymaps/austin/compiled.hex b/keyboards/planck/keymaps/austin/compiled.hex similarity index 100% rename from keyboard/planck/keymaps/austin/compiled.hex rename to keyboards/planck/keymaps/austin/compiled.hex diff --git a/keyboard/planck/keymaps/austin/keymap.c b/keyboards/planck/keymaps/austin/keymap.c similarity index 100% rename from keyboard/planck/keymaps/austin/keymap.c rename to keyboards/planck/keymaps/austin/keymap.c diff --git a/keyboard/planck/keymaps/basic/Makefile b/keyboards/planck/keymaps/basic/Makefile similarity index 100% rename from keyboard/planck/keymaps/basic/Makefile rename to keyboards/planck/keymaps/basic/Makefile diff --git a/keyboard/planck/keymaps/basic/README.md b/keyboards/planck/keymaps/basic/README.md similarity index 100% rename from keyboard/planck/keymaps/basic/README.md rename to keyboards/planck/keymaps/basic/README.md diff --git a/keyboard/planck/keymaps/basic/compiled.hex b/keyboards/planck/keymaps/basic/compiled.hex similarity index 100% rename from keyboard/planck/keymaps/basic/compiled.hex rename to keyboards/planck/keymaps/basic/compiled.hex diff --git a/keyboard/planck/keymaps/basic/keymap.c b/keyboards/planck/keymaps/basic/keymap.c similarity index 100% rename from keyboard/planck/keymaps/basic/keymap.c rename to keyboards/planck/keymaps/basic/keymap.c diff --git a/keyboard/planck/keymaps/bone2planck/Makefile b/keyboards/planck/keymaps/bone2planck/Makefile similarity index 100% rename from keyboard/planck/keymaps/bone2planck/Makefile rename to keyboards/planck/keymaps/bone2planck/Makefile diff --git a/keyboard/planck/keymaps/bone2planck/compiled.hex b/keyboards/planck/keymaps/bone2planck/compiled.hex similarity index 100% rename from keyboard/planck/keymaps/bone2planck/compiled.hex rename to keyboards/planck/keymaps/bone2planck/compiled.hex diff --git a/keyboard/planck/keymaps/bone2planck/keymap.c b/keyboards/planck/keymaps/bone2planck/keymap.c similarity index 100% rename from keyboard/planck/keymaps/bone2planck/keymap.c rename to keyboards/planck/keymaps/bone2planck/keymap.c diff --git a/keyboard/planck/keymaps/brandon/Makefile b/keyboards/planck/keymaps/brandon/Makefile similarity index 100% rename from keyboard/planck/keymaps/brandon/Makefile rename to keyboards/planck/keymaps/brandon/Makefile diff --git a/keyboard/planck/keymaps/brandon/compiled.hex b/keyboards/planck/keymaps/brandon/compiled.hex similarity index 100% rename from keyboard/planck/keymaps/brandon/compiled.hex rename to keyboards/planck/keymaps/brandon/compiled.hex diff --git a/keyboard/planck/keymaps/brandon/keymap.c b/keyboards/planck/keymaps/brandon/keymap.c similarity index 100% rename from keyboard/planck/keymaps/brandon/keymap.c rename to keyboards/planck/keymaps/brandon/keymap.c diff --git a/keyboard/planck/keymaps/cbbrowne/.gitignore b/keyboards/planck/keymaps/cbbrowne/.gitignore similarity index 100% rename from keyboard/planck/keymaps/cbbrowne/.gitignore rename to keyboards/planck/keymaps/cbbrowne/.gitignore diff --git a/keyboard/planck/keymaps/cbbrowne/Makefile b/keyboards/planck/keymaps/cbbrowne/Makefile similarity index 100% rename from keyboard/planck/keymaps/cbbrowne/Makefile rename to keyboards/planck/keymaps/cbbrowne/Makefile diff --git a/keyboard/planck/keymaps/cbbrowne/config.h b/keyboards/planck/keymaps/cbbrowne/config.h similarity index 100% rename from keyboard/planck/keymaps/cbbrowne/config.h rename to keyboards/planck/keymaps/cbbrowne/config.h diff --git a/keyboard/planck/keymaps/cbbrowne/keymap.c b/keyboards/planck/keymaps/cbbrowne/keymap.c similarity index 100% rename from keyboard/planck/keymaps/cbbrowne/keymap.c rename to keyboards/planck/keymaps/cbbrowne/keymap.c diff --git a/keyboard/planck/keymaps/cbbrowne/readme.md b/keyboards/planck/keymaps/cbbrowne/readme.md similarity index 100% rename from keyboard/planck/keymaps/cbbrowne/readme.md rename to keyboards/planck/keymaps/cbbrowne/readme.md diff --git a/keyboard/planck/keymaps/charlie/Makefile b/keyboards/planck/keymaps/charlie/Makefile similarity index 100% rename from keyboard/planck/keymaps/charlie/Makefile rename to keyboards/planck/keymaps/charlie/Makefile diff --git a/keyboard/planck/keymaps/charlie/compiled.hex b/keyboards/planck/keymaps/charlie/compiled.hex similarity index 100% rename from keyboard/planck/keymaps/charlie/compiled.hex rename to keyboards/planck/keymaps/charlie/compiled.hex diff --git a/keyboard/planck/keymaps/charlie/keymap.c b/keyboards/planck/keymaps/charlie/keymap.c similarity index 100% rename from keyboard/planck/keymaps/charlie/keymap.c rename to keyboards/planck/keymaps/charlie/keymap.c diff --git a/keyboard/planck/keymaps/daniel/Makefile b/keyboards/planck/keymaps/daniel/Makefile similarity index 100% rename from keyboard/planck/keymaps/daniel/Makefile rename to keyboards/planck/keymaps/daniel/Makefile diff --git a/keyboard/planck/keymaps/daniel/compiled.hex b/keyboards/planck/keymaps/daniel/compiled.hex similarity index 100% rename from keyboard/planck/keymaps/daniel/compiled.hex rename to keyboards/planck/keymaps/daniel/compiled.hex diff --git a/keyboard/planck/keymaps/daniel/keymap.c b/keyboards/planck/keymaps/daniel/keymap.c similarity index 100% rename from keyboard/planck/keymaps/daniel/keymap.c rename to keyboards/planck/keymaps/daniel/keymap.c diff --git a/keyboard/planck/keymaps/david/Makefile b/keyboards/planck/keymaps/david/Makefile similarity index 100% rename from keyboard/planck/keymaps/david/Makefile rename to keyboards/planck/keymaps/david/Makefile diff --git a/keyboard/planck/keymaps/david/compiled.hex b/keyboards/planck/keymaps/david/compiled.hex similarity index 100% rename from keyboard/planck/keymaps/david/compiled.hex rename to keyboards/planck/keymaps/david/compiled.hex diff --git a/keyboard/planck/keymaps/david/keymap.c b/keyboards/planck/keymaps/david/keymap.c similarity index 100% rename from keyboard/planck/keymaps/david/keymap.c rename to keyboards/planck/keymaps/david/keymap.c diff --git a/keyboard/planck/keymaps/default/Makefile b/keyboards/planck/keymaps/default/Makefile similarity index 100% rename from keyboard/planck/keymaps/default/Makefile rename to keyboards/planck/keymaps/default/Makefile diff --git a/keyboard/planck/keymaps/default/README.md b/keyboards/planck/keymaps/default/README.md similarity index 100% rename from keyboard/planck/keymaps/default/README.md rename to keyboards/planck/keymaps/default/README.md diff --git a/keyboards/planck/keymaps/default/compiled.hex b/keyboards/planck/keymaps/default/compiled.hex new file mode 100644 index 0000000000000000000000000000000000000000..b7465d0998a12faf7c8e08e49cafc1012bdd4c1c GIT binary patch literal 72901 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⪙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 +#include "backlight.h" +#include "print.h" + +void init_backlight_pin(void) { + print("init_backlight_pin()\n"); + // Set our LED pins as output + DDRB |= (1<<6); + + // Set our LED pins low + PORTB &= ~(1<<6); +} + +void backlight_set(uint8_t level) { + if ( level == 0 ) { + // Turn off light + PORTB |= (1<<6); + } else { + // Turn on light + PORTB &= ~(1<<6); + } +} + diff --git a/keyboard/satan/config.h b/keyboards/satan/config.h similarity index 100% rename from keyboard/satan/config.h rename to keyboards/satan/config.h diff --git a/keyboard/satan/controller.jpg b/keyboards/satan/controller.jpg similarity index 100% rename from keyboard/satan/controller.jpg rename to keyboards/satan/controller.jpg diff --git a/keyboard/satan/keymaps/default/compiled.hex b/keyboards/satan/keymaps/default/compiled.hex similarity index 100% rename from keyboard/satan/keymaps/default/compiled.hex rename to keyboards/satan/keymaps/default/compiled.hex diff --git a/keyboard/satan/keymaps/default/keymap.c b/keyboards/satan/keymaps/default/keymap.c similarity index 100% rename from keyboard/satan/keymaps/default/keymap.c rename to keyboards/satan/keymaps/default/keymap.c diff --git a/keyboard/satan/led.c b/keyboards/satan/led.c similarity index 100% rename from keyboard/satan/led.c rename to keyboards/satan/led.c diff --git a/keyboard/satan/pinout.txt b/keyboards/satan/pinout.txt similarity index 100% rename from keyboard/satan/pinout.txt rename to keyboards/satan/pinout.txt diff --git a/keyboard/satan/power.jpg b/keyboards/satan/power.jpg similarity index 100% rename from keyboard/satan/power.jpg rename to keyboards/satan/power.jpg diff --git a/keyboard/satan/satan.c b/keyboards/satan/satan.c similarity index 100% rename from keyboard/satan/satan.c rename to keyboards/satan/satan.c diff --git a/keyboard/satan/satan.h b/keyboards/satan/satan.h similarity index 100% rename from keyboard/satan/satan.h rename to keyboards/satan/satan.h diff --git a/keyboard/sixkeyboard/Makefile b/keyboards/sixkeyboard/Makefile similarity index 100% rename from keyboard/sixkeyboard/Makefile rename to keyboards/sixkeyboard/Makefile diff --git a/keyboard/sixkeyboard/README.md b/keyboards/sixkeyboard/README.md similarity index 100% rename from keyboard/sixkeyboard/README.md rename to keyboards/sixkeyboard/README.md diff --git a/keyboard/sixkeyboard/config.h b/keyboards/sixkeyboard/config.h similarity index 100% rename from keyboard/sixkeyboard/config.h rename to keyboards/sixkeyboard/config.h diff --git a/keyboard/sixkeyboard/keymaps/default/compiled.hex b/keyboards/sixkeyboard/keymaps/default/compiled.hex similarity index 100% rename from keyboard/sixkeyboard/keymaps/default/compiled.hex rename to keyboards/sixkeyboard/keymaps/default/compiled.hex diff --git a/keyboard/sixkeyboard/keymaps/default/keymap.c b/keyboards/sixkeyboard/keymaps/default/keymap.c similarity index 100% rename from keyboard/sixkeyboard/keymaps/default/keymap.c rename to keyboards/sixkeyboard/keymaps/default/keymap.c diff --git a/keyboard/sixkeyboard/matrix.c b/keyboards/sixkeyboard/matrix.c similarity index 100% rename from keyboard/sixkeyboard/matrix.c rename to keyboards/sixkeyboard/matrix.c diff --git a/keyboard/sixkeyboard/sixkeyboard.c b/keyboards/sixkeyboard/sixkeyboard.c similarity index 100% rename from keyboard/sixkeyboard/sixkeyboard.c rename to keyboards/sixkeyboard/sixkeyboard.c diff --git a/keyboard/sixkeyboard/sixkeyboard.h b/keyboards/sixkeyboard/sixkeyboard.h similarity index 100% rename from keyboard/sixkeyboard/sixkeyboard.h rename to keyboards/sixkeyboard/sixkeyboard.h diff --git a/quantum/template/README.md b/quantum/template/README.md index baaeef4731d..d6b0ac936c4 100644 --- a/quantum/template/README.md +++ b/quantum/template/README.md @@ -7,7 +7,7 @@ For the full Quantum feature list, see [the parent README.md](/doc/README.md). ## Building -Download or clone the whole firmware and navigate to the keyboard/%KEYBOARD% folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. +Download or clone the whole firmware and navigate to the keyboards/%KEYBOARD% folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. Depending on which keymap you would like to use, you will have to compile slightly differently. diff --git a/tmk_core/common/host.c b/tmk_core/common/host.c index e9b79167067..11a05c2ddd7 100644 --- a/tmk_core/common/host.c +++ b/tmk_core/common/host.c @@ -86,7 +86,7 @@ void host_consumer_send(uint16_t report) (*driver->send_consumer)(report); } -uint16_t host_last_sysytem_report(void) +uint16_t host_last_system_report(void) { return last_system_report; } diff --git a/tmk_core/common/host.h b/tmk_core/common/host.h index 918af69e8f4..9814b10d2d0 100644 --- a/tmk_core/common/host.h +++ b/tmk_core/common/host.h @@ -47,7 +47,7 @@ void host_mouse_send(report_mouse_t *report); void host_system_send(uint16_t data); void host_consumer_send(uint16_t data); -uint16_t host_last_sysytem_report(void); +uint16_t host_last_system_report(void); uint16_t host_last_consumer_report(void); #ifdef __cplusplus diff --git a/tmk_core/protocol/lufa.mk b/tmk_core/protocol/lufa.mk index cd9450755de..0eeace44ec3 100644 --- a/tmk_core/protocol/lufa.mk +++ b/tmk_core/protocol/lufa.mk @@ -47,6 +47,11 @@ LUFA_OPTS += -DUSE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABL LUFA_OPTS += -DFIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -DFIXED_NUM_CONFIGURATIONS=1 +# Remote wakeup fix for ATmega32U2 https://github.com/tmk/tmk_keyboard/issues/361 +ifeq ($(MCU),atmega32u2) + LUFA_OPTS += -DNO_LIMITED_CONTROLLER_CONNECT +endif + OPT_DEFS += -DF_USB=$(F_USB)UL OPT_DEFS += -DARCH=ARCH_$(ARCH) OPT_DEFS += $(LUFA_OPTS) diff --git a/tmk_core/protocol/lufa/descriptor.c b/tmk_core/protocol/lufa/descriptor.c index 1fca8af39ce..850a20fdb30 100644 --- a/tmk_core/protocol/lufa/descriptor.c +++ b/tmk_core/protocol/lufa/descriptor.c @@ -172,13 +172,13 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM ConsoleReport[] = HID_RI_COLLECTION(8, 0x01), /* Application */ HID_RI_USAGE(8, 0x75), /* Vendor Usage 0x75 */ HID_RI_LOGICAL_MINIMUM(8, 0x00), - HID_RI_LOGICAL_MAXIMUM(8, 0xFF), + HID_RI_LOGICAL_MAXIMUM(16, 0x00FF), HID_RI_REPORT_COUNT(8, CONSOLE_EPSIZE), HID_RI_REPORT_SIZE(8, 0x08), HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), HID_RI_USAGE(8, 0x76), /* Vendor Usage 0x76 */ HID_RI_LOGICAL_MINIMUM(8, 0x00), - HID_RI_LOGICAL_MAXIMUM(8, 0xFF), + HID_RI_LOGICAL_MAXIMUM(16, 0x00FF), HID_RI_REPORT_COUNT(8, CONSOLE_EPSIZE), HID_RI_REPORT_SIZE(8, 0x08), HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE), diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c index 7d0292ed171..eaa1c512d8b 100644 --- a/tmk_core/protocol/vusb/vusb.c +++ b/tmk_core/protocol/vusb/vusb.c @@ -266,7 +266,7 @@ const PROGMEM uchar keyboard_hid_report[] = { 0x95, 0x06, // Report Count (6), 0x75, 0x08, // Report Size (8), 0x15, 0x00, // Logical Minimum (0), - 0x25, 0xFF, // Logical Maximum(255), + 0x25, 0xFF, 0x00 // Logical Maximum(255), 0x05, 0x07, // Usage Page (Key Codes), 0x19, 0x00, // Usage Minimum (0), 0x29, 0xFF, // Usage Maximum (255), @@ -336,7 +336,7 @@ const PROGMEM uchar mouse_hid_report[] = { 0xa1, 0x01, // COLLECTION (Application) 0x85, REPORT_ID_SYSTEM, // REPORT_ID (2) 0x15, 0x01, // LOGICAL_MINIMUM (0x1) - 0x25, 0xb7, // LOGICAL_MAXIMUM (0xb7) + 0x25, 0xb7, 0x00 // LOGICAL_MAXIMUM (0xb7) 0x19, 0x01, // USAGE_MINIMUM (0x1) 0x29, 0xb7, // USAGE_MAXIMUM (0xb7) 0x75, 0x10, // REPORT_SIZE (16) diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index e9ef5ca7b5b..07700283e76 100644 --- a/tmk_core/rules.mk +++ b/tmk_core/rules.mk @@ -622,7 +622,7 @@ show_path: @echo VPATH=$(VPATH) @echo SRC=$(SRC) -SUBDIRS := $(sort $(dir $(wildcard $(TOP_DIR)/keyboard/*/.))) +SUBDIRS := $(sort $(dir $(wildcard $(TOP_DIR)/keyboards/*/.))) all-keyboards-defaults-%: @for x in $(SUBDIRS) ; do \ printf "Compiling with default: $$x" | $(AWK_CMD); \ @@ -631,14 +631,14 @@ all-keyboards-defaults-%: all-keyboards-defaults: all-keyboards-defaults-all -KEYBOARDS := $(SUBDIRS:$(TOP_DIR)/keyboard/%/=/keyboard/%) +KEYBOARDS := $(SUBDIRS:$(TOP_DIR)/keyboards/%/=/keyboards/%) all-keyboards-all: $(addsuffix -all,$(KEYBOARDS)) all-keyboards-quick: $(addsuffix -quick,$(KEYBOARDS)) all-keyboards-clean: $(addsuffix -clean,$(KEYBOARDS)) all-keyboards: all-keyboards-all define make_keyboard -$(eval KEYBOARD=$(patsubst /keyboard/%,%,$1)) +$(eval KEYBOARD=$(patsubst /keyboards/%,%,$1)) $(eval KEYMAPS=$(notdir $(patsubst %/.,%,$(wildcard $(TOP_DIR)$1/keymaps/*/.)))) @for x in $(KEYMAPS) ; do \ printf "Compiling $(BOLD)$(KEYBOARD)$(NO_COLOR) with $(BOLD)$$x$(NO_COLOR)" | $(AWK) '{ printf "%-88s", $$0; }'; \ @@ -651,18 +651,18 @@ define make_keyboard_helper $(call make_keyboard,$(subst -$2,,$1),$2) endef -/keyboard/%-quick: +/keyboards/%-quick: $(call make_keyboard_helper,$@,quick) -/keyboard/%-all: +/keyboards/%-all: $(call make_keyboard_helper,$@,all) -/keyboard/%-clean: +/keyboards/%-clean: $(call make_keyboard_helper,$@,clean) -/keyboard/%: +/keyboards/%: $(call make_keyboard_helper,$@,all) all-keymaps-%: $(eval MAKECONFIG=$(call get_target,all-keymaps,$@)) - $(eval KEYMAPS=$(notdir $(patsubst %/.,%,$(wildcard $(TOP_DIR)/keyboard/$(KEYBOARD)/keymaps/*/.)))) + $(eval KEYMAPS=$(notdir $(patsubst %/.,%,$(wildcard $(TOP_DIR)/keyboards/$(KEYBOARD)/keymaps/*/.)))) @for x in $(KEYMAPS) ; do \ printf "Compiling $(BOLD)$(KEYBOARD)$(NO_COLOR) with $(BOLD)$$x$(NO_COLOR)" | $(AWK) '{ printf "%-88s", $$0; }'; \ LOG=$$($(MAKE) $(subst all-keymaps-,,$@) keyboard=$(KEYBOARD) keymap=$$x VERBOSE=$(VERBOSE) COLOR=$(COLOR) SILENT=true 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR_PLAIN); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING_PLAIN); else $(PRINT_OK); fi; \ diff --git a/util/new_project.sh b/util/new_project.sh index b85bbc31cfb..9ab8d6fbbce 100755 --- a/util/new_project.sh +++ b/util/new_project.sh @@ -10,18 +10,18 @@ fi KEYBOARD=$1 KEYBOARD_UPPERCASE=$(echo $1 | awk '{print toupper($0)}') -mkdir keyboard/$1 -mkdir keyboard/$1/keymaps -mkdir keyboard/$1/keymaps/default -sed -e "s;%KEYBOARD%;$KEYBOARD;g" -e "s;%KEYBOARD_UPPERCASE%;$KEYBOARD_UPPERCASE;g" quantum/template/template.h > keyboard/$KEYBOARD/$KEYBOARD.h -sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/template.c > keyboard/$KEYBOARD/$KEYBOARD.c -sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/config.h > keyboard/$KEYBOARD/config.h -sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/README.md > keyboard/$KEYBOARD/README.md -sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/Makefile > keyboard/$KEYBOARD/Makefile -sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/keymaps/default/keymap.c > keyboard/$KEYBOARD/keymaps/default/keymap.c +mkdir keyboards/$1 +mkdir keyboards/$1/keymaps +mkdir keyboards/$1/keymaps/default +sed -e "s;%KEYBOARD%;$KEYBOARD;g" -e "s;%KEYBOARD_UPPERCASE%;$KEYBOARD_UPPERCASE;g" quantum/template/template.h > keyboards/$KEYBOARD/$KEYBOARD.h +sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/template.c > keyboards/$KEYBOARD/$KEYBOARD.c +sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/config.h > keyboards/$KEYBOARD/config.h +sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/README.md > keyboards/$KEYBOARD/README.md +sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/Makefile > keyboards/$KEYBOARD/Makefile +sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/keymaps/default/keymap.c > keyboards/$KEYBOARD/keymaps/default/keymap.c echo "######################################################" -echo "# keyboard/$KEYBOARD project created. To start" +echo "# keyboards/$KEYBOARD project created. To start" echo "# working on things, use the following command:" -echo "# cd keyboard/$KEYBOARD" +echo "# cd keyboards/$KEYBOARD" echo "######################################################"