From 1076c2b1226ed049a364971bf8e1edcd9ed45f6d Mon Sep 17 00:00:00 2001 From: Nicholas Keene Date: Fri, 22 Apr 2016 22:33:13 -0500 Subject: The Ordinary Layout is the layout you are looking for. Come and see v3.14. --- keyboard/ergodox_ez/keymaps/ordinary/keymap.c | 641 +++--- .../ergodox_ez/keymaps/ordinary/ordinary-media.png | Bin 121014 -> 122650 bytes .../ergodox_ez/keymaps/ordinary/ordinary-media.txt | 4 +- .../keymaps/ordinary/ordinary-symbol.png | Bin 103401 -> 103944 bytes .../keymaps/ordinary/ordinary-symbol.txt | 6 +- keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex | 2353 ++++++++++---------- keyboard/ergodox_ez/keymaps/ordinary/readme.md | 6 +- 7 files changed, 1469 insertions(+), 1541 deletions(-) (limited to 'keyboard') diff --git a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c index efd67addd5..871bda672c 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c +++ b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c @@ -4,33 +4,42 @@ #include "action_layer.h" #include "action_util.h" -#define BASE 0 // default layer -#define LOCK 1 // shift-lock layer -#define SYMB_SH 2 // symbols shift layer -#define SYMB_LK 3 // symbols lock layer -#define SYMB_UN 4 // symbols unlock layer -#define MDIA_SH 5 // media shift layer -#define MDIA_LK 6 // media lock layer -#define MDIA_UN 7 // media unlock layer -#define UNLOCK 8 // clear to base layer +#define BASE 0 // default layer +#define SYMB 1 // symbols layer +#define MDIA 2 // media layer +#define LOCK 3 // shift-lock layer + +#define LSymb 0 // left symbol-shift key +#define LMdia 1 // left media-shift key +#define LLock 2 // left shift-lock key +#define RSymb 3 // right symbol-shift key +#define RMdia 4 // right media-shift key +#define RLock 5 // right shift-lock key + +#define MUL 6 // mouse up left +#define MUR 7 // mouse up right +#define MDL 8 // mouse down left +#define MDR 9 // mouse down right /* - * The Ordinary Layout for the Ergodox EZ keyboard, v3.1 - * modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com + * The Ordinary Layout for the Ergodox EZ keyboard, v3.14 + * + * Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com + * * Details: readme.md * https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Base Layer +/******* Base Layer ******************************************************************************************************** * * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | LOCK `~ | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | = LOCK | + * | Lock `~ | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | =+ Lock | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ Media | + * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \| Media | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | ' Symbol | + * | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | '" Symbol | * |-----------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+-----------| * | LShift | Z | X | C | V | B | -Tab | | | N | M | , | . | / | RShift | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' @@ -46,128 +55,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [BASE] = KEYMAP( // left hand - LT(LOCK, KC_GRV) ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC -,LT(MDIA_SH, KC_TAB),KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC -,MO(SYMB_SH) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G -,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB) -,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI - - ,KC_HOME,KC_END - ,KC_PGUP - ,KC_BSPC,KC_DEL ,KC_PGDN - - // right hand - ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,LT(LOCK, KC_EQL) - ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,LT(MDIA_SH, KC_BSLS) - ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,LT(SYMB_SH, KC_QUOT) - ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,KC_RSFT - ,KC_RGUI,KC_RALT,ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL - - ,KC_LEFT ,KC_RGHT - ,KC_UP - ,KC_DOWN ,KC_ENT ,KC_SPC + F(LLock) ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC +,F(LMdia) ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC +,M(LSymb) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G +,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB) +,KC_LCTL ,KC_MEH ,KC_HYPR,KC_LALT,KC_LGUI + ,KC_HOME,KC_END + ,KC_PGUP + ,KC_BSPC,KC_DEL ,KC_PGDN + // right hand + ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,F(RLock) + ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,F(RMdia) + ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,F(RSymb) + ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,KC_RSFT + ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH ,KC_RCTL + ,KC_LEFT ,KC_RGHT + ,KC_UP + ,KC_DOWN ,KC_ENT ,KC_SPC ), -/* Keymap 1: Layer Lock Keys - * - * ,-------------------------------------------------------. ,-------------------------------------------------------. - * | | Esc | | | | | | | | | | | | Bspc | | - * |-------------+------+------+------+------+-------------| |------+------+------+------+------+------+-------------| - * | Media LOCK | | | | | | | | | | | | | | Media LOCK | - * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------| - * | Symbol LOCK | | | | | |------| |------| | | | | | Symbol LOCK | - * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------| - * | Caps LOCK | | | | | | | | | | | | | | Caps LOCK | - * `-------------+------+------+------+------+-------------' `-------------+------+------+------+------+-------------' - * | | | | | | | | | | | | - * `------------------------------------' `------------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -[LOCK] = KEYMAP( -// left hand - KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS -,KC_FN3 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS -,KC_FN2 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS -,KC_CAPS ,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_BSPC ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN3 - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN2 - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS - - ,KC_TRNS ,KC_TRNS - ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS - ), - -/* Keymap 2: Symbol Shift Layer +/******* Symbols Layer ***************************************************************************************************** * * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | LOCK | F1 | F2 | F3 | F4 | F5 | | | - | F6 | F7 | F8 | F9 | F10 | LOCK | + * | | F1 | F2 | F3 | F4 | F5 | Esc | | - | F6 | F7 | F8 | F9 | F10 | | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | Media | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | Media | + * | | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | Symbol | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | Symbol | + * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | | * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------| - * | LShift | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | RShift | - * `-----------+------+------+------+------+-------------' `------------+------+------+------+------+------------' - * | | | | | | | 0 | . | = | + | Entr | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | Left | Right| | Home | End | - * ,------|------|------| |------+------+------. - * | | | Up | | PgUp | | | - * |Space |Enter |------| |------|BackSp| Del | - * | | | Down | | PgDn | | | - * `--------------------' `--------------------' - */ -[SYMB_SH] = KEYMAP( -// left hand - KC_FN2 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS -,MO(MDIA_SH) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM) -,MO(SYMB_SH) ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV -,KC_LSFT ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB -,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS - ,KC_LEFT ,KC_RGHT - ,KC_UP - ,KC_SPC ,KC_ENT ,KC_DOWN - // right hand - ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_FN2 - ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_SH) - ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,MO(SYMB_SH) - ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT - ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT) - ,KC_HOME ,KC_END - ,KC_PGUP - ,KC_PGDN ,KC_BSPC ,KC_DEL -), - -/* Keymap 3: Symbol Lock Layer - * - * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | LOCK | F1 | F2 | F3 | F4 | F5 | | | - | F6 | F7 | F8 | F9 | F10 | LOCK | - * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | Media | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | Media | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | Symbol | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | Symbol | - * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------| - * | LShift | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | RShift | - * `-----------+------+------+------+------+-------------' `------------+------+------+------+------+------------' - * | | | | | | | 0 | . | = | + | Entr | - * `----------------------------------' `----------------------------------' + * | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | LCtrl | Meh |Hyper | LAlt | LGui | |RGui/0|RAlt/.|Hypr/=|Meh/+ |RCtrl/Ent| + * `-----------------------------------' `-------------------------------------' * ,-------------. ,-------------. * | Left | Right| | Home | End | * ,------|------|------| |------+------+------. @@ -176,159 +95,75 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | Down | | PgDn | | | * `--------------------' `--------------------' */ -[SYMB_LK] = KEYMAP( -// left hand - MO(SYMB_UN) ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS -,MO(MDIA_SH) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM) -,MO(UNLOCK) ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV -,KC_LSFT ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB -,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS - ,KC_LEFT ,KC_RGHT - ,KC_UP - ,KC_SPC ,KC_ENT ,KC_DOWN - // right hand - ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,MO(SYMB_UN) - ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_SH) - ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,MO(UNLOCK) - ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT - ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT) - ,KC_HOME ,KC_END - ,KC_PGUP - ,KC_PGDN ,KC_BSPC ,KC_DEL - ), - -/* Keymap 4: Symbol Unlock Layer - * - * ,------------------------------------------------------. ,------------------------------------------------------. - * | | Esc | | | | | | | | | | | | Bspc | | - * |------------+------+------+------+------+-------------| |------+------+------+------+------+------+------------| - * | Media LOCK | | | | | | | | | | | | | | Media LOCK | - * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------| - * | UNLOCK | | | | | |------| |------| | | | | | UNLOCK | - * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------| - * | Caps LOCK | | | | | | | | | | | | | | Caps LOCK | - * `------------+------+------+------+------+-------------' `-------------+------+------+------+------+------------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -[SYMB_UN] = KEYMAP( +[SYMB] = KEYMAP( // left hand - KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS -,TG(MDIA_LK) ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS -,KC_FN1 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS -,KC_CAPS ,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_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_ESC +,KC_TRNS ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM) +,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_TAB +,KC_LCTL ,KC_MEH ,KC_HYPR,KC_LALT ,KC_LGUI + ,KC_LEFT ,KC_RGHT + ,KC_UP + ,KC_SPC ,KC_ENT ,KC_DOWN // right hand - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,TG(MDIA_LK) - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1 - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS - ,KC_TRNS ,KC_TRNS - ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_TRNS + ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,KC_TRNS + ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,KC_TRNS + ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_TRNS + ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT) + ,KC_HOME ,KC_END + ,KC_PGUP + ,KC_PGDN ,KC_BSPC ,KC_DEL ), -/* Keymap 5: Media Shift Layer +/******* Media Layer ******************************************************************************************************* * - * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | LOCK | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | LOCK | - * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | Media |ShutDn|LClick| MsUp |RClick|Vol Up|ScrlUp| |ScrlUp|PrtScr| Home | Up | PgUp | Mail | Media | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | Symbol | Sleep|MsLeft|MsDown|MsRght|Vol Dn|------| |------|NumLok| Left | Down | Right|MyComp| Symbol | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | LShift | | |MsDown| | Mute |ScrlDn| |ScrlDn| | End | Down | PgDn | | RShift | - * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | LCtrl| Meh |Hyper | LAlt | LGui | |Insert|Delete| Hyper| LAlt | LGui | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | Stop |Refrsh| | Prev | Next | - * ,------|------|------| |------+------+------. - * |Brwser|Brwser|Search| |VolUp | | | - * |Back | Fwd |------| |------| Stop | Play-| - * | | | Home | |VolDn | | Pause| - * `--------------------' `--------------------' + * ,---------------------------------------------------------------. ,---------------------------------------------------------------. + * | | F11 | F12 | F13 | F14 | F15 | Esc | | | F16 | F17 | F18 | F19 | F20 | | + * |------+---------+---------+---------+---------+----------------| |------+---------+---------+---------+---------+---------+------| + * | |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll| |Scroll|PrintScrn| Home | Up | PgUp | Mail | | + * |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------| + * | | Sleep |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | MyComp | | + * |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------| + * | | |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | | End | Down | PgDn | | | + * `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------' + * |LCtrl| Meh | MClick | LClick | R Click| |Cmd/Insrt|Optn/Del | Hyper | Meh |RCtrl| + * `---------------------------------------------' `---------------------------------------------' + * ,-------------. ,-------------. + * | Stop |Refrsh| | Prev | Next | + * ,------|------|------| |------+------+------. + * |Brwser|Brwser|Search| |VolUp | | | + * |Back | Fwd |------| |------| Stop | Play-| + * | | | Home | |VolDn | | Pause| + * `--------------------' `--------------------' */ -[MDIA_SH] = KEYMAP( +[MDIA] = KEYMAP( // left hand - KC_FN3 ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_NO -,MO(MDIA_SH) ,KC_POWER ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_VOLU ,KC_WH_U -,MO(SYMB_SH) ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD -,KC_LSFT ,KC_NO ,KC_NO ,KC_MS_D ,KC_NO ,KC_MUTE ,KC_WH_D -,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI - ,KC_WSTP ,KC_WREF - ,KC_WSCH - ,KC_WBAK ,KC_NO ,KC_WHOM + KC_TRNS ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_ESC +,KC_TRNS ,KC_POWER ,M(MUL) ,KC_MS_U ,M(MUR) ,KC_VOLU ,KC_WH_U +,KC_TRNS ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD +,KC_TRNS ,KC_NO ,M(MDL) ,KC_MS_D ,M(MDR) ,KC_MUTE ,KC_WH_D +,KC_LCTL ,KC_MEH ,KC_BTN3 ,KC_BTN1 ,KC_BTN2 + ,KC_WSTP ,KC_WREF + ,KC_WSCH + ,KC_WBAK ,KC_NO ,KC_WHOM // right hand - ,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_FN3 - ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,MO(MDIA_SH) - ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,MO(SYMB_SH) - ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_RSFT - ,GUI_T(KC_INS),ALT_T(KC_DEL),ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL + ,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_TRNS + ,KC_WH_U ,KC_PSCR ,KC_HOME ,KC_UP ,KC_PGUP ,KC_MAIL ,KC_TRNS + ,KC_NLCK ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_TRNS + ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_TRNS + ,GUI_T(KC_INS),ALT_T(KC_DEL),KC_HYPR ,KC_MEH ,KC_RCTL ,KC_MPRV ,KC_MNXT ,KC_VOLU ,KC_VOLD ,KC_MSTP ,KC_MPLY ), -/* Keymap 6: Media Lock Layer +/******* Lock Layer ******************************************************************************************************** * * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | LOCK | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | LOCK | + * | | Esc | | | | | | | | | | | | Bspc | | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | Media |ShutDn|LClick| MsUp |RClick|Vol Up|ScrlUp| |ScrlUp|PrtScr| Home | Up | PgUp | Mail | Media | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | | Sleep|MsLeft|MsDown|MsRght|Vol Dn|------| |------|NumLok| Left | Down | Right|MyComp| | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | LShift | | |MsDown| | Mute |ScrlDn| |ScrlDn| | End | Down | PgDn | | RShift | - * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | LCtrl| Meh |Hyper | LAlt | LGui | |Insert|Delete| Hyper| LAlt | LGui | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | Stop |Refrsh| | Prev | Next | - * ,------|------|------| |------+------+------. - * |Brwser|Brwser|Search| |VolUp | | | - * |Back | Fwd |------| |------| Stop | Play-| - * | | | Home | |VolDn | | Pause| - * `--------------------' `--------------------' - */ -[MDIA_LK] = KEYMAP( -// left hand - MO(MDIA_UN),KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_NO -,MO(UNLOCK) ,KC_POWER ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_VOLU ,KC_WH_U -,KC_NO ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD -,KC_LSFT ,KC_NO ,KC_NO ,KC_MS_D ,KC_NO ,KC_MUTE ,KC_WH_D -,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI - ,KC_WSTP ,KC_WREF - ,KC_WSCH - ,KC_WBAK ,KC_NO ,KC_WHOM - // right hand - ,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,MO(MDIA_UN) - ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,MO(UNLOCK) - ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_NO - ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_RSFT - ,GUI_T(KC_INS),ALT_T(KC_DEL),ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL - ,KC_MPRV ,KC_MNXT - ,KC_VOLU - ,KC_VOLD ,KC_MSTP ,KC_MPLY - ), - -/* Keymap 7: Media Unlock Layer - * - * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | | Esc | | | | | | | | | | | | Bspc | | - * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | UNLOCK | | | | | | | | | | | | | | UNLOCK | + * | | | | | | | | | | | | | | | | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| * | | | | | | |------| |------| | | | | | | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| @@ -344,94 +179,215 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | * `--------------------' `--------------------' */ -[MDIA_UN] = KEYMAP( +[LOCK] = KEYMAP( // left hand KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS -,KC_FN1 ,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_CAPS ,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_BSPC ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1 - ,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_CAPS - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS - - ,KC_TRNS ,KC_TRNS - ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS - ), - -/* Keymap 8: Unlock Layer - * - * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | UNLOCK | | | | | | | | | | | | | | UNLOCK | - * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | | | | | | | | | | | | | | | | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | | | | | | |------| |------| | | | | | | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | | | | | | | | | | | | | | | | - * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -[UNLOCK] = KEYMAP( -// left hand - KC_FN1 ,KC_ESC ,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_BSPC ,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_CAPS + ,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_FN1 - ,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_CLEAR(ON_PRESS) // FN1 - clear to base layer - ,[2] = ACTION_LAYER_INVERT(SYMB_LK, ON_PRESS) // FN2 - toggle to Symbols on press - ,[3] = ACTION_LAYER_INVERT(MDIA_LK, ON_PRESS) // FN3 - toggle to Media on press + // the six faux shift keys are implemented as macro taps + [LSymb] = ACTION_MACRO_TAP(LSymb) + ,[LMdia] = ACTION_MACRO_TAP(LMdia) + ,[LLock] = ACTION_MACRO_TAP(LLock) + ,[RSymb] = ACTION_MACRO_TAP(RSymb) + ,[RMdia] = ACTION_MACRO_TAP(RMdia) + ,[RLock] = ACTION_MACRO_TAP(RLock) }; +uint16_t symb_shift = 0; // there are two shift keys for each layer, and two lock +uint16_t mdia_shift = 0; // keys; we increment a counter for each key pressed and +uint16_t shift_lock = 0; // decrement when released. + +bool symb_lock = false; // when shift-lock is used in conjunction with a shift +bool mdia_lock = false; // key the lock flag is toggled + 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: + switch(id) { + // shift and lock between layers + + case LSymb: + if (record->event.pressed) { + symb_shift++; + if(shift_lock) symb_lock = !symb_lock; + layer_on(SYMB); + } else { + symb_shift--; + if((!symb_shift) && (!symb_lock)) layer_off(SYMB); + } + break; + + case LMdia: if (record->event.pressed) { - register_code(KC_RSFT); + if (record->tap.count && !shift_lock) { + register_code(KC_TAB); + } else { + mdia_shift++; + if(shift_lock) mdia_lock = !mdia_lock; + layer_on(MDIA); + } } else { - unregister_code(KC_RSFT); + if(record->tap.count && !shift_lock) { + unregister_code(KC_TAB); + } else { + mdia_shift--; + if((!mdia_shift) && (!mdia_lock)) layer_off(MDIA); + } + } + break; + + case LLock: + if (record->event.pressed) { + shift_lock++; + if(symb_shift) symb_lock = !symb_lock; + if(mdia_shift) mdia_lock = !mdia_lock; + if(!record->tap.count && (keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)))) { + register_code(KC_CAPS); + unregister_code(KC_CAPS); + } + layer_on(LOCK); + } else { + if(record->tap.count && !record->tap.interrupted && !symb_shift && !mdia_shift) { + register_code(KC_GRV); + unregister_code(KC_GRV); + } + shift_lock--; + if(!shift_lock) layer_off(LOCK); } break; - } + + case RSymb: + if (record->event.pressed) { + if (record->tap.count && !shift_lock) { + register_code(KC_QUOT); + } else { + symb_shift++; + if(shift_lock) symb_lock = !symb_lock; + layer_on(SYMB); + } + } else { + if(record->tap.count && !shift_lock) { + unregister_code(KC_QUOT); + } else { + symb_shift--; + if((!symb_shift) && (!symb_lock)) layer_off(SYMB); + } + } + break; + + case RMdia: + if (record->event.pressed) { + if (record->tap.count && !shift_lock) { + register_code(KC_BSLS); + } else { + mdia_shift++; + if(shift_lock) mdia_lock = !mdia_lock; + layer_on(MDIA); + } + } else { + if(record->tap.count && !shift_lock) { + unregister_code(KC_BSLS); + } else { + mdia_shift--; + if((!mdia_shift) && (!mdia_lock)) layer_off(MDIA); + } + } + break; + + case RLock: + if (record->event.pressed) { + shift_lock++; + if(symb_shift) symb_lock = !symb_lock; + if(mdia_shift) mdia_lock = !mdia_lock; + if(!record->tap.count && (keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)))) { + register_code(KC_CAPS); + unregister_code(KC_CAPS); + } + layer_on(LOCK); + } else { + if (record->tap.count && !record->tap.interrupted && !symb_shift && !mdia_shift) { + register_code(KC_EQL); + unregister_code(KC_EQL); + } + shift_lock--; + if(!shift_lock) layer_off(LOCK); + } + break; + + // mouse diagonals + + case MUL: // mouse up left + if (record->event.pressed) { + mousekey_on(KC_MS_UP); + mousekey_on(KC_MS_LEFT); + mousekey_send(); + } else { + mousekey_off(KC_MS_UP); + mousekey_off(KC_MS_LEFT); + mousekey_send(); + } + break; + + case MUR: // mouse up right + if (record->event.pressed) { + mousekey_on(KC_MS_UP); + mousekey_on(KC_MS_RIGHT); + mousekey_send(); + } else { + mousekey_off(KC_MS_UP); + mousekey_off(KC_MS_RIGHT); + mousekey_send(); + } + break; + + case MDL: // mouse down left + if (record->event.pressed) { + mousekey_on(KC_MS_DOWN); + mousekey_on(KC_MS_LEFT); + mousekey_send(); + } else { + mousekey_off(KC_MS_DOWN); + mousekey_off(KC_MS_LEFT); + mousekey_send(); + } + break; + + case MDR: // mouse down right + if (record->event.pressed) { + mousekey_on(KC_MS_DOWN); + mousekey_on(KC_MS_RIGHT); + mousekey_send(); + } else { + mousekey_off(KC_MS_DOWN); + mousekey_off(KC_MS_RIGHT); + mousekey_send(); + } + break; + + default: + // none + break; + } + return MACRO_NONE; }; @@ -442,8 +398,6 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); - // shift or caps lock turns on red light if((keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) || (host_keyboard_leds() & (1<\n\n\nDelete"], -[{x:-3,f:3},"Page\n\n\n\n\n\nDown"] +[{x:-3},"Page\n\n\n\n\n\nUp",{f:3,h:2},"< Del\n\n\nBackspace",{f:3,h:2},"Del >\n\n\nDelete"], +[{x:-3},"Page\n\n\n\n\n\nDown"] diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex index 8e2d5ce26d..83c443570b 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex +++ b/keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex @@ -1,1190 +1,1169 @@ -:100000000C945F040C94A3040C94A3040C94A30418 -:100010000C94A3040C94A3040C94A3040C94A304C4 -:100020000C94A3040C94A3040C94C40D0C94960E8D -:100030000C94A3040C94A3040C94A3040C94A304A4 -:100040000C94A3040C9441230C94A3040C94A304D7 -:100050000C94A3040C94E31C0C94A3040C94A3042C -:100060000C94A3040C94A3040C94A3040C94A30474 -:100070000C94A3040C94A3040C94A3040C94A30464 -:100080000C94A3040C94A3040C94A3040C94A30454 -:100090000C94A3040C94A3040C94A3040C94A30444 -:1000A0000C94A3040C94A3040C94A304FB0E1D0F46 -:1000B00008101D0F08105F0F820F0810D70FEA0FEE -:1000C000DE12DE120C130C134E138A138A158A15D6 -:1000D000A2138A159914991464158A158A1578152E -:1000E000000000810889248935812B850252E100B6 -:1000F000E00000001E00140004001D0000774E0008 -:100100001F001A0016001B00007F4C002000080092 -:1001100007000600E2002A0021001500090019006E -:10012000E3004B00220017000A00050000004A000F -:1001300029002F0000002B0200004D002D00300090 -:1001400000002B000000500023001C000B001100D9 -:1001500000004F00240018000D001000E7005200BE -:1001600025000C000E003600E6002C0026001200D0 -:100170000F003700007F28002700130033003800ED -:10018000007751002E8131853482E500E4000000C3 -:100190000100C300C2003900010000002900010075 -:1001A0000100010001000100010001000100010047 -:1001B0000100010001000100010001000100010037 -:1001C0000100010001000100010001000100010027 -:1001D0000100010000000100010001000000010019 -:1001E000000001000100010000000100000001000A -:1001F00001000100010001000000010001000100F8 -:1002000001000100010001000100010001000100E6 -:1002100001000100010001000100010001000100D6 -:100220002A00010001000100010001000100C300DB -:10023000C200390001000000C20005520252E10074 -:10024000010000003A001E022002220201005100BB -:100250003B001F0221022302010028003C002F0264 -:1002600026022F0001002C003D0030022702300042 -:10027000010052003E00240235003502000050000B -:100280000100360200002B0000004F002D00370255 -:1002900000002B0200004A003F003102380031000C -:1002A00000004D004000240021001E0027784B0074 -:1002B0004100250022001F0037744C004200260038 -:1002C000230020002E7F2A004300380025022D0045 -:1002D0002E774E00C20005520252E5002871000040 -:1002E000045205520852E100010000003A001E02CB -:1002F00020022202010051003B001F0221022302C2 -:10030000010028003C002F0226022F0001002C00D3 -:100310003D00300227023000010052003E0024025E -:1003200035003502000050000100360200002B00AD -:1003300000004F002D00370200002B0200004A0091 -:100340003F0031023800310000004D004000240021 -:1003500021001E0027784B004100250022001F00CD -:1003600037744C0042002600230020002E7F2A0014 -:100370004300380025022D002E774E00045205520E -:100380000852E5002871000001000654C100390040 -:10039000010000002900010001000100010001002E -:1003A0000100010001000100010001000100010045 -:1003B0000100010001000100010001000100010035 -:1003C0000100010001000100010001000000010026 -:1003D0000100010000000100000001000100010017 -:1003E0000000010000000100010001000100010007 -:1003F00000000100010001000100010001000100F6 -:1004000001000100010001000100010001000100E4 -:1004100001000100010001002A00010001000100AB -:100420000100010001000654C10039000100000074 -:10043000C30005520252E100E000000044006600E3 -:10044000A60000000077B5004500F400F2000000AF -:10045000007F00006800F000F100F100E200B6004B -:100460006900F500F3000000E300B4006A00A90091 -:10047000AA00A8000000B8000000F9000000FA007F -:100480000000B9000000F9000000FA000000AC0014 -:100490006B004600530000000000AB006C004A00F7 -:1004A00050004D004978A9006D00520051005100E4 -:1004B0004C74AE006E004B004F004E00007FAD004C -:1004C0006F00B100B30000000077AA00C30005521E -:1004D0000252E500E4000000075208520000E1006B -:1004E000E000000044006600A60000000077B500B0 -:1004F0004500F400F2000000007F00006800F000FA -:10050000F100F100E200B6006900F500F300000020 -:10051000E300B4006A00A900AA00A8000000B80027 -:100520000000F9000000FA000000B9000000F90026 -:100530000000FA000000AC006B0046005300000011 -:100540000000AB006C004A0050004D004978A90043 -:100550006D005200510051004C74AE006E004B0013 -:100560004F004E00007FAD006F00B100B3000000EF -:100570000077AA00075208520000E500E4000000DE -:100580000100C10001003900010000002900010044 -:100590000100010001000100010001000100010053 -:1005A0000100010001000100010001000100010043 -:1005B0000100010001000100010001000100010033 -:1005C0000100010000000100010001000000010025 -:1005D0000000010001000100000001000000010016 -:1005E0000100010001000100000001000100010004 -:1005F00001000100010001000100010001000100F3 -:1006000001000100010001000100010001000100E2 -:100610002A00010001000100010001000100C100E9 -:100620000100390001000000C100010001000100CB -:10063000010000002900010001000100010001008B -:1006400001000100010001000100010001000100A2 -:100650000100010001000100010001000100010092 -:100660000100010001000100010001000000010083 -:100670000100010000000100000001000100010074 -:100680000000010000000100010001000100010064 -:100690000000010001000100010001000100010053 -:1006A0000100010001000100010001000100010042 -:1006B0000100010001000100010001000100010032 -:1006C00001000100C1000100010001000100000063 -:1006D00016034500720067006F0044006F00780049 -:1006E000200045005A000000160345007200670014 -:1006F0006F0044006F007800200045005A000000A1 -:100700000403090409026D00040100A0FA090400B1 -:10071000000103010100092111010001223F00072E -:1007200005810308000A0904010001030102000910 -:100730002111010001224D000705820308000A096A -:10074000040200010300000009211101000122360A -:10075000000705830308000A0904030001030000E1 -:10076000000921110100012239000705840310004E -:10077000011201100100000008EDFE071301000145 -:1007800002000105010906A101050719E029E71585 -:1007900000250195087501810205081901290595B3 -:1007A000057501910295017503910105071900294D -:1007B0007715002501957875018102C00501098032 -:1007C000A101850216010026B7001A01002AB70010 -:1007D000751095018100C0050C0901A10185031662 -:1007E0000100269C021A01002A9C027510950181C5 -:1007F00000C005010902A1010901A10005091901B3 -:1008000029051500250195057501810295017503DE -:1008100081010501093009311581257F950275088F -:10082000810609381581257F950175088106050C1B -:100830000A38021581257F950175088106C0C0051B -:10084000010906A101050719E029E7150025019511 -:1008500008750181029501750881010508190129B2 -:10086000059505750191029501750391010507191B -:100870000029FF150025FF950675088100C00000BE -:10088000000000000000000000010204060A0F172B -:10089000202C3A4A5D71879DB3C7DAE9F5FCFFFC6D -:1008A000F5E9DAC7B39D87715D4A3A2C20170F0A24 -:1008B00006040201000000000000000000001124F6 -:1008C0001FBECFEFDAE0DEBFCDBF04B603FE24C00B -:1008D0008091EF019091F001A091F101B091F201AE -:1008E0008730904BA740B04BB9F41092EF011092B3 -:1008F000F0011092F1011092F20114BE84B7877FCB -:1009000084BF88E10FB6F894809360001092600075 -:100910000FBEE0E0FFE3099511E0A0E0B1E0E6E002 -:10092000FAE402C005900D92A433B107D9F721E093 -:10093000A4E3B1E001C01D92AF3EB207E1F70E940F -:100940000A0B0C9401250C94000061110BC0FC01F2 -:100950008281882321F085EE0E946B1103C085EE11 -:100960000E94331280E090E008950895CF93609143 -:10097000B1017091B2018091B3019091B4010E94D4 -:100980000F1CC82FE0910E01F0910F01808182723F -:1009900019F0259A2D9A06C00E94431081FDF9CFC7 -:1009A00025982D98C130B9F0C430A9F089EF8C0F8B -:1009B000823088F08EEF8C0F823018F4269A2E9AAF -:1009C00002C026982E98C550C23018F4279A2F9A44 -:1009D00002C027982F98CF9108950C94B60456988A -:1009E0005E9825982D9826982E9827982F988FEF07 -:1009F00090E0909389008093880090938B0080937F -:100A00008A0090938D0080938C00259A2D9A2FEF69 -:100A100080E792E0215080409040E1F700C0000064 -:100A2000269A2E9A2FEF80E792E021508040904046 -:100A3000E1F700C00000279A2F9A2FEF80E792E09D -:100A4000215080409040E1F700C0000025982D988B -:100A50002FEF80E792E0215080409040E1F700C006 -:100A6000000026982E982FEF80E792E021508040DA -:100A70009040E1F700C0000027982F9856985E98A4 -:100A800025982D9826982E9827982F98089589EACA -:100A90008093800089E08093810024982C983F986F -:100AA0008AB18F748AB96E98479A8BB1806B8BB973 -:100AB000769A0E94EF040C94B50480E280930001C2 -:100AC0008091340181110EC00E94AC0581E08093B9 -:100AD00034012FEF83ED90E3215080409040E1F707 -:100AE00000C0000080E40E94B205809300018111E3 -:100AF0002EC00E94DC0580930001811128C00E9455 -:100B0000DC0580930001811122C08FE30E94DC0587 -:100B10008093000181111BC00E94D40580E40E94D3 -:100B2000B20580930001811112C08CE00E94DC05A7 -:100B30008093000181110BC00E94DC0580930001AD -:100B4000811105C08FE30E94DC05809300010E94A3 -:100B5000D4058091000108951092B9008AE0809335 -:100B6000B800089594EA9093BC009091BC0097FF60 -:100B7000FCCF9091B900987F983021F0903111F01E -:100B800081E008958093BB0084E88093BC0080914D -:100B9000BC0087FFFCCF8091B900887F883111F0BD -:100BA000803471F780E0089584E98093BC008091DF -:100BB000BC0084FDFCCF08958093BB0084E8809343 -:100BC000BC008091BC0087FFFCCF9091B900987F5A -:100BD00081E0983209F480E0089584E88093BC00B5 -:100BE0008091BC0087FFFCCF8091BB00089580916D -:100BF0000001811115C080E40E94B20580930001BC -:100C000081110CC082E10E94DC05809300018111FA -:100C100005C08FEF0E94DC05809300010E94D4057F -:100C200084B1807F84B985B1807F85B98AB1837FA3 -:100C30008AB98BB1837F8BB93E98469808950E94FC -:100C40005D05809300010E94F70580B38C7080BB26 -:100C500081B3836F81BBE4E4F1E0A6E3B1E01192DC -:100C60001D9281E0E235F807D1F70C944705BF9259 -:100C7000CF92DF92EF92FF920F931F93CF93DF9368 -:100C800080910001882379F0809135018F5F8093F6 -:100C90003501811108C00E945D058093000181111A -:100CA00002C00E94EF0406E311E0C0E0D0E0DD24C2 -:100CB000D39482E0C82EEE24E394F12CC73000F5E3 -:100CC00080910001811162C080E40E94B20580938E -:100CD0000001811112C082E10E94DC0580930001B5 -:100CE00081110BC0C7010C2E01C0880F0A94EAF7CE -:100CF00080950E94DC05809300010E94D40546C0C7 -:100D0000CA30A1F028F4C83059F0C93061F005C0EC -:100D1000CC3089F070F0CD3089F0209A289810C03E -:100D2000219A29980DC0229A2A980AC0239A2B98B2 -:100D300007C0529A01C0539A5B9802C03E9A4698E7 -:100D4000E0EAEA95F1F78FB179995AC092E08170A3 -:100D50008D25892B7C9B02C090E001C094E0892BFB -:100D60007D9B02C090E001C098E0892B7E9B02C071 -:100D700090E001C090E1892B9FB19095991F992730 -:100D8000991F9295990F907E892B0FC08091000139 -:100D900081114BC080E40E94B2058093000188233A -:100DA00089F1B12C0E94D4058B2DF8019081981700 -:100DB00019F08083C09201010E94F70521960F5F10 -:100DC0001F4FCE30D10509F079CF809101018823E2 -:100DD00071F1815080930101882339F08FE99FE000 -:100DE0000197F1F700C0000022C0A4E4B1E0E6E3FF -:100DF000F1E081918D9391E0E434F907D1F717C0C8 -:100E000090E0A5CF83E10E94DC0580930001811171 -:100E1000C8CF81E40E94B205809300018111C1CF47 -:100E20000E94ED05B82EB094BDCF80E0BECF0E94E9 -:100E3000ED0481E0DF91CF911F910F91FF90EF9032 -:100E4000DF90CF90BF900895E82FF0E0EC5BFE4F6D -:100E50008081089508958B3B910578F4883A910537 -:100E600040F5853A9105D0F48430910508F0B1C081 -:100E70008130910509F4ADC06BC0803E910508F446 -:100E800067C0883E910508F4A4C09C01205F310929