summaryrefslogtreecommitdiffstats
path: root/keyboards/ergodox
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ergodox')
-rw-r--r--keyboards/ergodox/ez/Makefile4
-rw-r--r--keyboards/ergodox/ez/ez.c26
-rw-r--r--keyboards/ergodox/ez/keymaps/blakedietz/keymap.c289
-rw-r--r--keyboards/ergodox/ez/keymaps/profet_80/ergodox80.pngbin20663 -> 0 bytes
-rw-r--r--keyboards/ergodox/ez/keymaps/profet_80/readme.md2
-rw-r--r--keyboards/ergodox/ez/rules.mk4
-rw-r--r--keyboards/ergodox/infinity/animations.c73
-rw-r--r--keyboards/ergodox/infinity/config.h5
-rw-r--r--keyboards/ergodox/infinity/drivers/gdisp/IS31FL3731C/gdisp_IS31FL3731C.c18
-rw-r--r--keyboards/ergodox/infinity/drivers/gdisp/emulator_lcd/driver.mk2
-rw-r--r--keyboards/ergodox/infinity/drivers/gdisp/emulator_lcd/emulator_lcd.c10
-rw-r--r--keyboards/ergodox/infinity/drivers/gdisp/emulator_led/driver.mk2
-rw-r--r--keyboards/ergodox/infinity/drivers/gdisp/emulator_led/emulator_led.c10
-rw-r--r--keyboards/ergodox/infinity/rules.mk17
-rw-r--r--keyboards/ergodox/infinity/visualizer.c2
-rw-r--r--keyboards/ergodox/keymaps/333fred/Makefile1
-rw-r--r--keyboards/ergodox/keymaps/333fred/README.md38
-rw-r--r--keyboards/ergodox/keymaps/333fred/config.h11
-rw-r--r--keyboards/ergodox/keymaps/333fred/keymap.c117
-rw-r--r--keyboards/ergodox/keymaps/ab/keyboard-layout.pngbin80776 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/ab/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/absenth/absenth_highres.pngbin1463041 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/absenth/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/alexjj/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/alexjj/rl-layout.jpgbin833107 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/algernon/Makefile6
-rw-r--r--keyboards/ergodox/keymaps/algernon/images/adore-layer.pngbin97357 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/algernon/images/base-layer.pngbin102318 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/algernon/images/heatmap.pngbin139351 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/algernon/images/hun-layer.pngbin67924 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/algernon/images/nav-n-media-layer.pngbin94837 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/algernon/images/steno-layer.pngbin64086 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/algernon/readme.md11
-rw-r--r--keyboards/ergodox/keymaps/belak/LICENSE21
-rw-r--r--keyboards/ergodox/keymaps/belak/Makefile6
-rw-r--r--keyboards/ergodox/keymaps/belak/README.md79
-rw-r--r--keyboards/ergodox/keymaps/belak/keymap.c368
-rw-r--r--keyboards/ergodox/keymaps/belak/visualizer.c49
-rw-r--r--keyboards/ergodox/keymaps/bepo/bepo.pngbin80249 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/bepo/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/colemak_osx_pc_no/keyboard-layout.pngbin103158 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/colemak_osx_pc_no/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/colemak_programmer/colemak_programmer_001.jpgbin301259 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/colemak_programmer/colemak_programmer_002.jpgbin235864 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/colemak_programmer/readme.md4
-rw-r--r--keyboards/ergodox/keymaps/csharp_dev/csharp_dev.pngbin97642 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/csharp_dev/csharp_dev_legend.pngbin387797 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/csharp_dev/readme.md3
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-base-layout.pngbin97053 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-1-symbols.pngbin79904 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-2-media-and-mouse.pngbin65740 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-unicode.pngbin73624 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-4-unicode-2.pngbin66132 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/readme.md10
-rw-r--r--keyboards/ergodox/keymaps/default/default.pngbin193672 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/default/default.png.md1
-rw-r--r--keyboards/ergodox/keymaps/default/default_firmware_v1.2-2.pngbin257921 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/default/default_highres.pngbin1459389 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/default/default_highres.png.md1
-rw-r--r--keyboards/ergodox/keymaps/default/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/default_osx/default_osx_highres.pngbin772418 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/default_osx/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/dvorak/dvorak.pngbin87314 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/dvorak/dvorak.png.md1
-rw-r--r--keyboards/ergodox/keymaps/dvorak_intl_squisher/keyboard-layout0.pngbin73585 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/dvorak_intl_squisher/keyboard-layout1.pngbin59122 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/dvorak_intl_squisher/keyboard-layout2.pngbin53319 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/dvorak_intl_squisher/readme.md6
-rw-r--r--keyboards/ergodox/keymaps/dvorak_programmer/Makefile2
-rw-r--r--keyboards/ergodox/keymaps/emacs_osx_dk/default_highres.pngbin142146 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/emacs_osx_dk/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/erez_experimental/Makefile2
-rw-r--r--keyboards/ergodox/keymaps/familiar/Makefile1
-rw-r--r--keyboards/ergodox/keymaps/familiar/README.md20
-rw-r--r--keyboards/ergodox/keymaps/familiar/familiar.pngbin149846 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/familiar/keymap.c124
-rw-r--r--keyboards/ergodox/keymaps/german-kinergo/layout-code.pngbin55386 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/german-kinergo/layout-media.pngbin67634 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/german-kinergo/layout.pngbin71175 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/german-kinergo/readme.md6
-rwxr-xr-xkeyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-enL.pngbin84725 -> 0 bytes
-rwxr-xr-xkeyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-jpL.pngbin82660 -> 0 bytes
-rwxr-xr-xkeyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-numL.pngbin72923 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/ishigoya-jp/readme.md6
-rw-r--r--keyboards/ergodox/keymaps/jack/Makefile3
-rw-r--r--keyboards/ergodox/keymaps/jacobono/img/colemak-default-layer.pngbin70434 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/jacobono/img/number-dpad-layer.pngbin46225 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/jacobono/img/symbol-layer.pngbin49615 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/jacobono/readme.md6
-rw-r--r--keyboards/ergodox/keymaps/jafo/jafo-layout.pdfbin185426 -> 185412 bytes
-rw-r--r--keyboards/ergodox/keymaps/jafo/jafo_highres.pngbin179460 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/jafo/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/msc/img/code_layer.pngbin71266 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/msc/img/main_layer.pngbin90624 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/msc/img/media_layer.pngbin75750 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/msc/readme.md6
-rw-r--r--keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/keyboard-layout.pngbin140077 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/keyboard-layout.pngbin97519 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-base.pngbin120512 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-media.pngbin123523 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-special.pngbin68292 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-symbol.pngbin90642 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/ordinary/readme.md8
-rw-r--r--keyboards/ergodox/keymaps/osx_de/osx_de_highres.pngbin298446 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/osx_de/osx_de_highres.png.md1
-rw-r--r--keyboards/ergodox/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.pngbin183892 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.png.md1
-rw-r--r--keyboards/ergodox/keymaps/osx_de_experimental/osx_de_experimental_highres.pngbin303904 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/osx_de_experimental/osx_de_experimental_highres.png.md1
-rw-r--r--keyboards/ergodox/keymaps/osx_whiskey_tango_foxtrot_capslock/osx_whiskey_tango_foxtrot_capslock.pngbin185064 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/osx_whiskey_tango_foxtrot_capslock/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/plums/plums.pngbin223300 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/plums/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/romanzolotarev-norman-osx/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.pngbin96954 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx-hjkl/romanzolotarev-norman-plover-osx-hjkl.pngbin130692 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx/romanzolotarev-norman-plover-osx.pngbin130464 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/romanzolotarev-norman-qwerty-osx/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.pngbin100627 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/siroken3/default.pngbin193672 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/siroken3/default.png.md1
-rw-r--r--keyboards/ergodox/keymaps/siroken3/default_firmware_v1.2-2.pngbin257921 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/siroken3/default_highres.pngbin1459389 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/siroken3/default_highres.png.md1
-rw-r--r--keyboards/ergodox/keymaps/siroken3/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/supercoder/images/layout.pngbin65607 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/supercoder/images/supercoder_2000.jpgbin75444 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/supercoder/readme.md4
-rw-r--r--keyboards/ergodox/keymaps/swedish/keymap.c247
-rw-r--r--keyboards/ergodox/keymaps/swedish/readme.md36
-rw-r--r--keyboards/ergodox/keymaps/swissgerman/keyboard-layout.pngbin75633 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/swissgerman/keyboard-layout_1_2.pngbin58099 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/swissgerman/readme.md4
-rw-r--r--keyboards/ergodox/keymaps/teckinesis/ordinary-special.pngbin63065 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/teckinesis/ordinary-special.png.md1
-rw-r--r--keyboards/ergodox/keymaps/teckinesis/readme.md6
-rw-r--r--keyboards/ergodox/keymaps/teckinesis/teckinesis-base.pngbin93743 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/teckinesis/teckinesis-media.pngbin112216 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/teckinesis/teckinesis-symbol.pngbin97350 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/tkuichooseyou/compiled.hex1137
-rw-r--r--keyboards/ergodox/keymaps/townk_osx/readme.md6
-rw-r--r--keyboards/ergodox/keymaps/townk_osx/townk_osx_base.pngbin785859 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/townk_osx/townk_osx_fn.pngbin390041 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/townk_osx/townk_osx_keypad.pngbin424425 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap.pngbin119825 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap2.pngbin292705 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/readme.md4
-rw-r--r--keyboards/ergodox/keymaps/videck/readme.md2
-rw-r--r--keyboards/ergodox/keymaps/videck/videck.pngbin106851 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/win10_writers-block/images/base-layer.pngbin125979 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/win10_writers-block/images/media-layer.pngbin102643 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/win10_writers-block/images/rimworld-layer.pngbin90359 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/win10_writers-block/images/symbol-layer.pngbin101477 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/win10_writers-block/readme.md8
-rw-r--r--keyboards/ergodox/keymaps/zweihander-osx/zweihander-osx.hex1151
-rw-r--r--keyboards/ergodox/readme.md4
-rw-r--r--keyboards/ergodox/rules.mk20
161 files changed, 1494 insertions, 2558 deletions
diff --git a/keyboards/ergodox/ez/Makefile b/keyboards/ergodox/ez/Makefile
index 1098332b8..663e09b7b 100644
--- a/keyboards/ergodox/ez/Makefile
+++ b/keyboards/ergodox/ez/Makefile
@@ -1,7 +1,7 @@
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
COMMAND_ENABLE = no # Commands for debug and configuration
-RGBLIGHT_ENABLE ?= yes
-MIDI_ENABLE ?= no
+RGBLIGHT_ENABLE = yes
+MIDI_ENABLE = no
ifndef MAKEFILE_INCLUDED
include ../../../Makefile
diff --git a/keyboards/ergodox/ez/ez.c b/keyboards/ergodox/ez/ez.c
index 3e19f2302..d50224954 100644
--- a/keyboards/ergodox/ez/ez.c
+++ b/keyboards/ergodox/ez/ez.c
@@ -1,6 +1,30 @@
#include "ez.h"
#include "i2cmaster.h"
+
+extern inline void ergodox_board_led_on(void);
+extern inline void ergodox_right_led_1_on(void);
+extern inline void ergodox_right_led_2_on(void);
+extern inline void ergodox_right_led_3_on(void);
+extern inline void ergodox_right_led_on(uint8_t led);
+
+extern inline void ergodox_board_led_off(void);
+extern inline void ergodox_right_led_1_off(void);
+extern inline void ergodox_right_led_2_off(void);
+extern inline void ergodox_right_led_3_off(void);
+extern inline void ergodox_right_led_off(uint8_t led);
+
+extern inline void ergodox_led_all_on(void);
+extern inline void ergodox_led_all_off(void);
+
+extern inline void ergodox_right_led_1_set(uint8_t n);
+extern inline void ergodox_right_led_2_set(uint8_t n);
+extern inline void ergodox_right_led_3_set(uint8_t n);
+extern inline void ergodox_right_led_set(uint8_t led, uint8_t n);
+
+extern inline void ergodox_led_all_set(uint8_t n);
+
+
bool i2c_initialized = 0;
uint8_t mcp23018_status = 0x20;
@@ -57,7 +81,7 @@ uint8_t init_mcp23018(void) {
// cli();
if (i2c_initialized == 0) {
i2c_init(); // on pins D(1,0)
- i2c_initialized++;
+ i2c_initialized = true;
_delay_ms(1000);
}
diff --git a/keyboards/ergodox/ez/keymaps/blakedietz/keymap.c b/keyboards/ergodox/ez/keymaps/blakedietz/keymap.c
new file mode 100644
index 000000000..a88e6795a
--- /dev/null
+++ b/keyboards/ergodox/ez/keymaps/blakedietz/keymap.c
@@ -0,0 +1,289 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+
+/**
+ * This section of macros is for tap or hold functionality. Keys will fire off the second symbol in the name if tapped
+ * or fire the first symbol in the name if held. For example
+ * GUI_Z
+ *
+ * - will fire z if tapped
+ * - will fire cmd/super/win if held
+ */
+#define ALT_DOT ALT_T(KC_DOT)
+#define ALT_X ALT_T(KC_X)
+#define CTL_SLSH CTL_T(KC_SLSH)
+#define CTL_Z CTL_T(KC_Z)
+#define GUI_C GUI_T(KC_C)
+#define GUI_COMM GUI_T(KC_COMM)
+#define HPR_ESC ALL_T(KC_ESC)
+#define HPR_QUO ALL_T(KC_QUOT)
+
+#define BASE 0
+#define SYMB 1
+#define MDIA 2
+#define MOUSE 3
+#define DEV 4
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Del | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | BkSp | A | S | D | F | G |------| |------| H | J | K | L |; / L2| '" |
+ * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
+ * | LShift |Z/Ctrl|X/Alt |C/GUI | V | B | | | | N | M |,/GUI |./ALT |//Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,------------.
+ * |MOUSE | Home | | PgDn | PgUp|
+ * ,------|------|------| |------+-----+------.
+ * | | | ESC | | ESC | | |
+ * | Space|Backsp|------| |------| Tab |Enter |
+ * | |ace | LGui | | LGui | | |
+ * `--------------------' `-------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
+ KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(DEV),
+ KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, CTL_T(KC_Z), ALT_T(KC_X), GUI_T(KC_C), KC_V, KC_B, ALL_T(KC_NO),
+ LT(SYMB,KC_GRV), KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT,
+
+ TG(MOUSE), KC_HOME,
+ KC_ESC,
+ KC_SPC, KC_BSPC, KC_LGUI,
+
+ // right hand
+ KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), KC_QUOT,
+ MEH_T(KC_NO), KC_N, KC_M, GUI_COMM, ALT_DOT, CTL_SLSH, KC_RSFT,
+ KC_DOWN, KC_UP, KC_LBRC, KC_RBRC, KC_FN1,
+
+ KC_PGDN, KC_PGUP,
+ KC_ESC,
+ KC_LGUI, KC_TAB, KC_ENT
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+ KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | |------| |------| | Prev | Next | Mute | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | VolDn| VolUp| | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA
+[MDIA] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_MPRV, KC_MNXT, KC_MUTE, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+[MOUSE] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_ACL2, KC_ACL1, KC_ACL0, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+[DEV] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_TRNS,
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+// MACRODOWN only works in this function
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ case SYMB:
+ // Binary 1 represented by the leds
+ // --*
+ ergodox_right_led_3_on();
+ break;
+ case MDIA:
+ // Binary 2 represented by the leds
+ // -*-
+ ergodox_right_led_2_on();
+ break;
+ case MOUSE:
+ // Binary 3 represented by the leds
+ // -**
+ ergodox_right_led_3_on();
+ ergodox_right_led_2_on();
+ break;
+ case DEV:
+ // Binary 4 represented by the leds
+ // *--
+ ergodox_right_led_1_on();
+ break;
+ default:
+ // none
+ break;
+ }
+};
+
+//bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+// switch (keycode) {
+// case QWERTY:
+// return false
+// break;
+// case LOWER:
+// if (record->event.pressed) {
+// layer_on(_LOWER);
+// update_tri_layer(_LOWER, _RAISE, _ADJUST);
+// } else {
+// layer_off(_LOWER);
+// update_tri_layer(_LOWER, _RAISE, _ADJUST);
+// }
+// return false;
+// break;
+// case RAISE:
+// if (record->event.pressed) {
+// layer_on(_RAISE);
+// update_tri_layer(_LOWER, _RAISE, _ADJUST);
+// } else {
+// layer_off(_RAISE);
+// update_tri_layer(_LOWER, _RAISE, _ADJUST);
+// }
+// return false;
+// break;
+// }
+// return true;
+//}
+
diff --git a/keyboards/ergodox/ez/keymaps/profet_80/ergodox80.png b/keyboards/ergodox/ez/keymaps/profet_80/ergodox80.png
deleted file mode 100644
index 66b9752eb..000000000
--- a/keyboards/ergodox/ez/keymaps/profet_80/ergodox80.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/ez/keymaps/profet_80/readme.md b/keyboards/ergodox/ez/keymaps/profet_80/readme.md
index b6bbb86d2..7380e3465 100644
--- a/keyboards/ergodox/ez/keymaps/profet_80/readme.md
+++ b/keyboards/ergodox/ez/keymaps/profet_80/readme.md
@@ -7,4 +7,4 @@ If you own an 80 key Ergodox, use this as an example to get your desired keymap.
**NOTE:** This layout is not physically supported by the Ergodox EZ.
-![Default80](ergodox80.png)
+![Default80](https://i.imgur.com/P2Lga9x.png)
diff --git a/keyboards/ergodox/ez/rules.mk b/keyboards/ergodox/ez/rules.mk
index 6cd1c0c4f..e9bfb1399 100644
--- a/keyboards/ergodox/ez/rules.mk
+++ b/keyboards/ergodox/ez/rules.mk
@@ -72,5 +72,5 @@ OPT_DEFS += -DBOOTLOADER_SIZE=512
#
SLEEP_LED_ENABLE = no
-API_SYSEX_ENABLE ?= no
-RGBLIGHT_ENABLE ?= yes
+API_SYSEX_ENABLE = no
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/ergodox/infinity/animations.c b/keyboards/ergodox/infinity/animations.c
index 4c9f6d9c8..ebc08fde3 100644
--- a/keyboards/ergodox/infinity/animations.c
+++ b/keyboards/ergodox/infinity/animations.c
@@ -25,43 +25,90 @@
#include "lcd_backlight_keyframes.h"
#endif
-#ifdef LED_ENABLE
+#ifdef BACKLIGHT_ENABLE
#include "led_keyframes.h"
#endif
#include "visualizer_keyframes.h"
-#if defined(LCD_ENABLE) && defined(LCD_BACKLIGHT_ENABLE)
+#if defined(LCD_ENABLE) || defined(LCD_BACKLIGHT_ENABLE) || defined(BACKLIGHT_ENABLE)
+
+static bool keyframe_enable(keyframe_animation_t* animation, visualizer_state_t* state) {
+#ifdef LCD_ENABLE
+ lcd_keyframe_enable(animation, state);
+#endif
+#ifdef LCD_BACKLIGHT_ENABLE
+ backlight_keyframe_enable(animation, state);
+#endif
+#ifdef BACKLIGHT_ENABLE
+ led_keyframe_enable(animation, state);
+#endif
+ return false;
+}
+
+static bool keyframe_disable(keyframe_animation_t* animation, visualizer_state_t* state) {
+#ifdef LCD_ENABLE
+ lcd_keyframe_disable(animation, state);
+#endif
+#ifdef LCD_BACKLIGHT_ENABLE
+ backlight_keyframe_disable(animation, state);
+#endif
+#ifdef BACKLIGHT_ENABLE
+ led_keyframe_disable(animation, state);
+#endif
+ return false;
+}
+
+static bool keyframe_fade_in(keyframe_animation_t* animation, visualizer_state_t* state) {
+ bool ret = false;
+#ifdef LCD_BACKLIGHT_ENABLE
+ ret |= backlight_keyframe_animate_color(animation, state);
+#endif
+#ifdef BACKLIGHT_ENABLE
+ ret |= led_keyframe_fade_in_all(animation, state);
+#endif
+ return ret;
+}
+
+static bool keyframe_fade_out(keyframe_animation_t* animation, visualizer_state_t* state) {
+ bool ret = false;
+#ifdef LCD_BACKLIGHT_ENABLE
+ ret |= backlight_keyframe_animate_color(animation, state);
+#endif
+#ifdef BACKLIGHT_ENABLE
+ ret |= led_keyframe_fade_out_all(animation, state);
+#endif
+ return ret;
+}
+
// Don't worry, if the startup animation is long, you can use the keyboard like normal
// during that time
keyframe_animation_t default_startup_animation = {
- .num_frames = 4,
+ .num_frames = 3,
.loop = false,
- .frame_lengths = {0, 0, 0, gfxMillisecondsToTicks(5000), 0},
+ .frame_lengths = {0, 0, gfxMillisecondsToTicks(5000)},
.frame_functions = {
- lcd_keyframe_enable,
- backlight_keyframe_enable,
+ keyframe_enable,
lcd_keyframe_draw_logo,
- backlight_keyframe_animate_color,
+ keyframe_fade_in,
},
};
keyframe_animation_t default_suspend_animation = {
- .num_frames = 4,
+ .num_frames = 3,
.loop = false,
- .frame_lengths = {0, gfxMillisecondsToTicks(1000), 0, 0},
+ .frame_lengths = {0, gfxMillisecondsToTicks(1000), 0},
.frame_functions = {
lcd_keyframe_display_layer_text,
- backlight_keyframe_animate_color,
- lcd_keyframe_disable,
- backlight_keyframe_disable,
+ keyframe_fade_out,
+ keyframe_disable,
},
};
#endif
-#if defined(LED_ENABLE)
+#if defined(BACKLIGHT_ENABLE)
#define CROSSFADE_TIME 1000
#define GRADIENT_TIME 3000
diff --git a/keyboards/ergodox/infinity/config.h b/keyboards/ergodox/infinity/config.h
index 95f713819..25cc8af0f 100644
--- a/keyboards/ergodox/infinity/config.h
+++ b/keyboards/ergodox/infinity/config.h
@@ -56,6 +56,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define VISUALIZER_USER_DATA_SIZE 16
+#define LCD_DISPLAY_NUMBER 0
+#define LED_DISPLAY_NUMBER 1
+
+#define LED_NUM_ROWS 7
+#define LED_NUM_COLS 7
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/ergodox/infinity/drivers/gdisp/IS31FL3731C/gdisp_IS31FL3731C.c b/keyboards/ergodox/infinity/drivers/gdisp/IS31FL3731C/gdisp_IS31FL3731C.c
index ea09c4bb0..b4a5c84b0 100644
--- a/keyboards/ergodox/infinity/drivers/gdisp/IS31FL3731C/gdisp_IS31FL3731C.c
+++ b/keyboards/ergodox/infinity/drivers/gdisp/IS31FL3731C/gdisp_IS31FL3731C.c
@@ -43,7 +43,7 @@ extern const uint8_t CIE1931_CURVE[];
#define GDISP_INITIAL_CONTRAST 0
#endif
#ifndef GDISP_INITIAL_BACKLIGHT
- #define GDISP_INITIAL_BACKLIGHT 100
+ #define GDISP_INITIAL_BACKLIGHT 0
#endif
#define GDISP_FLG_NEEDFLUSH (GDISP_FLG_DRIVER<<0)
@@ -173,7 +173,7 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
}
// software shutdown disable (i.e. turn stuff on)
- write_register(g, IS31_FUNCTIONREG, IS31_REG_SHUTDOWN, IS31_REG_SHUTDOWN_ON);
+ write_register(g, IS31_FUNCTIONREG, IS31_REG_SHUTDOWN, IS31_REG_SHUTDOWN_OFF);
gfxSleepMilliseconds(10);
// Finish Init
@@ -183,7 +183,7 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
g->g.Width = GDISP_SCREEN_WIDTH;
g->g.Height = GDISP_SCREEN_HEIGHT;
g->g.Orientation = GDISP_ROTATE_0;
- g->g.Powermode = powerOn;
+ g->g.Powermode = powerOff;
g->g.Backlight = GDISP_INITIAL_BACKLIGHT;
g->g.Contrast = GDISP_INITIAL_CONTRAST;
return TRUE;
@@ -204,7 +204,8 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
uint8_t* src = PRIV(g)->frame_buffer;
for (int y=0;y<GDISP_SCREEN_HEIGHT;y++) {
for (int x=0;x<GDISP_SCREEN_WIDTH;x++) {
- PRIV(g)->write_buffer[get_led_address(g, x, y)]=CIE1931_CURVE[*src];
+ uint8_t val = (uint16_t)*src * g->g.Backlight / 100;
+ PRIV(g)->write_buffer[get_led_address(g, x, y)]=CIE1931_CURVE[val];
++src;
}
}
@@ -297,8 +298,13 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
g->g.Orientation = (orientation_t)g->p.ptr;
return;
- case GDISP_CONTROL_CONTRAST:
- return;
+ case GDISP_CONTROL_BACKLIGHT:
+ if (g->g.Backlight == (unsigned)g->p.ptr)
+ return;
+ unsigned val = (unsigned)g->p.ptr;
+ g->g.Backlight = val > 100 ? 100 : val;
+ g->flags |= GDISP_FLG_NEEDFLUSH;
+ return;
}
}
#endif // GDISP_NEED_CONTROL
diff --git a/keyboards/ergodox/infinity/drivers/gdisp/emulator_lcd/driver.mk b/keyboards/ergodox/infinity/drivers/gdisp/emulator_lcd/driver.mk
deleted file mode 100644
index 16c3f80f5..000000000
--- a/keyboards/ergodox/infinity/drivers/gdisp/emulator_lcd/driver.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-GFXINC += drivers/gdisp/emulator_lcd
-GFXSRC += drivers/gdisp/emulator_lcd/emulator_lcd.c
diff --git a/keyboards/ergodox/infinity/drivers/gdisp/emulator_lcd/emulator_lcd.c b/keyboards/ergodox/infinity/drivers/gdisp/emulator_lcd/emulator_lcd.c
deleted file mode 100644
index babfe2b36..000000000
--- a/keyboards/ergodox/infinity/drivers/gdisp/emulator_lcd/emulator_lcd.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#define GDISP_DRIVER_VMT GDISPVMT_EMULATOR_LCD_ERGODOX
-#define GDISP_HARDWARE_DRAWPIXEL TRUE
-#define GDISP_HARDWARE_PIXELREAD TRUE
-#define GDISP_HARDWARE_CONTROL TRUE
-#define GDISP_LLD_PIXELFORMAT GDISP_PIXELFORMAT_MONO
-#define GDISP_SCREEN_WIDTH 128
-#define GDISP_SCREEN_HEIGHT 32
-#define ROTATE_180_IS_FLIP
-
-#include "emulator/emulator_driver_impl.h"
diff --git a/keyboards/ergodox/infinity/drivers/gdisp/emulator_led/driver.mk b/keyboards/ergodox/infinity/drivers/gdisp/emulator_led/driver.mk
deleted file mode 100644
index 255434432..000000000
--- a/keyboards/ergodox/infinity/drivers/gdisp/emulator_led/driver.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-GFXINC += drivers/gdisp/emulator_led
-GFXSRC += drivers/gdisp/emulator_led/emulator_led.c
diff --git a/keyboards/ergodox/infinity/drivers/gdisp/emulator_led/emulator_led.c b/keyboards/ergodox/infinity/drivers/gdisp/emulator_led/emulator_led.c
deleted file mode 100644
index b0ebcdc47..000000000
--- a/keyboards/ergodox/infinity/drivers/gdisp/emulator_led/emulator_led.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#define GDISP_DRIVER_VMT GDISPVMT_EMULATOR_LED_ERGODOX
-#define GDISP_HARDWARE_DRAWPIXEL TRUE
-#define GDISP_HARDWARE_PIXELREAD TRUE
-#define GDISP_HARDWARE_CONTROL TRUE
-#define GDISP_LLD_PIXELFORMAT GDISP_PIXELFORMAT_MONO
-#define GDISP_SCREEN_WIDTH 7
-#define GDISP_SCREEN_HEIGHT 7
-#define ROTATE_180_IS_FLIP
-
-#include "emulator/emulator_driver_impl.h"
diff --git a/keyboards/ergodox/infinity/rules.mk b/keyboards/ergodox/infinity/rules.mk
index 9e6170d89..bbb0f6efe 100644
--- a/keyboards/ergodox/infinity/rules.mk
+++ b/keyboards/ergodox/infinity/rules.mk
@@ -58,19 +58,14 @@ OPT_DEFS += -DCORTEX_VTOR_INIT=0x00002000
# Build Options
# comment out to disable the options.
#
-CUSTOM_MATRIX ?= yes # Custom matrix file
+CUSTOM_MATRIX = yes # Custom matrix file
SERIAL_LINK_ENABLE = yes
-VISUALIZER_ENABLE ?= yes
-LCD_ENABLE ?= yes
-LED_ENABLE ?= no
-LCD_BACKLIGHT_ENABLE ?= yes
+VISUALIZER_ENABLE = yes
+LCD_ENABLE = yes
+BACKLIGHT_ENABLE = yes
+LCD_BACKLIGHT_ENABLE = yes
MIDI_ENABLE = no
RGBLIGHT_ENABLE = no
-ifdef LCD_ENABLE
include $(SUBPROJECT_PATH)/drivers/gdisp/st7565ergodox/driver.mk
-endif
-
-ifdef LED_ENABLE
-include $(SUBPROJECT_PATH)/drivers/gdisp/IS31FL3731C/driver.mk
-endif \ No newline at end of file
+include $(SUBPROJECT_PATH)/drivers/gdisp/IS31FL3731C/driver.mk \ No newline at end of file
diff --git a/keyboards/ergodox/infinity/visualizer.c b/keyboards/ergodox/infinity/visualizer.c
index a4b09a34d..5b6b32007 100644
--- a/keyboards/ergodox/infinity/visualizer.c
+++ b/keyboards/ergodox/infinity/visualizer.c
@@ -123,7 +123,7 @@ void initialize_user_visualizer(visualizer_state_t* state) {
start_keyframe_animation(&default_startup_animation);
}
-inline bool is_led_on(visualizer_user_data_t* user_data, uint8_t num) {
+static inline bool is_led_on(visualizer_user_data_t* user_data, uint8_t num) {
return user_data->led_on & (1u << num);
}
diff --git a/keyboards/ergodox/keymaps/333fred/Makefile b/keyboards/ergodox/keymaps/333fred/Makefile
index 87985bda1..17f736458 100644
--- a/keyboards/ergodox/keymaps/333fred/Makefile
+++ b/keyboards/ergodox/keymaps/333fred/Makefile
@@ -1,7 +1,6 @@
SUBPROJECT_DEFAULT = infinity
LCD_BACKLIGHT_ENABLE = yes
LCD_ENABLE = yes
-LED_ENABLE = yes
BACKLIGHT_ENABLE = yes
NKRO_ENABLE = yes
TAP_DANCE_ENABLE = yes
diff --git a/keyboards/ergodox/keymaps/333fred/README.md b/keyboards/ergodox/keymaps/333fred/README.md
index af8042d85..f7b4ca42f 100644
--- a/keyboards/ergodox/keymaps/333fred/README.md
+++ b/keyboards/ergodox/keymaps/333fred/README.md
@@ -14,7 +14,7 @@
|LCTRL | F4 | F5 | LGUI | LALT | | Left | Down | Up | Right| RGUI |
`----------------------------------' `----------------------------------'
,-------------. ,-------------.
- | Home | End | | Alt |Ctrl/Esc|
+ | Copy | Paste| | Alt |Ctrl/Esc|
,------|------|------| |------+--------+------.
| | | PgUp | | PgDn | | |
| Bcksp|OSL(2)|------| |------| Ent |Space |
@@ -32,23 +32,28 @@
| | | | | | | F10 | | F11 | | | | | | |
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
| | | | | | |------| |------| | | | | | |
-|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+|--------+------+------+------+------+------| L2 | | |------+------+------+------+------+--------|
| | | | | | | | | | | | | | | |
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- | | | | | | | | | | | |
+ | | | | | | | F12 |GoToIm| FAR | | |
`----------------------------------' `----------------------------------'
,-------------. ,---------------.
- |Format| | | Test | DTest |
+ |Format|Build | | Test | DTest |
,------|------|------| |------+--------+------.
- | | |Refact| | | | |
+ | | |Refact| |Sort U| | |
| | |------| |------| | |
| | | | | | | |
`--------------------' `----------------------'
```
+* Build - Visualt Studio Build Solution. Sends `CTRL + SHFT + B`
+* DTest - Visual Studio Debug Test. Sends `CTRL + R, CTRL + T`
+* FAR - Visual Studio Find All References. Sends `CTRL + K, R`
* Format - Visual Studio Format. Sends `CTRL + K, CTRL + D`
+* GoToIm - Visual Studio Go To Implementation. Sends `CTRL + F12`
* Refact - Visual Studio Refactor. Sends `CTRL + R, R`
+* Sort U - Visual Studio Sort Usings. Sends `CTRL + R, CTRL + G`
* Test - Visual Studio Run Test. Sends `CTRL + R, T`
-* DTest - Visual Studio Debug Test. Sends `CTRL + R, CTRL + T`
+
### Keymap 2: Symbol Layer
```
@@ -87,9 +92,9 @@
| | | | Lclk | Rclk | | | | | | |
`----------------------------------' `----------------------------------'
,-------------. ,-------------.
- | | | | Vol+ | |
+ | Back+| Back-| | Vol+ | |
,------|------|------| |------+------+------.
- | | | | | Vol- | | |
+ | | |BL_TOG| | Vol- | | |
| | |------| |------| PL/PS| Next |
| | | | | Back | | |
`--------------------' `--------------------'
@@ -100,23 +105,24 @@
,--------------------------------------------------. ,--------------------------------------------------.
| | | | | | | | | | | | | | | |
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
-| | | | | | | | | | | | | | | |
+| |KOpen |KType | | | | | | | Copy | | | | Paste| |
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
-| |DLeft |DRight|LShift| | |------| |------| Left | Down | Up | Right| | |
+| |DLeft |DRight| LCTL | | |------| |------| Left | Down | Up | Right| | |
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
-| |KOpen |KType | | | | | | | | | | | | |
+| |SFT_TB| Tab | | | | | | | | | | | | |
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
| | | | | | | | | | | |
`----------------------------------' `----------------------------------'
,-------------. ,-------------.
- | | | | | |
+ | | | | Home | End |
,------|------|------| |------+------+------.
| | | | | | | |
- | | CTRL |------| |------| | |
+ | | LSFT |------| |------| | |
| | | | | | | |
`--------------------' `--------------------'
```
-* DLeft - Move to the left Desktop. Sends `Ctrl + Win + Left Arrow`
+* DLeft - Move to the left Desktop. Sends `Ctrl + Win + Left Arrow`
* DRight - Move to the right Desktop. Sends `Ctrl + Win + Right Arrow`
-* KOpen - Opens KeePass. Sends `Ctrl + Alt + k`
-* KType - Autotypes KeePass password. Sends `Ctrl + Alt + a`
+* KOpen - Opens KeePass. Sends `Ctrl + Alt + k`
+* KType - Autotypes KeePass password. Sends `Ctrl + Alt + a`
+* SFT_TB - Sends `CTRL + TAB`.
diff --git a/keyboards/ergodox/keymaps/333fred/config.h b/keyboards/ergodox/keymaps/333fred/config.h
new file mode 100644
index 000000000..f19a52bca
--- /dev/null
+++ b/keyboards/ergodox/keymaps/333fred/config.h
@@ -0,0 +1,11 @@
+#ifndef CONFIG_H_
+#define CONFIG_H_
+
+#include "../../config.h"
+
+#undef TAPPING_TERM
+#define TAPPING_TERM 150
+
+#define PERMISSIVE_HOLD
+
+#endif
diff --git a/keyboards/ergodox/keymaps/333fred/keymap.c b/keyboards/ergodox/keymaps/333fred/keymap.c
index 070ad1f72..e3f95132d 100644
--- a/keyboards/ergodox/keymaps/333fred/keymap.c
+++ b/keyboards/ergodox/keymaps/333fred/keymap.c
@@ -23,12 +23,17 @@ enum custom_macros {
DLEFT,
DRIGHT,
PSCREEN_APP,
+ LSFT_TAB,
// VS Macros
REFACTOR,
TEST,
DEBUG_TEST,
FORMAT,
+ BUILD,
+ GO_TO_IMPL,
+ FIND_ALL_REF,
+ REMOVE_SORT_USINGS,
// KeePass macros
KEEPASS_OPEN,
@@ -61,11 +66,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |LCTRL | F4 | F5 | LGUI | LALT | | Left | Down | Up | Right| RGUI |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
- * | Home | End | | Alt |Ctrl/Esc|
+ * | Copy | Paste| | Alt |Ctrl/Esc|
* ,------|------|------| |------+--------+------.
* | | | PgUp | | PgDn | | |
* | Bcksp|OSL(2)|------| |------| Ent |Space |
- * | | | Del | |OSL(2)| | |
+ * | | | Del | | RCtrl| | |
* `--------------------' `----------------------'
*/
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
@@ -75,20 +80,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
KC_ESC, KC_A, KC_S, KC_D, LT(MOVE, KC_F),KC_G,
- KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, TG(CODE),
- KC_LCTRL, KC_F4, KC_F5, KC_LGUI,KC_LALT,
- KC_HOME, KC_END,
- KC_PGUP,
- KC_BSPC,OSL(SYMB),KC_DEL,
+ OSM(MOD_LSFT), CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, TG(CODE),
+ OSM(MOD_LCTL), KC_F4, KC_F5, KC_LGUI,KC_LALT,
+ LCTL(KC_C),LCTL(KC_V),
+ KC_PGUP,
+ KC_BSPC,OSL(SYMB), KC_DEL,
// right hand
TG(CODE), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_H, KC_J, KC_K, KC_L, TD(TD_SEMICOLON_COLON),KC_QUOT,
- MO(MDIA), KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
+ MO(MDIA), KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), OSM(MOD_RSFT),
KC_LEFT,KC_DOWN,KC_UP, KC_RIGHT, KC_RGUI,
- KC_RALT, CTL_T(KC_ESC),
+ KC_RALT, CTL_T(KC_ESC),
KC_PGDN,
- OSL(SYMB),KC_ENT, KC_SPC
+ KC_RCTL, KC_ENT, KC_SPC
),
/* Keymap 1: Code Layer
*
@@ -98,15 +103,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | F10 | | F11 | | | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | |------| |------| | | | | | |
- * |--------+------+------+------+------+------|ACCESS| | |------+------+------+------+------+--------|
+ * |--------+------+------+------+------+------| L2 | | |------+------+------+------+------+--------|
* | | | | | | | | | | | | | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | | | | |
+ * | | | | | | | F12 |GoToIm| FAR | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,---------------.
- * |Format| | | Test | DTest |
+ * |Format|Build | | Test | DTest |
* ,------|------|------| |------+--------+------.
- * | | |Refact| | | | |
+ * | | |Refact| |Sort U| | |
* | | |------| |------| | |
* | | | | | | | |
* `--------------------' `----------------------'
@@ -118,20 +123,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F10,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(SYMB),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- M(FORMAT), KC_TRNS,
- M(REFACTOR),
- KC_TRNS, KC_TRNS, KC_TRNS,
+ M(FORMAT),M(BUILD),
+ M(REFACTOR),
+ KC_TRNS, KC_TRNS, KC_TRNS,
// right hand
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_F11, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_F11, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_F12, M(GO_TO_IMPL),M(FIND_ALL_REF),KC_TRNS, KC_TRNS,
M(TEST), M(DEBUG_TEST),
- KC_TRNS,
+ M(REMOVE_SORT_USINGS),
KC_TRNS, KC_TRNS, KC_TRNS
),
/* Keymap 2: Symbol Layer
@@ -142,7 +147,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | ! | @ | ( | ) | | |ACCESS| |ACCESS| Up | 7 | 8 | 9 | * | F12 |
* |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | # | $ | { | } | ` |------| |------| Down | 4 | 5 | 6 | + | |
- * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * |---------+------+------+------+------+------|ACCESS| | |------+------+------+------+------+--------|
* | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
* `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | EPRM | | | | | | 0 | 0 | . | = | |
@@ -190,9 +195,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | Lclk | Rclk | | | | | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
- * | | | | Vol+ | |
+ * | Back+| Back-| | Vol+ | |
* ,------|------|------| |------+------+------.
- * | | | | | Vol- | | |
+ * | | |BackTg| | Vol- | | |
* | | |------| |------| PL/PS| Next |
* | | | | | Back | | |
* `--------------------' `--------------------'
@@ -204,8 +209,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
+ BL_INC, BL_DEC,
+ BL_TOGG,
KC_TRNS, KC_TRNS, KC_TRNS,
// right hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -222,39 +227,39 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | | | | | | | | | | | | |
+ * | |KOpen |KType | | | | | | | Copy | | | | Paste| |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | |DLeft |DRight|LShift|ACCESS| |------| |------| Left | Down | Up | Right| | |
+ * | |DLeft |DRight|LCTRL |ACCESS| |------| |------| Left | Down | Up | Right| | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | |KOpen |KType | | | | | | | | | | | | |
+ * | |SFT_TB| TAB | | | | | | | | | | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
- * | | | | | |
+ * | | | | Home | End |
* ,------|------|------| |------+------+------.
* | | | | | | | |
- * | | CTRL |------| |------| | |
+ * | |LSHIFT|------| |------| | |
* | | | | | | | |
* `--------------------' `--------------------'
*/
// MEDIA AND MOUSE
[MOVE] = KEYMAP(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, M(DLEFT), M(DRIGHT), KC_LSFT, KC_TRNS, KC_TRNS,
KC_TRNS, M(KEEPASS_OPEN),M(KEEPASS_TYPE),KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, M(DLEFT), M(DRIGHT), KC_LCTL, KC_TRNS, KC_TRNS,
+ KC_TRNS, M(LSFT_TAB), KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
- KC_TRNS, KC_LCTRL,KC_TRNS,
+ KC_TRNS, KC_LSFT, KC_TRNS,
// right hand
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, LCTL(KC_C),KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_V),KC_TRNS,
+ KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_HOME, KC_END,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
@@ -291,9 +296,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
break;
case PSCREEN_APP:
if (record->event.pressed) {
- return MACRO(D(LALT), T(PSCR), U(LALT));
+ return MACRO(D(LALT), T(PSCR), U(LALT), END);
}
break;
+ case LSFT_TAB:
+ if (record->event.pressed) {
+ return MACRO(D(LSFT), T(TAB), U(LSFT), END);
+ }
case REFACTOR:
if (record->event.pressed) { // VS Refactor CTRL+R, R
return MACRO(D(LCTL), T(R), U(LCTL), T(R), END);
@@ -314,6 +323,26 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
return MACRO(D(LCTL), T(K), T(D), U(LCTL), END);
}
break;
+ case BUILD:
+ if (record->event.pressed) { // VS Build. Sends CTRL+SHFT+B
+ return MACRO(D(LCTL), D(LSFT), T(B), U(LSFT), U(LCTL), END);
+ }
+ break;
+ case GO_TO_IMPL:
+ if (record->event.pressed) { // VS Go To Implementation. Sends CTRL+F12
+ return MACRO(D(LCTL), T(F12), U(LCTL), END);
+ }
+ break;
+ case FIND_ALL_REF:
+ if (record->event.pressed) { // VS Find All References. Sends CTRL+K, R
+ return MACRO(D(LCTL), T(K), U(LCTL), T(R), END);
+ }
+ break;
+ case REMOVE_SORT_USINGS:
+ if (record->event.pressed) {
+ return MACRO(D(LCTL), T(R), T(G), U(LCTL), END);
+ }
+ break;
case KEEPASS_OPEN:
if (record->event.pressed) { // Keepass open application
return MACRO(D(LCTL), D(LALT), T(K), U(LALT), U(LCTL), END);
diff --git a/keyboards/ergodox/keymaps/ab/keyboard-layout.png b/keyboards/ergodox/keymaps/ab/keyboard-layout.png
deleted file mode 100644
index 740684461..000000000
--- a/keyboards/ergodox/keymaps/ab/keyboard-layout.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/ab/readme.md b/keyboards/ergodox/keymaps/ab/readme.md
index 4ad80efe6..fde1c1726 100644
--- a/keyboards/ergodox/keymaps/ab/readme.md
+++ b/keyboards/ergodox/keymaps/ab/readme.md
@@ -1,7 +1,7 @@
# Beginner's keymap for Ergodox-EZ
Beginner's keymap emulates standard QWERTY keyboard for beginners. Once you get comfortable with the Ergodox-EZ, you may fork this keymap and customize it for your own needs or find a suitable one from the community contributed keymaps.
-![Beginner's Keymap](keyboard-layout.png)
+![Beginner's Keymap](https://i.imgur.com/dAIocc8.png)
#### Pros
* Easier to switch between regular keyboards and Ergodox-EZ.
diff --git a/keyboards/ergodox/keymaps/absenth/absenth_highres.png b/keyboards/ergodox/keymaps/absenth/absenth_highres.png
deleted file mode 100644
index c07aa8803..000000000
--- a/keyboards/ergodox/keymaps/absenth/absenth_highres.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/absenth/readme.md b/keyboards/ergodox/keymaps/absenth/readme.md
index 0c04bf417..744c67afe 100644
--- a/keyboards/ergodox/keymaps/absenth/readme.md
+++ b/keyboards/ergodox/keymaps/absenth/readme.md
@@ -8,4 +8,4 @@
* Sept. 8, 2016 (V0.1):
* Made A key double as MEDIA Layer change when you hold it. Added mouse buttons to the large thumb buttons on the left side on the Media Layer. Added vi/vim style arrow keys on HJKL on media layer.
-![Absenth](absenth_highres.png)
+![Absenth](https://i.imgur.com/D1enl2x.jpg)
diff --git a/keyboards/ergodox/keymaps/alexjj/readme.md b/keyboards/ergodox/keymaps/alexjj/readme.md
index 239e32d39..4845cbbd9 100644
--- a/keyboards/ergodox/keymaps/alexjj/readme.md
+++ b/keyboards/ergodox/keymaps/alexjj/readme.md
@@ -22,7 +22,7 @@ the 1st layer - in case of fat fingers.
Layout
-------
-![Layout](rl-layout.jpg "Isn't it lovely")
+![Layout](https://i.imgur.com/4bDwHLS.jpg "Isn't it lovely")
### Base Layer
diff --git a/keyboards/ergodox/keymaps/alexjj/rl-layout.jpg b/keyboards/ergodox/keymaps/alexjj/rl-layout.jpg
deleted file mode 100644
index e4e92bf46..000000000
--- a/keyboards/ergodox/keymaps/alexjj/rl-layout.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/algernon/Makefile b/keyboards/ergodox/keymaps/algernon/Makefile
index 699add3dd..23d3bb723 100644
--- a/keyboards/ergodox/keymaps/algernon/Makefile
+++ b/keyboards/ergodox/keymaps/algernon/Makefile
@@ -1,15 +1,15 @@
BOOTMAGIC_ENABLE=no
COMMAND_ENABLE=no
SLEEP_LED_ENABLE=no
-FORCE_NKRO ?= yes
+FORCE_NKRO = yes
DEBUG_ENABLE = no
CONSOLE_ENABLE = no
TAP_DANCE_ENABLE = yes
-KEYLOGGER_ENABLE ?= yes
+KEYLOGGER_ENABLE = yes
UCIS_ENABLE = yes
MOUSEKEY_ENABLE = no
-AUTOLOG_ENABLE ?= no
+AUTOLOG_ENABLE = no
ifeq (${FORCE_NKRO},yes)
OPT_DEFS += -DFORCE_NKRO
diff --git a/keyboards/ergodox/keymaps/algernon/images/adore-layer.png b/keyboards/ergodox/keymaps/algernon/images/adore-layer.png
deleted file mode 100644
index f6c64ca64..000000000
--- a/keyboards/ergodox/keymaps/algernon/images/adore-layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/algernon/images/base-layer.png b/keyboards/ergodox/keymaps/algernon/images/base-layer.png
deleted file mode 100644
index 5bd0611f6..000000000
--- a/keyboards/ergodox/keymaps/algernon/images/base-layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/algernon/images/heatmap.png b/keyboards/ergodox/keymaps/algernon/images/heatmap.png
deleted file mode 100644
index 4f55c5adf..000000000
--- a/keyboards/ergodox/keymaps/algernon/images/heatmap.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/algernon/images/hun-layer.png b/keyboards/ergodox/keymaps/algernon/images/hun-layer.png
deleted file mode 100644
index 104a9544d..000000000
--- a/keyboards/ergodox/keymaps/algernon/images/hun-layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/algernon/images/nav-n-media-layer.png b/keyboards/ergodox/keymaps/algernon/images/nav-n-media-layer.png
deleted file mode 100644
index 16d29e124..000000000
--- a/keyboards/ergodox/keymaps/algernon/images/nav-n-media-layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/algernon/images/steno-layer.png b/keyboards/ergodox/keymaps/algernon/images/steno-layer.png
deleted file mode 100644
index 9a2ba55ef..000000000
--- a/keyboards/ergodox/keymaps/algernon/images/steno-layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/algernon/readme.md b/keyboards/ergodox/keymaps/algernon/readme.md
index 3783eadf1..4c1fb15ff 100644
--- a/keyboards/ergodox/keymaps/algernon/readme.md
+++ b/keyboards/ergodox/keymaps/algernon/readme.md
@@ -34,7 +34,7 @@ Some of the things in the layout only work when one uses [Spacemacs][spacemacs]
## Base layer
-[![Base layer](images/base-layer.png)](http://www.keyboard-layout-editor.com/#/gists/28f7eb305fdbff943613e1dc7aa9e82b)
+[![Base layer](https://i.imgur.com/q1MDvq4.png)](http://www.keyboard-layout-editor.com/#/gists/28f7eb305fdbff943613e1dc7aa9e82b)
At its core, this is a Dvorak layout, with some minor changes. The more interesting parts are how certain keys behave:
@@ -62,7 +62,7 @@ The symbols on the front in the image above have the same color as the key that
## ADORE layer
-[![ADORE layer](images/adore-layer.png)](http://www.keyboard-layout-editor.com/#/gists/45681a17453d235925b6028dd83bf12a)
+[![ADORE layer](https://i.imgur.com/r3LnQAA.png)](http://www.keyboard-layout-editor.com/#/gists/45681a17453d235925b6028dd83bf12a)
My experimental layout, that I keep tweaking. No full description here, because things are very much in flux.
@@ -70,7 +70,7 @@ Note that the **HUN** layer does not work well with ADORE: it still has the same
## Steno layer
-[![Steno layer for Plover](images/steno-layer.png)](http://www.keyboard-layout-editor.com/#/gists/401ef9a84369e47c57f9aedcf0a0d667)
+[![Steno layer for Plover](https://i.imgur.com/PgifhBF.png)](http://www.keyboard-layout-editor.com/#/gists/401ef9a84369e47c57f9aedcf0a0d667)
This is to be used with [Plover](http://www.openstenoproject.org/plover/), nothing really fancy here. The **STENO** key toggles the layer on and off, and sends the toggle command to Plover too.
@@ -110,7 +110,7 @@ Included with the firmware is a small tool that can parse these logs, and create
The generated heatmap looks somewhat like this:
- ![Heatmap](images/heatmap.png)
+ ![Heatmap](https://i.imgur.com/tly9XSy.png)
## Layer notification
@@ -144,3 +144,6 @@ The keymap default to forcing NKRO, which seems to upset Windows, and except the
# License
The layout, being a derivative of the original TMK firmware which is under the GPL-2+, this layout is under the GPL as well, but GPL-3+, rather than the older version.
+
+![nav-n-media-layer.png](https://i.imgur.com/AReX8C9.png)
+![hun-layer.png](https://i.imgur.com/uPGBl9J.png) \ No newline at end of file
diff --git a/keyboards/ergodox/keymaps/belak/LICENSE b/keyboards/ergodox/keymaps/belak/LICENSE
new file mode 100644
index 000000000..b462ba30e
--- /dev/null
+++ b/keyboards/ergodox/keymaps/belak/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2016 Kaleb Elwert
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/keyboards/ergodox/keymaps/belak/Makefile b/keyboards/ergodox/keymaps/belak/Makefile
new file mode 100644
index 000000000..8a6beea59
--- /dev/null
+++ b/keyboards/ergodox/keymaps/belak/Makefile
@@ -0,0 +1,6 @@
+TAP_DANCE_ENABLE=yes
+UNICODE_ENABLE=yes
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
diff --git a/keyboards/ergodox/keymaps/belak/README.md b/keyboards/ergodox/keymaps/belak/README.md
new file mode 100644
index 000000000..30484e6e2
--- /dev/null
+++ b/keyboards/ergodox/keymaps/belak/README.md
@@ -0,0 +1,79 @@
+# Belak's Ergodox Layout
+
+This has been based off of [emacs\_osx\_dk](https://github.com/jackhumbert/qmk_firmware/tree/master/keyboards/ergodox/keymaps/emacs_osx_dk)
+from the main qmk repo. However, I've taken some of the ideas for the thumbs
+from [dvorak\_emacs](https://github.com/jackhumbert/qmk_firmware/tree/master/keyboards/ergodox/keymaps/dvorak_emacs)
+and tweaked it a bit based on the keycaps I have.
+
+This keyboard is intended for use in emacs (one of the main reasons for easy
+access to modifiers) but it could be useful in other instances as well.
+
+The main repo is used as a testbed, so sometimes the layout may be in a strange
+state. The qmk version should be relatively stable.
+
+## Instructions
+
+This is currently being used on a regular ergodox, but it should work fine on
+the infinity as well. Though, you may have to modify the commands to build and
+flash the firmware to match the separate halves as defined in the infinity
+documentation.
+
+If you are using this keymap in the qmk repo, you should be able to just run
+`make ergodox-belak-teensy`. If you're using this externally (I sometimes make
+changes before syncing them to qmk), use the following instructions:
+
+1. Clone the main qmk repo
+2. Clone this to `$QMK/keyboards/ergodox/keymaps/belak-external`
+3. Run `make ergodox-belak-external-teensy` from the root of the qmk repo.
+
+## Changelog
+
+Fifth Revision
+
+* Change layer keys to tap-dance keys which cycle through additional layers
+* Add a few emoji keys (in preparation for an emoji layer)
+
+Fourth Revision
+
+* Remove media layer
+* Add a layer which swaps control and gui on the thumb keys.
+* Add some basic code to save settings to the eeprom
+* Save the state of the keys swapped in the thumb in the eeprom
+
+Third Revision
+
+* Add numpad layer and remove numpad from symbols layer
+* Disable media layer
+* Add arrow keys on ijkl to the symbols layer
+* Replace ALT on held enter and held delete with GUI (for better OSX
+ compatibility, as there's already an ALT key relatively close)
+* Replace keys above enter and delete with temporary layer switch buttons not
+ matching the other layer switch for that hand.
+* Reindent and space out most of the layer definitions
+
+Second Revision
+
+* Clean up definitions to make differences between layers easier to see
+* Remove old LCD code
+* Add new LCD code based on fredizzimo's branch
+
+First Revision
+
+* Reverse grave and escape
+
+Initial Version
+
+* Copy from emacs\_osx\_dk
+* "Fix" right alt
+* Change thumb keys to match default layout (backspace, delete, enter, space)
+* Add modifiers to thumb keys (ctrl to backspace and space, alt to delete and
+ enter)
+* Replace the RAlt below the brackets with LGui and RGui
+* Remove LCtrl and RCtrl from the keys above shift
+* Add browser forward, and move browser back
+* "Fix" the order of volume keys
+
+## Repository
+
+The original code for this is kept at https://github.com/belak/ergodox-layout and
+is synced to qmk every few main revisions.
diff --git a/keyboards/ergodox/keymaps/belak/keymap.c b/keyboards/ergodox/keymaps/belak/keymap.c
new file mode 100644
index 000000000..45f63539b
--- /dev/null
+++ b/keyboards/ergodox/keymaps/belak/keymap.c
@@ -0,0 +1,368 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "eeconfig.h"
+#include "eeprom.h"
+
+#define LAYER_ON(pos) ((layer_state) & (1<<(pos)))
+#define _______ KC_TRNS
+
+#define EECONFIG_BELAK_MAGIC (uint16_t)0xBE42
+
+// NOTE: This is just a number that's a bit beyond the end of what's already
+// defined. As there is no other define we can base this on, it may need to be
+// changed in the future. The initial value here is used as a placeholder with a
+// magic word, similar to the normal eeconfig. Note that all the storage being
+// used needs to fit inside the 32 bytes of the Ergodox Infinity.
+#define EECONFIG_BELAK (uint16_t *)16
+
+// The correct way to do this would be how the normal eeconfig handles it and
+// use a bitfield. However, the eeprom has a ton of space which isn't being
+// used so I don't really care and have a separate byte for every setting.
+#define EECONFIG_BELAK_SWAP_GUI_CTRL (uint8_t *)18
+
+static uint8_t swap_gui_ctrl = 0;
+static uint8_t td_led_override = 0;
+
+enum belak_keycodes {
+ // Function codes
+ BEL_F0 = SAFE_RANGE,
+ BEL_F1,
+
+ E_SHRUG,
+ E_TFLIP,
+ E_TSET,
+};
+
+inline void tap(uint16_t keycode) {
+ register_code(keycode);
+ unregister_code(keycode);
+};
+
+// TODO: Add LED support to the tap dance by using the advanced macro
+#define LTOGGLE TD(TD_LAYER_TOGGLE)
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define NUMP 2 // numpad
+#define SWPH 3 // swap gui/ctrl on the hands
+
+enum belak_td {
+ TD_LAYER_TOGGLE = 0,
+};
+
+void belak_td_each(qk_tap_dance_state_t *state, void *user_data);
+void belak_td_finished(qk_tap_dance_state_t *state, void *user_data);
+void belak_td_reset(qk_tap_dance_state_t *state, void *user_data);
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_LAYER_TOGGLE] = ACTION_TAP_DANCE_FN_ADVANCED(belak_td_each, belak_td_finished, belak_td_reset),
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | L1 | | L2 | 6 | 7 | 8 | 9 | 0 | = |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | - |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | \ | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
+ * |--------+------+------+------+------+------| LGui | | RGui |------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |Layers| LCtrl| Left | Right| LAlt | | RAlt | Up | Down | RCtrl|Layers|
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,--------------.
+ * | ~L2 | Ins | | Grv | ~L1 |
+ * ,-------|------|------| |------+-------+-------.
+ * | Back | | Home | | PgUp | | |
+ * | Space | Del |------| |------| Enter | Space |
+ * | | | End | | PgDn | | |
+ * `---------------------' `----------------------'
+ */
+ [BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, TG(SYMB),
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC,
+ CTL_T(KC_BSLS), KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI,
+ LTOGGLE, KC_LCTRL, KC_LEFT,KC_RGHT,KC_LALT,
+ MO(NUMP),KC_INS,
+ KC_HOME,
+ CTL_T(KC_BSPC),GUI_T(KC_DEL),KC_END,
+ // right hand
+ TG(NUMP), KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
+ KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_RGUI, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
+ KC_RALT,KC_UP, KC_DOWN,KC_RCTRL, LTOGGLE,
+ KC_GRV, MO(SYMB),
+ KC_PGUP,
+ KC_PGDN, GUI_T(KC_ENT), CTL_T(KC_SPC)
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | | Up | | | F12 |
+ * |--------+------+------+------+------+------| TFLIP| | TSET |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | Left | Down | Rght | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | SHRUG| | | & | | | | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |LClear| | | | | | | | | |LClear|
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | TOGL | | | | TOGL |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+ [SYMB] = KEYMAP(
+ // left hand
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, E_TFLIP,
+ _______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, E_TSET,
+ _______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV,
+ _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, E_SHRUG,
+ BEL_F1, _______, _______, _______, _______,
+ BEL_F0, _______,
+ _______,
+ _______, _______, _______,
+ // right hand
+ _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ _______, KC_UP, _______, KC_UP, _______, _______, KC_F12,
+ KC_DOWN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
+ _______, KC_AMPR, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, BEL_F1,
+ _______, BEL_F0,
+ _______,
+ _______, _______, _______
+ ),
+/* Keymap 2: Numpad Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | | | | | | | 7 | 8 | 9 | * | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | |------| |------| | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |LClear| | | | | | 0 | 0 | . | = |LClear|
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | TOGL | | | | TOGL |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+ [NUMP] = KEYMAP(
+ // left hand
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ BEL_F1, _______, _______, _______, _______,
+ BEL_F0, _______,
+ _______,
+ _______, _______, _______,
+ // right hand
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______,
+ _______, KC_4, KC_5, KC_6, KC_PLUS, _______,
+ _______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______,
+ KC_0, KC_0, KC_DOT, KC_EQL, BEL_F1,
+ _______, BEL_F0,
+ _______,
+ _______, _______, _______
+ ),
+/* Keymap 3: Swap control and gui on the thumb */
+ [SWPH] = KEYMAP(
+ // left hand
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______,
+ _______,
+ GUI_T(KC_BSPC), CTL_T(KC_DEL), _______,
+ // right hand
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______,
+ _______,
+ _______, CTL_T(KC_ENT), GUI_T(KC_SPC)
+ ),
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+ // If our magic word wasn't set properly, we need to zero out the settings.
+ if (eeprom_read_word(EECONFIG_BELAK) != EECONFIG_BELAK_MAGIC) {
+ eeprom_update_word(EECONFIG_BELAK, EECONFIG_BELAK_MAGIC);
+ eeprom_update_byte(EECONFIG_BELAK_SWAP_GUI_CTRL, 0);
+ }
+
+ if (eeprom_read_byte(EECONFIG_BELAK_SWAP_GUI_CTRL)) {
+ layer_on(SWPH);
+ swap_gui_ctrl = 1;
+ }
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+
+ switch (td_led_override) {
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // Layer 1 and 2 are both overlay layers, so they could both be on. This
+ // means we can't use the lazy check of checking for the first significant
+ // bit.
+ if (LAYER_ON(SYMB)) {
+ ergodox_right_led_1_on();
+ }
+ if (LAYER_ON(NUMP)) {
+ ergodox_right_led_2_on();
+ }
+ }
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case BEL_F0:
+ if(record->event.pressed){
+ swap_gui_ctrl = !swap_gui_ctrl;
+ eeprom_update_byte(EECONFIG_BELAK_SWAP_GUI_CTRL, swap_gui_ctrl);
+
+ if (swap_gui_ctrl) {
+ layer_on(SWPH);
+ } else {
+ layer_off(SWPH);
+ }
+
+ return false;
+ }
+ break;
+ case BEL_F1:
+ if(record->event.pressed){
+ layer_off(SYMB);
+ layer_off(NUMP);
+
+ return false;
+ }
+ break;
+ case E_SHRUG: // ¯\_(ツ)_/¯
+ if (record->event.pressed) {
+ process_unicode((0x00AF|QK_UNICODE), record); // Hand
+ tap(KC_BSLS); // Arm
+ register_code(KC_RSFT);
+ tap(KC_UNDS); // Arm
+ tap(KC_LPRN); // Head
+ unregister_code(KC_RSFT);
+ process_unicode((0x30C4|QK_UNICODE), record); // Face
+ register_code(KC_RSFT);
+ tap(KC_RPRN); // Head
+ tap(KC_UNDS); // Arm
+ unregister_code(KC_RSFT);
+ tap(KC_SLSH); // Arm
+ process_unicode((0x00AF|QK_UNICODE), record); // Hand
+ }
+ return false;
+ break;
+ case E_TFLIP: // (╯°□°)╯ ︵ ┻━┻
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ tap(KC_9);
+ unregister_code(KC_RSFT);
+ process_unicode((0x256F|QK_UNICODE), record); // Arm
+ process_unicode((0x00B0|QK_UNICODE), record); // Eye
+ process_unicode((0x25A1|QK_UNICODE), record); // Mouth
+ process_unicode((0x00B0|QK_UNICODE), record); // Eye
+ register_code(KC_RSFT);
+ tap(KC_0);
+ unregister_code(KC_RSFT);
+ process_unicode((0x256F|QK_UNICODE), record); // Arm
+ tap(KC_SPC);
+ process_unicode((0x0361|QK_UNICODE), record); // Flippy
+ tap(KC_SPC);
+ process_unicode((0x253B|QK_UNICODE), record); // Table
+ process_unicode((0x2501|QK_UNICODE), record); // Table
+ process_unicode((0x253B|QK_UNICODE), record); // Table
+ }
+ return false;
+ break;
+ case E_TSET: // ┬──┬ ノ( ゜-゜ノ)
+ if (record->event.pressed) {
+ process_unicode((0x252C|QK_UNICODE), record); // Table
+ process_unicode((0x2500|QK_UNICODE), record); // Table
+ process_unicode((0x2500|QK_UNICODE), record); // Table
+ process_unicode((0x252C|QK_UNICODE), record); // Table
+ tap(KC_SPC);
+ process_unicode((0x30CE|QK_UNICODE), record); // Arm
+ register_code(KC_RSFT);
+ tap(KC_9);
+ unregister_code(KC_RSFT);
+ tap(KC_SPC);
+ process_unicode((0x309C|QK_UNICODE), record); // Eye
+ tap(KC_MINS);
+ process_unicode((0x309C|QK_UNICODE), record); // Eye
+ process_unicode((0x30CE|QK_UNICODE), record); // Arm
+ register_code(KC_RSFT);
+ tap(KC_0);
+ unregister_code(KC_RSFT);
+ }
+ return false;
+ break;
+ }
+
+ return true;
+}
+
+void belak_td_each(qk_tap_dance_state_t *state, void *user_data) {
+ switch (state->count) {
+ case 1:
+ td_led_override = 1;
+ break;
+ case 2:
+ td_led_override = 2;
+ break;
+ default:
+ reset_tap_dance(state);
+ }
+}
+
+void belak_td_finished(qk_tap_dance_state_t *state, void *user_data) {
+ switch (state->count) {
+ case 1:
+ layer_on(SYMB);
+ break;
+ case 2:
+ layer_on(NUMP);
+ break;
+ }
+ td_led_override = 0;
+}
+
+void belak_td_reset(qk_tap_dance_state_t *state, void *user_data) {
+ td_led_override = 0;
+}
diff --git a/keyboards/ergodox/keymaps/belak/visualizer.c b/keyboards/ergodox/keymaps/belak/visualizer.c
new file mode 100644
index 000000000..b92890a66
--- /dev/null
+++ b/keyboards/ergodox/keymaps/belak/visualizer.c
@@ -0,0 +1,49 @@
+/*
+Copyright 2017 Fred Sundvik
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+// Currently we are assuming that both the backlight and LCD are enabled
+// But it's entirely possible to write a custom visualizer that use only
+// one of them
+#ifndef LCD_BACKLIGHT_ENABLE
+#error This visualizer needs that LCD backlight is enabled
+#endif
+
+#ifndef LCD_ENABLE
+#error This visualizer needs that LCD is enabled
+#endif
+
+#include "simple_visualizer.h"
+
+static void get_visualizer_layer_and_color(visualizer_state_t* state) {
+ uint8_t saturation = 60;
+ if (state->status.leds & (1u << USB_LED_CAPS_LOCK)) {
+ saturation = 255;
+ }
+
+ if (state->status.layer & 0x4) {
+ state->target_lcd_color = LCD_COLOR(0, saturation, 0xFF);
+ state->layer_text = "Media";
+ }
+ else if (state->status.layer & 0x2) {
+ state->target_lcd_color = LCD_COLOR(168, saturation, 0xFF);
+ state->layer_text = "Symbols";
+ }
+ else {
+ state->target_lcd_color = LCD_COLOR(84, saturation, 0xFF);
+ state->layer_text = "Base";
+ }
+}
diff --git a/keyboards/ergodox/keymaps/bepo/bepo.png b/keyboards/ergodox/keymaps/bepo/bepo.png
deleted file mode 100644
index 54992f5ae..000000000
--- a/keyboards/ergodox/keymaps/bepo/bepo.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/bepo/readme.md b/keyboards/ergodox/keymaps/bepo/readme.md
index 2959ac829..14a1d2219 100644
--- a/keyboards/ergodox/keymaps/bepo/readme.md
+++ b/keyboards/ergodox/keymaps/bepo/readme.md
@@ -1,3 +1,5 @@
+![bepo.png](https://i.imgur.com/TnO8ApW.png)
+
# BEPO keymap for the ErgoDox
This keymap has been made for the BEPO layout (http://bepo.fr), which is an ergonomic french keyboard layout based on Dvorak rules. As it's made for french people, the following of this readme will be in french.
diff --git a/keyboards/ergodox/keymaps/colemak_osx_pc_no/keyboard-layout.png b/keyboards/ergodox/keymaps/colemak_osx_pc_no/keyboard-layout.png
deleted file mode 100644
index 57df5a1f9..000000000
--- a/keyboards/ergodox/keymaps/colemak_osx_pc_no/keyboard-layout.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/colemak_osx_pc_no/readme.md b/keyboards/ergodox/keymaps/colemak_osx_pc_no/readme.md
index 48f095cae..b28483f39 100644
--- a/keyboards/ergodox/keymaps/colemak_osx_pc_no/readme.md
+++ b/keyboards/ergodox/keymaps/colemak_osx_pc_no/readme.md
@@ -20,4 +20,4 @@ Tap for the next character to be shifted, hold down for regular shift functional
## Layout
-![keyboard-layout](keyboard-layout.png)
+![keyboard-layout](https://i.imgur.com/168aGmR.png)
diff --git a/keyboards/ergodox/keymaps/colemak_programmer/colemak_programmer_001.jpg b/keyboards/ergodox/keymaps/colemak_programmer/colemak_programmer_001.jpg
deleted file mode 100644
index de24d9373..000000000
--- a/keyboards/ergodox/keymaps/colemak_programmer/colemak_programmer_001.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/colemak_programmer/colemak_programmer_002.jpg b/keyboards/ergodox/keymaps/colemak_programmer/colemak_programmer_002.jpg
deleted file mode 100644
index 15f8ec8c4..000000000
--- a/keyboards/ergodox/keymaps/colemak_programmer/colemak_programmer_002.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/colemak_programmer/readme.md b/keyboards/ergodox/keymaps/colemak_programmer/readme.md
index db0cc5777..a1544dcc5 100644
--- a/keyboards/ergodox/keymaps/colemak_programmer/readme.md
+++ b/keyboards/ergodox/keymaps/colemak_programmer/readme.md
@@ -19,5 +19,5 @@ I came to this layout after several iterations. It is not the ultimate best ergo
Alternatively view the [graphical creator version](http://configure.ergodox-ez.com/keyboard_layouts/kmevwm/edit) but beware it is not the same due to the creator limitations.
-![Default](colemak_programmer_001.jpg)
-![Default](colemak_programmer_002.jpg) \ No newline at end of file
+![Default](https://i.imgur.com/BCJEoKw.jpg)
+![Default](https://i.imgur.com/0P1jBph.jpg) \ No newline at end of file
diff --git a/keyboards/ergodox/keymaps/csharp_dev/csharp_dev.png b/keyboards/ergodox/keymaps/csharp_dev/csharp_dev.png
deleted file mode 100644
index 6fba568fc..000000000
--- a/keyboards/ergodox/keymaps/csharp_dev/csharp_dev.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/csharp_dev/csharp_dev_legend.png b/keyboards/ergodox/keymaps/csharp_dev/csharp_dev_legend.png
deleted file mode 100644
index b0a1c513c..000000000
--- a/keyboards/ergodox/keymaps/csharp_dev/csharp_dev_legend.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/csharp_dev/readme.md b/keyboards/ergodox/keymaps/csharp_dev/readme.md
index 96af077ad..980480d62 100644
--- a/keyboards/ergodox/keymaps/csharp_dev/readme.md
+++ b/keyboards/ergodox/keymaps/csharp_dev/readme.md
@@ -16,7 +16,8 @@ The biggest flaw in standard QWERTY keyboards was that I always needed to perfor
Then I came across the ErgoDox EZ project, that allowed a full customization of its firmware, and a unique 2 parts design.
-![CSharpDev](csharp_dev_legend.png)
+![CSharpDev](https://i.imgur.com/PkNqi7V.png)
+![CSharpDev](https://i.imgur.com/0IcMgMf.png)
## Layout design principles
* No key combination required for the most common input characters ( (),[],{},<> ... )
diff --git a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-base-layout.png b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-base-layout.png
deleted file mode 100644
index 273a49778..000000000
--- a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-base-layout.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-1-symbols.png b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-1-symbols.png
deleted file mode 100644
index 5adb7ac77..000000000
--- a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-1-symbols.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-2-media-and-mouse.png b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-2-media-and-mouse.png
deleted file mode 100644
index 5930e38ac..000000000
--- a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-2-media-and-mouse.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-unicode.png b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-unicode.png
deleted file mode 100644
index 0c6473abb..000000000
--- a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-unicode.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-4-unicode-2.png b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-4-unicode-2.png
deleted file mode 100644
index 4488e1b37..000000000
--- a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-4-unicode-2.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/deadcyclo/readme.md b/keyboards/ergodox/keymaps/deadcyclo/readme.md
index c839f99c9..6ae5299d8 100644
--- a/keyboards/ergodox/keymaps/deadcyclo/readme.md
+++ b/keyboards/ergodox/keymaps/deadcyclo/readme.md
@@ -13,7 +13,7 @@ All layer images created using [keyboard-layout-editor](http://www.keyboard-layo
## Base layer
-[![Base layer](images/deadcyclo-base-layout.png)](http://www.keyboard-layout-editor.com/#/gists/0321b18620180a3e46c498206eb65366)
+[![Base layer](https://i.imgur.com/PGhP2jZ.png)](http://www.keyboard-layout-editor.com/#/gists/0321b18620180a3e46c498206eb65366)
The base layer here is marked with the us international alt-gr layout,
including characters bound to what on an iso keyboard would be alt-gr
@@ -34,7 +34,7 @@ type in the unicode hex value, and hit enter.
## Layer 1 - Symbols and RGB
-[![Layer 1 - Symbols and RGB](images/deadcyclo-layer-1-symbols.png)](http://www.keyboard-layout-editor.com/#/gists/96714e198054c9115bafb5267cc6bc73)
+[![Layer 1 - Symbols and RGB](https://i.imgur.com/SfkkU5D.png)](http://www.keyboard-layout-editor.com/#/gists/96714e198054c9115bafb5267cc6bc73)
The Symbols and RGB layer contains function keys, commonly used
symbols, a numpad and if you have the new Ergodox Ez shine keys for
@@ -43,7 +43,7 @@ and a down key for easy scrolling. RGB controller keys are yellow.
## Layer 2 - Media, Mouse and Navigation
-[![Layer 2 - Media, Mouse and Navigation](images/deadcyclo-layer-2-media-and-mouse.png)](http://www.keyboard-layout-editor.com/#/gists/824759486e378bcec30784309a7e5731)
+[![Layer 2 - Media, Mouse and Navigation](https://i.imgur.com/UwPHjCO.png)](http://www.keyboard-layout-editor.com/#/gists/824759486e378bcec30784309a7e5731)
The Media, Mouse and unicode layer contains special keys for moving
the mouse and clicking on it with the keyboard. In addition it
@@ -51,13 +51,13 @@ provides standard media control keys, and default arrow keys.
## Layer 3 - Unicode
-[![Layer 3 - Unicode](images/deadcyclo-layer-3-unicode.png)](http://www.keyboard-layout-editor.com/#/gists/67d9613dcd873c68693d11863d0fd289)
+[![Layer 3 - Unicode](https://i.imgur.com/HRkeY8j.png)](http://www.keyboard-layout-editor.com/#/gists/67d9613dcd873c68693d11863d0fd289)
The unicode layer provides keys for directly typing unicode (utf-8)
## Layer 4 - Unicode 2
-[![Layer 43 - Unicode](images/deadcyclo-layer-4-unicode-2.png)](http://www.keyboard-layout-editor.com/#/gists/7b2241110ab8311d9668a0798f3baf4a)
+[![Layer 43 - Unicode](https://i.imgur.com/dyB459q.png)](http://www.keyboard-layout-editor.com/#/gists/7b2241110ab8311d9668a0798f3baf4a)
The unicode 2 layer provides keys for directly typing unicode (utf-8)
diff --git a/keyboards/ergodox/keymaps/default/default.png b/keyboards/ergodox/keymaps/default/default.png
deleted file mode 100644
index 6575f7b5e..000000000
--- a/keyboards/ergodox/keymaps/default/default.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/default/default.png.md b/keyboards/ergodox/keymaps/default/default.png.md
new file mode 100644
index 000000000..744e7d172
--- /dev/null
+++ b/keyboards/ergodox/keymaps/default/default.png.md
@@ -0,0 +1 @@
+https://i.imgur.com/fKX0Zbs.png
diff --git a/keyboards/ergodox/keymaps/default/default_firmware_v1.2-2.png b/keyboards/ergodox/keymaps/default/default_firmware_v1.2-2.png
deleted file mode 100644
index e3c321cc0..000000000
--- a/keyboards/ergodox/keymaps/default/default_firmware_v1.2-2.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/default/default_highres.png b/keyboards/ergodox/keymaps/default/default_highres.png
deleted file mode 100644
index 7d9f045f4..000000000
--- a/keyboards/ergodox/keymaps/default/default_highres.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/default/default_highres.png.md b/keyboards/ergodox/keymaps/default/default_highres.png.md
new file mode 100644
index 000000000..074e0634d
--- /dev/null
+++ b/keyboards/ergodox/keymaps/default/default_highres.png.md
@@ -0,0 +1 @@
+https://i.imgur.com/giAc3M9.jpg
diff --git a/keyboards/ergodox/keymaps/default/readme.md b/keyboards/ergodox/keymaps/default/readme.md
index 979ce0f5b..1150a4f70 100644
--- a/keyboards/ergodox/keymaps/default/readme.md
+++ b/keyboards/ergodox/keymaps/default/readme.md
@@ -12,4 +12,4 @@
This is what we ship with out of the factory. :) The image says it all:
-![Default](default_firmware_v1.2-2.png)
+![Default](https://i.imgur.com/Be53jH7.png) \ No newline at end of file
diff --git a/keyboards/ergodox/keymaps/default_osx/default_osx_highres.png b/keyboards/ergodox/keymaps/default_osx/default_osx_highres.png
deleted file mode 100644
index 04f46bbd5..000000000
--- a/keyboards/ergodox/keymaps/default_osx/default_osx_highres.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/default_osx/readme.md b/keyboards/ergodox/keymaps/default_osx/readme.md
index aa749aac9..28ca0339b 100644
--- a/keyboards/ergodox/keymaps/default_osx/readme.md
+++ b/keyboards/ergodox/keymaps/default_osx/readme.md
@@ -5,4 +5,4 @@ So, I took the default firmware and just made a couple of tweaks that make it ea
1. The Cmd key is now on the right side, making Cmd+Space easier.
2. The media keys work on OSX (But not on Windows).
-![default osx](default_osx_highres.png)
+![default osx](https://i.imgur.com/z0aqFDq.png)
diff --git a/keyboards/ergodox/keymaps/dvorak/dvorak.png b/keyboards/ergodox/keymaps/dvorak/dvorak.png
deleted file mode 100644
index cb8316309..000000000
--- a/keyboards/ergodox/keymaps/dvorak/dvorak.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/dvorak/dvorak.png.md b/keyboards/ergodox/keymaps/dvorak/dvorak.png.md
new file mode 100644
index 000000000..002215001
--- /dev/null
+++ b/keyboards/ergodox/keymaps/dvorak/dvorak.png.md
@@ -0,0 +1 @@
+https://i.imgur.com/zLx5fus.png
diff --git a/keyboards/ergodox/keymaps/dvorak_intl_squisher/keyboard-layout0.png b/keyboards/ergodox/keymaps/dvorak_intl_squisher/keyboard-layout0.png
deleted file mode 100644
index 6a36f9bfa..000000000
--- a/keyboards/ergodox/keymaps/dvorak_intl_squisher/keyboard-layout0.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/dvorak_intl_squisher/keyboard-layout1.png b/keyboards/ergodox/keymaps/dvorak_intl_squisher/keyboard-layout1.png
deleted file mode 100644
index c6e6d913c..000000000
--- a/keyboards/ergodox/keymaps/dvorak_intl_squisher/keyboard-layout1.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/dvorak_intl_squisher/keyboard-layout2.png b/keyboards/ergodox/keymaps/dvorak_intl_squisher/keyboard-layout2.png
deleted file mode 100644
index 23f56ff4c..000000000
--- a/keyboards/ergodox/keymaps/dvorak_intl_squisher/keyboard-layout2.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/dvorak_intl_squisher/readme.md b/keyboards/ergodox/keymaps/dvorak_intl_squisher/readme.md
index 984106ff4..7a48bf524 100644
--- a/keyboards/ergodox/keymaps/dvorak_intl_squisher/readme.md
+++ b/keyboards/ergodox/keymaps/dvorak_intl_squisher/readme.md
@@ -19,9 +19,9 @@ Known issues:
* Alt+Shift does not work reliably (depends on the X11 kb layout? Not
entirely clear...)
-![layer0](keyboard-layout0.png)
-![layer1](keyboard-layout1.png)
-![layer2](keyboard-layout2.png)
+![layer0](https://i.imgur.com/AL70X44.png)
+![layer1](https://i.imgur.com/k1DcUdt.png)
+![layer2](https://i.imgur.com/nK80mKf.png)
## Changelog
diff --git a/keyboards/ergodox/keymaps/dvorak_programmer/Makefile b/keyboards/ergodox/keymaps/dvorak_programmer/Makefile
index 91b1ae597..44d702209 100644
--- a/keyboards/ergodox/keymaps/dvorak_programmer/Makefile
+++ b/keyboards/ergodox/keymaps/dvorak_programmer/Makefile
@@ -1,7 +1,7 @@
BOOTMAGIC_ENABLE=no
COMMAND_ENABLE=no
SLEEP_LED_ENABLE=no
-FORCE_NKRO ?= yes
+FORCE_NKRO = yes
DEBUG_ENABLE = no
CONSOLE_ENABLE = no
TAP_DANCE_ENABLE = no
diff --git a/keyboards/ergodox/keymaps/emacs_osx_dk/default_highres.png b/keyboards/ergodox/keymaps/emacs_osx_dk/default_highres.png
deleted file mode 100644
index 1d2583740..000000000
--- a/keyboards/ergodox/keymaps/emacs_osx_dk/default_highres.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/emacs_osx_dk/readme.md b/keyboards/ergodox/keymaps/emacs_osx_dk/readme.md
index 4839988d9..bd12c7d9a 100644
--- a/keyboards/ergodox/keymaps/emacs_osx_dk/readme.md
+++ b/keyboards/ergodox/keymaps/emacs_osx_dk/readme.md
@@ -7,4 +7,4 @@ Gui button takes a predominant place on the thumb cluster, as I'm using a mac os
Finally there is also two Right Alts to easily access to accented letters of the spanish alphabet.
-![Default](default_highres.png)
+![Default](https://i.imgur.com/EDgp9xj.png)
diff --git a/keyboards/ergodox/keymaps/erez_experimental/Makefile b/keyboards/ergodox/keymaps/erez_experimental/Makefile
index 51a0c74c5..b673c5ce5 100644
--- a/keyboards/ergodox/keymaps/erez_experimental/Makefile
+++ b/keyboards/ergodox/keymaps/erez_experimental/Makefile
@@ -3,8 +3,6 @@
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
COMMAND_ENABLE = no # Commands for debug and configuration
-RGBLIGHT_ENABLE ?= yes
-MIDI_ENABLE ?= yes
ifndef QUANTUM_DIR
include ../../../../Makefile
diff --git a/keyboards/ergodox/keymaps/familiar/Makefile b/keyboards/ergodox/keymaps/familiar/Makefile
new file mode 100644
index 000000000..31e0fcf29
--- /dev/null
+++ b/keyboards/ergodox/keymaps/familiar/Makefile
@@ -0,0 +1 @@
+TAP_DANCE_ENABLE=yes
diff --git a/keyboards/ergodox/keymaps/familiar/README.md b/keyboards/ergodox/keymaps/familiar/README.md
index e4336d9b5..536179337 100644
--- a/keyboards/ergodox/keymaps/familiar/README.md
+++ b/keyboards/ergodox/keymaps/familiar/README.md
@@ -1,5 +1,5 @@
# ErgoDox Familiar Layout
-Familiar layout for those who regularly switch back and forth from ErgoDox to regular QWERTY.
+Familiar layout for those who regularly switch back and forth from ErgoDox to "normal" QWERTY.
[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](../../../../license_GPLv3.md../../../../license_GPLv3.md) [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme)
@@ -23,12 +23,12 @@ Key features of the familiar layout:
1. QWERTY default layout.
1. International symbols layer, mapped in the US-International layout default positions, through [UCIS](https://github.com/qmk/qmk_firmware/wiki/Unicode-and-additional-language-support#ucis_enable).
1. Numpad layer on right hand.
-1. Thumb cluster holds spacebar, ALT, and access to secondary layers.
+1. Thumb cluster holds spacebar and access to secondary layers.
1. Function-layer arrow keys in both the first-person-shooter (actually ESDF instead of WASD) and vim (HJKL) locations.
## Install
-If you are on Windows or Mac, choose the proper line in [`keymap.c`](keymap.c) for [unicode/international character support](https://github.com/qmk/qmk_firmware/wiki/Unicode-and-additional-language-support#ucis_enable) (starts at line 235).
+If you are on Windows or Mac, choose the proper line in [`keymap.c`](keymap.c) for [unicode/international character support](https://github.com/qmk/qmk_firmware/wiki/Unicode-and-additional-language-support#ucis_enable) (starts at line 253).
```c
void matrix_init_user(void) {
set_unicode_input_mode(UC_LNX); // Linux
@@ -45,13 +45,13 @@ $ make ergodox-ez-familiar-teensy
## Usage
-[![Familiar Layout](familiar.png)](http://www.keyboard-layout-editor.com/#/gists/13508a9f99cff381d58b7be6f7dcc644)
+[![Familiar Layout](http://i.imgur.com/6nLN9UT.png)](https://gist.github.com/nstickney/13508a9f99cff381d58b7be6f7dcc644)
### Layers
1. Base Layer: QWERTY, with arrow keys at bottom right.
-1. UCIS Layer: US-International symbols layer, plus —. Accessed by toggling the `INTL` layer using the UCIS key (bottom of left thumb cluster).
-1. UCIS-Shifted Layer: Making shift work for UCIS characters. An ugly workaround. Any ideas? Accessed through holding shift while the UCIS layer is active (toggles the `INSF` layer).
-1. Numpad Layer: Right hand number pad. Accessed by toggling the `NUMP` layer using the NPAD key (bottom of right thumb cluster).
+1. UCIS Layer: US-International symbols layer, plus —. Accessed by toggling the `SYMB` layer using the UCIS key (bottom of left thumb cluster).
+1. UCIS-Shifted Layer: Making shift work for UCIS characters. An ugly workaround. Any ideas? Accessed by holding shift while the `SYMB` layer is active (toggles the `CSYM` layer).
+1. Numpad Layer: Right hand number pad. Accessed by toggling the `NUMP` layer using the NUMP key (bottom of right thumb cluster).
1. Function Layer: F1-F12, arrows on ESDF and HJKL, media player controls. Accessed by holding either FN key (center key of each thumb cluster), which toggles the `ARRW` layer. I know, I need to work on my naming conventions.
## Contribute
@@ -61,9 +61,9 @@ $ make ergodox-ez-familiar-teensy
I'm terrible at this; I have no background in human-computer interaction, kinesiology, or keyboard-ology. Please send comments/issues/pull requests/angry tweets/etc. If you think there is a better way to take advantage of the ErgoDox/QMK comination without straying far from 84/101-key QWERTY, I want to know it.
### Issues
-1. The top two keys of the right thumb cluster are currently unused. I wanted them for screen brightness, but I haven't found a solution I like.
-1. The `'`, `"`, `[`, and `]` keys are terrible to access; I want to put them somewhere else but I haven't figured out where.
-1. The `INSF` layer is an ugly workaround. I should write a function for doing different things in the `INTL` layer depending on whether SHIFT is being held. Or something. Ideas?
+1. The `CSYM` layer is an ugly workaround. I should write a function for doing different things in the `SYMB` layer depending on whether SHIFT is being held. Or something. Ideas?
+1. Right now, the thumb cluster function keys double as slash and whack... this really isnt a great solution.
+1. `MENU` and `LEAD` are useless, at the moment.
## License
QMK is licensed ([mostly](https://github.com/qmk/qmk_firmware/issues/1038)) under the [GPLv2](blob/master/license_GPLv2.md). Accordingly, to whatever extent applicable, this keymap is licensed under the [GPLv3](../../../../license_GPLv3.md).
diff --git a/keyboards/ergodox/keymaps/familiar/familiar.png b/keyboards/ergodox/keymaps/familiar/familiar.png
deleted file mode 100644
index f8b50e75e..000000000
--- a/keyboards/ergodox/keymaps/familiar/familiar.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/familiar/keymap.c b/keyboards/ergodox/keymaps/familiar/keymap.c
index c5f94afda..c0334615b 100644
--- a/keyboards/ergodox/keymaps/familiar/keymap.c
+++ b/keyboards/ergodox/keymaps/familiar/keymap.c
@@ -5,8 +5,8 @@
// Layers
#define BASE 0 // default layer
-#define INTL 1 // international symbols
-#define INSF 2 // international symbols shifted
+#define SYMB 1 // international symbols
+#define CSYM 2 // international symbols shifted
#define NUMP 3 // numpad
#define ARRW 4 // function, media, arrow keys
@@ -14,63 +14,81 @@
#define _______ KC_TRNS
#define XXXXXXX KC_NO
+// Tap Dancing
+void dance_lock (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) { // Press once for NUMLOCK
+ register_code (KC_NLCK);
+ unregister_code (KC_NLCK);
+ } else if (state->count == 2) { // Press twice for CAPSLOCK
+ register_code (KC_CAPS);
+ unregister_code (KC_CAPS);
+ } else if (state->count == 3) { //Press thrice for SCROLLLOCK
+ register_code (KC_SLCK);
+ unregister_code (KC_SLCK);
+ }
+}
+enum {LOCKS = 0};
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [LOCKS] = ACTION_TAP_DANCE_FN(dance_lock)
+};
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
// Otherwise, it needs KC_*
/* layer 0 : default
*
* ,--------------------------------------------------. ,--------------------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | - | = | BCKSPC |
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | - | = | BCKSPC |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | TAB | Q | W | E | R | T | HOME | | PGUP | Y | U | I | O | P | DELETE |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | ` | A | S | D | F | G |------| |------| H | J | K | L | ; | ENTER |
+ * | ' | A | S | D | F | G |------| |------| H | J | K | L | ; | ENTER |
* |--------+------+------+------+------+------| END | | PGDN |------+------+------+------+------+--------|
* | (/LSFT | Z | X | C | V | B | | | | N | M | , | . | UP | )/RSFT |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | LCTRL | LGUI | MENU | ' | " | | [ | ] | LEFT | DOWN | RIGHT |
+ * | LCTRL | LGUI | MENU | LEAD | LALT | |[/RALT|]/RCTL| LEFT | DOWN | RIGHT |
* `------------------------------------' `------------------------------------'
* ,-------------. ,-------------.
- * | VOL- | VOL+ | | | |
+ * |PRTSCR| ESC | | VOL- | VOL+ |
* ,------|------|------| |------+------+------.
- * | SPC/ |SLASH/| MUTE | |NUMLCK|WHACK/| SPC/ |
- * | ALT | MO(1)|------| |------|MO(1) | ALT |
- * | | | LAY3 | | LAY2 | | |
+ * | |SLASH/| LOCKS| | MUTE |WHACK/| |
+ * | SPC | MO(4)|------| |------|MO(4) | SPC |
+ * | | | TO(1)| |TO(3) | | |
* `--------------------' `--------------------'
*/
[BASE] = KEYMAP(
// left hand
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_HOME,
- KC_GRV, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_QUOT, KC_A, KC_S, KC_D, KC_F, KC_G,
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END,
- KC_LCTL, KC_LGUI, KC_MENU, KC_QUOT, S(KC_QUOT),
- KC_VOLD, KC_VOLU,
- KC_MUTE,
- ALT_T(KC_SPC), LT(ARRW,KC_SLSH), TG(INTL),
+ KC_LCTL, KC_LGUI, KC_MENU, KC_LEAD, KC_LALT,
+ KC_PSCR, KC_ESC,
+ TD(LOCKS),
+ KC_SPC, LT(ARRW, KC_SLSH), TG(SYMB),
// right hand
KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
KC_PGUP, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENTER,
KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSPC,
- KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_RGHT,
- _______, _______,
- KC_NLCK,
- TG(NUMP), LT(ARRW,KC_BSLS), ALT_T(KC_SPC)
+ MT(MOD_RALT, KC_LBRC), MT(MOD_RCTL, KC_RBRC), KC_LEFT, KC_DOWN, KC_RGHT,
+ KC_VOLD, KC_VOLU,
+ KC_MUTE,
+ TG(NUMP), LT(ARRW, KC_BSLS), KC_SPC
),
/* layer 1: International symbols, etc
*
* ,--------------------------------------------------. ,--------------------------------------------------.
- * | ´ | ¡ | ² | ³ | ¤ | € | ¼ | | ½ | ¾ | ‘ | ’ | ¥ | × | |
+ * | | ¡ | ² | ³ | ¤ | € | ¼ | | ½ | ¾ | ‘ | ’ | ¥ | × | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | ä | å | é | ® | þ | | | | ü | ú | í | ó | ö | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | á | ß | ð | | |------| |------| | | | ø | ¶ | |
+ * | ´ | á | ß | ð | | |------| |------| | | | ø | ¶ | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * |MO(INSF)| æ | | © | | | | | | ñ | µ | ç | | |MO(INSF)|
+ * |MO(CSYM)| æ | ¿ | © | ¬ | | | | | ñ | µ | ç | | |MO(CSYM)|
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | ¬ | ¿ | | « | » | | | |
+ * | | | | | | | « | » | | | |
* `------------------------------------' `------------------------------------'
* ,-------------. ,-------------.
* | | | | | |
@@ -80,13 +98,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | |
* `--------------------' `--------------------'
*/
-[INTL] = KEYMAP(
+[SYMB] = KEYMAP(
// left hand
- UC(0x00B4), UC(0x00A1), UC(0x00B2), UC(0x00B3), UC(0x00A4), UC(0x20AC), UC(0x00BC),
+ _______, UC(0x00A1), UC(0x00B2), UC(0x00B3), UC(0x00A4), UC(0x20AC), UC(0x00BC),
_______, UC(0x00E4), UC(0x00E5), UC(0x00E9), UC(0x00AE), UC(0x00FE), _______,
- _______, UC(0x00E1), UC(0x00DF), UC(0x00F0), _______, _______,
- MO(INSF), UC(0x00E6), _______, UC(0x00A9), _______, _______, _______,
- _______, _______, _______, UC(0x00AC), UC(0x00BF),
+ UC(0x00B4), UC(0x00E1), UC(0x00DF), UC(0x00F0), _______, _______,
+ MO(CSYM), UC(0x00E6), UC(0x00BF), _______, UC(0x00AC), UC(0x00A9), _______,
+ _______, _______, _______, _______, _______,
_______, _______,
_______,
_______, _______, _______,
@@ -94,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
UC(0x00BD), UC(0x00BE), UC(0x2018), UC(0x2019), UC(0x00A5), UC(0x00D7), _______,
_______, UC(0x00FC), UC(0x00FA), UC(0x00ED), UC(0x00F3), UC(0x00F6), _______,
_______, _______, _______, UC(0x00F8), UC(0x00B6), _______,
- _______, UC(0x00F1), UC(0x00B5), UC(0x00E7), _______, _______, MO(INSF),
+ _______, UC(0x00F1), UC(0x00B5), UC(0x00E7), _______, _______, MO(CSYM),
UC(0x00AB), UC(0x00BB), _______, _______, _______,
_______, _______,
_______,
@@ -106,15 +124,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* which don't produce an "upper case" or "shifted" international symobol.
*
* ,--------------------------------------------------. ,--------------------------------------------------.
- * | ¨ | ¹ | | | £ | | | | | | | | — | ÷ | |
+ * | | ¹ | | | £ | | | | | | | | — | ÷ | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | Ä | Å | É | | Þ | | | | Ü | Ú | Í | Ó | Ö | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | Á | § | Ð | | |------| |------| | | | Ø | ° | |
+ * | ¨ | Á | § | Ð | | |------| |------| | | | Ø | ° | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | Æ | | ¢ | | | | | | Ñ | | Ç | | | |
+ * | | Æ | | ¢ | ¦ | | | | | Ñ | | Ç | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | ¦ | | | | | | | |
+ * | | | | | | | “ | ” | | | |
* `------------------------------------' `------------------------------------'
* ,-------------. ,-------------.
* | | | | | |
@@ -124,13 +142,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | |
* `--------------------' `--------------------'
*/
-[INSF] = KEYMAP(
+[CSYM] = KEYMAP(
// left hand
- UC(0x00A8), UC(0x00B9), _______, _______, UC(0x00A3), _______, _______,
- _______, UC(0x00C4), UC(0x00C5), UC(0x00C9), _______, UC(0x00DE), _______,
- _______, UC(0x00C1), UC(0x00A7), UC(0x00D0), S(KC_F), S(KC_G),
- _______, UC(0x00C6), S(KC_X), UC(0x00A2), S(KC_V), S(KC_B), _______,
- _______, _______, _______, UC(0x00A6), _______,
+ _______, UC(0x00B9), _______, _______, UC(0x00A3), _______, _______,
+ _______, UC(0x00C4), UC(0x00C5), UC(0x00C9), S(KC_R), UC(0x00DE), _______,
+ UC(0x00A8), UC(0x00C1), UC(0x00A7), UC(0x00D0), S(KC_F), S(KC_G),
+ _______, UC(0x00C6), UC(0x00A6), UC(0x00A2), S(KC_V), S(KC_B), _______,
+ _______, _______, _______, _______, _______,
_______, _______,
_______,
_______, _______, _______,
@@ -139,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, UC(0x00DC), UC(0x00DA), UC(0x00CD), UC(0x00D3), UC(0x00D6), _______,
S(KC_H), S(KC_J), S(KC_K), UC(0x00D8), UC(0x00B0), _______,
_______, UC(0x00D1), _______, UC(0x00C7), S(KC_DOT), _______, _______,
- _______, _______, _______, _______, _______,
+ UC(0x201C), UC(0x201D), _______, _______, _______,
_______, _______,
_______,
_______, _______, _______
@@ -156,7 +174,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | | | | | | 1 | 2 | 3 | = | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | 0 | . | , | ENTER| |
+ * | | | | | | |0/RALT|./RCTL| , | ENTER| |
* `------------------------------------' `------------------------------------'
* ,-------------. ,-------------.
* | | | | | |
@@ -181,7 +199,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______,
_______, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______,
_______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PEQL, _______,
- KC_KP_0, KC_KP_DOT, KC_PCMM, KC_PENT, _______,
+ MT(MOD_RALT, KC_KP_0), MT(MOD_RCTL, KC_KP_DOT),KC_PCMM, KC_PENT, _______,
_______, _______,
_______,
_______, _______, _______
@@ -191,20 +209,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* This layer is at the top so that the functions still work no matter what layers are active.
*
* ,--------------------------------------------------. ,--------------------------------------------------.
- * | ESCAPE | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | SYSREQ |
+ * | ESCAPE | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | | UP | | | | | | | | | | | INSERT |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * |CAPSLOCK| | LEFT | DOWN |RIGHT | |------| |------| LEFT | DOWN | UP | RIGHT| | |
+ * | | | LEFT | DOWN |RIGHT | |------| |------| LEFT | DOWN | UP | RIGHT| | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | |M_PREV|M_STOP|M_PLPS|M_NEXT| | | | | | | | | PGUP | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | | | | | | HOME | PGDN | END |
* `------------------------------------' `------------------------------------'
* ,-------------. ,-------------.
- * | | PAUSE| | | |
+ * | SYSRQ| PAUSE| | | |
* ,------|------|------| |------+------+------.
- * | | | | |SCRLK | | |
+ * | | | | | | | |
* | | |------| |------| | |
* | | | | | | | |
* `--------------------' `--------------------'
@@ -213,20 +231,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// left hand
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
_______, _______, _______, KC_UP, _______, _______, _______,
- KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______,
- _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______,
+ _______, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______,
_______, _______, _______, _______, _______,
- _______, KC_PAUSE,
+ KC_SYSREQ, KC_PAUSE,
_______,
_______, _______, _______,
// right hand
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_SYSREQ,
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
_______, _______, _______, _______, _______, _______, KC_INS,
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
_______, _______, _______, _______, _______, KC_PGUP, _______,
_______, _______, KC_HOME, KC_PGDN, KC_END,
_______, _______,
- KC_SLCK,
+ _______,
_______, _______, _______
),
};
@@ -249,8 +267,8 @@ void matrix_scan_user(void) {
ergodox_right_led_2_off();
ergodox_right_led_3_off();
switch (layer) {
- case INTL:
- case INSF:
+ case SYMB:
+ case CSYM:
ergodox_right_led_1_on();
break;
case NUMP:
diff --git a/keyboards/ergodox/keymaps/german-kinergo/layout-code.png b/keyboards/ergodox/keymaps/german-kinergo/layout-code.png
deleted file mode 100644
index a0ef551e1..000000000
--- a/keyboards/ergodox/keymaps/german-kinergo/layout-code.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/german-kinergo/layout-media.png b/keyboards/ergodox/keymaps/german-kinergo/layout-media.png
deleted file mode 100644
index 56aea1dca..000000000
--- a/keyboards/ergodox/keymaps/german-kinergo/layout-media.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/german-kinergo/layout.png b/keyboards/ergodox/keymaps/german-kinergo/layout.png
deleted file mode 100644
index 76a1aa5d7..000000000
--- a/keyboards/ergodox/keymaps/german-kinergo/layout.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/german-kinergo/readme.md b/keyboards/ergodox/keymaps/german-kinergo/readme.md
index beb74cf75..addead0c1 100644
--- a/keyboards/ergodox/keymaps/german-kinergo/readme.md
+++ b/keyboards/ergodox/keymaps/german-kinergo/readme.md
@@ -21,15 +21,15 @@ Modifications I made with regard to the aforementioned layouts:
## Default Layer
-![Layout of the default layer](layout.png "Layout of the default layer")
+![Layout of the default layer](https://i.imgur.com/BIn8QF8.png "Layout of the default layer")
## Code Layer
-![Layout of the code layer](layout-code.png "Layout of the code layer")
+![Layout of the code layer](https://i.imgur.com/RHZjBlt.png "Layout of the code layer")
## Media Layer
-![Layout of the media layer](layout-media.png "Layout of the media layer")
+![Layout of the media layer](https://i.imgur.com/qRMmrL4.png "Layout of the media layer")
Christoph Schmitz &lt;schm4704 at web dot de&gt;
2016-01-28
diff --git a/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-enL.png b/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-enL.png
deleted file mode 100755
index e6aec35bf..000000000
--- a/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-enL.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-jpL.png b/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-jpL.png
deleted file mode 100755
index 69a1f6948..000000000
--- a/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-jpL.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-numL.png b/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-numL.png
deleted file mode 100755
index 8b2cce5e6..000000000
--- a/keyboards/ergodox/keymaps/ishigoya-jp/img/keyboard-layout-numL.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/ishigoya-jp/readme.md b/keyboards/ergodox/keymaps/ishigoya-jp/readme.md
index 9ee557335..839fe978d 100644
--- a/keyboards/ergodox/keymaps/ishigoya-jp/readme.md
+++ b/keyboards/ergodox/keymaps/ishigoya-jp/readme.md
@@ -8,7 +8,7 @@ The system I created this on is a Chromebook, and uses a Japanese keymap, so som
#### English layer - layer 0
The English layout is a modified Workman layout, and is pictured below:
-![English layout](img/keyboard-layout-enL.png)
+![English layout](https://i.imgur.com/X1j2Mya.png)
Some of the punctuation keys have been moved to a separate number/symbol layer.
@@ -16,7 +16,7 @@ Some of the punctuation keys have been moved to a separate number/symbol layer.
The Number / Symbol layer is reachable through a ACTION_LAYER_MOMENTARY function. The blue LED is illuminated when this layer is active. It is accessible from the English or Japanese layers.
-![Number layout](img/keyboard-layout-numL.png)
+![Number layout](https://i.imgur.com/oNSNXPU.png)
#### Japanese layers - layers 1-5
@@ -24,7 +24,7 @@ There are 5 layers involved in Japanese input. The TOJPLOUT macro is mapped to t
On keypress, strings of romaji characters are output by the keyboard using macros, and these simulate the input of individual keys on a latin keyboard.
-![Japanese layout](img/keyboard-layout-jpL.png)
+![Japanese layout](https://i.imgur.com/qMvt92j.png)
Layer 1 is the JP layer. Keys on this layer correspond to singleton keys, or keys on the bottom row where a key is shared. For example, pressing the "ふ や" key outputs `ふ` (or "fu").
diff --git a/keyboards/ergodox/keymaps/jack/Makefile b/keyboards/ergodox/keymaps/jack/Makefile
index 3ca69bb92..457a3d01d 100644
--- a/keyboards/ergodox/keymaps/jack/Makefile
+++ b/keyboards/ergodox/keymaps/jack/Makefile
@@ -1,6 +1,3 @@
-RGBLIGHT_ENABLE ?= yes
-MIDI_ENABLE ?= yes
-
ifndef QUANTUM_DIR
include ../../../../Makefile
endif
diff --git a/keyboards/ergodox/keymaps/jacobono/img/colemak-default-layer.png b/keyboards/ergodox/keymaps/jacobono/img/colemak-default-layer.png
deleted file mode 100644
index 06f63c496..000000000
--- a/keyboards/ergodox/keymaps/jacobono/img/colemak-default-layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/jacobono/img/number-dpad-layer.png b/keyboards/ergodox/keymaps/jacobono/img/number-dpad-layer.png
deleted file mode 100644
index 4dd718278..000000000
--- a/keyboards/ergodox/keymaps/jacobono/img/number-dpad-layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/jacobono/img/symbol-layer.png b/keyboards/ergodox/keymaps/jacobono/img/symbol-layer.png
deleted file mode 100644
index ee224cf0c..000000000
--- a/keyboards/ergodox/keymaps/jacobono/img/symbol-layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/jacobono/readme.md b/keyboards/ergodox/keymaps/jacobono/readme.md
index 48de0509f..f977054ef 100644
--- a/keyboards/ergodox/keymaps/jacobono/readme.md
+++ b/keyboards/ergodox/keymaps/jacobono/readme.md
@@ -2,7 +2,7 @@
I'm using the colemak layer -- customized a bit to work a bit better when using spacemacs as my editor.
-![default-layer](img/colemak-default-layer.png)
+![default-layer](https://i.imgur.com/7uRqlWw.png)
## Special Keys ##
@@ -23,7 +23,7 @@ Just have the same button to toggle back to colemak.
# Symbol Layer #
-![symbol-layer](img/symbol-layer.png)
+![symbol-layer](https://i.imgur.com/ppT0rIU.png)
This is just putting matching closing symbols next to each other -- useful when editing lisp.
@@ -31,4 +31,4 @@ This is just putting matching closing symbols next to each other -- useful when
Just a basic number layer with a D-PAD on the other side.
-![number-dpad-layer](img/number-dpad-layer.png)
+![number-dpad-layer](https://i.imgur.com/Q0VHfyq.png)
diff --git a/keyboards/ergodox/keymaps/jafo/jafo-layout.pdf b/keyboards/ergodox/keymaps/jafo/jafo-layout.pdf
index 189b49b12..760a0eccf 100644
--- a/keyboards/ergodox/keymaps/jafo/jafo-layout.pdf
+++ b/keyboards/ergodox/keymaps/jafo/jafo-layout.pdf
Binary files differ
diff --git a/keyboards/ergodox/keymaps/jafo/jafo_highres.png b/keyboards/ergodox/keymaps/jafo/jafo_highres.png
deleted file mode 100644
index e3d7cef85..000000000
--- a/keyboards/ergodox/keymaps/jafo/jafo_highres.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/jafo/readme.md b/keyboards/ergodox/keymaps/jafo/readme.md
index c870dfd05..219cb0622 100644
--- a/keyboards/ergodox/keymaps/jafo/readme.md
+++ b/keyboards/ergodox/keymaps/jafo/readme.md
@@ -17,4 +17,4 @@ manager, so I made these changes:
- Making the Ctrl (held) and Esc (tap) on my thumbs symmetric. Not sure I
need that with the Esc left of A and Ctrl on the Z and / keys when held...
-![Jafo](jafo_highres.png)
+![Jafo](https://i.imgur.com/ISEc630.png)
diff --git a/keyboards/ergodox/keymaps/msc/img/code_layer.png b/keyboards/ergodox/keymaps/msc/img/code_layer.png
deleted file mode 100644
index 7b5efaae7..000000000
--- a/keyboards/ergodox/keymaps/msc/img/code_layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/msc/img/main_layer.png b/keyboards/ergodox/keymaps/msc/img/main_layer.png
deleted file mode 100644
index 65f92dda1..000000000
--- a/keyboards/ergodox/keymaps/msc/img/main_layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/msc/img/media_layer.png b/keyboards/ergodox/keymaps/msc/img/media_layer.png
deleted file mode 100644
index a69799b07..000000000
--- a/keyboards/ergodox/keymaps/msc/img/media_layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/msc/readme.md b/keyboards/ergodox/keymaps/msc/readme.md
index 0d14fcbd2..ff24d2b68 100644
--- a/keyboards/ergodox/keymaps/msc/readme.md
+++ b/keyboards/ergodox/keymaps/msc/readme.md
@@ -6,15 +6,15 @@
### Main Layer
-![Main Layer](img/main_layer.png)
+![Main Layer](https://i.imgur.com/n1Bl4R3.png)
### Code Layer
-![Code Layer](img/code_layer.png)
+![Code Layer](https://i.imgur.com/1B0vfpG.png)
### Media Layer
-![Media Layer](img/media_layer.png)
+![Media Layer](https://i.imgur.com/CGPyOfj.png)
## Changelog
diff --git a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/keyboard-layout.png b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/keyboard-layout.png
deleted file mode 100644
index 544b5658e..000000000
--- a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/keyboard-layout.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/readme.md b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/readme.md
index f7e8baf56..444f2e920 100644
--- a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/readme.md
+++ b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/readme.md
@@ -27,4 +27,4 @@ If you really need the norwegian symbols in a program, you can access them using
## Layout
-![keyboard-layout](keyboard-layout.png)
+![keyboard-layout](https://i.imgur.com/Qz3E9po.png)
diff --git a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/keyboard-layout.png b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/keyboard-layout.png
deleted file mode 100644
index 462de5c56..000000000
--- a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/keyboard-layout.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/readme.md b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/readme.md
index aaaec3e53..ad568ecd4 100644
--- a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/readme.md
+++ b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/readme.md
@@ -27,4 +27,4 @@ If you really need the norwegian symbols in a program, you can access them using
## Layout
-![keyboard-layout](keyboard-layout.png)
+![keyboard-layout](https://i.imgur.com/sArgD9S.png)
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-base.png b/keyboards/ergodox/keymaps/ordinary/ordinary-base.png
deleted file mode 100644
index 18c6c4ab2..000000000
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-base.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-media.png b/keyboards/ergodox/keymaps/ordinary/ordinary-media.png
deleted file mode 100644
index 491f698d8..000000000
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-media.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-special.png b/keyboards/ergodox/keymaps/ordinary/ordinary-special.png
deleted file mode 100644
index 4fb9d1d16..000000000
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-special.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png
deleted file mode 100644
index 1277f7483..000000000
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/ordinary/readme.md b/keyboards/ergodox/keymaps/ordinary/readme.md
index e13cb7ec8..2e8d86960 100644
--- a/keyboards/ergodox/keymaps/ordinary/readme.md
+++ b/keyboards/ergodox/keymaps/ordinary/readme.md
@@ -18,7 +18,7 @@ no rights reserved, use for any purposes, credit me if you are a nice person
* The keys under pinky fingers and index fingers will *reverse* the keyboard layout.
* *Escape* is red and it is always found in that location (*except* when the layout is reversed).
-![Ordinary base layout](ordinary-base.png)
+![Ordinary base layout](https://i.imgur.com/CA5t9dF.png)
The four big orange keys are arranged differently than in the default Ergodox EZ layout. The Ordinary Layout here copies the design of the old Fingerworks TouchStream keyboard, but also reflects the natural presumptions of the author -- me! I type the space character with my right hand, and to me it makes sense for the two delete keys to be next to one another.
@@ -35,7 +35,7 @@ The Ordinary Layout can be used to perform one-handed chorded text input. If you
* *Number pad* in dark green under the right hand includes all four arithmetic operations in the same order found on most number pads and features an Enter key. The keycodes emitted here are normal numeric keycodes, not the number-pad specific keycodes emitted by most number pads so that NumLock is not needed.
* The dark gray keys do nothing in case you bump them by accident.
-![Ordinary symbol layout](ordinary-symbol.png)
+![Ordinary symbol layout](https://i.imgur.com/JnX3lV2.png)
The Symbols Layer is based on the Coder Layer from the default Ergodox EZ layout. I slightly rearranged the symbols, added some symbols, expanded the number pad, and straightened out the F-Keys. It's very handy to have the symbols directly underneath the normal typing keys.
@@ -49,7 +49,7 @@ The Symbols Layer is based on the Coder Layer from the default Ergodox EZ layout
* The light purple keys are various operating system keys such as NumLock and Mute and a button to navigate to My Computer (usually your home dir).
* The dark gray keys do nothing in case you bump them by accident.
-![Ordinary media layout](ordinary-media.png)
+![Ordinary media layout](https://i.imgur.com/1jJnQrG.png)
This layer is a substantial extension of the Media layer on the Ergodox EZ default layout. The Fingerworks TouchStream keyboard had a very useful feature for controlling the text cursor easily and this layer does something similar. The left hand can move the mouse, the right hand moves the text cursor, in all four directions, in small or large increments. This greatly enhances navigation in text documents.
@@ -65,7 +65,7 @@ Multiple layers can be turned on at once. The Capitals layer will affect charact
## Special Sequences ##
-![Ordinary special layout](ordinary-special.png)
+![Ordinary special layout](https://i.imgur.com/XHXELD5.png)
The Special Shift layer is mostly used to lock the shift keys but in order to make this layout more _ordinary_ there are a few special sequences which put some keys near their most common traditional locations.
diff --git a/keyboards/ergodox/keymaps/osx_de/osx_de_highres.png b/keyboards/ergodox/keymaps/osx_de/osx_de_highres.png
deleted file mode 100644
index d442a992c..000000000
--- a/keyboards/ergodox/keymaps/osx_de/osx_de_highres.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/osx_de/osx_de_highres.png.md b/keyboards/ergodox/keymaps/osx_de/osx_de_highres.png.md
new file mode 100644
index 000000000..ee3dc5350
--- /dev/null
+++ b/keyboards/ergodox/keymaps/osx_de/osx_de_highres.png.md
@@ -0,0 +1 @@
+https://i.imgur.com/kvSzkXK.png
diff --git a/keyboards/ergodox/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.png b/keyboards/ergodox/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.png
deleted file mode 100644
index 193aa339e..000000000
--- a/keyboards/ergodox/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.png.md b/keyboards/ergodox/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.png.md
new file mode 100644
index 000000000..4d4b777e0
--- /dev/null
+++ b/keyboards/ergodox/keymaps/osx_de_adnw_koy/osx_de_adnw_koy_highres.png.md
@@ -0,0 +1 @@
+https://i.imgur.com/5s9UKyc.png
diff --git a/keyboards/ergodox/keymaps/osx_de_experimental/osx_de_experimental_highres.png b/keyboards/ergodox/keymaps/osx_de_experimental/osx_de_experimental_highres.png
deleted file mode 100644
index 031d874a7..000000000
--- a/keyboards/ergodox/keymaps/osx_de_experimental/osx_de_experimental_highres.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/osx_de_experimental/osx_de_experimental_highres.png.md b/keyboards/ergodox/keymaps/osx_de_experimental/osx_de_experimental_highres.png.md
new file mode 100644
index 000000000..1fca8a5bb
--- /dev/null
+++ b/keyboards/ergodox/keymaps/osx_de_experimental/osx_de_experimental_highres.png.md
@@ -0,0 +1 @@
+https://i.imgur.com/GIkRdX3.png
diff --git a/keyboards/ergodox/keymaps/osx_whiskey_tango_foxtrot_capslock/osx_whiskey_tango_foxtrot_capslock.png b/keyboards/ergodox/keymaps/osx_whiskey_tango_foxtrot_capslock/osx_whiskey_tango_foxtrot_capslock.png
deleted file mode 100644
index 8d49e5e61..000000000
--- a/keyboards/ergodox/keymaps/osx_whiskey_tango_foxtrot_capslock/osx_whiskey_tango_foxtrot_capslock.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/osx_whiskey_tango_foxtrot_capslock/readme.md b/keyboards/ergodox/keymaps/osx_whiskey_tango_foxtrot_capslock/readme.md
index 618db6ff4..42cb19576 100644
--- a/keyboards/ergodox/keymaps/osx_whiskey_tango_foxtrot_capslock/readme.md
+++ b/keyboards/ergodox/keymaps/osx_whiskey_tango_foxtrot_capslock/readme.md
@@ -35,4 +35,4 @@ I have only tested this on an original Ergodox with a Teensy 2.0.
- Layer 1 board light is on solid
- Layer 2 board light blinks at speed controlled by BLINK_BASE
-![osx whiskey tango foxtrot](osx_whiskey_tango_foxtrot_capslock.png)
+![osx whiskey tango foxtrot](https://i.imgur.com/yQl1DFe.png)
diff --git a/keyboards/ergodox/keymaps/plums/plums.png b/keyboards/ergodox/keymaps/plums/plums.png
deleted file mode 100644
index 2f127c4ca..000000000
--- a/keyboards/ergodox/keymaps/plums/plums.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/plums/readme.md b/keyboards/ergodox/keymaps/plums/readme.md
index b72329eef..32930e0d6 100644
--- a/keyboards/ergodox/keymaps/plums/readme.md
+++ b/keyboards/ergodox/keymaps/plums/readme.md
@@ -8,4 +8,4 @@
* Shortcut for shush (Hyper+m)
* Combo modifier for LGUI + LALT
-![Plums](plums.png)
+![Plums](https://i.imgur.com/0HkgLvb.png)
diff --git a/keyboards/ergodox/keymaps/romanzolotarev-norman-osx/readme.md b/keyboards/ergodox/keymaps/romanzolotarev-norman-osx/readme.md
index 4fa1814fb..637f9cba2 100644
--- a/keyboards/ergodox/keymaps/romanzolotarev-norman-osx/readme.md
+++ b/keyboards/ergodox/keymaps/romanzolotarev-norman-osx/readme.md
@@ -9,7 +9,7 @@ Looking for multiple-layer layouts?
arrows](../romanzolotarev-norman-plover-osx-hjkl/)
- [Same with IJKL arrows](../romanzolotarev-norman-plover-osx/)
-[![keyboard-layout](romanzolotarev-norman-osx.png)](http://www.keyboard-layout-editor.com/#/gists/9e89d54f1ea6eeeb7dab1b2d19d28195)
+[![keyboard-layout](https://i.imgur.com/U14664K.png)](http://www.keyboard-layout-editor.com/#/gists/9e89d54f1ea6eeeb7dab1b2d19d28195)
## How to use Vim key
diff --git a/keyboards/ergodox/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.png b/keyboards/ergodox/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.png
deleted file mode 100644
index 4b9433be2..000000000
--- a/keyboards/ergodox/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md b/keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md
index 16cebd091..577d5749c 100644
--- a/keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md
+++ b/keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md
@@ -10,7 +10,7 @@ There are four layers:
Looking for IJKL arrows? [Here we
go](../romanzolotarev-norman-plover-osx/).
-[![keyboard-layout](romanzolotarev-norman-plover-osx-hjkl.png)](http://www.keyboard-layout-editor.com/#/gists/56ffedceb0668dda47c993e7271563e0)
+[![keyboard-layout](https://i.imgur.com/uvMxLuJ.png)](http://www.keyboard-layout-editor.com/#/gists/56ffedceb0668dda47c993e7271563e0)
## Switching
diff --git a/keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx-hjkl/romanzolotarev-norman-plover-osx-hjkl.png b/keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx-hjkl/romanzolotarev-norman-plover-osx-hjkl.png
deleted file mode 100644
index cdc535f79..000000000
--- a/keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx-hjkl/romanzolotarev-norman-plover-osx-hjkl.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx/readme.md b/keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx/readme.md
index 804c52a76..6703bb8bc 100644
--- a/keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx/readme.md
+++ b/keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx/readme.md
@@ -10,7 +10,7 @@ There are four layers:
Looking for HJKL arrows? [Here we
go](../romanzolotarev-norman-plover-osx-hjkl/).
-[![keyboard-layout](romanzolotarev-norman-plover-osx.png)](http://www.keyboard-layout-editor.com/#/gists/8ebcb701ecb763944417)
+[![keyboard-layout](https://i.imgur.com/kseXR4Z.png)](http://www.keyboard-layout-editor.com/#/gists/8ebcb701ecb763944417)
## Switching
diff --git a/keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx/romanzolotarev-norman-plover-osx.png b/keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx/romanzolotarev-norman-plover-osx.png
deleted file mode 100644
index 10b0752be..000000000
--- a/keyboards/ergodox/keymaps/romanzolotarev-norman-plover-osx/romanzolotarev-norman-plover-osx.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/romanzolotarev-norman-qwerty-osx/readme.md b/keyboards/ergodox/keymaps/romanzolotarev-norman-qwerty-osx/readme.md
index 0e78c130b..41859f1ad 100644
--- a/keyboards/ergodox/keymaps/romanzolotarev-norman-qwerty-osx/readme.md
+++ b/keyboards/ergodox/keymaps/romanzolotarev-norman-qwerty-osx/readme.md
@@ -5,7 +5,7 @@ There are two layers:
- **BASE** is [Norman layout](https://normanlayout.info/).
- **QWRT** is QWERTY.
-[![keyboard-layout](romanzolotarev-norman-qwerty-osx.png)](http://www.keyboard-layout-editor.com/#/gists/3b236f450da474dc506a5a80390c3cc7)
+[![keyboard-layout](https://i.imgur.com/jfKBznw.png)](http://www.keyboard-layout-editor.com/#/gists/3b236f450da474dc506a5a80390c3cc7)
## Switching
diff --git a/keyboards/ergodox/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.png b/keyboards/ergodox/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.png
deleted file mode 100644
index 34762ecb7..000000000
--- a/keyboards/ergodox/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/siroken3/default.png b/keyboards/ergodox/keymaps/siroken3/default.png
deleted file mode 100644
index 6575f7b5e..000000000
--- a/keyboards/ergodox/keymaps/siroken3/default.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/siroken3/default.png.md b/keyboards/ergodox/keymaps/siroken3/default.png.md
new file mode 100644
index 000000000..440b424d0
--- /dev/null
+++ b/keyboards/ergodox/keymaps/siroken3/default.png.md
@@ -0,0 +1 @@
+https://i.imgur.com/9xDhYOd.png
diff --git a/keyboards/ergodox/keymaps/siroken3/default_firmware_v1.2-2.png b/keyboards/ergodox/keymaps/siroken3/default_firmware_v1.2-2.png
deleted file mode 100644
index e3c321cc0..000000000
--- a/keyboards/ergodox/keymaps/siroken3/default_firmware_v1.2-2.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/siroken3/default_highres.png b/keyboards/ergodox/keymaps/siroken3/default_highres.png
deleted file mode 100644
index 7d9f045f4..000000000
--- a/keyboards/ergodox/keymaps/siroken3/default_highres.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/siroken3/default_highres.png.md b/keyboards/ergodox/keymaps/siroken3/default_highres.png.md
new file mode 100644
index 000000000..22453303d
--- /dev/null
+++ b/keyboards/ergodox/keymaps/siroken3/default_highres.png.md
@@ -0,0 +1 @@
+https://i.imgur.com/E5oJXz5.jpg
diff --git a/keyboards/ergodox/keymaps/siroken3/readme.md b/keyboards/ergodox/keymaps/siroken3/readme.md
index 979ce0f5b..ed085ebfd 100644
--- a/keyboards/ergodox/keymaps/siroken3/readme.md
+++ b/keyboards/ergodox/keymaps/siroken3/readme.md
@@ -12,4 +12,4 @@
This is what we ship with out of the factory. :) The image says it all:
-![Default](default_firmware_v1.2-2.png)
+![Default](https://i.imgur.com/h8k5P0l.png)
diff --git a/keyboards/ergodox/keymaps/supercoder/images/layout.png b/keyboards/ergodox/keymaps/supercoder/images/layout.png
deleted file mode 100644
index c72958c6e..000000000
--- a/keyboards/ergodox/keymaps/supercoder/images/layout.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/supercoder/images/supercoder_2000.jpg b/keyboards/ergodox/keymaps/supercoder/images/supercoder_2000.jpg
deleted file mode 100644
index d690eaf02..000000000
--- a/keyboards/ergodox/keymaps/supercoder/images/supercoder_2000.jpg
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/supercoder/readme.md b/keyboards/ergodox/keymaps/supercoder/readme.md
index df39ac7a9..e1aa0b00a 100644
--- a/keyboards/ergodox/keymaps/supercoder/readme.md
+++ b/keyboards/ergodox/keymaps/supercoder/readme.md
@@ -1,7 +1,7 @@
SuperCoder 2000 layout for the ErgoDox
==================================================
-![SuperCoder 2000](images/supercoder_2000.jpg)
+![SuperCoder 2000](https://i.imgur.com/6dcU9VY.jpg)
Ever found yourself in need of entering binary codes rapidly? Ever wanted to use
all ten fingers to do so? Ever felt your SuperCoder 2000 too limiting, by only
@@ -11,7 +11,7 @@ never seen before!
Behold the Ultimate SuperCoder 2000 layout!
-![SuperCoder layout](images/layout.png)
+![SuperCoder layout](https://i.imgur.com/Ymzlr9G.png)
### To use it...
diff --git a/keyboards/ergodox/keymaps/swedish/keymap.c b/keyboards/ergodox/keymaps/swedish/keymap.c
new file mode 100644
index 000000000..c110538e6
--- /dev/null
+++ b/keyboards/ergodox/keymaps/swedish/keymap.c
@@ -0,0 +1,247 @@
+/* Copyright 2017 Andreas Lindhé
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "version.h"
+#include "keymap_swedish.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+enum custom_keycodes {
+ PLACEHOLDER = SAFE_RANGE, // can always be here
+ EPRM,
+ VRSN,
+ RGB_SLD
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | ½ | ! | " | # | # | % | LEFT | | RIGHT| & | / | ( | ) | = | ? |
+ * | § | 1 | 2 @ | 3 £ | 4 $ | 5 | | | | 6 | 7 { | 8 [ | 9 ] | 0 } | + \ |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Delete | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | Å |
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | Caps | A | S | D | F | G |------| |------| H | J | K | L |Ö / L2|Ä / Cmd |
+ * | Lock | | | | | | Hyper| | Meh | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | Left |Z/Ctrl| X | C | V | B | | | | N | M | ; | : |_/Ctrl| RShift |
+ * | Shift | | | | | | | | | | | , | . |- | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | '/L1 | ` |AltShf| Left | Right| | Up | Down | ^ | * | ~L1 |
+ * | | ' | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,---------------.
+ * | App | LGui | | AltGr|Ctrl/Esc|
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * | Space|Back- |------| |------| Tab |Enter |
+ * | |space | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ NO_HALF, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
+ KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
+ KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
+ LT(SYMB,NO_APOS), NO_ACUT, LALT(KC_LSFT), KC_LEFT, KC_RGHT,
+ ALT_T(KC_APP), KC_LGUI,
+ KC_HOME,
+ KC_SPC,KC_BSPC,KC_END,
+ // right hand
+ KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, NO_PLUS,
+ TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, NO_AA,
+ KC_H, KC_J, KC_K, KC_L, LT(MDIA, NO_OSLH), GUI_T(NO_AE),
+ MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(NO_MINS), KC_RSFT,
+ KC_UP, KC_DOWN, NO_CIRC, NO_ASTR, KC_FN1,
+ NO_ALGR, CTL_T(KC_ESC),
+ KC_PGUP,
+ KC_PGDN,KC_TAB, KC_ENT
+),
+
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * |Animat| | |Toggle|Solid |
+ * ,------|------|------| |------+------+------.
+ * |Bright|Bright| | | |Hue- |Hue+ |
+ * |ness- |ness+ |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,KC_EXLM,NO_AT, NO_LCBR,NO_RCBR,NO_PIPE,KC_TRNS,
+ KC_TRNS,KC_HASH,NO_DLR, NO_LPRN,NO_RPRN,NO_GRV,
+ KC_TRNS,KC_PERC,NO_CIRC,NO_LBRC,NO_RBRC,NO_TILD,KC_TRNS,
+ EPRM,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ RGB_MOD,KC_TRNS,
+ KC_TRNS,
+ RGB_VAD,RGB_VAI,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, NO_ASTR, KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, NO_PLUS, KC_TRNS,
+ KC_TRNS, NO_AMPR, KC_1, KC_2, KC_3, NO_MINS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, NO_EQL, KC_TRNS,
+ RGB_TOG, RGB_SLD,
+ KC_TRNS,
+ KC_TRNS, RGB_HUD, RGB_HUI
+),
+
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+[MDIA] = KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ }
+ break;
+ case 1:
+ if (record->event.pressed) { // For resetting EEPROM
+ eeconfig_init();
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ // dynamically generate these.
+ case EPRM:
+ if (record->event.pressed) {
+ eeconfig_init();
+ }
+ return false;
+ break;
+ case VRSN:
+ if (record->event.pressed) {
+ SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
+ }
+ return false;
+ break;
+ case RGB_SLD:
+ if (record->event.pressed) {
+ #ifdef RGBLIGHT_ENABLE
+ rgblight_mode(1);
+ #endif
+ }
+ return false;
+ break;
+ }
+ return true;
+}
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboards/ergodox/keymaps/swedish/readme.md b/keyboards/ergodox/keymaps/swedish/readme.md
new file mode 100644
index 000000000..b5b859bce
--- /dev/null
+++ b/keyboards/ergodox/keymaps/swedish/readme.md
@@ -0,0 +1,36 @@
+# Swedish (sv_SE) Qwerty layout for ErgoDox EZ, based on the Default configuration
+
+*NOTE:* it might still be desirable to set the software layout to sv_SE in your
+OS.
+
+Remind me and I'll provide a picture of the layout.
+
+I have tried making this as close of a match I could between the [default
+ErgoDox EZ configuration](https://ergodox-ez.com/pages/our-firmware) and a
+standard Swedish Qwerty layout.
+
+## Notable differences from default:
+
+* There are three special character buttons (acute accent, circumflex/tilde and
+ apostrophe/asterisk) that don't have any buttons to map to naturally. I've put
+ these at other places:
+
+ * Acute accent (´) can be found in the lower left corner, conveniently
+ placed to reach for making an é.
+
+ * Apostrophe (') was put in the lower left corner, close to acute accent.
+
+ * Circumflex (^) and asterisk (*) was placed in the lower right corner.
+
+ * Tilde (~) and diaeresis (¨) I couldn't find a good place for, so I left
+ those out. I could only get the buttons to produce a single one of the
+ characters. How can I get it to work properly?
+
+* The Alt button on right thumb was exchanged for AltGr (RAlt).
+
+* I changed the backslash in the numpad (layer 1) for a minus. Thought it was
+ more sensible.
+
+* I didn't find a good place for the "<>|" button, so that one was left out.
+ That is a problem that really needs to be resolved. Pipe can be found on layer
+ one, however.
diff --git a/keyboards/ergodox/keymaps/swissgerman/keyboard-layout.png b/keyboards/ergodox/keymaps/swissgerman/keyboard-layout.png
deleted file mode 100644
index aff6af851..000000000
--- a/keyboards/ergodox/keymaps/swissgerman/keyboard-layout.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/swissgerman/keyboard-layout_1_2.png b/keyboards/ergodox/keymaps/swissgerman/keyboard-layout_1_2.png
deleted file mode 100644
index 54c4a7587..000000000
--- a/keyboards/ergodox/keymaps/swissgerman/keyboard-layout_1_2.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/swissgerman/readme.md b/keyboards/ergodox/keymaps/swissgerman/readme.md
index b1061c1dd..fa7fc1618 100644
--- a/keyboards/ergodox/keymaps/swissgerman/readme.md
+++ b/keyboards/ergodox/keymaps/swissgerman/readme.md
@@ -6,8 +6,8 @@ Keyboard diagrams created with the [keyboard layout editor](http://www.keyboard-
Diagram sources: [default layer](keyboard-layout.json), [layer 1 & 2](keyboard-layout_1_2.json)
-![Layout Layer 0](keyboard-layout.png)
-![Layout Layer 1&2](keyboard-layout_1_2.png)
+![Layout Layer 0](https://i.imgur.com/yf4HNXV.png)
+![Layout Layer 1&2](https://i.imgur.com/Q814cKa.png)
## Changelog
* Jan 21, 2017:
diff --git a/keyboards/ergodox/keymaps/teckinesis/ordinary-special.png b/keyboards/ergodox/keymaps/teckinesis/ordinary-special.png
deleted file mode 100644
index 6eecf447e..000000000
--- a/keyboards/ergodox/keymaps/teckinesis/ordinary-special.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/teckinesis/ordinary-special.png.md b/keyboards/ergodox/keymaps/teckinesis/ordinary-special.png.md
new file mode 100644
index 000000000..20b8761ed
--- /dev/null
+++ b/keyboards/ergodox/keymaps/teckinesis/ordinary-special.png.md
@@ -0,0 +1 @@
+https://i.imgur.com/p3y6E8F.png
diff --git a/keyboards/ergodox/keymaps/teckinesis/readme.md b/keyboards/ergodox/keymaps/teckinesis/readme.md
index 9494a4d4c..6804bb06f 100644
--- a/keyboards/ergodox/keymaps/teckinesis/readme.md
+++ b/keyboards/ergodox/keymaps/teckinesis/readme.md
@@ -12,7 +12,7 @@ the [Kinesis Advantage](http://www.kinesis-ergo.com/wp-content/uploads/2013/06/a
## The Base Layout ##
[teckinesis (Base Layer)](http://www.keyboard-layout-editor.com/#/gists/befd4c5800d92114aa9e50d4f7c0dfb0)
-![teckinesis base layout](teckinesis-base.png)
+![teckinesis base layout](https://i.imgur.com/DeehOSY.png)
### Changes from The Ordinary Layout ###
@@ -27,7 +27,7 @@ the [Kinesis Advantage](http://www.kinesis-ergo.com/wp-content/uploads/2013/06/a
## The Symbols Layer ##
[teckinesis (Symbols Layer)](http://www.keyboard-layout-editor.com/#/gists/e6ddc4e9e0d194b3e52ac0616238ab61)
-![teckinesis symbols layout](teckinesis-symbol.png)
+![teckinesis symbols layout](https://i.imgur.com/u8faqMq.png)
### Changes from The Ordinary Layout ###
@@ -36,7 +36,7 @@ the [Kinesis Advantage](http://www.kinesis-ergo.com/wp-content/uploads/2013/06/a
## The Media Layer ##
[teckinesis (Media Layer)](http://www.keyboard-layout-editor.com/#/gists/41ff65e6a7c490211fd6702fb34d9908)
-![teckinesis media layout](teckinesis-media.png)
+![teckinesis media layout](https://i.imgur.com/NgdJkuh.png)
### Changes from The Ordinary Layout ###
diff --git a/keyboards/ergodox/keymaps/teckinesis/teckinesis-base.png b/keyboards/ergodox/keymaps/teckinesis/teckinesis-base.png
deleted file mode 100644
index 7c4584e9f..000000000
--- a/keyboards/ergodox/keymaps/teckinesis/teckinesis-base.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/teckinesis/teckinesis-media.png b/keyboards/ergodox/keymaps/teckinesis/teckinesis-media.png
deleted file mode 100644
index cc51605f9..000000000
--- a/keyboards/ergodox/keymaps/teckinesis/teckinesis-media.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/teckinesis/teckinesis-symbol.png b/keyboards/ergodox/keymaps/teckinesis/teckinesis-symbol.png
deleted file mode 100644
index 7ca86cf47..000000000
--- a/keyboards/ergodox/keymaps/teckinesis/teckinesis-symbol.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/tkuichooseyou/compiled.hex b/keyboards/ergodox/keymaps/tkuichooseyou/compiled.hex
deleted file mode 100644
index a8cf4527a..000000000
--- a/keyboards/ergodox/keymaps/tkuichooseyou/compiled.hex
+++ /dev/null
@@ -1,1137 +0,0 @@
-:100000000C947B020C94C2020C94C2020C94C202A7
-:100010000C94C2020C94C2020C94C2020C94C20250
-:100020000C94C2020C94C2020C94F70D0C94C90EED
-:100030000C94C2020C94C2020C94C2020C94C20230
-:100040000C94C2020C9486210C94C2020C94C2023D
-:100050000C94C2020C94681C0C94C2020C94C20250
-:100060000C94C2020C94C2020C94C2020C94C20200
-:100070000C94C2020C94C2020C94C2020C94C202F0
-:100080000C94C2020C94C2020C94C2020C94C202E0
-:100090000C94C2020C94C2020C94C2020C94C202D0
-:1000A0000C94C2020C94C2020C94C202360F580F78
-:1000B0004610580F46109D0FC00F461015102810FF
-:1000C000F712F712261326135C137C13AD14AD142C
-:1000D0008713AD14371437149E14AD14AD14A71440
-:1000E0004414441444144414441444144414441450
-:1000F0004414441444144414441444144414441440
-:10010000561463146A1471147B140000F0A12E00BD
-:100110002B002961E100354100001E00140004009D
-:100120001D0034004D001F001A0016001B00E104E2
-:100130002A00200008000700060050002C002100C3
-:100140001500090019004F004A00220017000A009C
-:100150000500000065642F0A006F0000E300000046
-:10016000E300300A00670000E30000004C002300B9
-:100170001C000B00110000002961240018000D0074
-:10018000100052004B0025000C000E0036005100FC
-:100190002800260012000F0037002F002B00270038
-:1001A00013003342380030004E002D00310034007F
-:1001B000E500C10000000100010001000100010094
-:1001C00000003A001E0220022202010001003B0052
-:1001D0001F0221022302010001003C002F0226021F
-:1001E0002F00010001003D00300227023000010015
-:1001F00001003E003102350035020000010001001F
-:1002000001000000010000000100010001000000E9
-:100210000100000001003F005200510024020000D4
-:1002200001004000240021001E00010001004100E7
-:10023000250022001F003700010042002600230095
-:10024000200027000100430025022E0231002E006D
-:100250000100440045000100010001000000010010
-:100260000100010001000100000001000100010087
-:1002700001000100010001000100F2000100010085
-:1002800001000100F000F1000100F4000100010094
-:100290000100F3000100F500010001000100010070
-:1002A0000100000001000100010000000100000049
-:1002B0000100010001000000010000000100010038
-:1002C0000100010001000000010001000100010027
-:1002D0000100A9000100010001000100AC00AA001A
-:1002E000B600010001000100AB00A8000100010000
-:1002F0000100010001000100010001000100AE0049
-:1003000001000100000016034500720067006F0045
-:1003100044006F007800200045005A0000001603DA
-:100320004500720067006F0044006F0078002000F5
-:1003300045005A0000000403090409026D0004018D
-:1003400000A0FA09040000010301010009211101C4
-:1003500000012240000705810308000A090401008A
-:100360000103010200092111010001224D000705CE
-:10037000820308000A0904020001030000000921A9
-:10038000110100012236000705830308000A090451
-:1003900003000103000000092111010001223900BE
-:1003A000070584031000011201100100000008ED90
-:1003B000FE071301000102000105010906A1010564
-:1003C0000719E029E7150025019508750181020547
-:1003D000081901290595057501910295017503918B
-:1003E0000105071900297715002501957875018108
-:1003F00002C005010980A101850216010026B7008F
-:100400001A01002AB700751095018100C0050C097A
-:1004100001A1018503160100269C021A01002A9CF5
-:1004200002751095018100C005010902A1010901B1
-:10043000A10005091901290515002501950575017A
-:10044000810295017503810105010930093115818A
-:10045000257F95027508810609381581257F95014C
-:1004600075088106050C0A38021581257F950175EE
-:10047000088106C0C005010906A101050719E02988
-:10048000E715002501950875018102950175088120
-:100490000105081901290595057501910295017558
-:1004A0000391010507190029FF150026FF00950695
-:1004B00075088100C000000000000000000000007E
-:1004C000010204060A0F17202C3A4A5D71879DB37A
-:1004D000C7DAE9F5FCFFFCF5E9DAC7B39D87715D82
-:1004E0004A3A2C20170F0A060402010000000000FF
-:1004F00000000000000011241FBECFEFDAE0DEBFD5
-:10050000CDBF04B603FE27C0809101029091020284
-:10051000A0910302B09104028730904BA740B04BEA
-:10052000D1F4109201021092020210920302109272
-:10053000040214BE84B7877F84BF0FB6F894A895D1
-:1005400080916000886180936000109260000FBE0F
-:10055000E0E0FFE3099511E0A0E0B1E0E6EBF6E4AE
-:1005600002C005900D92A433B107D9F712E0A4E3BD
-:10057000B1E001C01D92A130B107E1F70E943C0B30
-:100580000C9459230C9400001092B9008AE08093D7
-:10059000B800089594EA9093BC009091BC0097FF36
-:1005A000FCCF9091B900987F983021F0903111F0F4
-:1005B00081E008958093BB0084E88093BC00809123
-:1005C000BC0087FFFCCF8091B900887F883111F093
-:1005D000803471F780E0089584E98093BC008091B5
-:1005E000BC0084FDFCCF08958093BB0084E8809319
-:1005F000BC008091BC0087FFFCCF9091B900987F30
-:1006000081E0983209F480E0089584E88093BC008A
-:100610008091BC0087FFFCCF8091BB00089580B320
-:100620008C7080BB81B3836F81BB08958091010181
-:10063000811115C080E40E94CA02809301018111DA
-:100640000CC082E10E94F40280930101811105C077
-:100650008FEF0E94F402809301010E94EC0284B1AA
-:10066000807F84B985B1807F85B98AB1837F8AB95B
-:100670008BB1837F8BB93E98469808950E94E00421
-:10068000809301010E9416030E940F03A5E3B1E0CD
-:10069000E3E4F1E08EE08E0F11921D928E13FCCFF9
-:1006A0000C94CA040E94E004809301010E94160386
-:1006B0000E940F03A5E3B1E0E3E4F1E08EE08E0FCA
-:1006C00011921D928E13FCCF0895BF92CF92DF92AC
-:1006D000EF92FF920F931F93CF93DF9380910101CD
-:1006E000882379F0809134018F5F809334018111E8
-:1006F00008C00E94E00480930101811102C00E94A1
-:10070000720405E311E0C0E0D0E0DD24D39482E080
-:10071000C82EEE24E394F12CC730D10500F580916A
-:100720000101811164C080E40E94CA02809301012A
-:10073000811112C082E10E94F402809301018111B3
-:100740000BC0C7010C2E01C0880F0A94EAF78095F0
-:100750000E94F402809301010E94EC0248C0CA305A
-:10076000A1F028F4C83059F0C93061F005C0CC3090
-:1007700089F070F0CD3089F0209A289810C0219A25
-:1007800029980DC0229A2A980AC0239A2B9807C04C
-:10079000529A01C0539A5B9802C03E9A469890EADA
-:1007A0009A95F1F79FB1799902C082E001C080E08B
-:1007B00091709D25982B7C9902C084E001C080E057
-:1007C000892B7D9902C038E001C030E0832B7E99EF
-:1007D00002C020E101C020E0822B9FB19095991FBB
-:1007E0009927991F9295990F907E892B0FC0809120
-:1007F0000101811149C080E40E94CA028093010175
-:10080000882379F1B12C0E94EC028B2DF8019081A4
-:10081000981719F08083C09200010E941603219658
-:100820000F5F1F4FCE30D10509F076CF80910001C8
-:10083000882361F1815080930001882339F08FE98A
-:100840009FE00197F1F700C0000020C0A3E4B1E0F1
-:10085000E5E3F1E0CF01825F91919D938E13FCCF90
-:1008600015C083E10E94F402809301018111CACF77
-:1008700081E40E94CA02809301018111C3CF0E94CA
-:100880000503B82EB094BFCF80E0C0CF0E947004A3
-:1008900081E0DF91CF911F910F91FF90EF90DF905A
-:1008A000CF90BF900895E82FF0E0ED5BFE4F808180
-:1008B000089508950F931F93CF93DF93C3E4D1E07E
-:1008C00010E00C2F025F899190E00E948C1B180FA2
-:1008D0000C13F9CF812FDF91CF911F910F910895C4
-:1008E0000C94400556985E9825982D9826982E9839
-:1008F00027982F988FEF90E090938900809388003D
-:1009000090938B0080938A0090938D0080938C004D
-:10091000259A2D9A2FEF80E792E021508040904059
-:10092000E1F700C00000269A2E9A2FEF80E792E0B0
-:10093000215080409040E1F700C00000279A2F9A94
-:100940002FEF80E792E0215080409040E1F700C017
-:10095000000025982D982FEF80E792E021508040ED
-:100960009040E1F700C0000026982E982FEF80E716
-:1009700092E0215080409040E1F700C000002798AD
-:100980002F9856985E9825982D9826982E982798F7
-:100990002F98089589EA8093800089E080938100F0
-:1009A00024982C983F988AB18F748AB96E98479A88
-:1009B0008BB1806B8BB9769A0E9472040C943F05C0
-:1009C00080E2809301018091510181110EC00E944B
-:1009D000C40281E0809351012FEF83ED90E3215019
-:1009E00080409040E1F700C0000080E40E94CA020D
-:1009F0008093010181112EC00E94F40280930101B5
-:100A0000811128C00E94F40280930101811122C04B
-:100A10008FE30E94F4028093010181111BC00E94A8
-:100A2000EC0280E40E94CA0280930101811112C08D
-:100A30008CE00E94F4028093010181110BC00E949E
-:100A4000F40280930101811105C08FE30E94F4023A
-:100A5000809301010E94EC028091010108956111CF
-:100A60000BC0FC018281882321F085EE0E949B113E
-:100A700003C085EE0E94631280E090E0089508951F
-:100A80006091C2017091C3018091C4019091C50130
-:100A90000E94981B56985E9825982D9826982E9817
-:100AA00027982F98813019F0823021F00895259AE7
-:100AB0002D9A0895269A2E9A089581E0089581E04E
-:100AC00008950C945F050895282F882339F090E04D
-:100AD0002A3010F44D9608950697089587E290E025
-:100AE0000895AF92BF92DF92EF92FF920F931F9300
-:100AF000CF93DF938C01FC01C081D181CE010E9494
-:100B0000111ABE010E94E908EC01B8010E946105BA
-:100B1000882309F4D1C1F8018281882309F4C6C071
-:100B200080916201811127C0C431F0E7DF0709F02D
-:100B3000BDC10E94630581E0809362010E94321C66
-:100B400090936101809360011092550110925701BA
-:100B500010925601109259011092580110925B01A7
-:100B600010925A0110925D0110925C0110925F0187
-:100B700010925E01A1C180916001909161010E947B
-:100B80003E1C883C910570F480915501E82FF0E0FF
-:100B9000EE0FFF1FEA5AFE4FD183C0838F5F809311
-:100BA00055018AC1C13020E8D20708F451C0F801CC
-:100BB0008281882309F47EC05E01E894B7F88091B1
-:100BC0005401813079F050F08230C1F482EE0E94FD
-:100BD0009B1187E50E949B1187E50EC082EE0E9463
-:100BE0009B110CC080EE0E949B1181EE0E949B1114
-:100BF00088E10E949B1188E10E9463128CE0E82E3C
-:100C0000F12CC5010E2C02C0969587950A94E2F747
-:100C10008F700E946405D82E0E949B118D2D0E941A
-:100C20006312F4E0EF1AF1082CEFE2162FEFF20650
-:100C300041F780915401813029F010F0823041F465
-:100C400082EE04C080EE0E94631281EE0E94631265
-:100C5000C43180E7D80768F4C23090E7D90708F0BC
-:100C600046C0C115E0E7DE0771F0C130D047A1F101
-:100C70000CC1C33320E7D20709F4D8C0C433D0472E
-:100C800009F4EBC002C1F8018281882309F402C192
-:100C90000E941815FFEF24E38CE0F15020408040C3
-:100CA000E1F700C000000E948D1C06C1C13080E841
-:100CB000D80770F2C43120E7D20708F0B3C0C230C1
-:100CC00080E7D807A0F4C11590E7D90709F4E2C07E
-:100CD000C130D04709F0D9C0F8018281882309F4D6
-:100CE000D9C08091DF0181608093DF01E5C0F80108
-:100CF0008281882309F4CEC00E94E71C811102C0C2
-:100D00000E94CD1C0E94FA1C90E09093F301809306
-:100D1000F201C230F0E7DF0721F48091F201816037
-:100D20007AC0C33020E7D20721F48091F2018260BB
-:100D300072C0C43080E7D80721F48091F20184604A
-:100D40006AC0C53090E7D90719F48091F20127C035
-:100D5000C630E0E7DE0721F48091F20180615BC0DC
-:100D6000C730F0E7DF0721F48091F201806253C0C1
-:100D7000C83020E7D20721F48091F20180644BC093
-:100D8000C93080E7D80721F48091F201806843C020
-:100D9000CA3090E7D90729F48091F2018460886015
-:100DA0003AC0CB30E0E7DE0721F48091F2018E7F7C
-:100DB00032C0CC30F0E7DF0721F48091F2018D7F63
-:100DC0002AC0CD3020E7D20721F48091F2018B7F39
-:100DD00022C0CE3080E7D80719F48091F2011AC002
-:100DE0008091F201CF3090E7D90711F48F7E13C0C4
-:100DF000C031E0E7DE0711F48F7D0DC0C131F0E7AF
-:100E0000DF0711F48F7B07C0C231D04711F48F7711
-:100E100002C08B7F877F8093F2018091F2010E9454
-:100E2000FE1C4AC0C333F0E7DF07A1F4F80182815A
-:100E3000882321F01092520182E016C08091520165
-:100E4000811106C086E20E949B1186E20E94631215
-:100E500082E018C0C433D047C1F4F80182818823EE
-:100E600031F01092530180E20E94B21225C08091AD
-:100E70005301811106C087E20E949B1187E20E9404
-:100E8000631280E20E94B91217C081E08093520180
-:100E900080935301C801DF91CF911F910F91FF9073
-:100EA000EF90DF90BF90AF900C945D05C130F0E8FB
-:100EB000DF0708F081CECCCE80E0DF91CF911F918B
-:100EC0000F91FF90EF90DF90BF90AF90089526E0D4
-:100ED000729FF001112444E5849FE00DF11D11245F
-:100EE000E60FF11DEE0FFF1FE25FFE4F859194911B
-:100EF0000E94FB08811560E49607B0F5811570E348
-:100F0000970708F0DEC0803E9105D8F4803C91053B
-:100F100008F06CC0883A910578F4853A910508F09C
-:100F20006BC08130910509F452C108F40FC18430BF
-:100F3000910508F04CC10AC18B3B910508F467C0CC
-:100F400005C18F3F910509F048F4803F910508F0F5
-:100F5000ADC0883E910508F43AC1F8C0811520E281
-:100F6000920708F0A5C00895811543E5940790F411
-:100F7000811562E5960708F0C8C0811571E59707ED
-:100F800008F0BEC0811520E5920708F09DC09F7053
-:100F9000906A0895811545E59407D8F4811564E5B4
-:100FA000960708F0C8C0482F4695469570E2479FBF
-:100FB000A00111248370992721E030E0B90102C01B
-:100FC000660F771F8A95E2F7CB01842B952B9A68E1
-:100FD0000895811576E5970708F4B2C09C01305654
-:100FE0002115304108F0B2C09F70AEC0FC01EE0F79
-:100FF000FF1FE657F04062C0853A910509F4A9C089
-:10100000863A910509F0A8C082E890E40895883AEC
-:10101000910509F4A4C0893A910509F4A3C08A3A5C
-:10102000910509F4A2C08B3A910509F4A1C08C3A4C
-:10103000910509F4A0C08D3A910509F49FC0803B49
-:10104000910509F49EC08E3A910509F49DC08F3A2E
-:10105000910509F49CC0813B910509F49BC0823B3A
-:10106000910509F49AC0833B910509F499C0843B2A
-:10107000910509F498C0853B910509F497C0863B1A
-:10108000910509F496C0873B910509F495C0883B0A
-:10109000910509F494C0893B910509F493C08A3BFA
-:1010A000910509F492C080E094E408959065089554
-:1010B000FC01FF70EE0FFF1FE65FFE4F85919491DC
-:1010C00008959927906C0895482F437021E030E0EF
-:1010D00002C0220F331F4A95E2F73C68AC0164E07E
-:1010E000569547956A95E1F74370342B8F70869536
-:1010F000869560E2869FC0011124822B932B089570
-:10110000982F8827816F906A0895482F46954695B5
-:1011100070E2479FA00111248370992721E030E0FD
-:10112000B90102C0660F771F8A95E2F7CB01842BC5
-:10113000952B9C680895982F8827846F906A08954E
-:101140008F719927982F88279062089580E090E00A
-:10115000089581E890E4089583E890E4089582EE8C
-:1011600094E4089589EE94E408958AEE94E4089551
-:1011700085EB94E4089586EB94E4089587EB94E47A
-:1011800008958CEC94E408958DEC94E4089583E83C
-:1011900095E408958AE895E4089582E995E4089530
-:1011A00084E995E4089581E296E4089583E296E463
-:1011B000089584E296E4089585E296E4089586E22F
-:1011C00096E4089587E296E408958AE296E4089505
-:1011D000089596E0799FF001112494E5899FE00D30
-:1011E000F11D1124E60FF11DEE0FFF1FE25FFE4F10
-:1011F0008591949108958238910549F1B0F4813335
-:10120000910509F458C048F48932910509F44EC09B
-:101210008A32910509F454C008958533910509F483
-:1012200040C08933910599F00895833E910529F1D5
-:1012300038F4803E910591F0823E9105A1F0089529
-:10124000863E9105F9F0873E910531F10895209190
-:10125000F20120FD3AC021FD38C008958091F201CD
-:1012600080FD35C032C08091F20182FF32C0809192
-:10127000F20184FD30C083EE39C08091F20182FD1D
-:1012800028C0F5CF8091F20183FF27C08091F20141
-:1012900084FD21C087EE2AC08091F20183FD1DC02C
-:1012A000F5CF8091F20185FD1AC01BC08091F2013B
-:1012B00085FD17C014C08091F20186FD14C015C0D1
-:1012C0008091F20186FD11C00EC080EE0FC089E34F
-:1012D0000DC082EE0BC080E009C086EE07C089E237
-:1012E00005C085E303C08AE201C081E390E0089570
-:1012F00008950C947809809173010895CF93DF933A
-:1013000000D01F92CDB7DEB79C018091F8018430E8
-:1013100019F593E099833B832A839093E9008FEF3B
-:101320009091E800815095FD06C095ED9A95F1F7F2
-:1013300000008111F5CF8091E80085FF0DC040E0ED
-:1013400050E063E070E0CE0101960E94E70B8091CF
-:10135000E8008E778093E8000F900F900F90DF9158
-:10136000CF910895CF93DF9300D01F92CDB7DEB712
-:101370002091F801243021F522E029839B838A8380
-:1013800083E08093E9008FEF9091E800815095FD14
-:1013900006C095ED9A95F1F700008111F5CF809187
-:1013A000E80085FF0DC040E050E063E070E0CE0152
-:1013B00001960E94E70B8091E8008E778093E80009
-:1013C0000F900F900F90DF91CF9108952091F80129
-:1013D0002430F1F422E02093E9002FEF3091E8006F
-:1013E000215035FD06C035ED3A95F1F70000211189
-:1013F000F5CF2091E80025FF0BC040E050E065E00C
-:1014000070E00E94E70B8091E8008E778093E800FF
-:101410000895CF93DF93EC019091F801943009F097
-:1014200046C080910C018823D9F080910D0188235A
-:10143000B9F09093E9008FEF9091E800815095FD0D
-:1014400006C095E19A95F1F700008111F5CF8091E2
-:10145000E80085FF2CC040E050E060E170E017C07C
-:1014600081E08093E9008FEF9091E800815095FD35
-:1014700006C095ED9A95F1F700008111F5CF8091A6
-:10148000E80085FF14C040E050E068E070E0CE0165
-:101490000E94E70B8091E8008E778093E80080E15E
-:1014A000FE01A3E6B1E001900D928A95E1F7DF918C
-:1014B000CF9108958091F701811109C00E947C0DA0
-:1014C0000E94D90D8091E20084608093E20008952B
-:1014D0001092F701089508950C9473210E94231C23
-:1014E0000E9479210E947F100C94790942E061ECFE
-:1014F00081E00E94F60C42E061EC82E00E94F60C72
-:1015000042E061EC83E00E94F60C42E161EC84E091
-:101510000C94F60C8091FA01833009F455C030F434
-:10152000813071F0823009F48EC008958A3009F458
-:101530007AC08B3009F460C0893009F09CC020C0AB
-:101540008091F901813A09F096C08091E800877F87
-:101550008093E8008091FD019091FE01892B21F498
-:1015600060E183E691E003C060E080E090E070E03D
-:101570000E94320C8091E8008B778093E8000895F8
-:101580008091F901813209F076C08091FD0190913E
-:10159000FE01009719F0039709F06DC08091E800F3
-:1015A000877F8093E8008091E80082FD05C08091EC
-:1015B000F8018111F8CF5FC08091F1008093730131
-:1015C0008091E8008B7753C08091F901813A09F04E
-:1015D00052C08091FD019091FE01892B09F04BC012
-:1015E0008091E800877F8093E8008091E80080FF89
-:1015F000FCCF80910C0136C08091F9018132D9F580
-:101600008091FD019091FE01892BA9F58091E80060
-:10161000877F8093E8000E942B0D8091FB018093CF
-:101620000C010C9418158091F901813221F58091FB
-:10163000E800877F8093E8000E942B0D8091FC01D9
-:101640008093740108958091F901813AA1F4809109
-:10165000E800877F8093E8008091E80080FFFCCF5E
-:10166000809174018093F1008091E8008E778093DF
-:10167000E8000C942B0D089584B7877F84BF0FB6C4
-:10168000F894A89580916000886180936000109222
-:1016900060000FBE80E880936100109261000E949C
-:1016A000CE100E947C0D0E94D90D8091E2008460D2
-:1016B0008093E20078940E945F100E94D01082E034
-:1016C00091E00E947A100E9461218091F80185309A
-:1016D00069F40E94E81B8091F6018823B1F30E940F
-:1016E000151C882391F30E94D10BEFCF0E94D610D6
-:1016F000ECCF292F332723303105C9F064F4213092
-:10170000310581F02230310509F043C08DE690E0CB
-:101710002AE333E042C021323105F1F022323105B3
-:1017200041F137C082E190E027EA33E036C09927E3
-:101730008130910541F08230910541F0892B49F5C6
-:10174000E6E3F3E005C0EEE1F3E002C0E6E0F3E03B
-:10175000849190E09F0121C06430D8F4E62FF0E03E
-:10176000EE0FFF1FEE5DFE4F2081318189E090E09A
-:1017700014C0643070F470E0FB01EE0FFF1FE65EF2
-:10178000FE4F20813181FB01EA5EFE4F808190E0B7
-:1017900004C080E090E020E030E0FA013183208353
-:1017A000089580E189BD82E189BD09B400FEFDCFC5
-:1017B0008091D8008F7D8093D8008091E000826076
-:1017C0008093E0008091E00081FDFCCF0895CF92EE
-:1017D000DF92EF92FF920F931F93CF93DF93EC0171
-:1017E0008B016A010E944A0D811133C0C114D104DA
-:1017F00039F0F60180819181081B190BC80FD91FA0
-:10180000E12CF12C0115110519F18091E80085FDFD
-:1018100016C08091E8008E778093E800C114D1044F
-:1018200049F0F60180819181E80EF91EF182E08293
-:1018300085E00FC00E944A0D882321F30AC08991D8
-:101840008093F10001501109FFEFEF1AFF0ADACF80
-:1018500080E0DF91CF911F910F91FF90EF90DF908B
-:10186000CF9008952091FF0130910002261737078D
-:1018700048F06115710539F42091E8002E77209326
-:10188000E80001C0B90140E061157105A9F120919E
-:10189000F801222309F443C0253009F442C0209105
-:1018A000E80023FD40C02091E80022FD32C02091D5
-:1018B000E80020FFE9CF4091F3002091F20030E0F2
-:1018C000342BFC01CF016115710559F02830310529
-:1018D00040F481918093F100615071092F5F3F4F77
-:1018E000F1CF41E02830310509F040E02091E800D7
-:1018F0002E772093E800C8CF4111C9CF0AC080914C
-:10190000F801882361F0853061F08091E80083FD63
-:101910000AC08091E80082FFF2CF80E0089582E063
-:10192000089583E0089581E008952091FF013091AA
-:1019300000022617370748F06115710539F4209128
-:10194000E8002E772093E80001C0B901FC0120E0F7
-:101950006115710591F18091F801882309F440C067
-:10196000853009F43FC08091E80083FD3DC080913F
-:10197000E80082FD2FC08091E80080FFE9CF209130
-:10198000F3008091F20090E0922B6115710559F0FF
-:101990008830910540F424912093F10031966150F4
-:1019A00071090196F2CF21E0089709F020E08091BB
-:1019B000E8008E778093E800CBCF2111CCCF0AC00E
-:1019C0008091F801882361F0853061F08091E80012
-:1019D00083FD0AC08091E80082FFF2CF80E0089585
-:1019E00082E0089583E0089581E00895982F97306C
-:1019F00058F59093E900981739F07091EC00209118
-:101A0000ED005091F00003C0242F762F50E021FF0D
-:101A100019C03091EB003E7F3093EB003091ED0028
-:101A20003D7F3093ED003091EB0031603093EB005F
-:101A30007093EC002093ED005093F0002091EE00A5
-:101A400027FF07C09F5FD3CF8F708093E90081E0AD
-:101A5000089580E008958091F90187FF11C0809179
-:101A6000E80082FD05C08091F8018111F8CF11C016
-:101A70008091E8008B770BC08091F801882349F0B2
-:101A80008091E80080FFF8CF8091E8008E77809306
-:101A9000E80008952091E4003091E50095E640913A
-:101AA000EC00842F817040FF22C08091E80080FD0F
-:101AB0001CC08091F801882391F0853091F08091CD
-:101AC000EB0085FD10C04091E4005091E500421705
-:101AD000530729F39A01915011F784E0089582E0A9
-:101AE000089583E0089581E0089580E0089540918D
-:101AF000E80042FFDECF08950E94EA0D0E94F20D39
-:101B0000E0EEF0E0808181608083E8EDF0E08081AC
-:101B10008F77808319BCA7EDB0E08C918E7F8C937A
-:101B200080818F7E80831092F70108950F931F9319
-:101B3000CF93DF930E94EA0D0E94F20DC8EDD0E032
-:101B400088818F77888388818068888388818F7D6A
-:101B5000888319BC1092F8011092F4011092F601DA
-:101B60001092F50100EE10E0F80180818B7F8083F8
-:101B700088818160888342E060E080E00E94F60C0A
-:101B8000E1EEF0E080818E7F8083E2EEF0E0808104
-:101B900081608083808188608083F80180818E7F6E
-:101BA0008083888180618883DF91CF911F910F911D
-:101BB0000895E8EDF0E080818F7E8083E7EDF0E02E
-:101BC00080818160808384E082BF81E08093F7011F
-:101BD0000C94960DE8EDF0E080818E7F808310926A
-:101BE000E20008951092DA001092E10008951F9229
-:101BF0000F920FB60F9211242F933F934F935F9341
-:101C00006F937F938F939F93AF93BF93EF93FF93C4
-:101C10008091E10082FF0BC08091E20082FF07C04B
-:101C20008091E1008B7F8093E1000E945E108091A3
-:101C3000DA0080FF1FC08091D80080FF1BC0809118
-:101C4000DA008E7F8093DA008091D90080FF0DC08A
-:101C500080E189BD82E189BD09B400FEFDCF81E04C
-:101C60008093F8010E945A0A05C019BC1092F8012D
-:101C70000E94680A8091E10080FF19C08091E20013
-:101C800080FF15C08091E2008E7F8093E2008091FA
-:101C9000E20080618093E2008091D80080628093AE
-:101CA000D80019BC85E08093F8010E946C0A8091ED
-:101CB000E10084FF30C08091E20084FF2CC080E10D
-:101CC00089BD82E189BD09B400FEFDCF8091D800B5
-:101CD0008F7D8093D8008091E1008F7E8093E1001A
-:101CE0008091E2008F7E8093E2008091E20081602B
-:101CF0008093E2008091F401882311F084E007C012
-:101D00008091E30087FD02C081E001C083E0809301
-:101D1000F8010E946E0A8091E10083FF29C0809142
-:101D2000E20083FF25C08091E100877F8093E1007E
-:101D300082E08093F8011092F4018091E1008E7F9F
-:101D40008093E1008091E2008E7F8093E200809199
-:101D5000E20080618093E20042E060E080E00E9467
-:101D6000F60C8091F00088608093F0000E946B0A6E
-:101D7000FF91EF91BF91AF919F918F917F916F9163
-:101D80005F914F913F912F910F900FBE0F901F9039
-:101D900018951F920F920FB60F9211242F933F9315
-:101DA0004F935F936F937F938F939F93AF93BF9363
-:101DB000CF93DF93EF93FF93C091E900CF708091B1
-:101DC000EC00D82FD17080FDD0E81092E90080910E
-:101DD000F000877F8093F00078940E940D0F10929E
-:101DE000E9008091F00088608093F000CD2BCF70E7
-:101DF000C093E900FF91EF91DF91CF91BF91AF9137
-:101E00009F918F917F916F915F914F913F912F9112
-:101E10000F900FBE0F901F9018951F93CF93DF93D5
-:101E2000CDB7DEB7AA970FB6F894DEBF0FBECDBF11
-:101E3000E9EFF1E088E08E0F9091F10091938E131D
-:101E4000FBCF0E948A0A8091E80083FF1FC1809126
-:101E5000F9019091FA01492F50E04A30510508F0FC
-:101E600015C1FA01EA5AFF4F0C940A23803881F019
-:101E7000823809F00BC18091FD018F708093E900D9
-:101E80008091EB0085FB882780F91092E90006C05D
-:101E90008091F5019091F601911182609091E80096
-:101EA000977F9093E8008093F1001092F100C8C0F2
-:101EB000282F2D7F09F0EAC0882319F0823061F0C5
-:101EC000E5C08091FB01813009F0E0C0933009F05A
-:101ED00080E08093F6012BC08091FB01811127C027
-:101EE0008091FD018F7009F4D1C08093E9002091A9
-:101EF000EB0020FF1CC0933021F48091EB00806246
-:101F000014C09091EB0090619093EB0021E030E0E1
-:101F1000A90102C0440F551F8A95E2F74093EA00D9
-:101F20001092EA008091EB0088608093EB001092A1
-:101F3000E9008091E800877F86C08111A7C01091D9
-:101F4000FB011F778091E3008078812B8093E30071
-:101F50008091E800877F8093E8000E942B0D80919C
-:101F6000E80080FFFCCF8091E30080688093E3006D
-:101F7000111102C082E001C083E08093F80186C0A5
-:101F80008058823008F082C08091FB019091FC0162
-:101F90008C3D53E0950779F583E08A838AE2898353
-:101FA0004FB7F894DE01139620E03EE051E2E32FB4
-:101FB000F0E050935700E49120FF03C0E295EF70EA
-:101FC0003F5FEF708E2F90E0EA3010F0C79601C0AF
-:101FD000C0968D939D932F5F243149F74FBF809119
-:101FE000E800877F8093E8006AE270E0CE01019606
-:101FF0000E94320C14C0AE014F5F5F4F6091FD0133
-:102000000E94790BBC01892B09F440C09091E80033
-:10201000977F9093E80089819A810E94950C809126
-:10202000E8008B778093E80031C0803879F58091A3
-:10203000E800877F8093E8008091F4018093F100AD
-:102040008091E8008E778093E8000E942B0D1EC0DF
-:1020500081111CC09091FB019230C0F48091E80086
-:10206000877F8093E8009093F4010E942B0D80916C
-:10207000F401811106C08091E30087FD02C081E078
-:1020800001C084E08093F8010E94760A8091E80004
-:1020900083FF0AC08091E800877F8093E8008091E9
-:1020A000EB0080628093EB00AA960FB6F894DEBF37
-:1020B0000FBECDBFDF91CF911F9108950895CF93AB
-:1020C0008091F8018823A1F0C091E900CF70909130
-:1020D000EC00892F817090FD80E8C82B1092E900F8
-:1020E0008091E80083FD0E940D0FCF70C093E9003E
-:1020F000CF91089590937A01809379010895E091AA
-:102100007901F0917A01309721F00190F081E02D72
-:10211000099480E00895E0917901F0917A01309777
-:1021200021F00280F381E02D09940895E091790176
-:10213000F0917A01309721F00480F581E02D099427
-:10214000089520917701309178018217930771F0FB
-:102150009093780180937701E0917901F0917A0171
-:10216000309721F00680F781E02D099408952091A1
-:102170007501309176018217930771F09093760183
-:1021800080937501E0917901F0917A01309721F007
-:102190000084F185E02D0994089508950C94CD10E4
-:1021A0000E94291C0E943E030C94AF1C9F92AF9288
-:1021B000BF92CF92DF92EF92FF920F931F93CF9334
-:1021C000DF9300D000D000D0CDB7DEB70E9465030A
-:1021D0000DE010E0AA24A394B12C902E802F0E9431
-:1021E0005304980124583E4F6901F901F080F82604
-:1021F000A1F40150110988F78FEF89838A831B822C
-:102200000E94321C8160782F9D838C8349815A8182
-:102210006B818D810E946D112FC09091DF0191FF24
-:1022200004C08E830E9459048E8125E030E0A50110
-:10223000022E01C0440F0A94EAF7E42E4F21C1F0A8
-:1022400029839A828E2191E009F490E09B830E9479
-:10225000321C8160782F9D838C8349815A816B81E8
-:102260008D810E946D11F6018081E826E08204C014
-:1022700021503109E0F6BDCF0E947D1E10917B01F7
-:102280000E947F101817B9F00E947F1080937B0185
-:1022900026960FB6F894DEBF0FBECDBFDF91CF916B
-:1022A0001F910F91FF90EF90DF90CF90BF90AF9074
-:1022B0009F900C94790926960FB6F894DEBF0FBE56
-:1022C000CDBFDF91CF911F910F91FF90EF90DF90E5
-:1022D000CF90BF90AF909F900895CF93DF93CDB7ED
-:1022E000DEB72B970FB6F894DEBF0FBECDBF4F837E
-:1022F000588769877A878B87DE01119686E0FD0112
-:1023000011928A95E9F785E0FE01379601900D92CA
-:102310008A95E1F749815A816B817C818D819E810B
-:102320000E94B6172B960FB6F894DEBF0FBECDBF36
-:10233000DF91CF910895CF93882309F4C2C0C82FAD
-:10234000823859F40E947F1081FDBBC089E30E944E
-:10235000901A0E945D1B89E30CC0833879F40E94B7
-:102360007F1080FDAEC083E50E94901A0E945D1B25
-:1023700083E50E94D21ACF910C945D1B843859F4E6
-:102380000E947F1082FD9DC087E40E94901A0E94E7
-:102390005D1B87E4EECF8CEF8C0F813A48F48C2FD5
-:1023A0000E94C72081118DC08C2F0E94901AE3CF0C
-:1023B00080E28C0F883048F4C77081E001C0880F3C
-:1023C000CA95EAF70E94161BD6CF8BE58C0F833097
-:1023D00078F4C53A29F0C63A31F083E890E005C0B8
-:1023E00081E890E002C082E890E0CF910C94A110C7
-:1023F00088E58C0F833108F064C0C83A39F1C93AD6
-:1024000041F1CA3A49F1CB3A51F1CC3A59F1CD3ABE
-:1024100061F1C03B69F1CE3A71F1CF3A79F1C13B3C
-:1024200081F1C23B89F1C33B91F1C43B99F1C53BBA
-:10243000A1F1C63BA9F1C73BB1F1C83BB9F1C93B1A
-:10244000C1F1CA3BC9F180E090E038C082EE90E073
-:1024500035C089EE90E032C08AEE90E02FC085EB67
-:1024600090E02CC086EB90E029C087EB90E026C07E
-:102470008CEC90E023C08DEC90E020C083E891E0EC
-:102480001DC08AE891E01AC082E991E017C084E992
-:1024900091E014C081E292E011C083E292E00EC0AC
-:1024A00084E292E00BC085E292E008C086E292E00E
-:1024B00005C087E292E002C08AE292E0CF910C94DC
-:1024C000B710CF910895882309F44BC0823859F48E
-:1024D0000E947F1081FF45C089E30E94901A0E94EC
-:1024E0005D1B89E30CC0833871F40E947F1080FF6C
-:1024F00038C083E50E94901A0E945D1B83E50E940C
-:10250000D21A0C945D1B843859F40E947F1082FF0C
-:1025100028C087E40E94901A0E945D1B87E4EFCFD9
-:102520009CEF980F913A58F390E2980F983050F43E
-:10253000877091E001C0990F8A95EAF7892F0E9470
-:102540001C1BDFCF9BE5980F933020F480E090E0D8
-:102550000C94A110885A833120F480E090E00C9410
-:10256000B7100895882321F00E94161B0C945D1B60
-:102570000895882321F00E941C1B0C945D1B089574
-:102580007F928F929F92AF92BF92CF92DF92EF9203
-:10259000FF920F931F93CF93DF931F92CDB7DEB7B8
-:1025A0007C01C62E772EFC01058102950F701281E9
-:1025B00011110E94331B0E94891A882379F011237C
-:1025C00069F080E28C0D883048F082E00E94721A37
-:1025D0000E94891A91E0D82ED92601C0D12CE72D6E
-:1025E000E295EF70F0E0E05AFF4F0C940A23872D3C
-:1025F000807F072D0F70882311F00295007F112333
-:1026000089F0002309F490C180E28C0D883020F419
-:10261000802F0E94161B03C0802F0E94261B0E9441
-:102620005D1B82C18C2D0E946312002309F495C1A9
-:1026300080E28C0D883020F4802F0E941C1B03C088
-:10264000802F0E942C1B0E945D1B87C1972D907FBD
-:10265000872D8F70903211F08295807FCC2021F0F1
-:10266000F1E0CF16B1F01EC0112349F0002309F4A8
-:1026700014C1013009F011C10E94461B6EC1002334
-:1026800019F0013009F469C189830E94491B8981CD
-:102690000AC1112321F0023008F05FC1FEC0011110
-:1026A0005CC101C1112321F0002309F4F6C03CC133
-:1026B000002309F4F8C03EC1872D86958695837066
-:1026C00090E0009719F0019761F047C1112321F0C4
-:1026D0008C2D972D937002C080E090E00E94A11095
-:1026E0003CC1112321F08C2D972D937002C080E006
-:1026F00090E00E94B71031C18C2D112319F00E9477
-:10270000851D02C00E94ED1D0E94721E26C1872DEC
-:10271000837009F052C0111120C18C2D82958695CD
-:102720008770880F880F9C2D9F70892E912CA12C6B
-:10273000B12C082E04C0880C991CAA1CBB1C0A943E
-:10274000D2F7C4FE14C00FE010E020E030E0B90181
-:10275000A80104C0440F551F661F771F8A95D2F742
-:10276000CB01BA01609570958095909503C060E0AB
-:1027700070E0CB01272D26952695237030E022307E
-:10278000310569F02330310589F0682979298A29D2
-:102790009B292130310571F00E94FE18DEC06829A6
-:1027A00079298A299B290E941A19D7C00E94FE18EC
-:1027B000C501B4010E94E218D0C0112319F0872D81
-:1027C000817001C08695882309F4C7C08C2D82953D
-:1027D00086958770880F880F9C2D9F70892E912C6D
-:1027E000A12CB12C082E04C0880C991CAA1CBB1C5F
-:1027F0000A94D2F7C4FE14C00FE010E020E030E0ED
-:10280000B901A80104C0440F551F661F771F8A95A0
-:10281000D2F7CB01BA01609570958095909503C071
-:1028200060E070E0CB01272D269526952370422F7E
-:1028300050E04230510569F04330510589F0682974
-:1028400079298A299B294130510571F00E94D819B4
-:1028500084C0682979298A299B290E94F4197DC09E
-:102860000E94D819C501B4010E94BC1976C08C2DF4
-:1028700090E0FC01E05EF109E531F10508F050C09F
-:10288000E059FF4F0C940A230C2D0F70872D8F7188
-:10289000112331F00E945519802F0E94B2125DC0A1
-:1028A0000E947619802F0E94B91257C0112339F067
-:1028B000011153C0872D8F710E949B194EC00230A9
-:1028C00008F04BC0F7CF112339F0872D8F710E948C
-:1028D000551943C01123C9F3872D8F710E947619B2
-:1028E0003CC0112329F0872D8F710E94401935C0FB
-:1028F0000E94361932C0112351F0172D1F71812FFC
-:102900000E94551963E0812F0E94691A26C081E058
-:102910000E94721A023008F182E00E94721A1DC0F1
-:10292000112331F0002389F28C2D0E949B1115C0D8
-:10293000002391F28C2D0E9463120FC0472D4F701F
-:102940006C2DC7010E942F050E945A1806C0472D02
-:102950004F706C2DC7010E94E808DD20F9F00E943D
-:10296000651A80FD1BC0F70112820E945F1A0E9447
-:102970005519C7010E94DD140E945F1A0F90DF9164
-:10298000CF911F910F91FF90EF90DF90CF90BF906C
-:10299000AF909F908F907F900C9476190F90DF915D
-:1029A000CF911F910F91FF90EF90DF90CF90BF904C
-:1029B000AF909F908F907F9008950F931F93CF9328
-:1029C000DF93EC01888199812B813C81232BB9F025
-:1029D0009F3F11F48F3F99F0CE010E94710588232B
-:1029E00071F0688179818A810E945B1A8C010E9452
-:1029F000101A0E94D718B801CE010E94C012DF91B0
-:102A0000CF911F910F9108950E94331B0E94431B89
-:102A10000E94081B0E945D1B0E94231F0E94721EC1
-:102A200080E090E00E94A11080E090E00C94B7104C
-:102A30000E94231B0C9404150E94501A292F2295E2
-:102A40002F7030E02C3031054CF42A3031056CF415
-:102A50002250310922303105A8F407C02C3031054D
-:102A600069F02F30310551F00DC0803F69F018F446
-:102A7000803E40F409C0843F29F406C093FB8827B8
-:102A800080F9089580E0089581E00895CF93DF9361
-:102A900000D000D01F92CDB7DEB70F900F900F90EF
-:102AA0000F900F90DF91CF910895CF93DF9300D0D7
-:102AB00000D000D0CDB7DEB726960FB6F894DEBFB3
-:102AC0000FBECDBFDF91CF9108951F93CF93DF93BA
-:102AD000C0918A0116E080918B01C81799F0D0E06F
-:102AE0001C9FF0011D9FF00D1124E457FE4F408103
-:102AF000518162817381848195810E94551521964F
-:102B0000C770E9CFDF91CF911F9108954091BC012B
-:102B10005091BD016091BE017091BF018091C001D3
-:102B20009091C1010C9455158091C10182958F70CF
-:102B300009F054C08091BE01882309F44FC08091F0
-:102B40008A01A0918B016091BC017091BD014091FF
-:102B5000BF015091C001B6E08A1709F43FC090E070
-:102B600041155105C1F17F3F11F46F3FA1F1B89FAD
-:102B7000F001B99FF00D1124E457FE4F218172132B
-:102B80002AC02081621327C02281211124C0238101
-:102B900034812417350710F421503109241B350BDB
-:102BA000283C3105C0F42091C1012F702061209391
-:102BB000C10126E0289FF001299FF00D1124EF5656
-:102BC000FE4F80818F70806180838CEB91E00E944A
-:102BD000DD140C94651501968770BECF0895CF92D1
-:102BE000DF92EF92FF920F931F93CF93DF93CDB7B6
-:102BF000DEB762970FB6F894DEBF0FBECDBF8C0173
-:102C000085E0F801DE011D9601900D928A95E1F7AD
-:102C1000D8014C9111965C91119712966C91129774
-:102C20001396CD90DC9014973091BC017091BD014A
-:102C30008091BF019091C001009709F46BC17F3F63
-:102C400019F43F3F09F466C1E090BE01EE2009F49B
-:102C5000C0C02091C101C816D90628F0F601E81BB2
-:102C6000F90BCF0104C0809590958C0D9D1DFF241C
-:102C7000F394883C910578F0F12C207F09F0C6C0D0
-:102C80007C2DD98AC88A89890E9446158CEB91E0EF
-:102C90000E94DD14B1C0822F807F09F046C07513F9
-:102CA00014C0341312C0611110C02F702061209322
-:102CB000C1010E9486158CEB91E00E94DD14809189
-:102CC000C101D80115968C932EC0CD2819F15F3F14
-:102CD00011F44F3FF9F0F62E61111CC080918A016A
-:102CE00020918B0136E0821709F45AC090E0389F9A
-:102CF000F001399FF00D1124E457FE4F71815713F5
-:102D000006C07081471303C07281711103C0019620
-:102D10008770E9CFF62E662309F418C18091C101AE
-:102D200081608093C101F12C11C1751308C0341367
-:102D300006C0611104C08091C101D801C3C04D8794
-:102D40005E878D859E856A8B0E941C156A89882303
-:102D5000E1F16623D1F12091C101822F82958F701C
-:102D600090E0029774F08091BC019091BD0198872A
-:102D70008F831986DB86CA862C87CE0107960E9430
-:102D8000DD1486E0F801ACEBB1E001900D928A957C
-:102D9000E1F70E9494150E948615FF24F394D6C093
-:102DA0004D875E878D859E850E94501A292F22951A
-:102DB0002F7030E0223031050CF0BCC09F7009F05C
-:102DC000B6C0805E883008F4C1C0C8010E94DD141E
-:102DD000E4CFC816D90608F453C0F601E81BF90B76
-:102DE000CF01883C910508F450C0F12C7C2DD98A84
-:102DF000C88A89890E944615ECEBF1E086E0DF0184
-:102E00001D928A95E9F70E948615A0C0751314C01B
-:102E1000341312C0611110C08091C101F801858383
-:102E2000C8010E94DD1486E0ECEBF1E0DF011D92A9
-:102E30008A95E9F7FE2C8AC04D875E878D859E8531
-:102E40006A8B0E941C156A89882309F4BECF662309
-:102E500009F4BBCF2091C101822F82958F7090E041
-:102E600002970CF48ECF8091BC019091BD019A83A2
-:102E700089831B82DD82CC822E83CE0101967FCF97
-:102E8000809590958C0D9D1DACCFF62E662309F490
-:102E90009CCF75132EC034132CC02091C10120FD8E
-:102EA0001FC0822F82958F70D9F0D80115962C9370
-:102EB00015978F3049F08F5F982F9295907F822FD2
-:102EC0008F70892B15968C93C8010E94DD1486E0C3
-:102ED000F801ACEBB1E001900D928A95E1F793CF48
-:102EE00086E0F801ACEBB1E001900D928A95E1F734
-:102EF0002DC04D875E878D859E850E941C15811192
-:102F000040CF8091C10181608093C101C8010E94BE
-:102F1000DD141CC0662309F458CF4D875E878D856C
-:102F20009E850E941C15882309F44FCF2ACF81115A
-:102F300048CF0CC0243031050CF047CF9F7009F406
-:102F400040CFF8019581907F09F03BCF8F2D62969D
-:102F50000FB6F894DEBF0FBECDBFDF91CF911F91AA
-:102F60000F91FF90EF90DF90CF9008951F93CF9334
-:102F7000DF93CDB7DEB72C970FB6F894DEBF0FBE48
-:102F8000CDBF4F83588769877A878B879C87CE010F
-:102F900007960E94EF15882369F08F8198852A850E
-:102FA0003B85232BF1F19F3F09F063C08F3F09F070
-:102FB00060C037C086E0FE013796DE0111960190B1
-:102FC0000D928A95E1F76F817885EA85FB853097C8
-:102FD00041F17F3F11F46F3F21F120918B0130E0EF
-:102FE000C90101968770992740918A0150E08417A2
-:102FF000950709F447C069837A83FD83EC8396E0E3
-:10300000929FD001939FB00D1124A457BE4FFE0193
-:10301000319601900D929A95E1F780938B010E9471
-:10302000651516E080918A0190918B018917C1F195
-:10303000189FC001112484579E4F0E94EF158823CA
-:1030400079F1E0918A011E9FF0011124E457FE4FAF
-:103050004081518162817381848195810E945515DF
-:1030600080918A0190E001968770992780938A0168
-:10307000D9CF4F81588569857A858B859C850E943B
-:103080005515CFCF0E94181510928B0110928A010E
-:10309000ECEBF1E086E0DF011D928A95E9F7C1CF04
-:1030A0002C960FB6F894DEBF0FBECDBFDF91CF9147
-:1030B0001F910895EF92FF920F931F93CF93DF9389
-:1030C0008C01892B09F46CC0F12CEE24E394E80107
-:1030D0002196F8018491843740F4843008F051C07F
-:1030E000813081F0823019F15BC0853709F444C02A
-:1030F000A8F19CE7980F903708F052C08F770E9494
-:10310000631241C00E5F1F4FFE01C49180E28C0F1D
-:10311000883048F4C7708E2D01C0880FCA95EAF731
-:103120000E94361B14C08C2F0E949B112DC00E5F75
-:103130001F4FFE01C49180E28C0F883058F4C77095
-:103140008E2D01C0880FCA95EAF70E943C1B0E9491
-:103150005D1B1AC08C2F0E94631216C00E5F1F4F9A
-:10316000FE01C491CC2381F08FE99FE00197F1F734
-:1031700000C00000C150F6CF0E5F1F4FFE01F4905B
-:1031800003C00E949B118E018F2D882309F49FCFCD
-:10319000EFE9FFE03197F1F700C000008150F5CF73
-:1031A000DF91CF911F910F91FF90EF9008950895B7
-:1031B0006093C6017093C7018093C8019093C901C1
-:1031C0000C9404150F931F930091C6011091C70131
-:1031D0002091C8013091C901DC01CB01802B912BDA
-:1031E000A22BB32B8093C6019093C701A093C80173
-:1031F000B093C9011F910F910C9404150F931F9365
-:103200000091C6011091C7012091C8013091C901F8
-:10321000DC01CB0180239123A223B3238093C60139
-:103220009093C701A093C801B093C9011F910F915A
-:103230000C9404150F931F930091C6011091C701C0
-:103240002091C8013091C901DC01CB018027912771
-:10325000A227B3278093C6019093C701A093C8010A
-:10326000B093C9011F910F910C9404151092C201E3
-:103270001092C3011092C4011092C5010C94041560
-:1032800041E050E060E070E004C0440F551F661F4D
-:10329000771F8A95D2F74093C2015093C301609380
-:1032A000C4017093C5010C94041541E050E060E046
-:1032B00070E004C0440F551F661F771F8A95D2F730
-:1032C0008091C2019091C301A091C401B091C50148
-:1032D000482B592B6A2B7B2B4093C2015093C3017F
-:1032E0006093C4017093C5010C94041541E050E053
-:1032F00060E070E004C0440F551F661F771F8A9579
-:10330000D2F740955095609570958091C20190914B
-:10331000C301A091C401B091C501482359236A2378
-:103320007B234093C2015093C3016093C401709307
-:10333000C5010C94041541E050E060E070E004C069
-:10334000440F551F661F771F8A95D2F78091C201DF
-:103350009091C301A091C401B091C501482759279C
-:103360006A277B274093C2015093C3016093C40135
-:103370007093C5010C9404150F931F930091C20123
-:103380001091C3012091C4013091C501DC01CB0132
-:10339000802B912BA22BB32B8093C2019093C3015E
-:1033A000A093C401B093C5011F910F910C94041513
-:1033B0000F931F930091C2011091C3012091C4018A
-:1033C0003091C501DC01CB0180239123A223B323DB
-:1033D0008093C2019093C301A093C401B093C5012F
-:1033E0001F910F910C9404150F931F930091C2012C
-:1033F0001091C3012091C4013091C501DC01CB01C2
-:1034000080279127A227B3278093C2019093C301FD
-:10341000A093C401B093C5011F910F910C940415A2
-:103420000895CF92DF92EF92FF920F931F93CF9365
-:10343000DF938C01C090C601D090C701E090C80115
-:10344000F090C9018091C2019091C301A091C40183
-:10345000B091C501C82AD92AEA2AFB2ACFE1D0E0D7
-:10346000D701C6010C2E04C0B695A79597958795F0
-:103470000A94D2F780FF06C0B8018C2F0E9467071C
-:10348000019721F4219760F780E001C08C2FDF9134
-:10349000CF911F910F91FF90EF90DF90CF90089503
-:1034A000CF93DF93EC010E94111ABE010E946707BF
-:1034B000DF91CF910895CB010E94501A0895809119
-:1034C000CA0185958595859508958091CA01877073
-:1034D000089598E0899F90011124262B2093CA011A
-:1034E0000C9455192091CA01809582238093CA01BA
-:1034F000982F977069F430E0482F552747FD509575
-:103500002417350729F08595859585950C947619AE
-:1035100008959091CA01977081E009F480E00895C0
-:1035200090910C01992321F090910D01911109C006
-:1035300020910E0130910F01F90132969FEF40E08A
-:103540001FC0982F9695969596959F3050F5E091CF
-:103550000E01F0910F01E90FF11D877021E030E0BD
-:10356000A90102C0440F551F8A95E2F7CA01918153
-:10357000892B818308959F3F39F04F5F4E3041F092
-:1035800051915813F8CF0DC05111F7CF942FF5CFAB
-:103590009F3F39F0F901E90FF11D97FDFA958283FC
-:1035A0000895089590910C01992321F090910D01B7
-:1035B000911109C020910E0130910F01F90132964D
-:1035C000205F3F4F1FC0982F9695969596959F30F8
-:1035D000F0F4E0910E01F0910F01E90FF11D8770F9
-:1035E00021E030E0A90102C0440F551F8A95E2F79F
-:1035F000CA01809591818923818308953196E217CC
-:10360000F30729F090819813F9CF1082F7CF08952E
-:1036100081E090E0E0910E01F0910F01E80FF91FB9
-:103620001082019680319105A9F708959091DE01ED
-:10363000892B8093DE01089580959091DE01892386
-:103640008093DE0108951092DE0108959091DD01CE
-:10365000892B8093DD01089580959091DD01892368
-:103660008093DD0108951092DD0108959091DC01B1
-:10367000892B8093DC01089580959091DC0189234A
-:103680008093DC0108951092DC0108958093CB01B2
-:1036900008951092CB01089580910E0190910F0131
-:1036A000FC0131969C01205F3F4F80E09191911188
-:1036B0008F5FE217F307D1F70895E0910E01F091C3
-:1036C0000F018091DE018083E0910E01F0910F01E6
-:1036D00090818091DD01892B8083E0910E01F09132
-:1036E0000F0190818091DC01892B80838091CB0137
-:1036F000882361F0E0910E01F0910F019081892BF8
-:1037000080830E944C1B81111092CB0180910E018D
-:1037100090910F010C948B1020E0009739F0AC01D0
-:1037200041505109842395232F5FF7CF822F0895AD
-:10373000CF92DF92EF92FF926C01EE24FF24C1142E
-:10374000D104E104F10421F0C701B60120E101C078
-:1037500020E0C72ED82EE92EFF24C114D104E104A5
-:10376000F10419F0285FC701B6016B017C0154E038
-:10377000F694E794D794C7945A95D1F7C114D1041D
-:10378000E104F10419F02C5FC701B6016B017C0163
-:1037900042E0F694E794D794C7944A95D1F7C114C0
-:1037A000D104E104F10419F02E5FC701B601DC0178
-:1037B000CB01B695A79597958795892B8A2B8B2B4F
-:1037C00009F02F5F822FFF90EF90DF90CF90089548
-:1037D0008091F801843039F11092E00120E488E111
-:1037E00090E00FB6F894A895809360000FBE2093E8
-:1037F000600080E00E94790983B7817F846083BF85
-:1038000083B7816083BF7894889583B78E7F83BFA9
-:103810000FB6F894A895809160008861809360004D
-:10382000109260000FBE089508950E9452030E94F6
-:1038300065030E94141C0E945A0491E0811101C08A
-:1038400090E0892F08950E9418150E947F100C9413
-:10385000790982E084BD93E095BD9AEF97BD80938E
-:103860006E0008952FB7F8948091E1019091E201E4
-:10387000A091E301B091E4012FBF0895CF92DF92B0
-:10388000EF92FF920F931F932FB7F8944091E101AD
-:103890005091E2016091E3017091E4012FBF6A0150
-:1038A0007B01EE24FF248C0120E030E0C016D1061D
-:1038B000E206F30610F4415051099A01281B390B16
-:1038C000C9011F910F91FF90EF90DF90CF90089565
-:1038D0001F920F920FB60F9211248F939F93AF9365
-:1038E000BF938091E1019091E201A091E301B09139
-:1038F000E4010196A11DB11D8093E1019093E201C5
-:10390000A093E301B093E401BF91AF919F918F9198
-:103910000F900FBE0F901F9018950E947C0DF89489
-:103920002FEF87EA91E6215080409040E1F700C0F8
-:10393000000087E090EBDC0180930102909302028B
-:10394000A0930302B09304029CE088E10FB6F894C0
-:10395000A895809360000FBE90936000FFCF0E94F7
-:10396000E71C811102C00E94CD1C0E94F21C8093B2
-:10397000DF010E94FA1C90E09093F3018093F20122
-:1039800087FB882780F980930D010E94F61C682F21
-:1039900070E080E090E00C94D8186DEE7EEF80E04F
-:1039A00090E00E94432360E082E090E00E94322396
-:1039B00060E083E090E00E94322360E084E090E0E9
-:1039C0000E94322360E085E090E00C94322380E096
-:1039D00090E00E942C2321E08D3E9E4F09F020E0D4
-:1039E000822F089582E090E00C94242383E090E0FD
-:1039F0000C94242384E090E00C942423682F84E02A
-:103A000090E00C9432238091E70180FF0BC060911D
-:103A1000130185E0689FB001112475956795759530
-:103A200067952BC081FF09C06091130185E0689FF5
-:103A3000B00111247595679520C082FF07C0609181
-:103A4000130185E0689FB001112417C09091E8012F
-:103A50009923D1F060911201961788F720911301F4
-:103A600085E0289F90011124929FA001939F500D03
-:103A7000112470E0CA010E94F6226038710540F4FA
-:103A80006115710539F002C065E070E0862F089578
-:103A90008FE7089581E008958091E70180FF08C0D5
-:103AA0006091110170E0759567957595679521C0D6
-:103AB00081FF06C06091110170E07595679519C08E
-:103AC00082FF04C06091110170E010C09091E80184
-:103AD0009923C1F0609110019617A0F78091110110
-:103AE000899FC001112470E00E94F62260387105A0
-:103AF00028F46115710521F0862F08958FE7089548
-:103B000081E0089561E070E0F4CF803F21F40E94ED
-:103B1000031D819504C0813F29F40E94031D8093F9
-:103B2000EB010895823F21F40E94031D819504C09A
-:103B3000833F29F40E94031D8093EA010895893F81
-:103B400019F40E944C1D05C08A3F31F40E944C1D9F
-:103B500081958093EC0108958B3F21F40E944C1DC8
-:103B6000819504C08C3F29F40E944C1D8093ED0187
-:103B70000895843F21F48091E901816017C0853F59
-:103B800021F48091E901826011C0863F21F4809187
-:103B9000E90184600BC0873F21F48091E9018860CE
-:103BA00005C0883F31F48091E90180618093E9018B
-:103BB00008958D3F21F48091E70181600BC08E3F15
-:103BC00021F48091E701826005C08F3F29F4809144
-:103BD000E70184608093E7010895803F39F4809184
-:103BE000EB0187FF6CC01092EB0169C0813F29F4A3
-:103BF0008091EB011816BCF362C09091EA01823FFC
-:103C000029F497FF5CC01092EA0159C0833F19F470
-:103C10001916CCF354C0893F41F48091EC01181679
-:103C20000CF04DC01092EC014AC08A3F29F48091FB
-:103C3000EC0187FF44C0F6CF8B3F39F48091ED0152
-:103C400087FF3DC01092ED013AC08C3F29F480916E
-:103C5000ED011816BCF333C0843F21F48091E901D3
-:103C60008E7F17C0853F21F48091E9018D7F11C0BF
-:103C7000863F21F48091E9018B7F0BC0873F21F4BF
-:103C80008091E901877F05C0883F31F48091E90187
-:103C90008F7E8093E90113C08D3F21F48091E7016D
-:103CA0008E7F0BC08E3F21F48091E7018D7F05C090
-:103CB0008F3F29F48091E7018B7F8093E70180910A
-:103CC000EA0181110EC08091EB0181110AC080913F
-:103CD000EC01811106C08091ED01811102C01092AA
-:103CE000E801089589EE91E00E9496100E94321C2E
-:103CF0009093E6018093E50108951F93CF93DF939E
-:103D00008091E5019091E6010E943E1CAC019091EA
-:103D1000E801992321F02091140130E006C02091A0
-:103D200015018AE0289F900111244217530708F4D7
-:103D300086C08091EA01C091EB01D091EC01109115
-:103D4000ED01811107C0C11176C0D11174C01111EC
-:103D500072C075C09F3F19F09F5F9093E8011816DD
-:103D600024F40E94031D8093EA018091EA0187FFF9
-:103D700005C00E94031D81958093EA011C1624F45E
-:103D80000E94031D8093EB018091EB0187FF05C02A
-:103D90000E94031D81958093EB016091EA016623E7
-:103DA00039F1C091EB01CC2319F1772767FD7095AC
-:103DB000872F972F0E94FD2123E333E343E35FE343
-:103DC0000E9461220E94C5216093EA016C2F77272F
-:103DD00067FD7095872F972F0E94FD2123E333E322
-:103DE00043E35FE30E9461220E94C5216093EB01DF
-:103DF0001D1624F40E944C1D8093EC018091EC016F
-:103E000087FF05C00E944C1D81958093EC0111161F
-:103E100024F40E944C1D8093ED018091ED0187FFF9
-:103E200005C00E944C1D81958093ED01DF91CF91DB
-:103E30001F910C94721E9F3F09F08ECF96CFDF9199
-:103E4000CF911F910895E9EEF1E085E0DF011D9229
-:103E50008A95E9F71092E8011092E70108958330FE
-:103E600081F128F4813059F08230D1F00895853005
-:103E700009F449C0B8F1863009F456C0089580911C
-:103E80001501262F30E0280F311D2F3F310524F476
-:103E9000680F6093150108958FEF809315010895C1
-:103EA00080911401262F30E0280F311D2F3F31055E
-:103EB00024F4680F6093140108958FEF8093140128
-:103EC000089580911301262F30E0280F311D2F3FD8
-:103ED000310524F4680F6093130108958FEF8093E8
-:103EE0001301089580911201262F30E0280F311D13
-:103EF0002F3F310524F4680F6093120108958FEF6E
-:103F000080931201089580911101262F30E0280F2F
-:103F1000311D2F3F310524F4680F6093110108957E
-:103F20008FEF80931101089580911001262F30E0CA
-:103F3000280F311D2F3F310524F4680F60931001C5
-:103F400008958FEF809310010895833011F128F4C4
-:103F5000813049F0823091F00895853081F120F16F
-:103F60008630C1F1089580911501681720F4861BF1
-:103F70008093150108951092150108958091140100
-:103F8000681720F4861B8093140108951092140181
-:103F9000089580911301681720F4861B8093130104
-:103FA000089510921301089580911201681720F46A
-:103FB000861B80931201089510921201089580913A
-:103FC0001101681720F4861B809311010895109247
-:103FD0001101089580911001681720F4861B8093C9
-:103FE000100108951092100108950F931F938D31C1
-:103FF00009F471C008F045C0803109F485C008F5A6
-:10400000873009F46FC068F4863009F0ADC0809144
-:10401000DF01817F8E7F8093DF0181E08093EF015C
-:10402000A4C08B3009F49EC08E3009F09DC08091F1
-:10403000DF0182FB222720F991E0922790FB82F991
-:104040006CC0863109F48EC060F4813109F08CC0F7
-:104050000E94181590910D0181E0892780930D0130
-:1040600081C0893109F47EC08B3109F07DC0809117
-:10407000DF0181FB222720F991E0922790FB81F953
-:104080004CC0853309F466C048F4873209F462C035
-:1040900008F44FC0893209F45DC066C0833438F437
-:1040A0008A3308F044C0883309F45CC05DC08334AF
-:1040B00009F450C0883409F057C00E9418150FEF5A
-:1040C00013ED20E3015010402040E1F700C0000054
-:1040D0000E948D1C47C00E947F210E947F100E9479
-:1040E000790940C09091DF01892F8095817080FB14
-:1040F00090F929F0966098609093DF0136C0997F1F
-:10410000977F9093DF012EC08091DF0183FB2227F0
-:1041100020F991E0922790FB83F98093DF019923A6
-:1041200009F18091DF0181608093DF011BC0895319
-:1041300001C08D5141E050E060E070E08A019B01D8
-:1041400004C0000F111F221F331F8A95D2F7C90127
-:10415000B80104C061E070E080E090E00E94D818EF
-:104160000E94181581E001C080E01F910F91089511
-:1041700080E0089580E008958E518A3030F4E82F71
-:10418000F0E0E65DFE4F8081089580E00895CF93D2
-:10419000C82F8091EF01813079F018F08230E9F179
-:1041A00086C0E0910E01F0910F018081813169F0AC
-:1041B000823209F07EC009C0E0910E01F0910F013A
-:1041C0008081813111F0823261F48C2F0E94B820FD
-:1041D000811104C08C2F0E94F51F1DC081E090E06A
-:1041E0001AC08C2F0E94BA20811114C0C43179F0FA
-:1041F00048F4CB3079F0C03109F05FC082E08093A1
-:10420000EF0108C0C93219F0C83321F056C010922E
-:10421000EF0153C081E0817052C0C93281F110F5C5
-:10422000C43169F1A8F4C73009F045C08AE0809331
-:10423000150194E19093140193E0909313018093FE
-:10424000120188E08093110188E28093100133C04D
-:1042500082EE8C0F863078F58C2F0E94BC208093E4
-:10426000EE0129C0CE34E9F020F4CB3421F56AE028
-:1042700013C0C13579F0C235F1F461E00DC0809111
-:10428000EE01882319F01092EE0115C081E08093B1
-:10429000EF0115C061E006C08091EE010E942F1F62
-:1042A0000AC06AE08091EE010E94A51F04C010922E
-:1042B000EF0180E004C081E002C080E0ACCFCF918C
-:1042C0000895E1E8F0E080818860808380818160EA
-:1042D00080838FB7F89493E09093890090ED90934A
-:1042E00088008FBF0895EFE6F0E0808182608083D0
-:1042F0000895EFE6F0E080818D7F80830895EFE6FA
-:10430000F0E0908182E08927808308951F920F92C8
-:104310000FB60F9211242F933F934F935F936F9398
-:104320007F938F939F93AF93BF93EF93FF9380916E
-:10433000F0019091F10101969093F1018093F001C9
-:10434000811103C082E00E947909E091F101E695B4
-:10435000E695F0E0EB54FB4FE4918091F0018E1371
-:1043600003C080E00E947909FF91EF91BF91AF9166
-:104370009F918F917F916F915F914F913F912F917D
-:104380000F900FBE0F901F9018950E94CC2168943B
-:10439000B1110C945B2208950E94402288F09F572F
-:1043A00098F0B92F9927B751B0F0E1F0660F771F59
-:1043B000881F991F1AF0BA95C9F714C0B13091F04F
-:1043C0000E945A22B1E008950C945A22672F782F48
-:1043D0008827B85F39F0B93FCCF386957795679514
-:1043E000B395D9F73EF490958095709561957F4F80
-:1043F0008F4F9F4F0895E89409C097FB3EF4909526
-:104400008095709561957F4F8F4F9F4F9923A9F0AD
-:10441000F92F96E9BB279395F6958795779567953C
-:10442000B795F111F8CFFAF4BB0F11F460FF1BC080
-:104430006F5F7F4F8F4F9F4F16C0882311F096E913
-:1044400011C0772321F09EE8872F762F05C06623C1
-:1044500071F096E8862F70E060E02AF09A95660F7A
-:10446000771F881FDAF7880F9695879597F9089533
-:1044700057FD9058440F551F59F05F3F71F0479515
-:10448000880F97FB991F61F09F3F79F087950895FA
-:10449000121613061406551FF2CF4695F1DF08C019
-:1044A000161617061806991FF1CF86957105610536
-:1044B00008940895E894BB2766277727CB0197F9DE
-:1044C00008950E9474220C94E5220E94D72238F0AD
-:1044D0000E94DE2220F0952311F00C94CE220C9441
-:1044E000D42211240C945B220E94382270F3959FF1
-:1044F000C1F3950F50E0551F629FF001729FBB27DB
-:10450000F00DB11D639FAA27F00DB11DAA1F649F76
-:104510006627B00DA11D661F829F2227B00DA11D29
-:10452000621F739FB00DA11D621F839FA00D611DAF
-:10453000221F749F3327A00D611D231F849F600DD0
-:10454000211D822F762F6A2F11249F5750409AF0F9
-:10455000F1F088234AF0EE0FFF1FBB1F661F771F85
-:10456000881F91505040A9F79E3F510580F00C9450
-:10457000CE220C945B225F3FE4F3983ED4F3869501
-:1045800077956795B795F795E7959F5FC1F7FE2BF0
-:10459000880F911D9695879597F9089597F99F67CC
-:1045A00080E870E060E008959FEF80EC08950024BB
-:1045B0000A941616170618060906089500240A9488
-:1045C00012161306140605060895092E0394000C0E
-:1045D00011F4882352F0BB0F40F4BF2B11F460FF9D
-:1045E00004C06F5F7F4F8F4F9F4F089597FB072E3B
-:1045F00016F4009407D077FD09D00E94102307FC21
-:1046000005D03EF4909581959F4F089570956195E2
-:104610007F4F0895EE0FFF1F0590F491E02D099450
-:10462000AA1BBB1B51E107C0AA1FBB1FA617B707D8
-:1046300010F0A61BB70B881F991F5A95A9F78095F4
-:104640009095BC01CD010895F999FECF92BD81BD31
-:10465000F89A992780B50895A8E1B0E042E050E0CB
-:104660000C944B23262FF999FECF92BD81BDF89A69
-:10467000019700B4021631F020BD0FB6F894FA9AF3
-:10468000F99A0FBE08950196272F0E9433230C94A8
-:104690003223DC01CB01FC01F999FECF06C0F2BD4B
-:1046A000E1BDF89A319600B40D9241505040B8F7F0
-:0646B0000895F894FFCF0D
-:1046B60002207B09090AE609B2097E090101CC013B
-:1046C60028080A03140A404D363975042804F203F3
-:1046D600B9034C0365037E03970301020304050631
-:0446E60007080900B8
-:00000001FF
diff --git a/keyboards/ergodox/keymaps/townk_osx/readme.md b/keyboards/ergodox/keymaps/townk_osx/readme.md
index c2853ca17..a2dcd35fa 100644
--- a/keyboards/ergodox/keymaps/townk_osx/readme.md
+++ b/keyboards/ergodox/keymaps/townk_osx/readme.md
@@ -21,9 +21,9 @@ from the Kinesis I was using so far.
Here are the layout mapping in images so you can have a glimpse on it:
-![Base Layout](townk_osx_base.png)
-![fn Layout](townk_osx_fn.png)
-![Keypad & Mouse Layout](townk_osx_keypad.png)
+![Base Layout](https://i.imgur.com/m1yyQvU.png)
+![fn Layout](https://i.imgur.com/AJIzrjq.png)
+![Keypad & Mouse Layout](https://i.imgur.com/9I6Qr0e.png)
Notice that, differently from the default behavior, my layer keys are not transparent
by default, which means that if you press any non-labeled white key, nothing will be
diff --git a/keyboards/ergodox/keymaps/townk_osx/townk_osx_base.png b/keyboards/ergodox/keymaps/townk_osx/townk_osx_base.png
deleted file mode 100644
index f9bc8b443..000000000
--- a/keyboards/ergodox/keymaps/townk_osx/townk_osx_base.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/townk_osx/townk_osx_fn.png b/keyboards/ergodox/keymaps/townk_osx/townk_osx_fn.png
deleted file mode 100644
index 983b72348..000000000
--- a/keyboards/ergodox/keymaps/townk_osx/townk_osx_fn.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/townk_osx/townk_osx_keypad.png b/keyboards/ergodox/keymaps/townk_osx/townk_osx_keypad.png
deleted file mode 100644
index 8f04b4327..000000000
--- a/keyboards/ergodox/keymaps/townk_osx/townk_osx_keypad.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap.png b/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap.png
deleted file mode 100644
index 82c81dcae..000000000
--- a/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap2.png b/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap2.png
deleted file mode 100644
index ec8e7494d..000000000
--- a/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap2.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/readme.md b/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/readme.md
index 99b8182f5..fbd54fd51 100644
--- a/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/readme.md
+++ b/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/readme.md
@@ -6,5 +6,5 @@
* these are only good when using a public computer or one you can't change settings on, because you need to change both keyboard layout and os layout each time you change language. A better solution is to use [hebrew-hw-dvorak](https://github.com/20lives/hebrew-hw-dvorak) as os layout.
-![layout image](https://github.com/20lives/qmk_firmware/blob/master/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap.png)
-![layout image](https://github.com/20lives/qmk_firmware/blob/master/keyboards/ergodox/keymaps/twentylives_dvorak_with_hebrew/keymap2.png)
+![layout image](https://i.imgur.com/wp2ouhf.png)
+![layout image](https://i.imgur.com/Z9XCgPW.png)
diff --git a/keyboards/ergodox/keymaps/videck/readme.md b/keyboards/ergodox/keymaps/videck/readme.md
index 759e81bac..35d20b6ce 100644
--- a/keyboards/ergodox/keymaps/videck/readme.md
+++ b/keyboards/ergodox/keymaps/videck/readme.md
@@ -22,3 +22,5 @@ especially considered.
* Shift lock is indicated using first LED.
* Arrow keys layer is indicated using second LED.
* Mouse keys layer is indicated using third LED.
+
+![videck.png](https://i.imgur.com/kw0CwuB.png) \ No newline at end of file
diff --git a/keyboards/ergodox/keymaps/videck/videck.png b/keyboards/ergodox/keymaps/videck/videck.png
deleted file mode 100644
index c99323f53..000000000
--- a/keyboards/ergodox/keymaps/videck/videck.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/images/base-layer.png b/keyboards/ergodox/keymaps/win10_writers-block/images/base-layer.png
deleted file mode 100644
index d1cb1987c..000000000
--- a/keyboards/ergodox/keymaps/win10_writers-block/images/base-layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/images/media-layer.png b/keyboards/ergodox/keymaps/win10_writers-block/images/media-layer.png
deleted file mode 100644
index c2019da4e..000000000
--- a/keyboards/ergodox/keymaps/win10_writers-block/images/media-layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/images/rimworld-layer.png b/keyboards/ergodox/keymaps/win10_writers-block/images/rimworld-layer.png
deleted file mode 100644
index f866d3d55..000000000
--- a/keyboards/ergodox/keymaps/win10_writers-block/images/rimworld-layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/images/symbol-layer.png b/keyboards/ergodox/keymaps/win10_writers-block/images/symbol-layer.png
deleted file mode 100644
index 6f49aae79..000000000
--- a/keyboards/ergodox/keymaps/win10_writers-block/images/symbol-layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox/keymaps/win10_writers-block/readme.md b/keyboards/ergodox/keymaps/win10_writers-block/readme.md
index 83f91bce2..cb135b443 100644
--- a/keyboards/ergodox/keymaps/win10_writers-block/readme.md
+++ b/keyboards/ergodox/keymaps/win10_writers-block/readme.md
@@ -41,7 +41,7 @@ Feel free to modify the gaming layer to your personal taste.
## Base layer
-[![Base layer](images/base-layer.png)](http://www.keyboard-layout-editor.com/#/gists/8fd9bbdd3a23bbb5a8779de3624a3be1)
+[![Base layer](https://i.imgur.com/1PTR0SG.png)](http://www.keyboard-layout-editor.com/#/gists/8fd9bbdd3a23bbb5a8779de3624a3be1)
This is a QWERTY layout with some quirks.
@@ -59,7 +59,7 @@ This is a QWERTY layout with some quirks.
## Symbol layer
-[![Symbol layer](images/symbol-layer.png)](http://www.keyboard-layout-editor.com/#/gists/04eb6458b8b17882e472f64d482f12b4)
+[![Symbol layer](https://i.imgur.com/8nEzpcp.png)](http://www.keyboard-layout-editor.com/#/gists/04eb6458b8b17882e472f64d482f12b4)
Your standard Ergodox EZ symbol + numpad layout, minus the Version and EEPROM keys.
@@ -68,7 +68,7 @@ Your standard Ergodox EZ symbol + numpad layout, minus the Version and EEPROM ke
## Rimworld layer
-[![Rimworld / Gaming Layer](images/rimworld-layer.png)](http://www.keyboard-layout-editor.com/#/gists/d53af8391e6e443ed0a98ccfbdb4eace)
+[![Rimworld / Gaming Layer](https://i.imgur.com/Yh3eBjJ.png)](http://www.keyboard-layout-editor.com/#/gists/d53af8391e6e443ed0a98ccfbdb4eace)
This layer was made to play RimWorld, a Sci-Fi Colony Survival Game by Tynan Sylvester and Ludeon Studios, available on Steam.
@@ -76,7 +76,7 @@ This layer was made to play RimWorld, a Sci-Fi Colony Survival Game by Tynan Syl
## Media layer
-[![Media layer](images/media-layer.png)](http://www.keyboard-layout-editor.com/#/gists/3209d09ed4bd997e4f49f28c6ada2ab3)
+[![Media layer](https://i.imgur.com/r5ysFy1.png)](http://www.keyboard-layout-editor.com/#/gists/3209d09ed4bd997e4f49f28c6ada2ab3)
This is the standard Ergodox EZ media layout with more options for mouseclick buttons.
diff --git a/keyboards/ergodox/keymaps/zweihander-osx/zweihander-osx.hex b/keyboards/ergodox/keymaps/zweihander-osx/zweihander-osx.hex
deleted file mode 100644
index 832504b02..000000000
--- a/keyboards/ergodox/keymaps/zweihander-osx/zweihander-osx.hex
+++ /dev/null
@@ -1,1151 +0,0 @@
-:100000000C94D3020C941A030C941A030C941A0344
-:100010000C941A030C941A030C941A030C941A03EC
-:100020000C941A030C941A030C94B71F0C94892097
-:100030000C941A030C941A030C941A030C941A03CC
-:100040000C941A030C94FC1A0C941A030C941A03C3
-:100050000C941A030C9414160C941A030C941A039F
-:100060000C941A030C941A030C941A030C941A039C
-:100070000C941A030C941A030C941A030C941A038C
-:100080000C941A030C941A030C941A030C941A037C
-:100090000C941A030C941A030C941A030C941A036C
-:1000A0000C941A030C941A030C941A03730C730C1B
-:1000B000A20CA20CD80CF80C290E290E030D290E47
-:1000C000B30DB30D1A0E290E290E230EC00DC00D4F
-:1000D000C00DC00DC00DC00DC00DC00DC00DC00DB8
-:1000E000C00DC00DC00DC00DC00DC00DD20DDF0D77
-:1000F000E60DED0DF70DF620182106221821062237
-:100100005D2180210622D521E821750A01E2012C1A
-:10011000022C02E274FA011602160104020401091B
-:1001200002090104020401150215010C020C012848
-:10013000022800750A01E2012C022C02E274FA0185
-:10014000170217010802080115021501100210011B
-:100150000C020C0111021101040204010F020F0133
-:1001600028022800750A01E2012C022C02E274FA2E
-:100170000105020501050205010802080107020741
-:10018000010C020C011702170128022800750A0150
-:10019000E30116021602E301E3012B022B02E30145
-:1001A000E30115021502E300750A01E301160216C8
-:1001B00002E301E3012B022B02E3000000F0A12E79
-:1001C000004C002A00E100E00000001E00140004C2
-:1001D000001D00E200E2001F001A0016001B00E3F1
-:1001E000002B00200008000700060050002C002112
-:1001F000001500090019004F004B00220017000AEB
-:1002000000050000003500015301510000E300002B
-:10021000003400015301510000E3000000290023D5
-:10022000001C000B00110000002A00240018000D23
-:1002300000100052004E0025000C000E0036005148
-:10024000002800260012000F0037002F002B002787
-:10025000001300334238613000E0002D00310034DB
-:1002600068E5002C00000001000100010001000110
-:100270000000003A002F0036020100010001003B9F
-:1002800000300037020100010001003C002F02266F
-:10029000020100010001003D0030022702010001BF
-:1002A0000001003E00340234002E00000001000175
-:1002B0000001000000010000000100010001000039
-:1002C000000100000001003F0038002D0033020053
-:1002D0000001004000240021001E00270001004111
-:1002E00000250022001F00370001004200260023E5
-:1002F00000200050000100430025022E022E004F76
-:10030000000100440045000100010001000000015F
-:10031000000100010001000100000069000100016E
-:10032000000100010001006A000100043001000129
-:1003300000010001004B004E00010001000100011E
-:100340000001300100010001004A000100033001FA
-:100350000002300000010001000100000001000067
-:100360000001001408010000000100000001001A53
-:100370000830082F082C0200000100350A520C50EA
-:10038000002C00A9004D00350852005100AC00AA15
-:100390000019080100510C4F00AB00A8000608012D
-:1003A0000001000100010001001B08A5000100AED2
-:1003B000000100010000000000000000000000003B
-:1003C0000000010204060A0F17202C3A4A5D7187CB
-:1003D0009DB3C7DAE9F5FCFFFCF5E9DAC7B39D8701
-:1003E000715D4A3A2C20170F0A0604020100000032
-:1003F0000000000000000016034500720067006F57
-:100400000044006F007800200045005A00000016EC
-:10041000034500720067006F0044006F0078002001
-:100420000045005A0000000403090409026D00049D
-:100430000100A0FA090400000103010100092111D3
-:100440000100012240000705810308000A09040198
-:10045000000103010200092111010001224D0007E2
-:1004600005820308000A09040200010300000009D4
-:1004700021110100012236000705830308000A0943
-:1004800004030001030000000921110100012239C9
-:10049000000705840310000112011001000000088C
-:1004A000EDFE071301000102000105010906A1018B
-:1004B000050719E029E71500250195087501810256
-:1004C0000508190129059505750191029501750326
-:1004D0009101050719002977150025019578750107
-:1004E0008102C005010980A101850216810026B79D
-:1004F000001A81002AB700751095018100C0050C13
-:100500000901A1018503160100269C021A01002A97
-:100510009C02751095018100C005010902A1010925
-:1005200001A1000509190129051500250195057589
-:100530000181029501750381010501093009311519
-:1005400081257F95027508810609381581257F95DB
-:100550000175088106050C0A38021581257F950171
-:1005600075088106C0C005010906A101050719E04B
-:1005700029E7150025019508750181029501750887
-:10058000810105081901290595057501910295015B
-:10059000750391010507190029FF150026FF009535
-:1005A0000675088100C011241FBECFEFDAE0DEBF60
-:1005B000CDBF04B603FE27C08091010290910202D4
-:1005C000A0910302B09104028730904BA740B04B3A
-:1005D000D1F41092010210920202109203021092C2
-:1005E000040214BE84B7877F84BF0FB6F894A89521
-:1005F00080916000886180936000109260000FBE5F
-:10060000E0E0FFE3099511E0A0E0B1E0E0EAF7E403
-:1006100002C005900D92A433B107D9F712E0A4E30C
-:10062000B1E001C01D92A130B107E1F70E94FC1CAE
-:100630000C94CE230C9400001092B9008AE08093B1
-:10064000B800089594EA9093BC009091BC0097FF85
-:10065000FCCF9091B900987F983021F0903111F043
-:1006600081E008958093BB0084E88093BC00809172
-:10067000BC0087FFFCCF8091B900887F883111F0E2
-:10068000803471F780E0089584E98093BC00809104
-:10069000BC0084FDFCCF08958093BB0084E8809368
-:1006A000BC008091BC0087FFFCCF9091B900987F7F
-:1006B00081E0983209F480E0089584E88093BC00DA
-:1006C0008091BC0087FFFCCF8091BB00089580B370
-:1006D0008C7080BB81B3836F81BB089580910101D1
-:1006E000811115C080E40E942203809301018111D1
-:1006F0000CC082E10E944C0380930101811105C06E
-:100700008FEF0E944C03809301010E94440384B147
-:10071000807F84B985B1807F85B98AB1837F8AB9AA
-:100720008BB1837F8BB93E98469808950C94E4046E
-:100730000E942509809301010E946E030E946703B5
-:10074000A5E3B1E0E3E4F1E08EE08E0F11921D929B
-:100750008E13FCCF0C940F090E9425098093010190
-:100760000E946E030E946703A5E3B1E0E3E4F1E0B9
-:100770008EE08E0F11921D928E13FCCF0895BF92C2
-:10078000CF92DF92EF92FF920F931F93CF93DF935D
-:1007900080910101882379F0809134018F5F8093EB
-:1007A0003401811108C00E94250980930101811143
-:1007B00002C00E94B70805E311E0C0E0D0E0EE24DB
-:1007C000E394F12CDD24D39495E0C92EC730D105F4
-:1007D00000F58091010181113CC080E40E94220358
-:1007E00080930101811112C082E10E944C03809329
-:1007F000010181110BC0C7010C2E01C0880F0A94A2
-:10080000EAF780950E944C03809301010E94440303
-:1008100020C0CA30A1F028F4C83059F0C93061F0C6
-:1008200005C0CC3089F070F0CD3089F0209A28983E
-:1008300010C0219A29980DC0229A2A980AC0239A9A
-:100840002B9807C0529A01C0539A5B9802C03E9AF7
-:10085000469880EA8A95F1F7C730D10518F580915E
-:100860000101811144C080E40E94220380930101B0
-:10087000882311F0B12C12C083E10E944C038093B5
-:1008800001018111F7CF81E40E94220380930101CD
-:100890008111F0CF0E945D03B82EB0940E944403F2
-:1008A0008B2D26C08FB181708D25799902C092E081
-:1008B00001C090E0892B7C9902C024E001C020E0B7
-:1008C000822B7D9902C028E001C020E0822B7E9916
-:1008D00002C090E101C090E0892B9FB19095991FD3
-:1008E0009927991F9295990F907E892B01C080E0DE
-:1008F000F8019081981719F08083C09200010E943E
-:100900006E0321960F5F1F4FCE30D10509F05ECFE9
-:10091000809100018823A1F08150809300018823F9
-:1009200029F0F5E0FA95F1F700000AC0A3E4B1E080
-:10093000E5E3F1E0CF01825F91919D938E13FCCFAF
-:100940000E94410681E0DF91CF911F910F91FF90AE
-:10095000EF90DF90CF90BF900895E82FF0E0ED5B2F
-:10096000FE4F808108950895FC016230B9F028F4AB
-:10097000662341F0613061F023C06330A9F0643038
-:10098000C9F01EC082818823D9F088EA91E00895D9
-:1009900082818823A9F08DE891E0089582818823DF
-:1009A00079F084E691E008958281882349F083E319
-:1009B00091E008958281882319F08AE091E00895FA
-:1009C00080E090E0089508956091B0017091B101C8
-:1009D0008091B2019091B3010E94081556985E98DB
-:1009E00025982D9826982E9827982F98813019F0C1
-:1009F000823021F00895259A2D9A0895269A2E9AEC
-:100A0000089581E0089581E008950C9403050E9403
-:100A1000940E2FEF84E39CE0215080409040E1F75A
-:100A200000C000000C9439160F931F93CF93DF93EF
-:100A30008C01FC01C081D181CE010E948D13BE01C9
-:100A40000E94D807EC01B8010E940505882309F42B
-:100A500012C1B801CE010E946808882309F40BC1B5
-:100A6000B801CE010E948109882309F404C1C43170
-:100A7000F0E7DF0708F0CDC0C23080E7D80708F400
-:100A8000A3C0F8018281882309F4AAC00E947215CC
-:100A9000811102C00E9458150E94851590E0909324
-:100AA000F3018093F201C230F0E7DF0721F4809177
-:100AB000F201816082C0C33080E7D80721F48091C1
-:100AC000F20182607AC0C430E0E7DE0721F4809151
-:100AD000F201846072C0C530F0E7DF0719F480913D
-:100AE000F20127C0C63080E7D80721F48091F201D7
-:100AF000806163C0C730E0E7DE0721F48091F20136
-:100B000080625BC0C830F0E7DF0721F48091F2011A
-:100B1000806453C0C93080E7D80721F48091F20186
-:100B200080684BC0CA30E0E7DE0729F48091F2010B
-:100B30008460886042C0CB30F0E7DF0721F4809109
-:100B4000F2018E7F3AC0CC3080E7D80721F4809143
-:100B5000F2018D7F32C0CD30E0E7DE0721F48091D5
-:100B6000F2018B7F2AC0CE30F0E7DF0719F48091C5
-:100B7000F20122C0CF3080E7D80721F48091F20142
-:100B80008F7E1BC0C031E0E7DE0721F48091F201C7
-:100B90008F7D13C0C131F0E7DF0721F48091F201AE
-:100BA0008F7B0BC0C231D04721F48091F2018F7747
-:100BB00004C08091F2018B7F877F8093F201809146
-:100BC000F2010E94891557C0C115E0E7DE0779F0F0
-:100BD000C130D047A1F081E0809351018093520150
-:100BE000C801DF91CF911F910F910C940105F8017D
-:100BF0008281882309F43FC00E9407053CC0F801A8
-:100C000082818823C1F18091CD0181608093CD01E3
-:100C100032C0CB3380E7D807A1F4F8018281882362
-:100C200021F01092510182E016C080915101811192
-:100C300006C086E20E940C0B86E20E94DF0B82E077
-:100C400018C0CC33D04739F6F8018281882331F0BF
-:100C50001092520180E20E942E0C0DC08091520130
-:100C6000811106C087E20E940C0B87E20E94DF0B15
-:100C700080E20E94350C80E0DF91CF911F910F91AF
-:100C800008950C94960308950C9443060C9444061E
-:100C900026E0729FF001112444E5849FE00DF11DD0
-:100CA0001124E60FF11DEE0FFF1FE154FE4F859159
-:100CB00094910E94EA07811560E49607B0F58115CA
-:100CC00070E3970708F0E6C0803E9105D8F4803CB9
-:100CD000910508F06CC0883A910578F4853A910541
-:100CE00008F06BC08130910509F460C108F417C1A8
-:100CF0008430910508F05AC112C18D3B910508F46A
-:100D000067C00DC18F3F910509F048F4803F910500
-:100D100008F0B5C0883E910508F448C100C18115AE
-:100D200020E2920708F0ADC00895811543E59407CD
-:100D300090F4811562E5960708F0D0C0811571E541
-:100D4000970708F0C6C0811520E5920708F0A5C0F6
-:100D50009F70906A0895811545E59407D8F4811530
-:100D600064E5960708F0D0C0482F4695469570E296
-:100D7000479FA00111248370992721E030E0B90139
-:100D800002C0660F771F8A95E2F7CB01842B952B63
-:100D90009A680895811576E5970708F4BAC09C0112
-:100DA00030562115304108F0BAC09F70B6C0FC0122
-:100DB000EE0FFF1FE55CFF4F6AC0853A910509F40D
-:100DC000B1C0863A910509F0B0C082E890E4089578
-:100DD000883A910509F4ACC0893A910509F4ABC091
-:100DE0008A3A910509F4AAC08B3A910509F4A9C081
-:100DF0008C3A910509F4A8C08B3B910509F4A7C072
-:100E00008C3B910509F4A6C08D3A910509F4A5C063
-:100E1000803B910509F4A4C08E3A910509F4A3C062
-:100E20008F3A910509F4A2C0813B910509F4A1C054
-:100E3000823B910509F4A0C0833B910509F49FC052
-:100E4000843B910509F49EC0853B910509F49DC042
-:100E5000863B910509F49CC0873B910509F49BC032
-:100E6000883B910509F49AC0893B910509F499C022
-:100E70008A3B910509F498C080E094E40895906558
-:100E80000895FC01FF70EE0FFF1FE554FE4F8591A2
-:100E9000949108959927906C0895482F437021E00C
-:100EA00030E002C0220F331F4A95E2F73C68AC01E4
-:100EB00064E0569547956A95E1F74370342B8F703F
-:100EC0008695869560E2869FC0011124822B932B24
-:100ED0000895982F8827816F906A0895482F469526
-:100EE000469570E2479FA00111248370992721E065
-:100EF00030E0B90102C0660F771F8A95E2F7CB0197
-:100F0000842B952B9C680895982F8827846F906A6E
-:100F100008958F719927982F88279062089580E00F
-:100F200090E0089581E890E4089583E890E40895BE
-:100F300082EE94E4089589EE94E408958AEE94E4B0
-:100F4000089585EB94E4089586EB94E4089583EB8B
-:100F500094E4089584EB94E4089587EB94E4089571
-:100F60008CEC94E408958DEC94E4089583E895E482
-:100F700008958AE895E4089582E995E4089584E95E
-:100F800095E4089581E296E4089583E296E4089555
-:100F900084E296E4089585E296E4089586E296E474
-:100FA000089587E296E408958AE296E40895089504
-:100FB00096E0799FF001112494E5899FE00DF11DE1
-:100FC0001124E60FF11DEE0FFF1FE154FE4F859136
-:100FD000949108958238910549F1B0F481339105D7
-:100FE00009F458C048F48932910509F44EC08A3298
-:100FF000910509F454C008958533910509F440C062
-:101000008933910599F00895833E910529F138F4CB
-:10101000803E910591F0823E9105A1F00895863EB3
-:101020009105F9F0873E910531F108952091F20183
-:1010300020FD3AC021FD38C008958091F20180FD65
-:1010400035C032C08091F20182FF32C08091F2013E
-:1010500084FD30C083EE39C08091F20182FD28C04A
-:10106000F5CF8091F20183FF27C08091F20184FDCA
-:1010700021C087EE2AC08091F20183FD1DC0F5CF0B
-:101080008091F20185FD1AC01BC08091F20185FD9F
-:1010900017C014C08091F20186FD14C015C0809164
-:1010A000F20186FD11C00EC080EE0FC089E30DC0B5
-:1010B00082EE0BC080E009C086EE07C089E205C061
-:1010C00085E303C08AE201C081E390E008950895BA
-:1010D0000F931F93CF93FB012281211102C0C1E026
-:1010E00041C08C01C0916001C11125C0843190477D
-:1010F000B1F70E94670881E0809360010E94DE15CD
-:1011000090935F0180935E011092530110925501FC
-:1011100010925401109257011092560110925901E9
-:101120001092580110925B0110925A0110925D01C9
-:1011300010925C0117C080915E0190915F010E9446
-:10114000EA15883C910558F690915301E92FF0E09B
-:10115000EE0FFF1FEC5AFE4F118300839F5F9093A9
-:101160005301C0E08C2FCF911F910F910895569895
-:101170005E9825982D9826982E9827982F988FEF6F
-:1011800090E0909389008093880090938B008093E7
-:101190008A0090938D0080938C00259A2D9A2FEFD2
-:1011A00080E792E0215080409040E1F700C00000CD
-:1011B000269A2E9A2FEF80E792E0215080409040AF
-:1011C000E1F700C00000279A2F9A2FEF80E792E006
-:1011D000215080409040E1F700C0000025982D98F4
-:1011E0002FEF80E792E0215080409040E1F700C06F
-:1011F000000026982E982FEF80E792E02150804043
-:101200009040E1F700C0000027982F9856985E980C
-:1012100025982D9826982E9827982F98089589EA32
-:101220008093800089E08093810024982C983F98D7
-:101230008AB18F748AB96E98479A8BB1806B8BB9DB
-:10124000769A0E94B7080C94E30480E2809301012F
-:101250008091610181110EC00E941C0381E0809386
-:1012600061012FEF83ED90E3215080409040E1F742
-:1012700000C0000080E40E942203809301018111DC
-:101280002EC00E944C0380930101811128C00E944E
-:101290004C0380930101811122C08FE30E944C0313
-:1012A0008093010181111BC00E94440380E40E94CD
-:1012B000220380930101811112C08CE00E944C0333
-:1012C0008093010181110BC00E944C0380930101A6
-:1012D000811105C08FE30E944C03809301010E949D
-:1012E0004403809101010895282F882339F090E06C
-:1012F0002A3010F44D9608950697089587E290E0FD
-:101300000895FF920F931F93CF93DF93813020E8CE
-:10131000920708F44DC0FB012281222309F448C042
-:10132000EC01DF7780916201813079F050F08230FA
-:10133000C1F482EE0E940C0B87E50E940C0B87E53E
-:101340000EC082EE0E940C0B0CC080EE0E940C0BB3
-:1013500081EE0E940C0B88E10E940C0B88E10E9438
-:10136000DF0B0CE010E0CE01002E02C096958795B1
-:101370000A94E2F78F700E947409F82E0E940C0BF9
-:101380008F2D0E94DF0B045011090C3FFFEF1F0748
-:1013900051F780916201813029F010F0823041F4E0
-:1013A00082EE04C080EE0E94DF0B81EE0E94DF0B14
-:1013B00081E0DF91CF911F910F91FF90089590935D
-:1013C0006801809367010895E0916701F0916801D9
-:1013D000309721F00190F081E02D099480E008958C
-:1013E000E0916701F0916801309721F00280F3816C
-:1013F000E02D09940895E0916701F091680130971C
-:1014000021F00480F581E02D099408952091650173
-:10141000309166018217930771F090936601809373
-:101420006501E0916701F0916801309721F0068035
-:10143000F781E02D099408952091630130916401B2
-:101440008217930771F09093640180936301E09198
-:101450006701F0916801309721F00084F185E02D5B
-:101460000994089508950C94320A0E94D5150E949B
-:1014700098030C945B16CF92DF92EF92FF920F933A
-:101480001F93CF93DF93CDB7DEB72B970FB6F894AA
-:10149000DEBF0FBECDBF0E94BF038AE6C82E81E02B
-:1014A000D82E00E010E0E02E802F0E94AD04F6015F
-:1014B00041916F01F42EF826B1F40F5F1F4F0E30EB
-:1014C000110589F78FEF89838A831B820E94DE15BD
-:1014D0008160782F9D838C8349815A816B818D81B6
-:1014E0000E94DE0A40C09091CD0191FF04C08B871D
-:1014F0000E94B3048B8520E030E04F2D50E0922F06
-:10150000BA01022E02C0759567950A94E2F760FF52
-:1015100024C02E83EF8221E030E0690102C0CC0CB0
-:10152000DD1C9A95E2F790E08C219D21892B09F42E
-:1015300020E028870E94DE158160782F9A878987AE
-:101540004E815F8168858A850E94DE0AF801E6592E
-:10155000FE4F8081C826C08206C02F5F3F4F2630D5
-:10156000310569F6AACF0E94F317109169010E9414
-:10157000E4091817A1F00E94E409809369012B96F1
-:101580000FB6F894DEBF0FBECDBFDF91CF911F9194
-:101590000F91FF90EF90DF90CF900C9446062B9622
-:1015A0000FB6F894DEBF0FBECDBFDF91CF911F9174
-:1015B0000F91FF90EF90DF90CF900895CF93DF933E
-:1015C000CDB7DEB72B970FB6F894DEBF0FBECDBFF9
-:1015D0004F83588769877A878B87DE01119686E06B
-:1015E000FD0111928A95E9F785E0FE013796019099
-:1015F0000D928A95E1F749815A816B817C818D81B9
-:101600009E810E9432112B960FB6F894DEBF0FBE5A
-:10161000CDBFDF91CF910895CF93882309F4CDC03A
-:10162000C82F823859F40E94E40981FDC6C089E3BD
-:101630000E940C140E94D91489E30CC0833879F4F9
-:101640000E94E40980FDB9C083E50E940C140E9449
-:10165000D91483E50E944E14CF910C94D914843888
-:1016600059F40E94E40982FDA8C087E40E940C148A
-:101670000E94D91487E4EECF8CEF8C0F813A48F4A6
-:101680008C2F0E943D1A811198C08C2F0E940C143F
-:10169000E3CF80E28C0F883048F4C77081E001C04E
-:1016A000880FCA95EAF70E949214D6CF8BE58C0F6B
-:1016B000833078F4C53A29F0C63A31F083E890E0F7
-:1016C00005C081E890E002C082E890E0CF910C94E0
-:1016D000060A88E58C0F853108F06FC0C83A61F1C1
-:1016E000C93A69F1CA3A71F1CB3A79F1CC3A81F150
-:1016F000CB3B89F1CC3B91F1CD3A99F1C03BA1F1C3
-:10170000CE3AA9F1CF3AB1F1C13BB9F1C23BC1F137
-:10171000C33BC9F1C43BD1F1C53BD9F1C63BE1F1B3
-:10172000C73BE9F1C83BF1F1C93BF9F1CA3B09F408
-:101730003FC080E090E03EC082EE90E03BC089EE8A
-:1017400090E038C08AEE90E035C085EB90E032C082
-:1017500086EB90E02FC083EB90E02CC084EB90E010
-:1017600029C087EB90E026C08CEC90E023C08DEC84
-:1017700090E020C083E891E01DC08AE891E01AC0A3
-:1017800082E991E017C084E991E014C081E292E01F
-:1017900011C083E292E00EC084E292E00BC085E2C9
-:1017A00092E008C086E292E005C087E292E002C0C3
-:1017B0008AE292E0CF910C941C0ACF91089588237D
-:1017C00009F44BC0823859F40E94E40981FF45C0F6
-:1017D00089E30E940C140E94D91489E30CC0833859
-:1017E00071F40E94E40980FF38C083E50E940C1464
-:1017F0000E94D91483E50E944E140C94D9148438A5
-:1018000059F40E94E40982FF28C087E40E940C1466
-:101810000E94D91487E4EFCF9CEF980F913A58F3C8
-:1018200090E2980F983050F4877091E001C0990FC2
-:101830008A95EAF7892F0E949814DFCF9BE5980FCD
-:10184000933020F480E090E00C94060A885A8531A9
-:1018500020F480E090E00C941C0A0895882321F085
-:101860000E9492140C94D9140895882321F00E94A8
-:1018700098140C94D91408957F928F929F92AF92EE
-:10188000BF92CF92DF92EF92FF920F931F93CF936D
-:10189000DF931F92CDB7DEB77C01C62E772EFC01F9
-:1018A000058102950F70128111110E94AF140E94E0
-:1018B0000514882379F0112369F080E28C0D8830BB
-:1018C00048F082E00E94EE130E94051491E0D82EA9
-:1018D000D92601C0D12CE72DE295EF70F0E0EA5A4D
-:1018E000FF4F0C947F23872D807F072D0F70882357
-:1018F00011F00295007F112389F0002309F490C1B3
-:1019000080E28C0D883020F4802F0E94921403C056
-:10191000802F0E94A2140E94D91482C18C2D0E9493
-:10192000DF0B002309F495C180E28C0D883020F490
-:10193000802F0E94981403C0802F0E94A8140E9438
-:10194000D91487C1972D907F872D8F70903211F019
-:101950008295807FCC2021F0F1E0CF16B1F01EC03F
-:10196000112349F0002309F414C1013009F011C119
-:101970000E94C2146EC1002319F0013009F469C13C
-:1019800089830E94C51489810AC1112321F0023084
-:1019900008F05FC1FEC001115CC101C1112321F03B
-:1019A000002309F4F6C03CC1002309F4F8C03EC18D
-:1019B000872D86958695837090E0009719F00197A2
-:1019C00061F047C1112321F08C2D972D937002C037
-:1019D00080E090E00E94060A3CC1112321F08C2D8A
-:1019E000972D937002C080E090E00E941C0A31C1E4
-:1019F0008C2D112319F00E94FB1602C00E94631760
-:101A00000E94E81726C1872D837009F052C011117A
-:101A100020C18C2D829586958770880F880F9C2D0C
-:101A20009F70892E912CA12CB12C082E04C0880CFB
-:101A3000991CAA1CBB1C0A94D2F7C4FE14C00FE068
-:101A400010E020E030E0B901A80104C0440F551FA8
-:101A5000661F771F8A95D2F7CB01BA016095709502
-:101A60008095909503C060E070E0CB01272D26950E
-:101A70002695237030E02230310569F0233031059E
-:101A800089F0682979298A299B292130310571F04B
-:101A90000E947A12DEC0682979298A299B290E942E
-:101AA0009612D7C00E947A12C501B4010E945E123C
-:101AB000D0C0112319F0872D817001C0869588232D
-:101AC00009F4C7C08C2D829586958770880F880F82
-:101AD0009C2D9F70892E912CA12CB12C082E04C016
-:101AE000880C991CAA1CBB1C0A94D2F7C4FE14C013
-:101AF0000FE010E020E030E0B901A80104C0440F7D
-:101B0000551F661F771F8A95D2F7CB01BA016095E2
-:101B100070958095909503C060E070E0CB01272D13
-:101B2000269526952370422F50E04230510569F0EA
-:101B30004330510589F0682979298A299B29413048
-:101B4000510571F00E94541384C0682979298A29AB
-:101B50009B290E9470137DC00E945413C501B401DB
-:101B60000E94381376C08C2D90E0FC01E05EF109F4
-:101B7000E531F10508F050C0EA59FF4F0C947F237E
-:101B80000C2D0F70872D8F71112331F00E94D1120F
-:101B9000802F0E942E0C5DC00E94F212802F0E94A6
-:101BA000350C57C0112339F0011153C0872D8F71A7
-:101BB0000E9417134EC0023008F04BC0F7CF11231C
-:101BC00039F0872D8F710E94D11243C01123C9F3C0
-:101BD000872D8F710E94F2123CC0112329F0872DAE
-:101BE0008F710E94BC1235C00E94B21232C0112304
-:101BF00051F0172D1F71812F0E94D11263E0812FA8
-:101C00000E94E51326C081E00E94EE13023008F125
-:101C100082E00E94EE131DC0112331F0002389F2EF
-:101C20008C2D0E940C0B15C0002391F28C2D0E946C
-:101C3000DF0B0FC0472D4F706C2DC7010E94B404FD
-:101C40000E94D61106C0472D4F706C2DC7010E940F
-:101C5000D707DD20F9F00E94E11380FD1BC0F701DA
-:101C600012820E94DB130E94D112C7010E94590EFA
-:101C70000E94DB130F90DF91CF911F910F91FF9086
-:101C8000EF90DF90CF90BF90AF909F908F907F901C
-:101C90000C94F2120F90DF91CF911F910F91FF9052
-:101CA000EF90DF90CF90BF90AF909F908F907F90FC
-:101CB00008950F931F93CF93DF93EC01888199814F
-:101CC0002B813C81232BB9F09F3F11F48F3F99F07A
-:101CD000CE010E941405882371F0688179818A8180
-:101CE0000E94D7138C010E948C130E945312B801DA
-:101CF000CE010E943C0CDF91CF911F910F9108956E
-:101D00000E94AF140E94BF140E9484140E94D91430
-:101D10000E9499180E94E81780E090E00E94060A4D
-:101D200080E090E00C941C0A0E949F140C94800E9A
-:101D30000E94CC13292F22952F7030E02C303105D2
-:101D40004CF42A3031056CF422503109223031052F
-:101D5000A8F407C02C30310569F02F30310551F05F
-:101D60000DC0803F69F018F4803E40F409C0843F04
-:101D700029F406C093FB882780F9089580E0089530
-:101D800081E00895CF93DF9300D000D01F92CDB7AC
-:101D9000DEB70F900F900F900F900F90DF91CF91C3
-:101DA0000895CF93DF9300D000D000D0CDB7DEB739
-:101DB00026960FB6F894DEBF0FBECDBFDF91CF9150
-:101DC00008951F93CF93DF93C091780116E080911F
-:101DD0007901C81799F0D0E01C9FF0011D9FF00D0C
-:101DE0001124E658FE4F40815181628173818481C4
-:101DF00095810E94D10E2196C770E9CFDF91CF91D6
-:101E00001F9108954091AA015091AB016091AC01DE
-:101E10007091AD018091AE019091AF010C94D10E03
-:101E20008091AF0182958F7009F054C08091AC0110
-:101E3000882309F44FC080917801A09179016091C5
-:101E4000AA017091AB014091AD015091AE01B6E095
-:101E50008A1709F43FC090E041155105C1F17F3F59
-:101E600011F46F3FA1F1B89FF001B99FF00D11245B
-:101E7000E658FE4F218172132AC02081621327C0C9
-:101E80002281211124C0238134812417350710F4C5
-:101E900021503109241B350B283C3105C0F4209119
-:101EA000AF012F7020612093AF0126E0289FF00141
-:101EB000299FF00D1124E158FE4F80818F708061C1
-:101EC00080838AEA91E00E94590E0C94E10E0196FB
-:101ED0008770BECF0895CF92DF92EF92FF920F935B
-:101EE0001F93CF93DF93CDB7DEB762970FB6F89409
-:101EF000DEBF0FBECDBF8C0185E0F801DE011D966F
-:101F000001900D928A95E1F7D8014C9111965C9160
-:101F1000119712966C9112971396CD90DC901497AE
-:101F20003091AA017091AB018091AD019091AE0109
-:101F3000009709F46BC17F3F19F43F3F09F466C174
-:101F4000E090AC01EE2009F4C0C02091AF01C816AA
-:101F5000D90628F0F601E81BF90BCF0104C08095E3
-:101F600090958C0D9D1DFF24F394883C910578F08D
-:101F7000F12C207F09F0C6C07C2DD98AC88A8989B6
-:101F80000E94C20E8AEA91E00E94590EB1C0822FCF
-:101F9000807F09F046C0751314C0341312C061115C
-:101FA00010C02F7020612093AF010E94020F8AEAB7
-:101FB00091E00E94590E8091AF01D80115968C9343
-:101FC0002EC0CD2819F15F3F11F44F3FF9F0F62EE6
-:101FD00061111CC0809178012091790136E082174F
-:101FE00009F45AC090E0389FF001399FF00D112498
-:101FF000E658FE4F7181571306C07081471303C026
-:102000007281711103C001968770E9CFF62E6623A5
-:1020100009F418C18091AF0181608093AF01F12C68
-:1020200011C1751308C0341306C0611104C080913A
-:10203000AF01D801C3C04D875E878D859E856A8BB1
-:102040000E94980E6A898823E1F16623D1F12091DC
-:10205000AF01822F82958F7090E0029774F080918B
-:10206000AA019091AB0198878F831986DB86CA8677
-:102070002C87CE0107960E94590E86E0F801AAEA45
-:10208000B1E001900D928A95E1F70E94100F0E9435
-:10209000020FFF24F394D6C04D875E878D859E8501
-:1020A0000E94CC13292F22952F7030E02230310569
-:1020B0000CF0BCC09F7009F0B6C0805E883008F498
-:1020C000C1C0C8010E94590EE4CFC816D90608F451
-:1020D00053C0F601E81BF90BCF01883C910508F4C9
-:1020E00050C0F12C7C2DD98AC88A89890E94C20EE1
-:1020F000EAEAF1E086E0DF011D928A95E9F70E94A5
-:10210000020FA0C0751314C0341312C0611110C0A7
-:102110008091AF01F8018583C8010E94590E86E0C5
-:10212000EAEAF1E0DF011D928A95E9F7FE2C8AC008
-:102130004D875E878D859E856A8B0E94980E6A8981
-:10214000882309F4BECF662309F4BBCF2091AF01E9
-:10215000822F82958F7090E002970CF48ECF809141
-:10216000AA019091AB019A8389831B82DD82CC8284
-:102170002E83CE0101967FCF809590958C0D9D1D6D
-:10218000ACCFF62E662309F49CCF75132EC0341302
-:102190002CC02091AF0120FD1FC0822F82958F702F
-:1021A000D9F0D80115962C9315978F3049F08F5F91
-:1021B000982F9295907F822F8F70892B15968C93F4
-:1021C000C8010E94590E86E0F801AAEAB1E0019028
-:1021D0000D928A95E1F793CF86E0F801AAEAB1E083
-:1021E00001900D928A95E1F72DC04D875E878D8510
-:1021F0009E850E94980E811140CF8091AF01816031
-:102200008093AF01C8010E94590E1CC0662309F4D7
-:1022100058CF4D875E878D859E850E94980E8823B6
-:1022200009F44FCF2ACF811148CF0CC0243031059B
-:102230000CF047CF9F7009F440CFF8019581907F53
-:1022400009F03BCF8F2D62960FB6F894DEBF0FBE1C
-:10225000CDBFDF91CF911F910F91FF90EF90DF9055
-:10226000CF9008951F93CF93DF93CDB7DEB72C9710
-:102270000FB6F894DEBF0FBECDBF4F835887698776
-:102280007A878B879C87CE0107960E946B0F8823E5
-:1022900069F08F8198852A853B85232BF1F19F3F3B
-:1022A00009F063C08F3F09F060C037C086E0FE01CF
-:1022B0003796DE01119601900D928A95E1F76F81B4
-:1022C0007885EA85FB85309741F17F3F11F46F3FB8
-:1022D00021F12091790130E0C90101968770992799
-:1022E0004091780150E08417950709F447C069834D
-:1022F0007A83FD83EC8396E0929FD001939FB00D8B
-:102300001124A658BE4FFE01319601900D929A9568
-:10231000E1F7809379010E94E10E16E08091780147
-:10232000909179018917C1F1189FC0011124865835
-:102330009E4F0E946B0F882379F1E09178011E9FD8
-:10234000F0011124E658FE4F408151816281738172
-:10235000848195810E94D10E8091780190E0019650
-:102360008770992780937801D9CF4F8158856985E7
-:102370007A858B859C850E94D10ECFCF0E94940ECA
-:102380001092790110927801EAEAF1E086E0DF012B
-:102390001D928A95E9F7C1CF2C960FB6F894DEBF4F
-:1023A0000FBECDBFDF91CF911F910895EF92FF92A5
-:1023B0000F931F93CF93DF938C01892B09F46CC08B
-:1023C000F12CEE24E394E8012196F80184918437FE
-:1023D00040F4843008F051C0813081F0823019F12E
-:1023E0005BC0853709F444C0A8F19CE7980F90378B
-:1023F00008F052C08F770E94DF0B41C00E5F1F4F65
-:10240000FE01C49180E28C0F883048F4C7708E2D95
-:1024100001C0880FCA95EAF70E94B21414C08C2F2D
-:102420000E940C0B2DC00E5F1F4FFE01C49180E275
-:102430008C0F883058F4C7708E2D01C0880FCA9554
-:10244000EAF70E94B8140E94D9141AC08C2F0E9477
-:10245000DF0B16C00E5F1F4FFE01C491CC2381F02D
-:102460008FE99FE00197F1F700C00000C150F6CF5F
-:102470000E5F1F4FFE01F49003C00E940C0B8E01F3
-:102480008F2D882309F49FCFEFE9FFE03197F1F713
-:1024900000C000008150F5CFDF91CF911F910F91C7
-:1024A000FF90EF90089508956093B4017093B50183
-:1024B0008093B6019093B7010C94800E0F931F93F5
-:1024C0000091B4011091B5012091B6013091B7018E
-:1024D000DC01CB01802B912BA22BB32B8093B40179
-:1024E0009093B501A093B601B093B7011F910F91DE
-:1024F0000C94800E0F931F930091B4011091B501BD
-:102500002091B6013091B701DC01CB0180239123EA
-:10251000A223B3238093B4019093B501A093B60195
-:10252000B093B7011F910F910C94800E0F931F93DE
-:102530000091B4011091B5012091B6013091B7011D
-:10254000DC01CB0180279127A227B3278093B40118
-:102550009093B501A093B601B093B7011F910F916D
-:102560000C94800E1092B0011092B1011092B20141
-:102570001092B3010C94800E41E050E060E070E0F6
-:1025800004C0440F551F661F771F8A95D2F74093EA
-:10259000B0015093B1016093B2017093B3010C94F8
-:1025A000800E41E050E060E070E004C0440F551F31
-:1025B000661F771F8A95D2F78091B0019091B10183
-:1025C000A091B201B091B301482B592B6A2B7B2B00
-:1025D0004093B0015093B1016093B2017093B30185
-:1025E0000C94800E41E050E060E070E004C0440FC5
-:1025F000551F661F771F8A95D2F7409550956095B5
-:1026000070958091B0019091B101A091B201B0910B
-:10261000B301482359236A237B234093B00150938D
-:10262000B1016093B2017093B3010C94800E41E04C
-:1026300050E060E070E004C0440F551F661F771F34
-:102640008A95D2F78091B0019091B101A091B20129
-:10265000B091B301482759276A277B274093B001DF
-:102660005093B1016093B2017093B3010C94800E4A
-:102670000F931F930091B0011091B1012091B2010D
-:102680003091B301DC01CB01802B912BA22BB32B1A
-:102690008093B0019093B101A093B201B093B301C4
-:1026A0001F910F910C94800E0F931F930091B00116
-:1026B0001091B1012091B2013091B301DC01CB0145
-:1026C00080239123A223B3238093B0019093B1017F
-:1026D000A093B201B093B3011F910F910C94800E9F
-:1026E0000F931F930091B0011091B1012091B2019D
-:1026F0003091B301DC01CB0180279127A227B327BA
-:102700008093B0019093B101A093B201B093B30153
-:102710001F910F910C94800E0895CF92DF92EF924B
-:10272000FF920F931F93CF93DF938C01C090B4015E
-:10273000D090B501E090B601F090B7018091B00162
-:102740009091B101A091B201B091B301C82AD92AE8
-:10275000EA2AFB2ACFE1D0E0D701C6010C2E04C043
-:10276000B695A795979587950A94D2F780FF06C0EE
-:10277000B8018C2F0E944806019721F4219760F739
-:1027800080E001C08C2FDF91CF911F910F91FF90BE
-:10279000EF90DF90CF900895CF93DF93EC010E94EC
-:1027A0008D13BE010E944806DF91CF910895CB01A1
-:1027B0000E94CC1308958091B801859585958595E3
-:1027C00008958091B8018770089598E0899F9001DD
-:1027D0001124262B2093B8010C94D1122091B8011A
-:1027E000809582238093B801982F977069F430E028
-:1027F000482F552747FD50952417350729F0859513
-:10280000859585950C94F21208959091B801977072
-:1028100081E009F480E0089590911501992321F059
-:1028200090910201911109C020910301309104019E
-:10283000F90132969FEF40E01FC0982F969596952C
-:1028400096959F3050F5E0910301F0910401E90F56
-:10285000F11D877021E030E0A90102C0440F551F2F
-:102860008A95E2F7CA019181892B818308959F3F60
-:1028700039F04F5F4E3041F051915813F8CF0DC0F1
-:102880005111F7CF942FF5CF9F3F39F0F901E90FA0
-:10289000F11D97FDFA958283089508959091150191
-:1028A000992321F090910201911109C02091030117
-:1028B00030910401F9013296205F3F4F1FC0982FDD
-:1028C0009695969596959F30F0F4E0910301F091DE
-:1028D0000401E90FF11D877021E030E0A90102C079
-:1028E000440F551F8A95E2F7CA018095918189238B
-:1028F000818308953196E217F30729F090819813A8
-:10290000F9CF1082F7CF089581E090E0E0910301C4
-:10291000F0910401E80FF91F1082019680319105B2
-:10292000A9F708959091CC01892B8093CC0108954B
-:1029300080959091CC0189238093CC0108951092C9
-:10294000CC0108959091CB01892B8093CB01089500
-:1029500080959091CB0189238093CB0108951092AB
-:10296000CB0108959091CA01892B8093CA010895E3
-:1029700080959091CA0189238093CA01089510928D
-:10298000CA0108958093B90108951092B90108957C
-:102990008091030190910401FC0131969C01205F1C
-:1029A0003F4F80E0919191118F5FE217F307D1F7CC
-:1029B0000895E0910301F09104018091CC0180839E
-:1029C000E0910301F091040190818091CB01892B6A
-:1029D0008083E0910301F091040190818091CA010C
-:1029E000892B80838091B901882361F0E0910301F4
-:1029F000F09104019081892B80830E94C814811179
-:102A00001092B90180910301909104010C94F00996
-:102A1000CF92DF92EF92FF926C01EE24FF24C1145B
-:102A2000D104E104F10421F0C701B60120E101C0A5
-:102A300020E0C72ED82EE92EFF24C114D104E104D2
-:102A4000F10419F0285FC701B6016B017C0154E065
-:102A5000F694E794D794C7945A95D1F7C114D1044A
-:102A6000E104F10419F02C5FC701B6016B017C0190
-:102A700042E0F694E794D794C7944A95D1F7C114ED
-:102A8000D104E104F10419F02E5FC701B601DC01A5
-:102A9000CB01B695A79597958795892B8A2B8B2B7C
-:102AA00009F02F5F822FFF90EF90DF90CF90089575
-:102AB0006DEE7EEF80E090E00E94B82360E082E05F
-:102AC00090E00E94A72360E083E090E00E94A723AB
-:102AD00060E084E090E00E94A72360E085E090E061
-:102AE0000C94A72380E090E00E94A12321E08D3E7A
-:102AF0009E4F09F020E0822F089582E090E00C9430
-:102B0000992383E090E00C94992384E090E00C9466
-:102B10009923682F84E090E00C94A7238091F8011A
-:102B2000843039F11092CE0120E488E190E00FB6B4
-:102B3000F894A895809360000FBE2093600080E019
-:102B40000E94460683B7817F846083BF83B781601C
-:102B500083BF7894889583B78E7F83BF0FB6F89430
-:102B6000A895809160008861809360001092600059
-:102B70000FBE08950895CF930E94AC030E94BF0337
-:102B80000E94BA15C0E08C2F0E94AD04811104C0D0
-:102B9000CF5FCE30C1F701C081E0CF9108950E9490
-:102BA000940E0E94E4090C94460682E084BD93E0F2
-:102BB00095BD9AEF97BD80936E0008952FB7F89456
-:102BC0008091CF019091D001A091D101B091D2011B
-:102BD0002FBF0895CF92DF92EF92FF920F931F9332
-:102BE0002FB7F8944091CF015091D0016091D1015D
-:102BF0007091D2012FBF6A017B01EE24FF248C016A
-:102C000020E030E0C016D106E206F30610F4415091
-:102C100051099A01281B390BC9011F910F91FF908F
-:102C2000EF90DF90CF9008951F920F920FB60F9202
-:102C300011248F939F93AF93BF938091CF01909175
-:102C4000D001A091D101B091D2010196A11DB11D79
-:102C50008093CF019093D001A093D101B093D20182
-:102C6000BF91AF919F918F910F900FBE0F901F90CA
-:102C700018950E943C1FF8942FEF87EA91E62150A7
-:102C800080409040E1F700C0000087E090EBDC015D
-:102C90008093010290930202A0930302B093040276
-:102CA0009CE088E10FB6F894A895809360000FBE71
-:102CB00090936000FFCF0E947215811102C00E94A4
-:102CC00058150E947D158093CD010E94851590E0D6
-:102CD0009093F3018093F20187FB882780F980931A
-:102CE00002010E948115682F70E080E090E00C9452
-:102CF00054128091D50180FF0BC06091080185E0DE
-:102D0000689FB001112475956795759567952BC0DF
-:102D100081FF09C06091080185E0689FB00111241E
-:102D20007595679520C082FF07C06091080185E016
-:102D3000689FB001112417C09091D6019923D1F05A
-:102D400060910701961788F72091080185E0289F78
-:102D500090011124929FA001939F500D112470E0C7
-:102D6000CA010E946B236038710540F4611571053A
-:102D700039F002C065E070E0862F08958FE708956E
-:102D800081E008958091D50180FF08C0609106011F
-:102D900070E0759567957595679521C081FF06C0B0
-:102DA0006091060170E07595679519C082FF04C0B7
-:102DB0006091060170E010C09091D6019923C1F096
-:102DC000609105019617A0F780910601899FC001C7
-:102DD000112470E00E946B236038710528F461159E
-:102DE000710521F0862F08958FE7089581E00895F9
-:102DF00061E070E0F4CF803F21F40E947916819564
-:102E000004C0813F29F40E9479168093D901089566
-:102E1000823F21F40E947916819504C0833F29F4F2
-:102E20000E9479168093D8010895893F19F40E9471
-:102E3000C21605C08A3F31F40E94C2168195809364
-:102E4000DA0108958B3F21F40E94C216819504C0D7
-:102E50008C3F29F40E94C2168093DB010895843FC1
-:102E600021F48091D701816017C0853F21F48091C2
-:102E7000D701826011C0863F21F48091D701846020
-:102E80000BC0873F21F48091D701886005C0883F3F
-:102E900031F48091D70180618093D70108958D3FEF
-:102EA00021F48091D50181600BC08E3F21F4809187
-:102EB000D501826005C08F3F29F48091D5018460DF
-:102EC0008093D5010895803F39F48091D90187FF1F
-:102ED0006CC01092D90169C0813F29F48091D90159
-:102EE0001816BCF362C09091D801823F29F497FF75
-:102EF0005CC01092D80159C0833F19F41916CCF365
-:102F000054C0893F41F48091DA0118160CF04DC08D
-:102F10001092DA014AC08A3F29F48091DA0187FFD2
-:102F200044C0F6CF8B3F39F48091DB0187FF3DC071
-:102F30001092DB013AC08C3F29F48091DB01181616
-:102F4000BCF333C0843F21F48091D7018E7F17C03A
-:102F5000853F21F48091D7018D7F11C0863F21F4F8
-:102F60008091D7018B7F0BC0873F21F48091D701DF
-:102F7000877F05C0883F31F48091D7018F7E809391
-:102F8000D70113C08D3F21F48091D5018E7F0BC0F6
-:102F90008E3F21F48091D5018D7F05C08F3F29F4AC
-:102FA0008091D5018B7F8093D5018091D8018111CB
-:102FB0000EC08091D90181110AC08091DA0181117E
-:102FC00006C08091DB01811102C01092D6010895E4
-:102FD00087ED91E00E94FB090E94DE159093D401D9
-:102FE0008093D30108951F93CF93DF938091D301F2
-:102FF0009091D4010E94EA15AC019091D6019923D9
-:1030000021F02091090130E006C020910A018AE0F8
-:10301000289F900111244217530708F486C080911D
-:10302000D801C091D901D091DA011091DB01811151
-:1030300007C0C11176C0D11174C0111172C075C022
-:103040009F3F19F09F5F9093D601181624F40E94B9
-:1030500079168093D8018091D80187FF05C00E941E
-:10306000791681958093D8011C1624F40E94791654
-:103070008093D9018091D90187FF05C00E947916FC
-:1030800081958093D9016091D801662339F1C0916F
-:10309000D901CC2319F1772767FD7095872F972FDA
-:1030A0000E94722223E333E343E35FE30E94D622CC
-:1030B0000E943A226093D8016C2F772767FD7095A4
-:1030C000872F972F0E94722223E333E343E35FE3CA
-:1030D0000E94D6220E943A226093D9011D1624F440
-:1030E0000E94C2168093DA018091DA0187FF05C041
-:1030F0000E94C21681958093DA01111624F40E9471
-:10310000C2168093DB018091DB0187FF05C00E941E
-:10311000C21681958093DB01DF91CF911F910C94B2
-:10312000E8179F3F09F08ECF96CFDF91CF911F9187
-:103130000895E7EDF1E085E0DF011D928A95E9F75A
-:103140001092D6011092D5010895833081F128F4B0
-:10315000813059F08230D1F00895853009F449C0AA
-:10316000B8F1863009F456C0089580910A01262FDF
-:1031700030E0280F311D2F3F310524F4680F609394
-:103180000A0108958FEF80930A0108958091090143
-:10319000262F30E0280F311D2F3F310524F4680F12
-:1031A0006093090108958FEF80930901089580913C
-:1031B0000801262F30E0280F311D2F3F310524F460
-:1031C000680F6093080108958FEF809308010895B8
-:1031D00080910701262F30E0280F311D2F3F310548
-:1031E00024F4680F6093070108958FEF809307011F
-:1031F000089580910601262F30E0280F311D2F3FC2
-:10320000310524F4680F6093060108958FEF8093D1
-:103210000601089580910501262F30E0280F311D09
-:103220002F3F310524F4680F6093050108958FEF57
-:10323000809305010895833011F128F4813049F01D
-:10324000823091F00895853081F120F18630C1F10E
-:10325000089580910A01681720F4861B80930A0163
-:10326000089510920A01089580910901681720F4C9
-:10327000861B809309010895109209010895809199
-:103280000801681720F4861B8093080108951092A6
-:103290000801089580910701681720F4861B809328
-:1032A000070108951092070108958091060168179B
-:1032B00020F4861B8093060108951092060108955C
-:1032C00080910501681720F4861B809305010895FD
-:1032D0001092050108950F931F938D3109F471C069
-:1032E00008F045C0803109F485C008F5873009F43D
-:1032F0006FC068F4863009F0ADC08091CD01817F48
-:103300008E7F8093CD0181E08093DD01A4C08B305E
-:1033100009F49EC08E3009F09DC08091CD0182FBE2
-:10332000222720F991E0922790FB82F96CC0863128
-:1033300009F48EC060F4813109F08CC00E94940EB3
-:103340009091020181E089278093020181C0893137
-:1033500009F47EC08B3109F07DC08091CD0181FBE5
-:10336000222720F991E0922790FB81F94CC0853308
-:1033700009F466C048F4873209F462C008F44FC00B
-:10338000893209F45DC066C0833438F48A3308F0AA
-:1033900044C0883309F45CC05DC0833409F450C074
-:1033A000883409F057C00E94940E0FEF13ED20E30C
-:1033B000015010402040E1F700C000000E94391683
-:1033C00047C00E94F51A0E94E4090E94460640C0C8
-:1033D0009091CD01892F8095817080FB90F929F023
-:1033E000966098609093CD0136C0997F977F9093B7
-:1033F000CD012EC08091CD0183FB222720F991E0E1
-:10340000922790FB83F98093CD01992309F1809154
-:10341000CD0181608093CD011BC0895301C08D51C6
-:1034200041E050E060E070E08A019B0104C0000FC1
-:10343000111F221F331F8A95D2F7C901B80104C09A
-:1034400061E070E080E090E00E9454120E94940ECF
-:1034500081E001C080E01F910F91089580E0089500
-:1034600080E008958E518A3030F4E82FF0E0EA5E73
-:10347000FE4F8081089580E00895CF93C82F8091FA
-:10348000DD01813079F018F08230E9F186C0E091F9
-:103490000301F09104018081813169F0823209F0E9
-:1034A0007EC009C0E0910301F09104018081813167
-:1034B00011F0823261F48C2F0E942E1A811104C007
-:1034C0008C2F0E946B191DC081E090E01AC08C2FD8
-:1034D0000E94301A811114C0C43179F048F4CB3005
-:1034E00079F0C03109F05FC082E08093DD0108C04F
-:1034F000C93219F0C83321F056C01092DD0153C013
-:1035000081E0817052C0C93281F110F5C43169F196
-:10351000A8F4C73009F045C08AE080930A0194E11D
-:103520009093090193E0909308018093070188E04C
-:103530008093060188E28093050133C082EE8C0FF0
-:10354000863078F58C2F0E94321A8093DC0129C0D6
-:10355000CE34E9F020F4CB3421F56AE013C0C13554
-:1035600079F0C235F1F461E00DC08091DC0188236F
-:1035700019F01092DC0115C081E08093DD0115C0C7
-:1035800061E006C08091DC010E94A5180AC06AE0D3
-:103590008091DC010E941B1904C01092DD0180E0C3
-:1035A00004C081E002C080E0ACCFCF910895E1E893
-:1035B000F0E08081886080838081816080838FB724
-:1035C000F89493E09093890090ED909388008FBFDA
-:1035D0000895EFE6F0E08081826080830895EFE651
-:1035E000F0E080818D7F80830895EFE6F0E09081A8
-:1035F00082E08927808308951F920F920FB60F9261
-:1036000011242F933F934F935F936F937F938F93E7
-:103610009F93AF93BF93EF93FF938091DE019091BF
-:10362000DF0101969093DF018093DE01811103C0D9
-:1036300082E00E944606E091DF01E695E695F0E023
-:10364000E954FC4FE4918091DE018E1303C080E0C9
-:103650000E944606FF91EF91BF91AF919F918F918C
-:103660007F916F915F914F913F912F910F900FBE7E
-:103670000F901F9018958091F0010895CF93DF93DC
-:1036800000D01F92CDB7DEB79C018091F801843045
-:1036900019F593E099833B832A839093E9008FEF98
-:1036A0009091E800815095FD06C095ED9A95F1F74F
-:1036B00000008111F5CF8091E80085FF0DC040E04A
-:1036C00050E063E070E0CE0101960E94A71D80915A
-:1036D000E8008E778093E8000F900F900F90DF91B5
-:1036E000CF910895CF93DF9300D01F92CDB7DEB76F
-:1036F0002091F801243021F522E029839B838A83DD
-:1037000083E08093E9008FEF9091E800815095FD70
-:1037100006C095ED9A95F1F700008111F5CF8091E3
-:10372000E80085FF0DC040E050E063E070E0CE01AE
-:1037300001960E94A71D8091E8008E778093E80093
-:103740000F900F900F90DF91CF9108952091F80185
-:103750002430F1F422E02093E9002FEF3091E800CB
-:10376000215035FD06C035ED3A95F1F700002111E5
-:10377000F5CF2091E80025FF0BC040E050E065E068
-:1037800070E00E94A71D8091E8008E778093E8008A
-:103790000895CF93DF93EC019091F801943009F0F4
-:1037A00046C0809115018823D9F0809102018823B9
-:1037B000B9F09093E9008FEF9091E800815095FD6A
-:1037C00006C095E19A95F1F700008111F5CF80913F
-:1037D000E80085FF2CC040E050E060E170E017C0D9
-:1037E00081E08093E9008FEF9091E800815095FD92
-:1037F00006C095ED9A95F1F700008111F5CF809103
-:10380000E80085FF14C040E050E068E070E0CE01C1
-:103810000E94A71D8091E8008E778093E80080E1E8
-:10382000FE01A0EEB1E001900D928A95E1F7DF91E3
-:10383000CF9108958091F701811109C00E943C1F2A
-:103840000E94991F8091E20084608093E2000895B5
-:103850001092F701089508950C94E91A0E94CF156B
-:103860000E94EF1A0E94E4090C94460642E061ECC3
-:1038700081E00E94B61E42E061EC82E00E94B61E2A
-:1038800042E061EC83E00E94B61E42E161EC84E01C
-:103890000C94B61E8091FA01833009F455C030F4BF
-:1038A000813071F0823009F48EC008958A3009F4B5
-:1038B0007AC08B3009F460C0893009F09CC020C008
-:1038C0008091F901813A09F096C08091E800877FE4
-:1038D0008093E8008091FD019091FE01892B21F4F5
-:1038E00060E180EE91E003C060E080E090E070E095
-:1038F0000E94F21D8091E8008B778093E800089584
-:103900008091F901813209F076C08091FD0190919A
-:10391000FE01009719F0039709F06DC08091E8004F
-:10392000877F8093E8008091E80082FD05C0809148
-:10393000F8018111F8CF5FC08091F1008093F00110
-:103940008091E8008B7753C08091F901813A09F0AA
-:1039500052C08091FD019091FE01892B09F04BC06E
-:103960008091E800877F8093E8008091E80080FFE5
-:10397000FCCF8091150136C08091F9018132D9F5D3
-:103980008091FD019091FE01892BA9F58091E800BD
-:10399000877F8093E8000E94EB1E8091FB0180935B
-:1039A00015010C94940E8091F901813221F58091DA
-:1039B000E800877F8093E8000E94EB1E8091FC0165
-:1039C0008093F10108958091F901813AA1F48091E9
-:1039D000E800877F8093E8008091E80080FFFCCFBB
-:1039E0008091F1018093F1008091E8008E778093BF
-:1039F000E8000C94EB1E089584B7877F84BF0FB650
-:103A0000F894A8958091600088618093600010927E
-:103A100060000FBE80E880936100109261000E94F8
-:103A2000330A0E943C1F0E94991F8091E20084602B
-:103A30008093E20078940E941F220E94350A8BE056
-:103A400091E00E94DF090E94D71A8091F801853029
-:103A500069F40E948E158091F6018823B1F30E94CB
-:103A6000BB15882391F30E94911DEFCF0E943B0A62
-:103A7000ECCF292F332723303105C9F064F42130EE
-:103A8000310581F02230310509F043C08DE690E028
-:103A90002BE234E042C021323105F1F0223231050F
-:103AA00041F137C082E190E028E934E036C099273F
-:103AB0008130910541F08230910541F0892B49F523
-:103AC000E7E2F4E005C0EFE0F4E002C0E7EFF3E086
-:103AD000849190E09F0121C06430D8F4E62FF0E09B
-:103AE000EE0FFF1FE45DFE4F2081318189E090E001
-:103AF00014C0643070F470E0FB01EE0FFF1FEC5D4A
-:103B0000FE4F20813181FB01E05EFE4F808190E01D
-:103B100004C080E090E020E030E0FA0131832083AF
-:103B2000089580E189BD82E189BD09B400FEFDCF21
-:103B30008091D8008F7D8093D8008091E0008260D2
-:103B40008093E0008091E00081FDFCCF0895CF924A
-:103B5000DF92EF92FF920F931F93CF93DF93EC01CD
-:103B60008B016A010E940A1F811133C0C114D10464
-:103B700039F0F60180819181081B190BC80FD91FFC
-:103B8000E12CF12C0115110519F18091E80085FD5A
-:103B900016C08091E8008E778093E800C114D104AC
-:103BA00049F0F60180819181E80EF91EF182E082F0
-:103BB00085E00FC00E940A1F882321F30AC0899163
-:103BC0008093F10001501109FFEFEF1AFF0ADACFDD
-:103BD00080E0DF91CF911F910F91FF90EF90DF90E8
-:103BE000CF9008952091FF013091000226173707EA
-:103BF00048F06115710539F42091E8002E77209383
-:103C0000E80001C0B90140E061157105A9F12091FA
-:103C1000F801222309F443C0253009F442C0209161
-:103C2000E80023FD40C02091E80022FD32C0209131
-:103C3000E80020FFE9CF4091F3002091F20030E04E
-:103C4000342BFC01CF016115710559F02830310585
-:103C500040F481918093F100615071092F5F3F4FD3
-:103C6000F1CF41E02830310509F040E02091E80033
-:103C70002E772093E800C8CF4111C9CF0AC08091A8
-:103C8000F801882361F0853061F08091E80083FDC0
-:103C90000AC08091E80082FFF2CF80E0089582E0C0
-:103CA000089583E0089581E008952091FF01309107
-:103CB00000022617370748F06115710539F4209185
-:103CC000E8002E772093E80001C0B901FC0120E054
-:103CD0006115710591F18091F801882309F440C0C4
-:103CE000853009F43FC08091E80083FD3DC080919C
-:103CF000E80082FD2FC08091E80080FFE9CF20918D
-:103D0000F3008091F20090E0922B6115710559F05B
-:103D10008830910540F424912093F1003196615050
-:103D200071090196F2CF21E0089709F020E0809117
-:103D3000E8008E778093E800CBCF2111CCCF0AC06A
-:103D40008091F801882361F0853061F08091E8006E
-:103D500083FD0AC08091E80082FFF2CF80E00895E1
-:103D600082E0089583E0089581E00895982F9730C8
-:103D700058F59093E900981739F07091EC00209174
-:103D8000ED005091F00003C0242F762F50E021FF6A
-:103D900019C03091EB003E7F3093EB003091ED0085
-:103DA0003D7F3093ED003091EB0031603093EB00BC
-:103DB0007093EC002093ED005093F0002091EE0002
-:103DC00027FF07C09F5FD3CF8F708093E90081E00A
-:103DD000089580E008958091F90187FF11C08091D6
-:103DE000E80082FD05C08091F8018111F8CF11C073
-:103DF0008091E8008B770BC08091F801882349F00F
-:103E00008091E80080FFF8CF8091E8008E77809362
-:103E1000E80008952091E4003091E50095E6409196
-:103E2000EC00842F817040FF22C08091E80080FD6B
-:103E30001CC08091F801882391F0853091F0809129
-:103E4000EB0085FD10C04091E4005091E500421761
-:103E5000530729F39A01915011F784E0089582E005
-:103E6000089583E0089581E0089580E008954091E9
-:103E7000E80042FFDECF08950E94AA1F0E94B21FF1
-:103E8000E0EEF0E0808181608083E8EDF0E0808109
-:103E90008F77808319BCA7EDB0E08C918E7F8C93D7
-:103EA00080818F7E80831092F70108950F931F9376
-:103EB000CF93DF930E94AA1F0E94B21FC8EDD0E0EB
-:103EC00088818F77888388818068888388818F7DC7
-:103ED000888319BC1092F8011092F4011092F60137
-:103EE0001092F50100EE10E0F80180818B7F808355
-:103EF00088818160888342E060E080E00E94B61E95
-:103F0000E1EEF0E080818E7F8083E2EEF0E0808160
-:103F100081608083808188608083F80180818E7FCA
-:103F20008083888180618883DF91CF911F910F9179
-:103F30000895E8EDF0E080818F7E8083E7EDF0E08A
-:103F400080818160808384E082BF81E08093F7017B
-:103F50000C94561FE8EDF0E080818E7F80831092F4
-:103F6000E20008951092DA001092E10008951F9285
-:103F70000F920FB60F9211242F933F934F935F939D
-:103F80006F937F938F939F93AF93BF93EF93FF9321
-:103F90008091E10082FF0BC08091E20082FF07C0A8
-:103FA0008091E1008B7F8093E1000E941E2280912E
-:103FB000DA0080FF1FC08091D80080FF1BC0809175
-:103FC000DA008E7F8093DA008091D90080FF0DC0E7
-:103FD00080E189BD82E189BD09B400FEFDCF81E0A9
-:103FE0008093F8010E941A1C05C019BC1092F801B8
-:103FF0000E94281C8091E10080FF19C08091E2009E
-:1040000080FF15C08091E2008E7F8093E200809156
-:10401000E20080618093E2008091D800806280930A
-:10402000D80019BC85E08093F8010E942C1C809177
-:10403000E10084FF30C08091E20084FF2CC080E169
-:1040400089BD82E189BD09B400FEFDCF8091D80011
-:104050008F7D8093D8008091E1008F7E8093E10076
-:104060008091E2008F7E8093E2008091E200816087
-:104070008093E2008091F401882311F084E007C06E
-:104080008091E30087FD02C081E001C083E080935E
-:10409000F8010E942E1C8091E10083FF29C08091CD
-:1040A000E20083FF25C08091E100877F8093E100DB
-:1040B00082E08093F8011092F4018091E1008E7FFC
-:1040C0008093E1008091E2008E7F8093E2008091F6
-:1040D000E20080618093E20042E060E080E00E94C4
-:1040E000B61E8091F00088608093F0000E942B1C27
-:1040F000FF91EF91BF91AF919F918F917F916F91C0
-:104100005F914F913F912F910F900FBE0F901F9095
-:1041100018951F920F920FB60F9211242F933F9371
-:104120004F935F936F937F938F939F93AF93BF93BF
-:10413000CF93DF93EF93FF93C091E900CF7080910D
-:10414000EC00D82FD17080FDD0E81092E90080916A
-:10415000F000877F8093F00078940E94CD20109229
-:10416000E9008091F00088608093F000CD2BCF7043
-:10417000C093E900FF91EF91DF91CF91BF91AF9193
-:104180009F918F917F916F915F914F913F912F916F
-:104190000F900FBE0F901F9018951F93CF93DF9332
-:1041A000CDB7DEB7AA970FB6F894DEBF0FBECDBF6E
-:1041B000E9EFF1E088E08E0F9091F10091938E137A
-:1041C000FBCF0E944A1C8091E80083FF1FC18091B1
-:1041D000F9019091FA01492F50E04A30510508F059
-:1041E00015C1FA01E558FF4F0C947F23803881F008
-:1041F000823809F00BC18091FD018F708093E90036
-:104200008091EB0085FB882780F91092E90006C0B9
-:104210008091F5019091F601911182609091E800F2
-:10422000977F9093E8008093F1001092F100C8C04E
-:10423000282F2D7F09F0EAC0882319F0823061F021
-:10424000E5C08091FB01813009F0E0C0933009F0B6
-:1042500080E08093F6012BC08091FB01811127C083
-:104260008091FD018F7009F4D1C08093E900209105
-:10427000EB0020FF1CC0933021F48091EB008062A2
-:1042800014C09091EB0090619093EB0021E030E03E
-:10429000A90102C0440F551F8A95E2F74093EA0036
-:1042A0001092EA008091EB0088608093EB001092FE
-:1042B000E9008091E800877F86C08111A7C0109136
-:1042C000FB011F778091E3008078812B8093E300CE
-:1042D0008091E800877F8093E8000E94EB1E809128
-:1042E000E80080FFFCCF8091E30080688093E300CA
-:1042F000111102C082E001C083E08093F80186C002
-:104300008058823008F082C08091FB019091FC01BE
-:104310008C3D53E0950779F583E08A838AE28983AF
-:104320004FB7F894DE01139620E03EE051E2E32F10
-:10433000F0E050935700E49120FF03C0E295EF7046
-:104340003F5FEF708E2F90E0EA3010F0C79601C00B
-:10435000C0968D939D932F5F243149F74FBF809175
-:10436000E800877F8093E8006AE270E0CE01019662
-:104370000E94F21D14C0AE014F5F5F4F6091FD01BE
-:104380000E94391DBC01892B09F440C09091E800BE
-:10439000977F9093E80089819A810E94551E8091B1
-:1043A000E8008B778093E80031C0803879F5809100
-:1043B000E800877F8093E8008091F4018093F1000A
-:1043C0008091E8008E778093E8000E94EB1E1EC06B
-:1043D00081111CC09091FB019230C0F48091E800E3
-:1043E000877F8093E8009093F4010E94EB1E8091F8
-:1043F000F401811106C08091E30087FD02C081E0D5
-:1044000001C084E08093F8010E94361C8091E8008E
-:1044100083FF0AC08091E800877F8093E800809145
-:10442000EB0080628093EB00AA960FB6F894DEBF93
-:104430000FBECDBFDF91CF911F9108950895CF9307
-:104440008091F8018823A1F0C091E900CF7090918C
-:10445000EC00892F817090FD80E8C82B1092E90054
-:104460008091E80083FD0E94CD20CF70C093E900C9
-:10447000CF9108950E9441226894B1110C94D022EA
-:1044800008950E94B52288F09F5798F0B92F992778
-:10449000B751B0F0E1F0660F771F881F991F1AF02F
-:1044A000BA95C9F714C0B13091F00E94CF22B1E0A3
-:1044B00008950C94CF22672F782F8827B85F39F0A2
-:1044C000B93FCCF3869577956795B395D9F73EF4C8
-:1044D00090958095709561957F4F8F4F9F4F089570
-:1044E000E89409C097FB3EF490958095709561958E
-:1044F0007F4F8F4F9F4F9923A9F0F92F96E9BB2744
-:104500009395F695879577956795B795F111F8CFBF
-:10451000FAF4BB0F11F460FF1BC06F5F7F4F8F4F2A
-:104520009F4F16C0882311F096E911C0772321F020
-:104530009EE8872F762F05C0662371F096E8862FB8
-:1045400070E060E02AF09A95660F771F881FDAF70F
-:10455000880F9695879597F9089557FD9058440FC1
-:10456000551F59F05F3F71F04795880F97FB991FD2
-:1045700061F09F3F79F0879508951216130614068F
-:10458000551FF2CF4695F1DF08C01616170618061C
-:10459000991FF1CF86957105610508940895E894F7
-:1045A000BB2766277727CB0197F908950E94E92258
-:1045B0000C945A230E944C2338F00E94532320F07D
-:1045C000952311F00C9443230C94492311240C944B
-:1045D000D0220E94AD2270F3959FC1F3950F50E059
-:1045E000551F629FF001729FBB27F00DB11D639FA5
-:1045F000AA27F00DB11DAA1F649F6627B00DA11D4B
-:10460000661F829F2227B00DA11D621F739FB00DF0
-:10461000A11D621F839FA00D611D221F749F332760
-:10462000A00D611D231F849F600D211D822F762FF9
-:104630006A2F11249F5750409AF0F1F088234AF0D6
-:10464000EE0FFF1FBB1F661F771F881F9150504042
-:10465000A9F79E3F510580F00C9443230C94D0227F
-:104660005F3FE4F3983ED4F3869577956795B795C9
-:10467000F795E7959F5FC1F7FE2B880F911D9695E3
-:10468000879597F9089597F99F6780E870E060E053
-:1046900008959FEF80EC089500240A9416161706DB
-:1046A00018060906089500240A9412161306140623
-:1046B00005060895092E0394000C11F4882352F086
-:1046C000BB0F40F4BF2B11F460FF04C06F5F7F4F3E
-:1046D0008F4F9F4F089597FB072E16F4009407D035
-:1046E00077FD09D00E94852307FC05D03EF4909504
-:1046F00081959F4F0895709561957F4F0895EE0FB6
-:10470000FF1F0590F491E02D0994AA1BBB1B51E1FA
-:1047100007C0AA1FBB1FA617B70710F0A61BB70B31
-:10472000881F991F5A95A9F780959095BC01CD01D6
-:104730000895F999FECF92BD81BDF89A992780B569
-:104740000895A8E1B0E042E050E00C94C023262F89
-:10475000F999FECF92BD81BDF89A019700B4021677
-:1047600031F020BD0FB6F894FA9AF99A0FBE089569
-:104770000196272F0E94A8230C94A723DC01CB01CC
-:10478000FC01F999FECF06C0F2BDE1BDF89A319661
-:1047900000B40D9241505040B8F70895F894FFCFFF
-:1047A000052001BA0128080A03140A3B1BC91BA6ED
-:1047B0001B721B3E1B0101020304050607080900CA
-:1047C000404D363966051905E304AA043D04560434
-:0447D0006F048804E6
-:00000001FF
diff --git a/keyboards/ergodox/readme.md b/keyboards/ergodox/readme.md
index 90ede90ae..7327087ff 100644
--- a/keyboards/ergodox/readme.md
+++ b/keyboards/ergodox/readme.md
@@ -94,7 +94,7 @@ To flash with ´teensy-loader-cli´:
- Build the firmware with `make keymapname`, for example `make default`
- - Run ´<path/to/>teensy_loader_cli --mcu=atmega32u4 -w ergodox_ez_<keymap>.hex´
+ - Run ´<path/to/>teensy_loader_cli -mmcu=atmega32u4 -w ergodox_ez_<keymap>.hex´
- Press the Reset button by inserting a paperclip gently into the reset hole
in the top right corder.
@@ -152,7 +152,7 @@ The QMK firmware is open-source, so it would be wonderful to have your contribut
1. All work goes inside your keymap subdirectory (`keymaps/german` in this example).
2. `keymap.c` - this is your actual keymap file; please update the ASCII comments in the file so they correspond with what you did.
3. `readme.md` - a readme file, which GitHub would display by default when people go to your directory. Explain what's different about your keymap, what you tweaked or how it works. No specific format to follow, just communicate what you did. :)
-4. Any graphics you wish to add. This is absolutely not a must. If you feel like it, you can use [Keyboard Layout Editor](http://keyboard-layout-editor.com) to make something and grab a screenshot, but it's really not a must. If you do have graphics, your readme can just embed the graphic as a link, just like I did with the default layout.
+4. Any graphics you wish to add must be hosted elsewhere (please don't include images in your PR). This is absolutely not a must. If you feel like it, you can use [Keyboard Layout Editor](http://keyboard-layout-editor.com) to make something and grab a screenshot, but it's really not a must. If you do have graphics, your readme can just embed the graphic as a link (`![alt-text](url)`), just like I did with the default layout.
# Finding the keycodes you need
diff --git a/keyboards/ergodox/rules.mk b/keyboards/ergodox/rules.mk
index 2e501e81b..5939d634c 100644
--- a/keyboards/ergodox/rules.mk
+++ b/keyboards/ergodox/rules.mk
@@ -16,13 +16,13 @@
# Build Options
# comment out to disable the options.
#
-BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
-CONSOLE_ENABLE ?= no # Console for debug(+400)
-COMMAND_ENABLE ?= yes # Commands for debug and configuration
-CUSTOM_MATRIX ?= yes # Custom matrix file for the ErgoDox EZ
-SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
-NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-UNICODE_ENABLE ?= yes # Unicode
-ONEHAND_ENABLE ?= yes # Allow swapping hands of keyboard
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+CUSTOM_MATRIX = yes # Custom matrix file for the ErgoDox EZ
+SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+UNICODE_ENABLE = yes # Unicode
+ONEHAND_ENABLE = yes # Allow swapping hands of keyboard