From beda4e6fd3a7b9e31b9cf591563e7aa1df0c7eed Mon Sep 17 00:00:00 2001 From: Matthew Carroll Date: Sun, 27 Mar 2016 23:51:11 -0400 Subject: [PATCH 01/20] Added msc keymap for ergodox_ez --- .../ergodox_ez/keymaps/msc/img/code_layer.png | Bin 0 -> 86217 bytes .../ergodox_ez/keymaps/msc/img/main_layer.png | Bin 0 -> 90624 bytes .../keymaps/msc/img/media_layer.png | Bin 0 -> 75750 bytes keyboard/ergodox_ez/keymaps/msc/keymap.c | 184 ++++++++++++++++++ keyboard/ergodox_ez/keymaps/msc/msc.hex | Bin 0 -> 50246 bytes keyboard/ergodox_ez/keymaps/msc/readme.md | 32 +++ 6 files changed, 216 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/msc/img/code_layer.png create mode 100644 keyboard/ergodox_ez/keymaps/msc/img/main_layer.png create mode 100644 keyboard/ergodox_ez/keymaps/msc/img/media_layer.png create mode 100644 keyboard/ergodox_ez/keymaps/msc/keymap.c create mode 100644 keyboard/ergodox_ez/keymaps/msc/msc.hex create mode 100644 keyboard/ergodox_ez/keymaps/msc/readme.md diff --git a/keyboard/ergodox_ez/keymaps/msc/img/code_layer.png b/keyboard/ergodox_ez/keymaps/msc/img/code_layer.png new file mode 100644 index 0000000000000000000000000000000000000000..1d707c5eaef58f826fff1b58b67339bc3790c272 GIT binary patch literal 86217 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�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 literal 0 HcmV?d00001 diff --git a/keyboard/ergodox_ez/keymaps/msc/img/main_layer.png b/keyboard/ergodox_ez/keymaps/msc/img/main_layer.png new file mode 100644 index 0000000000000000000000000000000000000000..65f92dda1b64bcef1a1838cb5bd01ded13979260 GIT binary patch literal 90624 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
  • >1F@{$fRVZ*(oqC)0n1R_Vkd&tA&b;M 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 X&i literal 0 HcmV?d00001 diff --git a/keyboard/ergodox_ez/keymaps/msc/readme.md b/keyboard/ergodox_ez/keymaps/msc/readme.md new file mode 100644 index 00000000000..0d14fcbd29b --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/msc/readme.md @@ -0,0 +1,32 @@ +# MSC Configuration + +### Based mostly on the ErgoDox EZ default layout with optimizations for coding on osx. + +#### Expecting the user to rely on Coder Layer this keymap removes some of the duplicate symbol keys in the lower portions of the board and replaces them with arrow keys and modifiers. The Media Layer is also updated to match the change in the arrow keys and the left and right click buttons are moved under the thumb position. The Media layer is now reached with toggle button in the lower right. + +### Main Layer + +![Main Layer](img/main_layer.png) + +### Code Layer + +![Code Layer](img/code_layer.png) + +### Media Layer + +![Media Layer](img/media_layer.png) + +## Changelog + +Version 1.0 + +- Changed the temp code layer key in the bottom right to toggle media layer +- Changed the temp media key to only be ";" +- Changed right hand bottom row to match vim home row nav directions +- Changed media keys to match arrow key changes +- Changed media left and right click to spacebar and backspace locations +- Changed bottom left to Cmd +- Changed single quote on left bottom row to alt + +#### Coming Soon: +- A new layer for Blender editing with a focus on left hand shortcut and a righthand num pad to control the view in Blender. From 577971ab07a49405e1dcd8e5f75b3ecb87e710b9 Mon Sep 17 00:00:00 2001 From: IBNobody Date: Mon, 28 Mar 2016 00:03:21 -0500 Subject: [PATCH 02/20] Magic Key Overrides / Keyboard Lock / Forced NKRO Added Magic Key Overrides / Magic Key Cleanup / Added Keyboard Lock option to template / Added forced NKRO option to template (disabled by default) --- keyboard/retro_refit/Makefile | 23 +-- keyboard/retro_refit/config.h | 47 ++++- quantum/template/Makefile | 23 +-- quantum/template/config.h | 47 ++++- tmk_core/common/command.c | 355 +++++++++++++++++++++++----------- tmk_core/common/command.h | 121 ++++++++++++ tmk_core/common/keyboard.c | 6 + 7 files changed, 489 insertions(+), 133 deletions(-) diff --git a/keyboard/retro_refit/Makefile b/keyboard/retro_refit/Makefile index ec51227ff12..918b4307198 100644 --- a/keyboard/retro_refit/Makefile +++ b/keyboard/retro_refit/Makefile @@ -113,18 +113,19 @@ OPT_DEFS += -DBOOTLOADER_SIZE=512 # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = yes # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration +BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = yes # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +KEYBOARD_LOCK_ENABLE = yes # Allow locking of keyboard via magic key # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -# 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 -# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = YES # MIDI controls -# UNICODE_ENABLE = YES # Unicode -# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID +# 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 +# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +# MIDI_ENABLE = YES # MIDI controls +# UNICODE_ENABLE = YES # Unicode +# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID # Optimize size but this may cause error "relocation truncated to fit" diff --git a/keyboard/retro_refit/config.h b/keyboard/retro_refit/config.h index ba9a861edd4..05fceb92b2b 100644 --- a/keyboard/retro_refit/config.h +++ b/keyboard/retro_refit/config.h @@ -53,11 +53,54 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* key combination for command */ + +/* Force NKRO Mode - If forced on, must be disabled via magic key (default = LShift+RShift+N) */ +#define FORCE_NKRO + +/* + * Magic key options + * These options allow the magic key functionality to be changed. This is useful + * if your keyboard/keypad is missing keys and you want magic key support. + */ + +/* key combination for magic key command */ #define IS_COMMAND() ( \ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) +/* control how magic key switches layers */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false + +/* remap magic keys */ +//#define MAGIC_KEY_HELP1 H +//#define MAGIC_KEY_HELP2 SLASH +//#define MAGIC_KEY_DEBUG D +//#define MAGIC_KEY_DEBUG_MATRIX X +//#define MAGIC_KEY_DEBUG_KBD K +//#define MAGIC_KEY_DEBUG_MOUSE M +//#define MAGIC_KEY_VERSION V +//#define MAGIC_KEY_STATUS S +//#define MAGIC_KEY_CONSOLE C +//#define MAGIC_KEY_LAYER0_ALT1 ESC +//#define MAGIC_KEY_LAYER0_ALT2 GRAVE +//#define MAGIC_KEY_LAYER0 0 +//#define MAGIC_KEY_LAYER1 1 +//#define MAGIC_KEY_LAYER2 2 +//#define MAGIC_KEY_LAYER3 3 +//#define MAGIC_KEY_LAYER4 4 +//#define MAGIC_KEY_LAYER5 5 +//#define MAGIC_KEY_LAYER6 6 +//#define MAGIC_KEY_LAYER7 7 +//#define MAGIC_KEY_LAYER8 8 +//#define MAGIC_KEY_LAYER9 9 +//#define MAGIC_KEY_BOOTLOADER PAUSE +#define MAGIC_KEY_LOCK BSLS +//#define MAGIC_KEY_EEPROM E +//#define MAGIC_KEY_NKRO N +//#define MAGIC_KEY_SLEEP_LED Z + /* * Feature disable options * These options are also useful to firmware size reduction. @@ -76,4 +119,4 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -#endif +#endif \ No newline at end of file diff --git a/quantum/template/Makefile b/quantum/template/Makefile index 2efa691380f..4fa195468d1 100644 --- a/quantum/template/Makefile +++ b/quantum/template/Makefile @@ -113,18 +113,19 @@ OPT_DEFS += -DBOOTLOADER_SIZE=512 # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = yes # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration +BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = yes # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +KEYBOARD_LOCK_ENABLE = yes # Allow locking of keyboard via magic key # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -# 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 -# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = YES # MIDI controls -# UNICODE_ENABLE = YES # Unicode -# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID +# 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 +# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +# MIDI_ENABLE = YES # MIDI controls +# UNICODE_ENABLE = YES # Unicode +# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID # Optimize size but this may cause error "relocation truncated to fit" diff --git a/quantum/template/config.h b/quantum/template/config.h index 7d6149f436e..dae4b631308 100644 --- a/quantum/template/config.h +++ b/quantum/template/config.h @@ -55,11 +55,56 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* key combination for command */ +/* Force NKRO Mode - If forced on, must be disabled via magic key (default = LShift+RShift+N) */ +//#define FORCE_NKRO + +/* + * Magic key options + * These options allow the magic key functionality to be changed. This is useful + * if your keyboard/keypad is missing keys and you want magic key support. + */ + +/* key combination for magic key command */ #define IS_COMMAND() ( \ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) +/* control how magic key switches layers */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false + +/* override magic key keymap */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM +//#define MAGIC_KEY_HELP1 H +//#define MAGIC_KEY_HELP2 SLASH +//#define MAGIC_KEY_DEBUG D +//#define MAGIC_KEY_DEBUG_MATRIX X +//#define MAGIC_KEY_DEBUG_KBD K +//#define MAGIC_KEY_DEBUG_MOUSE M +//#define MAGIC_KEY_VERSION V +//#define MAGIC_KEY_STATUS S +//#define MAGIC_KEY_CONSOLE C +//#define MAGIC_KEY_LAYER0_ALT1 ESC +//#define MAGIC_KEY_LAYER0_ALT2 GRAVE +//#define MAGIC_KEY_LAYER0 0 +//#define MAGIC_KEY_LAYER1 1 +//#define MAGIC_KEY_LAYER2 2 +//#define MAGIC_KEY_LAYER3 3 +//#define MAGIC_KEY_LAYER4 4 +//#define MAGIC_KEY_LAYER5 5 +//#define MAGIC_KEY_LAYER6 6 +//#define MAGIC_KEY_LAYER7 7 +//#define MAGIC_KEY_LAYER8 8 +//#define MAGIC_KEY_LAYER9 9 +//#define MAGIC_KEY_BOOTLOADER PAUSE +//#define MAGIC_KEY_LOCK CAPS +//#define MAGIC_KEY_EEPROM E +//#define MAGIC_KEY_NKRO N +//#define MAGIC_KEY_SLEEP_LED Z + /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/tmk_core/common/command.c b/tmk_core/common/command.c index d59bb01bbcb..b4cd3ca56b9 100644 --- a/tmk_core/common/command.c +++ b/tmk_core/common/command.c @@ -52,6 +52,8 @@ along with this program. If not, see . static bool command_common(uint8_t code); static void command_common_help(void); +static void print_version(void); +static void print_status(void); static bool command_console(uint8_t code); static void command_console_help(void); #ifdef MOUSEKEY_ENABLE @@ -112,35 +114,140 @@ bool command_console_extra(uint8_t code) ***********************************************************/ static void command_common_help(void) { - print("\n\t- Magic -\n" - "d: debug\n" - "x: debug matrix\n" - "k: debug keyboard\n" - "m: debug mouse\n" - "v: version\n" - "s: status\n" - "c: console mode\n" - "0-4: layer0-4(F10-F4)\n" - "Paus: bootloader\n" + print( "\n\t- Magic -\n" + STR(MAGIC_KEY_DEBUG ) ": Debug Message Toggle\n" + STR(MAGIC_KEY_DEBUG_MATRIX) ": Matrix Debug Mode Toggle - Show keypresses in matrix grid\n" + STR(MAGIC_KEY_DEBUG_KBD ) ": Keyboard Debug Toggle - Show keypress report\n" + STR(MAGIC_KEY_DEBUG_MOUSE ) ": Debug Mouse Toggle\n" + STR(MAGIC_KEY_VERSION ) ": Version\n" + STR(MAGIC_KEY_STATUS ) ": Status\n" + STR(MAGIC_KEY_CONSOLE ) ": Activate Console Mode\n" + +#if MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM + STR(MAGIC_KEY_LAYER0 ) ": Switch to Layer 0\n" + STR(MAGIC_KEY_LAYER1 ) ": Switch to Layer 1\n" + STR(MAGIC_KEY_LAYER2 ) ": Switch to Layer 2\n" + STR(MAGIC_KEY_LAYER3 ) ": Switch to Layer 3\n" + STR(MAGIC_KEY_LAYER4 ) ": Switch to Layer 4\n" + STR(MAGIC_KEY_LAYER5 ) ": Switch to Layer 5\n" + STR(MAGIC_KEY_LAYER6 ) ": Switch to Layer 6\n" + STR(MAGIC_KEY_LAYER7 ) ": Switch to Layer 7\n" + STR(MAGIC_KEY_LAYER8 ) ": Switch to Layer 8\n" + STR(MAGIC_KEY_LAYER9 ) ": Switch to Layer 9\n" +#endif + +#if MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS + "F1-F10: Switch to Layer 0-9 (F10 = L0)\n" +#endif + +#if MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS + "0-9: Switch to Layer 0-9\n" +#endif + + STR(MAGIC_KEY_LAYER0_ALT1 ) ": Switch to Layer 0 (alternate key 1)\n" + STR(MAGIC_KEY_LAYER0_ALT2 ) ": Switch to Layer 0 (alternate key 2)\n" + STR(MAGIC_KEY_BOOTLOADER ) ": Jump to Bootloader (Reset)\n" #ifdef KEYBOARD_LOCK_ENABLE - "Caps: Lock\n" + STR(MAGIC_KEY_LOCK ) ": Lock\n" #endif #ifdef BOOTMAGIC_ENABLE - "e: eeprom\n" + STR(MAGIC_KEY_EEPROM ) ": Print EEPROM Settings\n" #endif #ifdef NKRO_ENABLE - "n: NKRO\n" + STR(MAGIC_KEY_NKRO ) ": NKRO Toggle\n" #endif #ifdef SLEEP_LED_ENABLE - "z: sleep LED test\n" + STR(MAGIC_KEY_SLEEP_LED ) ": Sleep LED Test\n" #endif ); } +static void print_version(void) +{ + // print version & information + print("\n\t- Version -\n"); + print("DESC: " STR(DESCRIPTION) "\n"); + print("VID: " STR(VENDOR_ID) "(" STR(MANUFACTURER) ") " + "PID: " STR(PRODUCT_ID) "(" STR(PRODUCT) ") " + "VER: " STR(DEVICE_VER) "\n"); + print("BUILD: " STR(VERSION) " (" __TIME__ " " __DATE__ ")\n"); + + /* build options */ + print("OPTIONS:" + +#ifdef PROTOCOL_PJRC + " PJRC" +#endif +#ifdef PROTOCOL_LUFA + " LUFA" +#endif +#ifdef PROTOCOL_VUSB + " VUSB" +#endif +#ifdef BOOTMAGIC_ENABLE + " BOOTMAGIC" +#endif +#ifdef MOUSEKEY_ENABLE + " MOUSEKEY" +#endif +#ifdef EXTRAKEY_ENABLE + " EXTRAKEY" +#endif +#ifdef CONSOLE_ENABLE + " CONSOLE" +#endif +#ifdef COMMAND_ENABLE + " COMMAND" +#endif +#ifdef NKRO_ENABLE + " NKRO" +#endif +#ifdef KEYMAP_SECTION_ENABLE + " KEYMAP_SECTION" +#endif + + " " STR(BOOTLOADER_SIZE) "\n"); + + print("GCC: " STR(__GNUC__) "." STR(__GNUC_MINOR__) "." STR(__GNUC_PATCHLEVEL__) + " AVR-LIBC: " __AVR_LIBC_VERSION_STRING__ + " AVR_ARCH: avr" STR(__AVR_ARCH__) "\n"); + + return; +} + +static void print_status(void) +{ + + print("\n\t- Status -\n"); + + print_val_hex8(host_keyboard_leds()); + print_val_hex8(keyboard_protocol); + print_val_hex8(keyboard_idle); +#ifdef NKRO_ENABLE + print_val_hex8(keyboard_nkro); +#endif + print_val_hex32(timer_count); + +#ifdef PROTOCOL_PJRC + print_val_hex8(UDCON); + print_val_hex8(UDIEN); + print_val_hex8(UDINT); + print_val_hex8(usb_keyboard_leds); + print_val_hex8(usb_keyboard_idle_count); +#endif + +#ifdef PROTOCOL_PJRC +# if USB_COUNT_SOF + print_val_hex8(usbSofCount); +# endif +#endif + return; +} + #ifdef BOOTMAGIC_ENABLE static void print_eeconfig(void) { @@ -178,24 +285,36 @@ static void print_eeconfig(void) static bool command_common(uint8_t code) { + +#ifdef KEYBOARD_LOCK_ENABLE static host_driver_t *host_driver = 0; +#endif + switch (code) { + #ifdef SLEEP_LED_ENABLE - case KC_Z: - // test breathing sleep LED - print("Sleep LED test\n"); + + // test breathing sleep LED + case MAGIC_KC(MAGIC_KEY_SLEEP_LED): + print("Sleep LED Test\n"); sleep_led_toggle(); led_set(host_keyboard_leds()); break; #endif + #ifdef BOOTMAGIC_ENABLE - case KC_E: + + // print stored eeprom config + case MAGIC_KC(MAGIC_KEY_EEPROM): print("eeconfig:\n"); print_eeconfig(); break; #endif + #ifdef KEYBOARD_LOCK_ENABLE - case KC_CAPSLOCK: + + // lock/unlock keyboard + case MAGIC_KC(MAGIC_KEY_LOCK): if (host_get_driver()) { host_driver = host_get_driver(); clear_keyboard(); @@ -207,11 +326,15 @@ static bool command_common(uint8_t code) } break; #endif - case KC_H: - case KC_SLASH: /* ? */ + + // print help + case MAGIC_KC(MAGIC_KEY_HELP1): + case MAGIC_KC(MAGIC_KEY_HELP2): command_common_help(); break; - case KC_C: + + // activate console + case MAGIC_KC(MAGIC_KEY_CONSOLE): debug_matrix = false; debug_keyboard = false; debug_mouse = false; @@ -220,25 +343,33 @@ static bool command_common(uint8_t code) print("C> "); command_state = CONSOLE; break; - case KC_PAUSE: - clear_keyboard(); - print("\n\nbootloader... "); + + // jump to bootloader + case MAGIC_KC(MAGIC_KEY_BOOTLOADER): + clear_keyboard(); // clear to prevent stuck keys + print("\n\nJumping to bootloader... "); _delay_ms(1000); bootloader_jump(); // not return break; - case KC_D: + + // debug toggle + case MAGIC_KC(MAGIC_KEY_DEBUG): + debug_enable = !debug_enable; if (debug_enable) { + print("\ndebug: on\n"); + debug_matrix = true; + debug_keyboard = true; + debug_mouse = true; + } else { print("\ndebug: off\n"); debug_matrix = false; debug_keyboard = false; debug_mouse = false; - debug_enable = false; - } else { - print("\ndebug: on\n"); - debug_enable = true; } break; - case KC_X: // debug matrix toggle + + // debug matrix toggle + case MAGIC_KC(MAGIC_KEY_DEBUG_MATRIX): debug_matrix = !debug_matrix; if (debug_matrix) { print("\nmatrix: on\n"); @@ -247,7 +378,9 @@ static bool command_common(uint8_t code) print("\nmatrix: off\n"); } break; - case KC_K: // debug keyboard toggle + + // debug keyboard toggle + case MAGIC_KC(MAGIC_KEY_DEBUG_KBD): debug_keyboard = !debug_keyboard; if (debug_keyboard) { print("\nkeyboard: on\n"); @@ -256,87 +389,33 @@ static bool command_common(uint8_t code) print("\nkeyboard: off\n"); } break; - case KC_M: // debug mouse toggle + + // debug mouse toggle + case MAGIC_KC(MAGIC_KEY_DEBUG_MOUSE): debug_mouse = !debug_mouse; if (debug_mouse) { print("\nmouse: on\n"); debug_enable = true; } else { - print("\nmouse: off\n"); + print("\nmouse: off\n"); } break; - case KC_V: // print version & information - print("\n\t- Version -\n"); - print("DESC: " STR(DESCRIPTION) "\n"); - print("VID: " STR(VENDOR_ID) "(" STR(MANUFACTURER) ") " - "PID: " STR(PRODUCT_ID) "(" STR(PRODUCT) ") " - "VER: " STR(DEVICE_VER) "\n"); - print("BUILD: " STR(VERSION) " (" __TIME__ " " __DATE__ ")\n"); - /* build options */ - print("OPTIONS:" -#ifdef PROTOCOL_PJRC - " PJRC" -#endif -#ifdef PROTOCOL_LUFA - " LUFA" -#endif -#ifdef PROTOCOL_VUSB - " VUSB" -#endif -#ifdef BOOTMAGIC_ENABLE - " BOOTMAGIC" -#endif -#ifdef MOUSEKEY_ENABLE - " MOUSEKEY" -#endif -#ifdef EXTRAKEY_ENABLE - " EXTRAKEY" -#endif -#ifdef CONSOLE_ENABLE - " CONSOLE" -#endif -#ifdef COMMAND_ENABLE - " COMMAND" -#endif -#ifdef NKRO_ENABLE - " NKRO" -#endif -#ifdef KEYMAP_SECTION_ENABLE - " KEYMAP_SECTION" -#endif - " " STR(BOOTLOADER_SIZE) "\n"); - print("GCC: " STR(__GNUC__) "." STR(__GNUC_MINOR__) "." STR(__GNUC_PATCHLEVEL__) - " AVR-LIBC: " __AVR_LIBC_VERSION_STRING__ - " AVR_ARCH: avr" STR(__AVR_ARCH__) "\n"); + // print version + case MAGIC_KC(MAGIC_KEY_VERSION): + print_version(); + break; + + // print status + case MAGIC_KC(MAGIC_KEY_STATUS): + print_status(); break; - case KC_S: - print("\n\t- Status -\n"); - print_val_hex8(host_keyboard_leds()); - print_val_hex8(keyboard_protocol); - print_val_hex8(keyboard_idle); -#ifdef NKRO_ENABLE - print_val_hex8(keyboard_nkro); -#endif - print_val_hex32(timer_count); -#ifdef PROTOCOL_PJRC - print_val_hex8(UDCON); - print_val_hex8(UDIEN); - print_val_hex8(UDINT); - print_val_hex8(usb_keyboard_leds); - print_val_hex8(usb_keyboard_idle_count); -#endif - -#ifdef PROTOCOL_PJRC -# if USB_COUNT_SOF - print_val_hex8(usbSofCount); -# endif -#endif - break; #ifdef NKRO_ENABLE - case KC_N: - clear_keyboard(); //Prevents stuck keys. + + // NKRO toggle + case MAGIC_KC(MAGIC_KEY_NKRO): + clear_keyboard(); // clear to prevent stuck keys keyboard_nkro = !keyboard_nkro; if (keyboard_nkro) print("NKRO: on\n"); @@ -344,18 +423,78 @@ static bool command_common(uint8_t code) print("NKRO: off\n"); break; #endif - case KC_ESC: - case KC_GRV: - case KC_0: - case KC_F10: + + // switch layers + + case MAGIC_KC(MAGIC_KEY_LAYER0_ALT1): + case MAGIC_KC(MAGIC_KEY_LAYER0_ALT2): switch_default_layer(0); break; - case KC_1 ... KC_9: - switch_default_layer((code - KC_1) + 1); + +#if MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM + + case MAGIC_KC(MAGIC_KEY_LAYER0): + switch_default_layer(0); break; + + case MAGIC_KC(MAGIC_KEY_LAYER1): + switch_default_layer(1); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER2): + switch_default_layer(2); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER3): + switch_default_layer(3); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER4): + switch_default_layer(4); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER5): + switch_default_layer(5); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER6): + switch_default_layer(6); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER7): + switch_default_layer(7); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER8): + switch_default_layer(8); + break; + + case MAGIC_KC(MAGIC_KEY_LAYER9): + switch_default_layer(9); + break; +#endif + + +#if MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS + case KC_F1 ... KC_F9: switch_default_layer((code - KC_F1) + 1); break; + case KC_F10: + switch_default_layer(0); + break; +#endif + +#if MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS + + case KC_1 ... KC_9: + switch_default_layer((code - KC_1) + 1); + break; + case KC_0: + switch_default_layer(0); + break; +#endif + default: print("?"); return false; diff --git a/tmk_core/common/command.h b/tmk_core/common/command.h index b57a6c1cedc..92b18849bf3 100644 --- a/tmk_core/common/command.h +++ b/tmk_core/common/command.h @@ -32,4 +32,125 @@ bool command_proc(uint8_t code); #define command_proc(code) false #endif + +#ifndef MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS +#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true #endif + +#ifndef MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS +#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true +#endif + +#ifndef MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM +#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false +#endif + +#ifndef MAGIC_KEY_HELP1 +#define MAGIC_KEY_HELP1 H +#endif + +#ifndef MAGIC_KEY_HELP2 +#define MAGIC_KEY_HELP2 SLASH +#endif + +#ifndef MAGIC_KEY_DEBUG +#define MAGIC_KEY_DEBUG D +#endif + +#ifndef MAGIC_KEY_DEBUG_MATRIX +#define MAGIC_KEY_DEBUG_MATRIX X +#endif + +#ifndef MAGIC_KEY_DEBUG_KBD +#define MAGIC_KEY_DEBUG_KBD K +#endif + +#ifndef MAGIC_KEY_DEBUG_MOUSE +#define MAGIC_KEY_DEBUG_MOUSE M +#endif + +#ifndef MAGIC_KEY_VERSION +#define MAGIC_KEY_VERSION V +#endif + +#ifndef MAGIC_KEY_STATUS +#define MAGIC_KEY_STATUS S +#endif + +#ifndef MAGIC_KEY_CONSOLE +#define MAGIC_KEY_CONSOLE C +#endif + +#ifndef MAGIC_KEY_LAYER0_ALT1 +#define MAGIC_KEY_LAYER0_ALT1 ESC +#endif + +#ifndef MAGIC_KEY_LAYER0_ALT2 +#define MAGIC_KEY_LAYER0_ALT2 GRAVE +#endif + +#ifndef MAGIC_KEY_LAYER0 +#define MAGIC_KEY_LAYER0 0 +#endif + +#ifndef MAGIC_KEY_LAYER1 +#define MAGIC_KEY_LAYER1 1 +#endif + +#ifndef MAGIC_KEY_LAYER2 +#define MAGIC_KEY_LAYER2 2 +#endif + +#ifndef MAGIC_KEY_LAYER3 +#define MAGIC_KEY_LAYER3 3 +#endif + +#ifndef MAGIC_KEY_LAYER4 +#define MAGIC_KEY_LAYER4 4 +#endif + +#ifndef MAGIC_KEY_LAYER5 +#define MAGIC_KEY_LAYER5 5 +#endif + +#ifndef MAGIC_KEY_LAYER6 +#define MAGIC_KEY_LAYER6 6 +#endif + +#ifndef MAGIC_KEY_LAYER7 +#define MAGIC_KEY_LAYER7 7 +#endif + +#ifndef MAGIC_KEY_LAYER8 +#define MAGIC_KEY_LAYER8 8 +#endif + +#ifndef MAGIC_KEY_LAYER9 +#define MAGIC_KEY_LAYER9 9 +#endif + +#ifndef MAGIC_KEY_BOOTLOADER +#define MAGIC_KEY_BOOTLOADER PAUSE +#endif + +#ifndef MAGIC_KEY_LOCK +#define MAGIC_KEY_LOCK CAPS +#endif + +#ifndef MAGIC_KEY_EEPROM +#define MAGIC_KEY_EEPROM E +#endif + +#ifndef MAGIC_KEY_NKRO +#define MAGIC_KEY_NKRO N +#endif + +#ifndef MAGIC_KEY_SLEEP_LED +#define MAGIC_KEY_SLEEP_LED Z + +#endif + +#define XMAGIC_KC(key) KC_##key +#define MAGIC_KC(key) XMAGIC_KC(key) + +#endif \ No newline at end of file diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c index eb7b096bed5..e668084858e 100644 --- a/tmk_core/common/keyboard.c +++ b/tmk_core/common/keyboard.c @@ -70,6 +70,7 @@ void keyboard_setup(void) void keyboard_init(void) { + timer_init(); matrix_init(); #ifdef PS2_MOUSE_ENABLE @@ -90,6 +91,11 @@ void keyboard_init(void) #ifdef BACKLIGHT_ENABLE backlight_init(); #endif + +#ifdef FORCE_NKRO + keyboard_nkro = true; +#endif + } /* From a1ce1332034a3f01049aab10f4a55ee6fd5560d9 Mon Sep 17 00:00:00 2001 From: Matthew Carroll Date: Mon, 28 Mar 2016 06:00:05 -0400 Subject: [PATCH 03/20] Corrected duplicate image issue --- .../ergodox_ez/keymaps/msc/img/code_layer.png | Bin 86217 -> 71266 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/msc/img/code_layer.png b/keyboard/ergodox_ez/keymaps/msc/img/code_layer.png index 1d707c5eaef58f826fff1b58b67339bc3790c272..7b5efaae791d878fa0349e6ea0f9b1b89a6ad9a2 100644 GIT binary patch literal 71266 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 bLoTs>J&tf-{Hi%<;Gc$yHnd8~>iPczKzChU literal 86217 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�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 From ef21a855e6d60b78011ddb8940f58985b1c60acb Mon Sep 17 00:00:00 2001 From: Damien Pollet Date: Sun, 27 Mar 2016 17:58:26 +0200 Subject: [PATCH 04/20] Add per-event user hook function to QMK --- tmk_core/common/action.c | 5 +++++ tmk_core/common/action.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c index 4197c53ed21..c6595196ff4 100644 --- a/tmk_core/common/action.c +++ b/tmk_core/common/action.c @@ -53,6 +53,9 @@ void action_exec(keyevent_t event) #endif } +__attribute__ ((weak)) +void process_action_user(keyrecord_t *record) {} + void process_action(keyrecord_t *record) { keyevent_t event = record->event; @@ -62,6 +65,8 @@ void process_action(keyrecord_t *record) if (IS_NOEVENT(event)) { return; } + process_action_user(record); + action_t action = layer_switch_get_action(event.key); dprint("ACTION: "); debug_action(action); #ifndef NO_ACTION_LAYER diff --git a/tmk_core/common/action.h b/tmk_core/common/action.h index 8a4736d7bc1..141dc3fca63 100644 --- a/tmk_core/common/action.h +++ b/tmk_core/common/action.h @@ -58,6 +58,9 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt); /* user defined special function */ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt); +/* user-defined (pre)processing of each key event */ +void process_action_user(keyrecord_t *record); + /* Utilities for actions. */ void process_action(keyrecord_t *record); void register_code(uint8_t code); From acd64aa841f92ee638ca630fc66c3ff91c09ae72 Mon Sep 17 00:00:00 2001 From: Damien Pollet Date: Mon, 28 Mar 2016 16:12:50 +0200 Subject: [PATCH 05/20] Rename function to be keyboard-specific --- tmk_core/common/action.c | 4 ++-- tmk_core/common/action.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c index c6595196ff4..2ccc0e0b947 100644 --- a/tmk_core/common/action.c +++ b/tmk_core/common/action.c @@ -54,7 +54,7 @@ void action_exec(keyevent_t event) } __attribute__ ((weak)) -void process_action_user(keyrecord_t *record) {} +void process_action_kb(keyrecord_t *record) {} void process_action(keyrecord_t *record) { @@ -65,7 +65,7 @@ void process_action(keyrecord_t *record) if (IS_NOEVENT(event)) { return; } - process_action_user(record); + process_action_kb(record); action_t action = layer_switch_get_action(event.key); dprint("ACTION: "); debug_action(action); diff --git a/tmk_core/common/action.h b/tmk_core/common/action.h index 141dc3fca63..9f528af4b98 100644 --- a/tmk_core/common/action.h +++ b/tmk_core/common/action.h @@ -58,8 +58,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt); /* user defined special function */ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt); -/* user-defined (pre)processing of each key event */ -void process_action_user(keyrecord_t *record); +/* keyboard-specific key event (pre)processing */ +void process_action_kb(keyrecord_t *record); /* Utilities for actions. */ void process_action(keyrecord_t *record); From 2181be029e01d9cf46ae3cadcdf25f5bca02c631 Mon Sep 17 00:00:00 2001 From: Damien Pollet Date: Mon, 28 Mar 2016 16:13:37 +0200 Subject: [PATCH 06/20] Add action-preprocessing hook to keyboard template --- quantum/template/template.c | 20 ++++++++++++++++---- quantum/template/template.h | 5 +++-- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/quantum/template/template.c b/quantum/template/template.c index 58e73cb09f1..cc52e496ffe 100644 --- a/quantum/template/template.c +++ b/quantum/template/template.c @@ -10,6 +10,11 @@ void matrix_scan_user(void) { // leave this function blank - it can be defined in a keymap file } +__attribute__ ((weak)) +void process_action_user(keyrecord_t *record) { + // leave this function blank - it can be defined in a keymap file +} + __attribute__ ((weak)) void led_set_user(uint8_t usb_led) { // leave this function blank - it can be defined in a keymap file @@ -18,19 +23,26 @@ void led_set_user(uint8_t usb_led) { void matrix_init_kb(void) { // put your keyboard start-up code here // runs once when the firmware starts up - + matrix_init_user(); } void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) + // put your looping keyboard code here + // runs every cycle (a lot) matrix_scan_user(); } +void process_action_kb(keyrecord_t *record) { + // put your per-action keyboard code here + // runs for every action, just before processing by the firmware + + process_action_user(record); +} + void led_set_kb(uint8_t usb_led) { // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here led_set_user(usb_led); -} \ No newline at end of file +} diff --git a/quantum/template/template.h b/quantum/template/template.h index ba91abac3e6..b1c34d3cbee 100644 --- a/quantum/template/template.h +++ b/quantum/template/template.h @@ -17,10 +17,11 @@ { \ { k00, k01, k02 }, \ { k10, KC_NO, k11 }, \ -} +} void matrix_init_user(void); void matrix_scan_user(void); +void process_action_user(keyrecord_t *record); void led_set_user(uint8_t usb_led); -#endif \ No newline at end of file +#endif From bcebb3447c155056819d42668943110ab0868517 Mon Sep 17 00:00:00 2001 From: Damien Pollet Date: Mon, 28 Mar 2016 16:14:54 +0200 Subject: [PATCH 07/20] Add action-preprocessing kb/user hooks in planck --- keyboard/planck/planck.c | 32 +++++++++++++++++--------------- keyboard/planck/planck.h | 1 + 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/keyboard/planck/planck.c b/keyboard/planck/planck.c index fe8731ec7b5..4b39cf1e8bd 100644 --- a/keyboard/planck/planck.c +++ b/keyboard/planck/planck.c @@ -1,28 +1,26 @@ #include "planck.h" __attribute__ ((weak)) -void matrix_init_user(void) { - -} +void matrix_init_user(void) {} __attribute__ ((weak)) -void matrix_scan_user(void) { +void matrix_scan_user(void) {} -} +__attribute__ ((weak)) +void process_action_user(keyrecord_t *record) {} void matrix_init_kb(void) { - #ifdef BACKLIGHT_ENABLE - backlight_init_ports(); - #endif +#ifdef BACKLIGHT_ENABLE + backlight_init_ports(); +#endif - #ifdef RGBLIGHT_ENABLE - rgblight_init(); - #endif +#ifdef RGBLIGHT_ENABLE + rgblight_init(); +#endif - - // Turn status LED on - DDRE |= (1<<6); - PORTE |= (1<<6); + // Turn status LED on + DDRE |= (1<<6); + PORTE |= (1<<6); matrix_init_user(); } @@ -30,3 +28,7 @@ void matrix_init_kb(void) { void matrix_scan_kb(void) { matrix_scan_user(); } + +void process_action_kb(keyrecord_t *record) { + process_action_user(record); +} diff --git a/keyboard/planck/planck.h b/keyboard/planck/planck.h index e9566b92286..edcb5fbff6d 100644 --- a/keyboard/planck/planck.h +++ b/keyboard/planck/planck.h @@ -42,5 +42,6 @@ void matrix_init_user(void); void matrix_scan_user(void); +void process_action_user(keyrecord_t *record); #endif From 1fd9dbdbe9e7a819a7dae50d9b745640435e0e13 Mon Sep 17 00:00:00 2001 From: Andrew Pritchard Date: Mon, 28 Mar 2016 08:39:39 -0700 Subject: [PATCH 08/20] Add avr-libc to the Debian build dependencies. Without avr-libc the build fails trying to #include_next a header from the standard library, which of course doesn't exist. --- BUILD_GUIDE.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BUILD_GUIDE.md b/BUILD_GUIDE.md index 81c3ec44f2b..e8b242e4e3c 100644 --- a/BUILD_GUIDE.md +++ b/BUILD_GUIDE.md @@ -25,12 +25,12 @@ You can also try these instructions: 3. Install [DFU-Programmer][dfu-prog]. ### Linux -Install AVR GCC and dfu-progammer with your favorite package manager. +Install AVR GCC, AVR libc, and dfu-progammer with your favorite package manager. Debian/Ubuntu example: sudo apt-get update - sudo apt-get install gcc-avr dfu-programmer + sudo apt-get install gcc-avr avr-libc dfu-programmer ### Vagrant If you have any problems building the firmware, you can try using a tool called Vagrant. It will set up a virtual computer with a known configuration that's ready-to-go for firmware building. OLKB does NOT host the files for this virtual computer. Details on how to set up Vagrant are in the [VAGRANT_GUIDE file](VAGRANT_GUIDE.md). @@ -52,4 +52,4 @@ If you have any problems building the firmware, you can try using a tool called ## Troubleshooting 1. Try running `make clean` if the make command fails. - WIP \ No newline at end of file + WIP From a70f43967283498dc01cbfc534819ac9da80f10b Mon Sep 17 00:00:00 2001 From: IBNobody Date: Mon, 28 Mar 2016 16:21:09 -0500 Subject: [PATCH 09/20] Added command to turn LED indicators off while sleeping --- tmk_core/common/avr/suspend.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tmk_core/common/avr/suspend.c b/tmk_core/common/avr/suspend.c index caf0b062546..c07c2801d5e 100644 --- a/tmk_core/common/avr/suspend.c +++ b/tmk_core/common/avr/suspend.c @@ -66,9 +66,12 @@ static void power_down(uint8_t wdto) wdt_intr_enable(wdto); #ifdef BACKLIGHT_ENABLE -backlight_set(0); + backlight_set(0); #endif + // Turn off LED indicators + led_set(0); + // TODO: more power saving // See PicoPower application note // - I/O port input with pullup From 1d13aa933bbb57bf0c1fe0196981b81233c3df97 Mon Sep 17 00:00:00 2001 From: IBNobody Date: Mon, 28 Mar 2016 19:45:20 -0500 Subject: [PATCH 10/20] Minor Tweaks and Documentation Fixed compiler warning by including bootloader.h in keymap_common.c. Changed FORCE_NKRO to only be applied if NKRO_ENABLE is defined. Added extra documentation to the template config.h --- quantum/keymap_common.c | 1 + quantum/template/config.h | 53 ++++++++++++++++++++++++++++++-------- tmk_core/common/keyboard.c | 2 +- 3 files changed, 44 insertions(+), 12 deletions(-) diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index 7068ca4f315..2eef4f15a7c 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -25,6 +25,7 @@ along with this program. If not, see . #include "debug.h" #include "backlight.h" #include "keymap_midi.h" +#include "bootloader.h" #include #include diff --git a/quantum/template/config.h b/quantum/template/config.h index dae4b631308..e6fb7866c6c 100644 --- a/quantum/template/config.h +++ b/quantum/template/config.h @@ -32,36 +32,67 @@ along with this program. If not, see . #define MATRIX_ROWS 2 #define MATRIX_COLS 3 -// Planck PCB default pin-out -// Change this to how you wired your keyboard -// COLS: Left to right, ROWS: Top to bottom +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ #define COLS (int []){ F1, F0, B0 } #define ROWS (int []){ D0, D5 } /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW -/* define if matrix has ghost */ +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST /* number of backlight levels */ #define BACKLIGHT_LEVELS 3 -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* Force NKRO Mode - If forced on, must be disabled via magic key (default = LShift+RShift+N) */ +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ //#define FORCE_NKRO /* - * Magic key options - * These options allow the magic key functionality to be changed. This is useful - * if your keyboard/keypad is missing keys and you want magic key support. + * Magic Key Options + * + * Magic keys are hotkey commands that allow control over firmware functions of + * the keyboard. They are best used in combination with the HID Listen program, + * found here: https://www.pjrc.com/teensy/hid_listen.html + * + * The options below allow the magic key functionality to be changed. This is + * useful if your keyboard/keypad is missing keys and you want magic key support. + * */ /* key combination for magic key command */ diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c index e668084858e..302b3ec87c9 100644 --- a/tmk_core/common/keyboard.c +++ b/tmk_core/common/keyboard.c @@ -92,7 +92,7 @@ void keyboard_init(void) backlight_init(); #endif -#ifdef FORCE_NKRO +#if defined(NKRO_ENABLE) && defined(FORCE_NKRO) keyboard_nkro = true; #endif From 60570f3e37c27e7583ccab862bbd88f8f38f1d8c Mon Sep 17 00:00:00 2001 From: Noah Andrews Date: Mon, 28 Mar 2016 22:02:52 -0400 Subject: [PATCH 11/20] Added clarifying steps to Windows section of build guide --- BUILD_GUIDE.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/BUILD_GUIDE.md b/BUILD_GUIDE.md index e8b242e4e3c..22df53c30d1 100644 --- a/BUILD_GUIDE.md +++ b/BUILD_GUIDE.md @@ -3,11 +3,13 @@ ## Build Environment Setup ### Windows -1. Install [MHV AVR Tools](https://infernoembedded.com/sites/default/files/project/MHV_AVR_Tools_20131101.exe). Disable smatch, but **be sure to leave the option to add the tools to the PATH checked**. -2. Install [MinGW](https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download). During installation, uncheck the option to install a graphical user interface. **DO NOT change the default installation folder.** The scripts depend on the default location. -3. Clone this repository. [This link will download it as a zip file, which you'll need to extract.](https://github.com/jackhumbert/qmk_firmware/archive/master.zip) Open the extracted folder in Windows Explorer. -4. Right-click on the 1-setup-path-win batch script, select "Run as administrator", and accept the User Account Control prompt. Press the spacebar to dismiss the success message in the command prompt that pops up. -5. Right-click on the 2-setup-environment-win batch script, select "Run as administrator", and accept the User Account Control prompt. This part may take a couple of minutes, and you'll need to approve a driver installation, but once it finishes, your environment is complete! +1. If you have ever installed WinAVR, uninstall it. +2. Install [MHV AVR Tools](https://infernoembedded.com/sites/default/files/project/MHV_AVR_Tools_20131101.exe). Disable smatch, but **be sure to leave the option to add the tools to the PATH checked**. +3. Install [MinGW](https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download). During installation, uncheck the option to install a graphical user interface. **DO NOT change the default installation folder.** The scripts depend on the default location. +4. Clone this repository. [This link will download it as a zip file, which you'll need to extract.](https://github.com/jackhumbert/qmk_firmware/archive/master.zip) Open the extracted folder in Windows Explorer. +5. Right-click on the 1-setup-path-win batch script, select "Run as administrator", and accept the User Account Control prompt. Press the spacebar to dismiss the success message in the command prompt that pops up. +6. Right-click on the 2-setup-environment-win batch script, select "Run as administrator", and accept the User Account Control prompt. This part may take a couple of minutes, and you'll need to approve a driver installation, but once it finishes, your environment is complete! +7. Future build commands should be run from the standard Windows command prompt, which you can find by searching for "command prompt" from the start menu or start screen. Ignore the "MHV AVR Shell". ### Mac If you're using [homebrew,](http://brew.sh/) you can use the following commands: From 2ae44470e01287c48f3852ac54a87d7fc4e747c2 Mon Sep 17 00:00:00 2001 From: Noah Andrews Date: Tue, 29 Mar 2016 12:06:32 -0400 Subject: [PATCH 12/20] Fix error in Planck makefile comment [This comment](https://www.reddit.com/r/olkb/comments/428umx/rgb_underglow/czaivbc) states that because both audio output and RGB support require the user of timer 3, they can't be enabled at the same time. That makes sense, I can see where audio.c uses timer 3. But this comment in the code states that the incompatibility is with MIDI support, which doesn't make sense based on what I see in the code. Please enlighten me if I'm mistaken. --- keyboard/planck/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboard/planck/Makefile b/keyboard/planck/Makefile index 307b0c7f4fe..03d26017617 100644 --- a/keyboard/planck/Makefile +++ b/keyboard/planck/Makefile @@ -143,7 +143,7 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality # AUDIO_ENABLE = YES # Audio output on port C6 # UNICODE_ENABLE = YES # Unicode # BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID -# RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with MIDI at the same time. +# RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. ifdef BACKLIGHT_ENABLE SRC += backlight.c From 8f1ea16ad5e34446bad63bf2357432f256c4298a Mon Sep 17 00:00:00 2001 From: Noah Andrews Date: Tue, 29 Mar 2016 16:35:06 -0400 Subject: [PATCH 13/20] Fix #198 --- 1-setup-path-win.bat | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/1-setup-path-win.bat b/1-setup-path-win.bat index 49fb00e149a..6957dbc3f49 100644 --- a/1-setup-path-win.bat +++ b/1-setup-path-win.bat @@ -1,9 +1,14 @@ @echo off -setx /M path "%PATH%;C:\MinGW\bin;C:\MinGW\msys\1.0\bin" > nul 2>&1 + +reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /f /v Path /t REG_SZ /d "%path%;C:\MinGW\bin;C:\MinGW\msys\1.0\bin" > nul +echo. + if NOT ["%errorlevel%"]==["0"] ( - echo FAILED. Rerun with administrator privileges. - pause + echo FAILED. You probably just need to run the script with administrator privileges. ) else ( echo Success! - pause + setx QMK QMK > nul ) + +echo. +pause From 95fba250ef2029ccdedb34500c5d1e96f6d065cf Mon Sep 17 00:00:00 2001 From: Noah Andrews Date: Tue, 29 Mar 2016 21:53:36 -0400 Subject: [PATCH 14/20] Updated several keyboard folders to use new keymap naming scheme --- BUILD_GUIDE.md | 5 ++++- keyboard/alps64/Makefile | 4 ++-- .../alps64/{keymap_plain.c => keymaps/default.c} | 0 keyboard/alps64/{keymap_hasu.c => keymaps/hasu.c} | 0 keyboard/atomic/Makefile | 4 ++-- keyboard/atomic/README.md | 4 ++-- .../atomic/keymaps/{keymap_abienz.c => abienz.c} | 0 .../atomic/keymaps/{keymap_default.c => default.c} | 0 .../keymaps/{keymap_michelle.c => michelle.c} | 0 keyboard/atreus/Makefile | 4 ++-- keyboard/atreus/README.md | 4 ++-- .../atreus/keymaps/{keymap_default.c => default.c} | 0 keyboard/atreus/keymaps/{keymap_gerb.c => gerb.c} | 0 keyboard/gh60/Makefile | 4 ++-- keyboard/gh60/Makefile.pjrc | 4 ++-- keyboard/gh60/README.md | 14 +++++++------- keyboard/gh60/{keymap_hasu.c => keymaps/hasu.c} | 0 keyboard/gh60/{keymap_hhkb.c => keymaps/hhkb.c} | 0 keyboard/gh60/{keymap_plain.c => keymaps/plain.c} | 0 keyboard/gh60/{keymap_poker.c => keymaps/poker.c} | 0 .../{keymap_poker_bit.c => keymaps/poker_bit.c} | 0 .../{keymap_poker_set.c => keymaps/poker_set.c} | 0 .../gh60/{keymap_spacefn.c => keymaps/spacefn.c} | 0 keyboard/hhkb/Makefile | 8 ++++---- keyboard/hhkb/Makefile.pjrc | 4 ++-- keyboard/hhkb/Makefile.rn42 | 8 ++++---- keyboard/hhkb/README.md | 2 +- keyboard/hhkb/{keymap_hasu.c => keymaps/hasu.c} | 0 keyboard/hhkb/{keymap_hhkb.c => keymaps/hhkb.c} | 0 keyboard/hhkb/{keymap_jp.c => keymaps/jp.c} | 0 .../hhkb/{keymap_spacefn.c => keymaps/spacefn.c} | 0 keyboard/hhkb_qmk/Makefile | 4 ++-- keyboard/hhkb_qmk/README.md | 4 ++-- .../keymaps/{keymap_default.c => default.c} | 0 .../hhkb_qmk/keymaps/{keymap_lxol.c => lxol.c} | 0 keyboard/jd45/Makefile | 4 ++-- .../jd45/keymaps/{keymap_default.c => default.c} | 0 .../jd45/keymaps/{keymap_justin.c => justin.c} | 0 keyboard/planck/README.md | 4 ++-- .../common_keymaps/keymap_mitch.c | 0 quantum/template/README.md | 2 +- 41 files changed, 45 insertions(+), 42 deletions(-) rename keyboard/alps64/{keymap_plain.c => keymaps/default.c} (100%) rename keyboard/alps64/{keymap_hasu.c => keymaps/hasu.c} (100%) rename keyboard/atomic/keymaps/{keymap_abienz.c => abienz.c} (100%) rename keyboard/atomic/keymaps/{keymap_default.c => default.c} (100%) rename keyboard/atomic/keymaps/{keymap_michelle.c => michelle.c} (100%) rename keyboard/atreus/keymaps/{keymap_default.c => default.c} (100%) rename keyboard/atreus/keymaps/{keymap_gerb.c => gerb.c} (100%) rename keyboard/gh60/{keymap_hasu.c => keymaps/hasu.c} (100%) rename keyboard/gh60/{keymap_hhkb.c => keymaps/hhkb.c} (100%) rename keyboard/gh60/{keymap_plain.c => keymaps/plain.c} (100%) rename keyboard/gh60/{keymap_poker.c => keymaps/poker.c} (100%) rename keyboard/gh60/{keymap_poker_bit.c => keymaps/poker_bit.c} (100%) rename keyboard/gh60/{keymap_poker_set.c => keymaps/poker_set.c} (100%) rename keyboard/gh60/{keymap_spacefn.c => keymaps/spacefn.c} (100%) rename keyboard/hhkb/{keymap_hasu.c => keymaps/hasu.c} (100%) rename keyboard/hhkb/{keymap_hhkb.c => keymaps/hhkb.c} (100%) rename keyboard/hhkb/{keymap_jp.c => keymaps/jp.c} (100%) rename keyboard/hhkb/{keymap_spacefn.c => keymaps/spacefn.c} (100%) rename keyboard/hhkb_qmk/keymaps/{keymap_default.c => default.c} (100%) rename keyboard/hhkb_qmk/keymaps/{keymap_lxol.c => lxol.c} (100%) rename keyboard/jd45/keymaps/{keymap_default.c => default.c} (100%) rename keyboard/jd45/keymaps/{keymap_justin.c => justin.c} (100%) rename keyboard/planck/{ => old_keymap_files}/common_keymaps/keymap_mitch.c (100%) diff --git a/BUILD_GUIDE.md b/BUILD_GUIDE.md index 22df53c30d1..f7a57d2fc9b 100644 --- a/BUILD_GUIDE.md +++ b/BUILD_GUIDE.md @@ -44,7 +44,10 @@ If you have any problems building the firmware, you can try using a tool called 4. Once you're in the correct keyboard-specific folder, run the `make` command. This should output a lot of information about the build process. ## Customizing, Building, and Deploying Your Firmware -1. Running the `make` command from your keyboard's folder will generate a .hex file based on the default keymap. All keymaps for a particular keyboard live in the `keymaps` folder in that keyboard's folder. To create your own keymap, copy `keymaps/default/keymap.c` to the `keymaps` folder, and rename it with your name, for example jack.c. Or, if you don't care about the ability to share your keymap with the community via GitHub, you can just modify the default keymap itself. Details on how to program keymap files can be found in other guides. + +Note: Some keyboard folders have non-standard organizations, and may not even support specifying alternate keymaps. Until these get reorganized, you will need to edit their default keymaps directly. + +1. Running the `make` command from your keyboard's folder will generate a .hex file based on the default keymap. All keymaps for a particular keyboard live in the `keymaps` folder in that keyboard's folder. To create your own keymap, copy `keymaps/default/keymap.c` to the `keymaps` folder, and rename it with your name, for example jack.c. Or, if you don't care about the ability to share your keymap with the community via GitHub, you can just modify the default keymap itself. Details on how to program keymap files can be found in other guides. 2. To build a keymap other than the default, type `KEYMAP=` after `make`. So if I've named my keymap jack.c, the full command would be `make KEYMAP=jack`. 3. How you deploy the firmware will depend on whether you are using a PCB or a Teensy. In both cases, you'll need to put the keyboard in bootloader mode, either by pressing a button on the PCB/Teensy or pressing the key with the `RESET` keycode. Then, if you're using a PCB, just run `make KEYMAP= dfu` to both build and deploy the firmware. If you're using a Teensy, you'll probably need to take the .hex file that make produces in the keyboard's folder, and deploy it using the [Teensy Loader.](https://www.pjrc.com/teensy/loader.html) diff --git a/keyboard/alps64/Makefile b/keyboard/alps64/Makefile index e90dcedb673..7634c4280eb 100644 --- a/keyboard/alps64/Makefile +++ b/keyboard/alps64/Makefile @@ -53,9 +53,9 @@ SRC = keymap_common.c \ led.c ifdef KEYMAP - SRC := keymap_$(KEYMAP).c $(SRC) + SRC := keymaps/$(KEYMAP).c $(SRC) else - SRC := keymap_plain.c $(SRC) + SRC := keymaps/default.c $(SRC) endif CONFIG_H = config.h diff --git a/keyboard/alps64/keymap_plain.c b/keyboard/alps64/keymaps/default.c similarity index 100% rename from keyboard/alps64/keymap_plain.c rename to keyboard/alps64/keymaps/default.c diff --git a/keyboard/alps64/keymap_hasu.c b/keyboard/alps64/keymaps/hasu.c similarity index 100% rename from keyboard/alps64/keymap_hasu.c rename to keyboard/alps64/keymaps/hasu.c diff --git a/keyboard/atomic/Makefile b/keyboard/atomic/Makefile index e678b4efa88..da6d0ac60c2 100644 --- a/keyboard/atomic/Makefile +++ b/keyboard/atomic/Makefile @@ -54,9 +54,9 @@ SRC = atomic.c \ backlight.c ifdef KEYMAP - SRC := keymaps/keymap_$(KEYMAP).c $(SRC) + SRC := keymaps/$(KEYMAP).c $(SRC) else - SRC := keymaps/keymap_default.c $(SRC) + SRC := keymaps/default.c $(SRC) endif CONFIG_H = config.h diff --git a/keyboard/atomic/README.md b/keyboard/atomic/README.md index c8e83cf55a9..0e42370ba62 100644 --- a/keyboard/atomic/README.md +++ b/keyboard/atomic/README.md @@ -16,10 +16,10 @@ Depending on which keymap you would like to use, you will have to compile slight To build with the default keymap, simply run `make`. ### Other Keymaps -Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `keymap_.c` and see keymap document (you can find in top README.md) and existent keymap files. +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a file in the keymaps folder named `.c` and see keymap document (you can find in top README.md) and existent keymap files. To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: ``` $ make KEYMAP=[default|jack|] ``` -Keymaps follow the format **__keymap\_\.c__** and are stored in the `keymaps` folder. +Keymaps follow the format **__\.c__** and are stored in the `keymaps` folder. diff --git a/keyboard/atomic/keymaps/keymap_abienz.c b/keyboard/atomic/keymaps/abienz.c similarity index 100% rename from keyboard/atomic/keymaps/keymap_abienz.c rename to keyboard/atomic/keymaps/abienz.c diff --git a/keyboard/atomic/keymaps/keymap_default.c b/keyboard/atomic/keymaps/default.c similarity index 100% rename from keyboard/atomic/keymaps/keymap_default.c rename to keyboard/atomic/keymaps/default.c diff --git a/keyboard/atomic/keymaps/keymap_michelle.c b/keyboard/atomic/keymaps/michelle.c similarity index 100% rename from keyboard/atomic/keymaps/keymap_michelle.c rename to keyboard/atomic/keymaps/michelle.c diff --git a/keyboard/atreus/Makefile b/keyboard/atreus/Makefile index 2e542d62edd..a6fddd70d2a 100644 --- a/keyboard/atreus/Makefile +++ b/keyboard/atreus/Makefile @@ -53,9 +53,9 @@ TARGET_DIR = . SRC = atreus.c ifdef KEYMAP - SRC := keymaps/keymap_$(KEYMAP).c $(SRC) + SRC := keymaps/$(KEYMAP).c $(SRC) else - SRC := keymaps/keymap_default.c $(SRC) + SRC := keymaps/default.c $(SRC) endif ifdef TEENSY2 diff --git a/keyboard/atreus/README.md b/keyboard/atreus/README.md index 4db7ac1203b..aacf2841f4a 100644 --- a/keyboard/atreus/README.md +++ b/keyboard/atreus/README.md @@ -177,10 +177,10 @@ Depending on which keymap you would like to use, you will have to compile slight To build with the default keymap, simply run `make`. ### Other Keymaps -Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `keymap_.c` and see keymap document (you can find in top README.md) and existent keymap files. +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `.c` and see keymap document (you can find in top README.md) and existent keymap files. To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: ``` $ make KEYMAP=[default|jack|] ``` -Keymaps follow the format **__keymap\_\.c__** and are stored in the `keymaps` folder. +Keymaps follow the format **__\.c__** and are stored in the `keymaps` folder. diff --git a/keyboard/atreus/keymaps/keymap_default.c b/keyboard/atreus/keymaps/default.c similarity index 100% rename from keyboard/atreus/keymaps/keymap_default.c rename to keyboard/atreus/keymaps/default.c diff --git a/keyboard/atreus/keymaps/keymap_gerb.c b/keyboard/atreus/keymaps/gerb.c similarity index 100% rename from keyboard/atreus/keymaps/keymap_gerb.c rename to keyboard/atreus/keymaps/gerb.c diff --git a/keyboard/gh60/Makefile b/keyboard/gh60/Makefile index daba0f64490..4c8f9dc8ab8 100644 --- a/keyboard/gh60/Makefile +++ b/keyboard/gh60/Makefile @@ -53,9 +53,9 @@ SRC = keymap_common.c \ led.c ifdef KEYMAP - SRC := keymap_$(KEYMAP).c $(SRC) + SRC := keymaps/$(KEYMAP).c $(SRC) else - SRC := keymap_poker.c $(SRC) + SRC := keymaps/poker.c $(SRC) endif CONFIG_H = config.h diff --git a/keyboard/gh60/Makefile.pjrc b/keyboard/gh60/Makefile.pjrc index 11bd3b7840e..8ed73a248d1 100644 --- a/keyboard/gh60/Makefile.pjrc +++ b/keyboard/gh60/Makefile.pjrc @@ -53,9 +53,9 @@ SRC = keymap_common.c \ led.c ifdef KEYMAP - SRC := keymap_$(KEYMAP).c $(SRC) + SRC := keymaps/$(KEYMAP).c $(SRC) else - SRC := keymap_poker.c $(SRC) + SRC := keymaps/poker.c $(SRC) endif CONFIG_H = config.h diff --git a/keyboard/gh60/README.md b/keyboard/gh60/README.md index 510cb5c8b65..41a757ea3ae 100644 --- a/keyboard/gh60/README.md +++ b/keyboard/gh60/README.md @@ -21,7 +21,7 @@ Use `make -f Makefile.pjrc` if you want to use PJRC stack but I find no reason t ## Keymap -Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `keymap_.c` and see keymap document(you can find in top README.md) and existent keymap files. +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `.c` in the keymaps folder, and see keymap document(you can find in top README.md) and existent keymap files. To build firmware binary hex file with a certain keymap just do `make` with `KEYMAP` option like: @@ -29,8 +29,8 @@ To build firmware binary hex file with a certain keymap just do `make` with `KEY ### 1 Poker -[keymap_poker.c](keymap_poker.c) emulates original Poker layers -while both [keymap_poker_bit.c](keymap_poker_bit.c) and [keymap_poker_set.c](keymap_poker_set.c) implements same layout in different way and they fix a minor issue of original Poker and enhance arrow keys. +[poker.c](keymaps/poker.c) emulates original Poker layers +while both [poker_bit.c](keymaps/poker_bit.c) and [poker_set.c](keymaps/poker_set.c) implement the same layout in different ways and they fix a minor issue of original Poker and enhance arrow keys. Fn + Esc = ` Fn + {left, down, up, right} = {home, pgdown, pgup, end} @@ -63,7 +63,7 @@ while both [keymap_poker_bit.c](keymap_poker_bit.c) and [keymap_poker_set.c](key ### 2. Plain Without any Fn layer this will be useful if you want to use key remapping tool like AHK on host. -See [keymap_plain.c](keymap_plain.c) for detail. +See [plain.c](keymaps/plain.c) for detail. #### 1.0 Plain Default layer ,-----------------------------------------------------------. @@ -80,11 +80,11 @@ See [keymap_plain.c](keymap_plain.c) for detail. ### 3. Hasu -This is my favorite keymap with HHKB Fn, Vi cursor and Mousekey layer. See [keymap_hasu.c](keymap_hasu.c) for detail. +This is my favorite keymap with HHKB Fn, Vi cursor and Mousekey layer. See [hasu.c](keymaps/hasu.c) for detail. ### 4. SpaceFN -This layout proposed by spiceBar uses space bar to change layer with using Dual role key technique. See [keymap_spacefn.c](keymap_spacefn.c) and [SpaceFN discussion](http://geekhack.org/index.php?topic=51069.0). +This layout proposed by spiceBar uses space bar to change layer with using Dual role key technique. See [spacefn.c](keymaps/spacefn.c) and [SpaceFN discussion](http://geekhack.org/index.php?topic=51069.0). #### 4.0 Default layer ,-----------------------------------------------------------. @@ -113,7 +113,7 @@ This layout proposed by spiceBar uses space bar to change layer with using Dual ### 5. HHKB -[keymap_hhkb.c](keymap_hhkb.c) emulates original HHKB layers. +[hhkb.c](keymaps/hhkb.c) emulates original HHKB layers. #### 5.0: Default layer ,-----------------------------------------------------------. |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| `| diff --git a/keyboard/gh60/keymap_hasu.c b/keyboard/gh60/keymaps/hasu.c similarity index 100% rename from keyboard/gh60/keymap_hasu.c rename to keyboard/gh60/keymaps/hasu.c diff --git a/keyboard/gh60/keymap_hhkb.c b/keyboard/gh60/keymaps/hhkb.c similarity index 100% rename from keyboard/gh60/keymap_hhkb.c rename to keyboard/gh60/keymaps/hhkb.c diff --git a/keyboard/gh60/keymap_plain.c b/keyboard/gh60/keymaps/plain.c similarity index 100% rename from keyboard/gh60/keymap_plain.c rename to keyboard/gh60/keymaps/plain.c diff --git a/keyboard/gh60/keymap_poker.c b/keyboard/gh60/keymaps/poker.c similarity index 100% rename from keyboard/gh60/keymap_poker.c rename to keyboard/gh60/keymaps/poker.c diff --git a/keyboard/gh60/keymap_poker_bit.c b/keyboard/gh60/keymaps/poker_bit.c similarity index 100% rename from keyboard/gh60/keymap_poker_bit.c rename to keyboard/gh60/keymaps/poker_bit.c diff --git a/keyboard/gh60/keymap_poker_set.c b/keyboard/gh60/keymaps/poker_set.c similarity index 100% rename from keyboard/gh60/keymap_poker_set.c rename to keyboard/gh60/keymaps/poker_set.c diff --git a/keyboard/gh60/keymap_spacefn.c b/keyboard/gh60/keymaps/spacefn.c similarity index 100% rename from keyboard/gh60/keymap_spacefn.c rename to keyboard/gh60/keymaps/spacefn.c diff --git a/keyboard/hhkb/Makefile b/keyboard/hhkb/Makefile index 5a179bd24da..d434246cef3 100644 --- a/keyboard/hhkb/Makefile +++ b/keyboard/hhkb/Makefile @@ -129,17 +129,17 @@ NKRO_ENABLE = yes # USB Nkey Rollover # Keymap file # ifdef KEYMAP - SRC := keymap_$(KEYMAP).c $(SRC) + SRC := keymaps/$(KEYMAP).c $(SRC) else ifdef HHKB_JP - SRC := keymap_jp.c $(SRC) + SRC := keymaps/jp.c $(SRC) else - SRC := keymap_hhkb.c $(SRC) + SRC := keymaps/hhkb.c $(SRC) endif endif -ifneq (, $(or $(findstring keymap_jp.c, $(SRC)), $(findstring yes, $(HHKB_JP)))) +ifneq (, $(or $(findstring jp.c, $(SRC)), $(findstring yes, $(HHKB_JP)))) OPT_DEFS += -DHHKB_JP endif diff --git a/keyboard/hhkb/Makefile.pjrc b/keyboard/hhkb/Makefile.pjrc index 7d0f8c3a9c0..403a8ec60ab 100644 --- a/keyboard/hhkb/Makefile.pjrc +++ b/keyboard/hhkb/Makefile.pjrc @@ -18,9 +18,9 @@ SRC = keymap_common.c \ led.c ifdef KEYMAP - SRC := keymap_$(KEYMAP).c $(SRC) + SRC := keymaps/$(KEYMAP).c $(SRC) else - SRC := keymap_hasu.c $(SRC) + SRC := keymaps/hasu.c $(SRC) endif CONFIG_H = config.h diff --git a/keyboard/hhkb/Makefile.rn42 b/keyboard/hhkb/Makefile.rn42 index cbb2b744c96..a730442af02 100644 --- a/keyboard/hhkb/Makefile.rn42 +++ b/keyboard/hhkb/Makefile.rn42 @@ -122,17 +122,17 @@ COMMAND_ENABLE = yes # Commands for debug and configuration # Keymap file # ifdef KEYMAP - SRC := keymap_$(KEYMAP).c $(SRC) + SRC := keymaps/$(KEYMAP).c $(SRC) else ifdef HHKB_JP - SRC := keymap_jp.c $(SRC) + SRC := keymaps/jp.c $(SRC) else - SRC := keymap_hhkb.c $(SRC) + SRC := keymaps/hhkb.c $(SRC) endif endif -ifneq (, $(or $(findstring keymap_jp.c, $(SRC)), $(findstring yes, $(HHKB_JP)))) +ifneq (, $(or $(findstring jp.c, $(SRC)), $(findstring yes, $(HHKB_JP)))) OPT_DEFS += -DHHKB_JP endif diff --git a/keyboard/hhkb/README.md b/keyboard/hhkb/README.md index fcd72e19411..e20c23d8236 100644 --- a/keyboard/hhkb/README.md +++ b/keyboard/hhkb/README.md @@ -76,7 +76,7 @@ Use [Teensy Loader] if your controller is Teensy/Teensy++. ##Keymap -To define your own keymap create file named `keymap_.c` and see [keymap document](../../doc/keymap.md) and existent keymap files. +To define your own keymap create a file in the keymaps folder named `.c` and see keymap document (you can find in top README.md) and existent keymap files. ##Hardware diff --git a/keyboard/hhkb/keymap_hasu.c b/keyboard/hhkb/keymaps/hasu.c similarity index 100% rename from keyboard/hhkb/keymap_hasu.c rename to keyboard/hhkb/keymaps/hasu.c diff --git a/keyboard/hhkb/keymap_hhkb.c b/keyboard/hhkb/keymaps/hhkb.c similarity index 100% rename from keyboard/hhkb/keymap_hhkb.c rename to keyboard/hhkb/keymaps/hhkb.c diff --git a/keyboard/hhkb/keymap_jp.c b/keyboard/hhkb/keymaps/jp.c similarity index 100% rename from keyboard/hhkb/keymap_jp.c rename to keyboard/hhkb/keymaps/jp.c diff --git a/keyboard/hhkb/keymap_spacefn.c b/keyboard/hhkb/keymaps/spacefn.c similarity index 100% rename from keyboard/hhkb/keymap_spacefn.c rename to keyboard/hhkb/keymaps/spacefn.c diff --git a/keyboard/hhkb_qmk/Makefile b/keyboard/hhkb_qmk/Makefile index 8bd44100b76..21ba261a231 100644 --- a/keyboard/hhkb_qmk/Makefile +++ b/keyboard/hhkb_qmk/Makefile @@ -54,9 +54,9 @@ SRC = hhkb_qmk.c \ matrix.c ifdef KEYMAP - SRC := keymaps/keymap_$(KEYMAP).c $(SRC) + SRC := keymaps/keymaps/$(KEYMAP).c $(SRC) else - SRC := keymaps/keymap_default.c $(SRC) + SRC := keymaps/keymaps/default.c $(SRC) endif CONFIG_H = config.h diff --git a/keyboard/hhkb_qmk/README.md b/keyboard/hhkb_qmk/README.md index 606025c411c..389407b3aaf 100644 --- a/keyboard/hhkb_qmk/README.md +++ b/keyboard/hhkb_qmk/README.md @@ -171,10 +171,10 @@ Depending on which keymap you would like to use, you will have to compile slight To build with the default keymap, simply run `make`. ### Other Keymaps -Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `keymap_.c` and see keymap document (you can find in top README.md) and existent keymap files. +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a file in the keymaps folder named `.c` and see keymap document (you can find in top README.md) and existent keymap files. To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: ``` $ make KEYMAP=[default|jack|] ``` -Keymaps follow the format **__keymap\_\.c__** and are stored in the `keymaps` folder. +Keymaps follow the format **__\.c__** and are stored in the `keymaps` folder. diff --git a/keyboard/hhkb_qmk/keymaps/keymap_default.c b/keyboard/hhkb_qmk/keymaps/default.c similarity index 100% rename from keyboard/hhkb_qmk/keymaps/keymap_default.c rename to keyboard/hhkb_qmk/keymaps/default.c diff --git a/keyboard/hhkb_qmk/keymaps/keymap_lxol.c b/keyboard/hhkb_qmk/keymaps/lxol.c similarity index 100% rename from keyboard/hhkb_qmk/keymaps/keymap_lxol.c rename to keyboard/hhkb_qmk/keymaps/lxol.c diff --git a/keyboard/jd45/Makefile b/keyboard/jd45/Makefile index 076dced8290..f6a8d10c583 100644 --- a/keyboard/jd45/Makefile +++ b/keyboard/jd45/Makefile @@ -54,9 +54,9 @@ SRC = jd45.c \ backlight.c ifdef KEYMAP - SRC := keymaps/keymap_$(KEYMAP).c $(SRC) + SRC := keymaps/keymaps/(KEYMAP).c $(SRC) else - SRC := keymaps/keymap_default.c $(SRC) + SRC := keymaps/keymaps/default.c $(SRC) endif CONFIG_H = config.h diff --git a/keyboard/jd45/keymaps/keymap_default.c b/keyboard/jd45/keymaps/default.c similarity index 100% rename from keyboard/jd45/keymaps/keymap_default.c rename to keyboard/jd45/keymaps/default.c diff --git a/keyboard/jd45/keymaps/keymap_justin.c b/keyboard/jd45/keymaps/justin.c similarity index 100% rename from keyboard/jd45/keymaps/keymap_justin.c rename to keyboard/jd45/keymaps/justin.c diff --git a/keyboard/planck/README.md b/keyboard/planck/README.md index 3ba0cc15273..d9a1e3beeeb 100644 --- a/keyboard/planck/README.md +++ b/keyboard/planck/README.md @@ -16,13 +16,13 @@ Depending on which keymap you would like to use, you will have to compile slight To build with the default keymap, simply run `make`. ### Other Keymaps -Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `.c` and see keymap document (you can find in top README.md) and existent keymap files. +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `.c` in the keymaps folder, and see keymap document (you can find in top README.md) and existent keymap files. To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: ``` $ make KEYMAP=[default|jack|] ``` -Keymaps follow the format **__.c__** and are stored in the `keymaps` folder. +Keymaps follow the format **__\.c__** and are stored in the `keymaps` folder. ### Notable forks (which some of the keymap files are from) - [Shane's Fork](https://github.com/shanecelis/tmk_keyboard/tree/master/keyboard/planck) diff --git a/keyboard/planck/common_keymaps/keymap_mitch.c b/keyboard/planck/old_keymap_files/common_keymaps/keymap_mitch.c similarity index 100% rename from keyboard/planck/common_keymaps/keymap_mitch.c rename to keyboard/planck/old_keymap_files/common_keymaps/keymap_mitch.c diff --git a/quantum/template/README.md b/quantum/template/README.md index dc163a2f4b4..39f9f59d10a 100644 --- a/quantum/template/README.md +++ b/quantum/template/README.md @@ -15,7 +15,7 @@ Depending on which keymap you would like to use, you will have to compile slight To build with the default keymap, simply run `make`. ### Other Keymaps -Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `.c` and see keymap document (you can find in top README.md) and existent keymap files. +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `.c` in the keymaps folder, and see keymap document (you can find in top README.md) and existent keymap files. To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: ``` From ac0729787ff0e8d1bd1202a28f5edf9125c00b0c Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Wed, 30 Mar 2016 00:43:07 -0400 Subject: [PATCH 15/20] preonic update --- keyboard/preonic/Makefile | 54 ++-- keyboard/preonic/Makefile.pjrc | 116 --------- keyboard/preonic/PCB_GUIDE.md | 116 --------- keyboard/preonic/README.md | 49 +--- keyboard/preonic/__avr_gdbinit | 6 - keyboard/preonic/analog.c | 53 ---- keyboard/preonic/analog.h | 36 --- keyboard/preonic/beeps.c | 246 ------------------ keyboard/preonic/beeps.h | 12 - keyboard/preonic/config.h | 18 +- keyboard/preonic/config_definitions.h | 50 ---- keyboard/preonic/extended_keymap_common.c | 216 --------------- keyboard/preonic/extended_keymap_common.h | 181 ------------- .../extended_keymap_default.c | 70 ----- .../extended_keymaps/extended_keymap_lock.c | 81 ------ keyboard/preonic/keymap_midi.c | 110 -------- keyboard/preonic/keymap_midi.h | 220 ---------------- keyboard/preonic/led.c | 38 --- keyboard/preonic/matrix.c | 234 ----------------- quantum/keymap_midi.c | 4 +- 20 files changed, 65 insertions(+), 1845 deletions(-) delete mode 100644 keyboard/preonic/Makefile.pjrc delete mode 100644 keyboard/preonic/PCB_GUIDE.md delete mode 100644 keyboard/preonic/__avr_gdbinit delete mode 100644 keyboard/preonic/analog.c delete mode 100644 keyboard/preonic/analog.h delete mode 100644 keyboard/preonic/beeps.c delete mode 100644 keyboard/preonic/beeps.h delete mode 100644 keyboard/preonic/config_definitions.h delete mode 100644 keyboard/preonic/extended_keymap_common.c delete mode 100644 keyboard/preonic/extended_keymap_common.h delete mode 100644 keyboard/preonic/extended_keymaps/extended_keymap_default.c delete mode 100644 keyboard/preonic/extended_keymaps/extended_keymap_lock.c delete mode 100644 keyboard/preonic/keymap_midi.c delete mode 100644 keyboard/preonic/keymap_midi.h delete mode 100644 keyboard/preonic/led.c delete mode 100644 keyboard/preonic/matrix.c diff --git a/keyboard/preonic/Makefile b/keyboard/preonic/Makefile index 0145e44bc6b..664aff73215 100644 --- a/keyboard/preonic/Makefile +++ b/keyboard/preonic/Makefile @@ -27,7 +27,7 @@ # make flip-ee = Download the eeprom file to the device, using Atmel FLIP # (must have Atmel FLIP installed). # -# make debug = Start either simulavr or avarice as specified for debugging, +# make debug = Start either simulavr or avarice as specified for debugging, # with avr-gdb or avr-insight as the front end for debugging. # # make filename.s = Just compile filename.c into the assembler code only. @@ -39,25 +39,41 @@ #---------------------------------------------------------------------------- # Target file name (without extension). -TARGET = preonic_lufa +TARGET = preonic + # Directory common source filess exist TOP_DIR = ../.. +TMK_DIR = ../../tmk_core # Directory keyboard dependent files exist TARGET_DIR = . # # project specific files -SRC = extended_keymap_common.c \ - matrix.c \ - led.c \ - backlight.c +SRC = preonic.c + +ifdef keymap + KEYMAP = $(keymap) +endif ifdef KEYMAP - SRC := extended_keymaps/extended_keymap_$(KEYMAP).c $(SRC) +ifneq ("$(wildcard keymaps/$(KEYMAP).c)","") + KEYMAP_FILE = keymaps/$(KEYMAP).c else - SRC := extended_keymaps/extended_keymap_default.c $(SRC) +ifneq ("$(wildcard keymaps/$(KEYMAP)/keymap.c)","") + KEYMAP_FILE = keymaps/$(KEYMAP)/keymap.c +else +$(error Keymap file does not exist) endif +endif +else +ifneq ("$(wildcard keymaps/default.c)","") + KEYMAP_FILE = keymaps/default.c +else + KEYMAP_FILE = keymaps/default/keymap.c +endif +endif +SRC := $(KEYMAP_FILE) $(SRC) CONFIG_H = config.h @@ -120,24 +136,26 @@ EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) COMMAND_ENABLE = yes # Commands for debug and configuration # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend -NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA +# 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 BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = yes # MIDI controls -BACKLIGHT_ENABLE = yes +MIDI_ENABLE = YES # MIDI controls +AUDIO_ENABLE = YES # Audio output on port C6 +# UNICODE_ENABLE = YES # Unicode +# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID +# RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with MIDI at the same time. -ifdef MIDI_ENABLE - SRC += keymap_midi.c \ - beeps.c +ifdef BACKLIGHT_ENABLE + SRC += backlight.c endif + # Optimize size but this may cause error "relocation truncated to fit" #EXTRALDFLAGS = -Wl,--relax # Search Path VPATH += $(TARGET_DIR) VPATH += $(TOP_DIR) +VPATH += $(TMK_DIR) -include $(TOP_DIR)/protocol/lufa.mk -include $(TOP_DIR)/common.mk -include $(TOP_DIR)/rules.mk +include $(TOP_DIR)/quantum/quantum.mk diff --git a/keyboard/preonic/Makefile.pjrc b/keyboard/preonic/Makefile.pjrc deleted file mode 100644 index be83ba18b17..00000000000 --- a/keyboard/preonic/Makefile.pjrc +++ /dev/null @@ -1,116 +0,0 @@ -#---------------------------------------------------------------------------- -# On command line: -# -# make all = Make software. -# -# make clean = Clean out built project files. -# -# make coff = Convert ELF to AVR COFF. -# -# make extcoff = Convert ELF to AVR Extended COFF. -# -# make program = Download the hex file to the device. -# Please customize your programmer settings(PROGRAM_CMD) -# -# make teensy = Download the hex file to the device, using teensy_loader_cli. -# (must have teensy_loader_cli installed). -# -# make dfu = Download the hex file to the device, using dfu-programmer (must -# have dfu-programmer installed). -# -# make flip = Download the hex file to the device, using Atmel FLIP (must -# have Atmel FLIP installed). -# -# make dfu-ee = Download the eeprom file to the device, using dfu-programmer -# (must have dfu-programmer installed). -# -# make flip-ee = Download the eeprom file to the device, using Atmel FLIP -# (must have Atmel FLIP installed). -# -# make debug = Start either simulavr or avarice as specified for debugging, -# with avr-gdb or avr-insight as the front end for debugging. -# -# make filename.s = Just compile filename.c into the assembler code only. -# -# make filename.i = Create a preprocessed source file for use in submitting -# bug reports to the GCC project. -# -# To rebuild project do "make clean" then "make all". -#---------------------------------------------------------------------------- - -# Target file name (without extension). -TARGET = gh60_pjrc - -# Directory common source filess exist -TOP_DIR = ../.. - -# Directory keyboard dependent files exist -TARGET_DIR = . - -# project specific files -SRC = keymap_common.c \ - matrix.c \ - led.c - -ifdef KEYMAP - SRC := keymap_$(KEYMAP).c $(SRC) -else - SRC := keymap_jack.c $(SRC) -endif - -CONFIG_H = config.h - - -# MCU name, you MUST set this to match the board you are using -# type "make clean" after changing this, so all files will be rebuilt -MCU = atmega32u4 -#MCU = at90usb1286 - - -# Processor frequency. -# Normally the first thing your program should do is set the clock prescaler, -# so your program will run at the correct speed. You should also set this -# variable to same clock speed. The _delay_ms() macro uses this, and many -# examples use this variable to calculate timings. Do not add a "UL" here. -F_CPU = 16000000 - - -# Boot Section Size in *bytes* -# Teensy halfKay 512 -# Atmel DFU loader 4096 -# LUFA bootloader 4096 -OPT_DEFS += -DBOOTLOADER_SIZE=4096 - - -# Build Options -# comment out to disable the options. -# -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+5000) -EXTRAKEY_ENABLE = yes # Audio control and System control(+600) -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration -SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend -NKRO_ENABLE = yes # USB Nkey Rollover(+500) -#PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support - - -# Search Path -VPATH += $(TARGET_DIR) -VPATH += $(TOP_DIR) - -include $(TOP_DIR)/protocol/pjrc.mk -include $(TOP_DIR)/common.mk -include $(TOP_DIR)/rules.mk - -plain: OPT_DEFS += -DKEYMAP_PLAIN -plain: all - -poker: OPT_DEFS += -DKEYMAP_POKER -poker: all - -poker_set: OPT_DEFS += -DKEYMAP_POKER_SET -poker_set: all - -poker_bit: OPT_DEFS += -DKEYMAP_POKER_BIT -poker_bit: all diff --git a/keyboard/preonic/PCB_GUIDE.md b/keyboard/preonic/PCB_GUIDE.md deleted file mode 100644 index c3004c75a48..00000000000 --- a/keyboard/preonic/PCB_GUIDE.md +++ /dev/null @@ -1,116 +0,0 @@ -# Planck Firmware Guide - -## Setting up the environment - -### Windows -1. Install [WinAVR Tools](http://sourceforge.net/projects/winavr/) for AVR GCC compiler. -2. Install [DFU-Programmer][dfu-prog] (the -win one). -3. Start DFU bootloader on the chip first time you will see 'Found New Hardware Wizard' to install driver. If you install device driver properly you can find chip name like 'ATmega32U4' under 'LibUSB-Win32 Devices' tree on 'Device Manager'. If not you will need to update its driver on 'Device Manager' to the `dfu-programmer` driver. - -### Mac -1. Install [CrossPack](http://www.obdev.at/products/crosspack/index.html) or install Xcode from the App Store and install the Command Line Tools from `Xcode->Preferences->Downloads`. -2. Install [DFU-Programmer][dfu-prog]. - -### Linux -1. Install AVR GCC with your favorite package manager. -2. Install [DFU-Programmer][dfu-prog]. - -##Verify Your Installation -1. Clone the following repository: https://github.com/jackhumbert/tmk_keyboard -2. Open a Terminal and `cd` into `tmk_keyboard/keyboard/planck` -3. Run `make`. This should output a lot of information about the build process. - -## Using the built-in functions - -Here is a list of some of the functions available from the command line: - -* `make clean`: clean the environment - may be required in-between builds -* `make`: compile the code -* `make COMMON=true`: compile with the common (non-extended) keymap -* `make MATRIX=`: compile with the referenced matrix file. Default if unspecified is `matrix_pcb.c`. For handwired boards, use `matrix_handwired.c`. -* `make KEYMAP=`: compile with the extended keymap file `extended_keymaps/extended_keymap_.c` -* `make COMMON=true KEYMAP=`: compile with the common keymap file `common_keymaps/keymap_.c` -* `make dfu`: build and flash the layout to the PCB -* `make dfu-force`: build and force-flash the layout to the PCB (may be require for first flash) - -Generally, the instructions to flash the PCB are as follows: - -1. Make changes to the appropriate keymap file -2. Save the file -3. `make clean` -4. Press the reset button on the PCB/press the key with the `RESET` keycode -5. `make dfu` - use the necessary `KEYMAP=` and/or `COMMON=true` arguments here. - -## Extended keymap - -### Keymap - -Unlike the common keymap, prefixing the keycodes with `KC_` is required. A full list of the keycodes is available [here](https://github.com/jackhumbert/tmk_keyboard/blob/master/doc/keycode.txt). For the keycodes available only in the extended keymap, see this [header file](https://github.com/jackhumbert/tmk_keyboard/blob/master/keyboard/planck/extended_keymap_common.h). - -You can use modifiers with keycodes like this: - - LCTL(KC_C) - -Which will generate Ctrl+c. These are daisy-chainable, meaning you can do things like: - - LCTL(LALT(KC_C)) - -That will generate Ctrl+Alt+c. The entire list of these functions is here: - -* `LCTL()`: Left control -* `LSFT()` / `S()`: Left shift -* `LALT()`: Left alt/opt -* `LGUI()`: Left win/cmd -* `RCTL()`: Right control -* `RSFT()`: Right shift -* `RALT()`: Right alt/opt -* `RGUI()`: Right win/cmd - -`S(KC_1)`-like entries are useful in writing keymaps for the Planck. - -### Other keycodes - -A number of other keycodes have been added that you may find useful: - -* `CM_`: the Colemak equivalent of a key (in place of `KC_`), when using Colemak in software (`CM_O` generates `KC_SCLN`) -* `RESET`: jump to bootloader for flashing (same as press the reset button) -* `BL_STEP`: step through the backlight brightnesses -* `BL_<0-15>`: set backlight brightness to 0-15 -* `BL_DEC`: lower the backlight brightness -* `BL_INC`: raise the backlight brightness -* `BL_TOGG`: toggle the backlight on/off - -### Function layers - -The extended keymap extends the number of function layers from 32 to the near-infinite value of 256. Rather than using `FN` notation (still available, but limited to `FN0`-`FN31`), you can use the `FUNC()` notation. `F()` is a shortcut for this. - -The function actions are unchanged, and you can see the full list of them [here](https://github.com/jackhumbert/tmk_keyboard/blob/master/common/action_code.h). They are explained in detail [here](https://github.com/jackhumbert/tmk_keyboard/blob/master/doc/keymap.md#2-action). - -### Macros - -Macros have been setup in the `extended_keymaps/extended_keymaps_default.c` file so that you can use `M()` to access a macro in the `action_get_macro` section on your keymap. The switch/case structure you see here is required, and is setup for `M(0)` - you'll need to copy and paste the code to look like this (e.g. to support `M(3)`): - - switch(id) { - case 0: - return MACRODOWN(TYPE(KC_A), END); - break; - case 1: - return MACRODOWN(TYPE(KC_B), END); - break; - case 2: - return MACRODOWN(TYPE(KC_C), END); - break; - case 3: - return MACRODOWN(TYPE(KC_D), END); - break; - } - return MACRO_NONE; - -`MACRODOWN()` is a shortcut for `(record->event.pressed ? MACRO(__VA_ARGS__) : MACRO_NONE)` which tells the macro to execute when the key is pressed. Without this, the macro will be executed on both the down and up stroke. - -[cygwin]: https://www.cygwin.com/ -[mingw]: http://www.mingw.org/ -[mhv]: https://infernoembedded.com/products/avr-tools -[winavr]: http://winavr.sourceforge.net/ -[crosspack]: http://www.obdev.at/products/crosspack/index.html -[dfu-prog]: http://dfu-programmer.sourceforge.net/ diff --git a/keyboard/preonic/README.md b/keyboard/preonic/README.md index ee824d26e0d..3ba0cc15273 100644 --- a/keyboard/preonic/README.md +++ b/keyboard/preonic/README.md @@ -2,54 +2,29 @@ Planck keyboard firmware ====================== DIY/Assembled compact ortholinear 40% keyboard by [Ortholinear Keyboards](http://ortholinearkeyboards.com). -## Extended Keymap -If you include extended_keymap_common.h instead of keymap_common.h at the top of your file, you'll have access to a bunch of goodies: +## Quantum MK Firmware -- Use `LSFT()`, `LCTL()`, et. al. (listed in extended_keymap_common.h) as modifiers for keys (daisy-chain-able) -- Use `FUNC(1)` instead of `FN1` (etc.) to access the function layers beyond the 32 function layer limit -- Use `CM_F` instead of `KC_F` to get the ColeMak equivilent for shortcuts (maps backwards) -- Use `MACRODOWN()` instead of `MACRO()` to easily make a keydown macro (`CM_*` works here too) +For the full Quantum feature list, see [the parent README.md](/README.md). -### Some notes on usage: +## Building -- The `KEYMAP()` macro is unable to be used due to the bitwise modifications that take place - refer to extended_keymap_jack.c to see how to set things up with the `KC_` prefix -- Keep an eye on the Makefile - this needs to include the correct files to work -- Don't forget to use `const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {` instead of the 8bit equivilent - -## Build - -Follow [this guide](http://deskthority.net/workshop-f7/how-to-build-your-very-own-keyboard-firmware-t7177.html) to setup your development environment before anything else. Abbreviated instructions are provide at the [bottom of this document](https://github.com/rswiernik/tmk_keyboard/tree/rswiernik_dev/keyboard/planck#environment-setup) - -Download the whole firmware [here](https://github.com/jackhumbert/tmk_keyboard/archive/master.zip) and navigate to the keyboard/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex that you can load with the Teensy app onto your Planck (once you've hit reset/shorted GND & RST). +Download or clone the whole firmware and navigate to the keyboard/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button. Depending on which keymap you would like to use, you will have to compile slightly differently. -####Default -To build with the default keymap, simply move to the tmk\_keyboard/keyboard/planck/ and run `make` as follows: -``` -$ make -``` +### Default +To build with the default keymap, simply run `make`. -## Keymap -Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `keymap_.c` and see keymap document (you can find in top README.md) and existent keymap files. - -####**Extended Keymaps** +### Other Keymaps +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `.c` and see keymap document (you can find in top README.md) and existent keymap files. -To build the firmware binary hex file with an extended keymap just do `make` with `KEYMAP` option like: +To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: ``` -$ make KEYMAP=[common|jack|] +$ make KEYMAP=[default|jack|] ``` -_The only applicable keymaps will work with this option._ Extended keymaps follow the format **__extended\_keymap\_\.c__** +Keymaps follow the format **__.c__** and are stored in the `keymaps` folder. -####**Common Keymaps** - -Building with a common keymap is as simple as adding the COMMON option. Note that only -``` -$ make KEYMAP=[common|jack|] COMMON=true -``` -_The only applicable keymaps will work with this option._ Common keymaps follow the format **__keymap\_\.c__** - -## Notable TMK forks (which some of the keymap files are from) +### Notable forks (which some of the keymap files are from) - [Shane's Fork](https://github.com/shanecelis/tmk_keyboard/tree/master/keyboard/planck) - [Pierre's Fork](https://github.com/pcarrier/tmk_keyboard/blob/pcarrier/planck/keyboard/gh60/keymap_planck.c) - [Nathan's Fork](https://github.com/nathanrosspowell/tmk_keyboard/tree/planck-jack/keyboard/planck) diff --git a/keyboard/preonic/__avr_gdbinit b/keyboard/preonic/__avr_gdbinit deleted file mode 100644 index afc51e6d193..00000000000 --- a/keyboard/preonic/__avr_gdbinit +++ /dev/null @@ -1,6 +0,0 @@ -define reset -SIGNAL SIGHUP -end -file planck_lufa.elf -target remote localhost:4242 -break main diff --git a/keyboard/preonic/analog.c b/keyboard/preonic/analog.c deleted file mode 100644 index 49b84ee0e89..00000000000 --- a/keyboard/preonic/analog.c +++ /dev/null @@ -1,53 +0,0 @@ -// Simple analog to digitial conversion - -#include -#include -#include -#include "analog.h" - - -static uint8_t aref = (1<= 12) return 0; - return adc_read(pgm_read_byte(pin_to_mux + pin)); -#elif defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__) - if (pin >= 8) return 0; - return adc_read(pin); -#else - return 0; -#endif -} - -// Mux input -int16_t adc_read(uint8_t mux) -{ -#if defined(__AVR_AT90USB162__) - return 0; -#else - uint8_t low; - - ADCSRA = (1< - -void analogReference(uint8_t mode); -int16_t analogRead(uint8_t pin); -int16_t adc_read(uint8_t mux); - -#define ADC_REF_POWER (1< -#include -#include -#include - -#define PI 3.14159265 - -void delay_us(int count) { - while(count--) { - _delay_us(1); - } -} - -int voices = 0; -double frequency = 0; -int volume = 0; -int position = 0; - -double frequencies[8] = {0, 0, 0, 0, 0, 0, 0, 0}; -int volumes[8] = {0, 0, 0, 0, 0, 0, 0, 0}; -bool sliding = false; -#define RANGE 1000 -volatile int i=0; //elements of the wave - - -void beeps() { - play_notes(); -} - -void send_freq(double freq, int vol) { - int duty = (((double)F_CPU) / freq); - ICR3 = duty; // Set max to the period - OCR3A = duty >> (0x10 - vol); // Set compare to half the period -} - -void stop_all_notes() { - voices = 0; - TCCR3A = 0; - TCCR3B = 0; - frequency = 0; - volume = 0; - - for (int i = 0; i < 8; i++) { - frequencies[i] = 0; - volumes[i] = 0; - } -} - -void stop_note(double freq) { - for (int i = 7; i >= 0; i--) { - if (frequencies[i] == freq) { - frequencies[i] = 0; - volumes[i] = 0; - for (int j = i; (j < 7); j++) { - frequencies[j] = frequencies[j+1]; - frequencies[j+1] = 0; - volumes[j] = volumes[j+1]; - volumes[j+1] = 0; - } - } - } - voices--; - if (voices < 0) - voices = 0; - if (voices == 0) { - TCCR3A = 0; - TCCR3B = 0; - frequency = 0; - volume = 0; - } else { - double freq = frequencies[voices - 1]; - int vol = volumes[voices - 1]; - if (frequency < freq) { - sliding = true; - for (double f = frequency; f <= freq; f += ((freq - frequency) / 500.0)) { - send_freq(f, vol); - } - sliding = false; - } else if (frequency > freq) { - sliding = true; - for (double f = frequency; f >= freq; f -= ((frequency - freq) / 500.0)) { - send_freq(f, vol); - } - sliding = false; - } - send_freq(freq, vol); - frequency = freq; - volume = vol; - } -} - -void init_notes() { - // TCCR1A = (1 << COM1A1) | (0 << COM1A0) | (1 << WGM11) | (1 << WGM10); - // TCCR1B = (1 << COM1B1) | (0 << COM1A0) | (1 << WGM13) | (1 << WGM12) | (0 << CS12) | (0 << CS11) | (1 << CS10); - - // DDRC |= (1<<6); - - // TCCR3A = (1 << COM3A1) | (0 << COM3A0) | (1 << WGM31) | (0 << WGM30); - // TCCR3B = (1 << WGM33) | (1 << WGM32) | (0 << CS32) | (0 << CS31) | (1 << CS30); - - // ICR3 = 0xFFFF; - // OCR3A = (int)((float)wave[i]*ICR3/RANGE); //go to next array element - - - // cli(); - - // /* Enable interrupt on timer2 == 127, with clk/8 prescaler. At 16MHz, - // this gives a timer interrupt at 15625Hz. */ - // TIMSK3 = (1 << OCIE3A); - - // /* clear/reset timer on match */ - // // TCCR3A = 1<> 8) & 0x00FF) -// #define lowByte(c) (c & 0x00FF) - -ISR(TIMER3_COMPA_vect) { - - if (ICR3 > 0 && !sliding) { - switch (position) { - case 0: { - int duty = (((double)F_CPU) / (frequency)); - ICR3 = duty; // Set max to the period - OCR3A = duty >> 1; // Set compare to half the period - break; - } - case 1: { - int duty = (((double)F_CPU) / (frequency*2)); - ICR3 = duty; // Set max to the period - OCR3A = duty >> 1; // Set compare to half the period - break; - } - case 2: { - int duty = (((double)F_CPU) / (frequency*3)); - ICR3 = duty; // Set max to the period - OCR3A = duty >> 1; // Set compare to half the period - break; - } - } - position = (position + 1) % 3; - } -// /* OCR2A has been cleared, per TCCR2A above */ -// // OCR3A = 127; - -// // pos1 += incr1; -// // pos2 += incr2; -// // pos3 += incr3; - -// // sample = sinewave[highByte(pos1)] + sinewave[highByte(pos2)] + sinewave[highByte(pos3)]; - -// // OCR3A = sample; - - -// OCR3A=pgm_read_byte(&sinewave[pos1]); -// pos1++; -// // PORTC &= ~(1<<6); - -// /* buffered, 1x gain, active mode */ -// // SPDR = highByte(sample) | 0x70; -// // while (!(SPSR & (1< 0) { - DDRC |= (1<<6); - - TCCR3A = (1 << COM3A1) | (0 << COM3A0) | (1 << WGM31) | (0 << WGM30); - TCCR3B = (1 << WGM33) | (1 << WGM32) | (0 << CS32) | (1 << CS31) | (0 << CS30); - - if (frequency != 0) { - if (frequency < freq) { - for (double f = frequency; f <= freq; f += ((freq - frequency) / 500.0)) { - send_freq(f, vol); - } - } else if (frequency > freq) { - for (double f = frequency; f >= freq; f -= ((frequency - freq) / 500.0)) { - send_freq(f, vol); - } - } - } - send_freq(freq, vol); - frequency = freq; - volume = vol; - - frequencies[voices] = frequency; - volumes[voices] = volume; - voices++; - } - // ICR3 = 0xFFFF; - // for (int i = 0; i < 10000; i++) { - // OCR3A = round((sin(i*freq)*.5)+.5)*0xFFFF; - // // _delay_us(50); - // } - - // TCCR3A = 0; - // TCCR3B = 0; -} - -// void note(int x, float length) { -// DDRC |= (1<<6); -// int t = (int)(440*pow(2,-x/12.0)); // starting note -// for (int y = 0; y < length*1000/t; y++) { // note length -// PORTC |= (1<<6); -// delay_us(t); -// PORTC &= ~(1<<6); -// delay_us(t); -// } -// PORTC &= ~(1<<6); -// } - -// void true_note(float x, float y, float length) { -// for (uint32_t i = 0; i < length * 50; i++) { -// uint32_t v = (uint32_t) (round(sin(PI*2*i*640000*pow(2, x/12.0))*.5+1 + sin(PI*2*i*640000*pow(2, y/12.0))*.5+1) / 2 * pow(2, 8)); -// for (int u = 0; u < 8; u++) { -// if (v & (1 << u) && !(PORTC&(1<<6))) -// PORTC |= (1<<6); -// else if (PORTC&(1<<6)) -// PORTC &= ~(1<<6); -// } -// } -// PORTC &= ~(1<<6); -// } \ No newline at end of file diff --git a/keyboard/preonic/beeps.h b/keyboard/preonic/beeps.h deleted file mode 100644 index 378983c605b..00000000000 --- a/keyboard/preonic/beeps.h +++ /dev/null @@ -1,12 +0,0 @@ -#include -#include -#include -#include - -void note(int x, float length); -void beeps(); -void true_note(float x, float y, float length); -void play_note(double freq, int vol); -void stop_note(double freq); -void stop_all_notes(); -void init_notes(); \ No newline at end of file diff --git a/keyboard/preonic/config.h b/keyboard/preonic/config.h index cad269c9d4c..5528667fa72 100644 --- a/keyboard/preonic/config.h +++ b/keyboard/preonic/config.h @@ -18,11 +18,11 @@ along with this program. If not, see . #ifndef CONFIG_H #define CONFIG_H -#include "config_definitions.h" +#include "config_common.h" /* USB Device descriptor parameter */ #define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6062 +#define PRODUCT_ID 0x6061 #define DEVICE_VER 0x0001 #define MANUFACTURER Ortholinear Keyboards #define PRODUCT The Preonic Keyboard @@ -34,7 +34,10 @@ along with this program. If not, see . /* Planck PCB default pin-out */ #define COLS (int []){ F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 } -#define ROWS (int []){ D1, D0, D5, B5, B6 } +#define ROWS (int []){ D2, D5, B5, B6, D3 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW /* define if matrix has ghost */ //#define MATRIX_HAS_GHOST @@ -55,6 +58,15 @@ along with this program. If not, see . keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) +/* ws2812 RGB LED */ +#define ws2812_PORTREG PORTD +#define ws2812_DDRREG DDRD +#define ws2812_pin PD1 +#define RGBLED_NUM 28 // Number of LEDs +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 + /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboard/preonic/config_definitions.h b/keyboard/preonic/config_definitions.h deleted file mode 100644 index fd138b8841d..00000000000 --- a/keyboard/preonic/config_definitions.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef CONFIG_DEFINITIONS_H -#define CONFIG_DEFINITIONS_H - -#define B0 0x20 -#define B1 0x21 -#define B2 0x22 -#define B3 0x23 -#define B4 0x24 -#define B5 0x25 -#define B6 0x26 -#define B7 0x27 -#define C0 0x30 -#define C1 0x31 -#define C2 0x32 -#define C3 0x33 -#define C4 0x34 -#define C5 0x35 -#define C6 0x36 -#define C7 0x37 -#define D0 0x40 -#define D1 0x41 -#define D2 0x42 -#define D3 0x43 -#define D4 0x44 -#define D5 0x45 -#define D6 0x46 -#define D7 0x47 -#define E0 0x50 -#define E1 0x51 -#define E2 0x52 -#define E3 0x53 -#define E4 0x54 -#define E5 0x55 -#define E6 0x56 -#define E7 0x57 -#define F0 0x60 -#define F1 0x61 -#define F2 0x62 -#define F3 0x63 -#define F4 0x64 -#define F5 0x65 -#define F6 0x66 -#define F7 0x67 - - - - - -#endif - diff --git a/keyboard/preonic/extended_keymap_common.c b/keyboard/preonic/extended_keymap_common.c deleted file mode 100644 index 4fa80de7cfa..00000000000 --- a/keyboard/preonic/extended_keymap_common.c +++ /dev/null @@ -1,216 +0,0 @@ -/* -Copyright 2012,2013 Jun Wako - -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 . -*/ - -#include "extended_keymap_common.h" -#include "report.h" -#include "keycode.h" -#include "action_layer.h" -#include "action.h" -#include "action_macro.h" -#include "debug.h" -#include "backlight.h" -#include "keymap_midi.h" -#include - -static action_t keycode_to_action(uint16_t keycode); - -/* converts key to action */ -action_t action_for_key(uint8_t layer, keypos_t key) -{ - // 16bit keycodes - important - uint16_t keycode = keymap_key_to_keycode(layer, key); - - if (keycode >= 0x0100 && keycode < 0x2000) { - // Has a modifier - action_t action; - // Split it up - action.code = ACTION_MODS_KEY(keycode >> 8, keycode & 0xFF); - return action; - } else if (keycode >= 0x2000 && keycode < 0x3000) { - // Is a shortcut for function layer, pull last 12bits - return keymap_func_to_action(keycode & 0xFFF); - } else if (keycode >= 0x3000 && keycode < 0x4000) { - action_t action; - action.code = ACTION_MACRO(keycode & 0xFF); - return action; - } else if (keycode >= BL_0 & keycode <= BL_15) { - action_t action; - action.code = ACTION_BACKLIGHT_LEVEL(keycode & 0x000F); - return action; - } else if (keycode == BL_DEC) { - action_t action; - action.code = ACTION_BACKLIGHT_DECREASE(); - return action; - } else if (keycode == BL_INC) { - action_t action; - action.code = ACTION_BACKLIGHT_INCREASE(); - return action; - } else if (keycode == BL_TOGG) { - action_t action; - action.code = ACTION_BACKLIGHT_TOGGLE(); - return action; - } else if (keycode == BL_STEP) { - action_t action; - action.code = ACTION_BACKLIGHT_STEP(); - return action; - } else if (keycode == RESET) { - bootloader_jump(); - return; - } else if (keycode == DEBUG) { - print("\nDEBUG: enabled.\n"); - debug_enable = true; - return; - } else if (keycode >= 0x6000 && keycode < 0x7000) { - action_t action; - action.code = ACTION_FUNCTION_OPT(keycode & 0xFF, (keycode & 0x0F00) >> 8); - return action; - } - - switch (keycode) { - case KC_FN0 ... KC_FN31: - return keymap_fn_to_action(keycode); -#ifdef BOOTMAGIC_ENABLE - case KC_CAPSLOCK: - case KC_LOCKING_CAPS: - if (keymap_config.swap_control_capslock || keymap_config.capslock_to_control) { - return keycode_to_action(KC_LCTL); - } - return keycode_to_action(keycode); - case KC_LCTL: - if (keymap_config.swap_control_capslock) { - return keycode_to_action(KC_CAPSLOCK); - } - return keycode_to_action(KC_LCTL); - case KC_LALT: - if (keymap_config.swap_lalt_lgui) { - if (keymap_config.no_gui) { - return keycode_to_action(ACTION_NO); - } - return keycode_to_action(KC_LGUI); - } - return keycode_to_action(KC_LALT); - case KC_LGUI: - if (keymap_config.swap_lalt_lgui) { - return keycode_to_action(KC_LALT); - } - if (keymap_config.no_gui) { - return keycode_to_action(ACTION_NO); - } - return keycode_to_action(KC_LGUI); - case KC_RALT: - if (keymap_config.swap_ralt_rgui) { - if (keymap_config.no_gui) { - return keycode_to_action(ACTION_NO); - } - return keycode_to_action(KC_RGUI); - } - return keycode_to_action(KC_RALT); - case KC_RGUI: - if (keymap_config.swap_ralt_rgui) { - return keycode_to_action(KC_RALT); - } - if (keymap_config.no_gui) { - return keycode_to_action(ACTION_NO); - } - return keycode_to_action(KC_RGUI); - case KC_GRAVE: - if (keymap_config.swap_grave_esc) { - return keycode_to_action(KC_ESC); - } - return keycode_to_action(KC_GRAVE); - case KC_ESC: - if (keymap_config.swap_grave_esc) { - return keycode_to_action(KC_GRAVE); - } - return keycode_to_action(KC_ESC); - case KC_BSLASH: - if (keymap_config.swap_backslash_backspace) { - return keycode_to_action(KC_BSPACE); - } - return keycode_to_action(KC_BSLASH); - case KC_BSPACE: - if (keymap_config.swap_backslash_backspace) { - return keycode_to_action(KC_BSLASH); - } - return keycode_to_action(KC_BSPACE); -#endif - default: - return keycode_to_action(keycode); - } -} - - -/* Macro */ -__attribute__ ((weak)) -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - return MACRO_NONE; -} - -/* Function */ -__attribute__ ((weak)) -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) -{ -} - -/* translates keycode to action */ -static action_t keycode_to_action(uint16_t keycode) -{ - action_t action; - switch (keycode) { - case KC_A ... KC_EXSEL: - case KC_LCTRL ... KC_RGUI: - action.code = ACTION_KEY(keycode); - break; - case KC_SYSTEM_POWER ... KC_SYSTEM_WAKE: - action.code = ACTION_USAGE_SYSTEM(KEYCODE2SYSTEM(keycode)); - break; - case KC_AUDIO_MUTE ... KC_WWW_FAVORITES: - action.code = ACTION_USAGE_CONSUMER(KEYCODE2CONSUMER(keycode)); - break; - case KC_MS_UP ... KC_MS_ACCEL2: - action.code = ACTION_MOUSEKEY(keycode); - break; - case KC_TRNS: - action.code = ACTION_TRANSPARENT; - break; - default: - action.code = ACTION_NO; - break; - } - return action; -} - - -/* translates key to keycode */ -uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key) -{ - // Read entire word (16bits) - return pgm_read_word(&keymaps[(layer)][(key.row)][(key.col)]); -} - -/* translates Fn keycode to action */ -action_t keymap_fn_to_action(uint16_t keycode) -{ - return (action_t){ .code = pgm_read_word(&fn_actions[FN_INDEX(keycode)]) }; -} - -action_t keymap_func_to_action(uint16_t keycode) -{ - // For FUNC without 8bit limit - return (action_t){ .code = pgm_read_word(&fn_actions[(int)keycode]) }; -} diff --git a/keyboard/preonic/extended_keymap_common.h b/keyboard/preonic/extended_keymap_common.h deleted file mode 100644 index 7ccfa1b0393..00000000000 --- a/keyboard/preonic/extended_keymap_common.h +++ /dev/null @@ -1,181 +0,0 @@ -/* -Copyright 2012,2013 Jun Wako - -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 . -*/ - -#ifndef KEYMAP_H -#define KEYMAP_H - -#include -#include -#include "action.h" -#include -#include "keycode.h" -#include "keymap.h" -#include "action_macro.h" -#include "report.h" -#include "host.h" -// #include "print.h" -#include "debug.h" - -#ifdef BOOTMAGIC_ENABLE -/* NOTE: Not portable. Bit field order depends on implementation */ -typedef union { - uint16_t raw; - struct { - bool swap_control_capslock:1; - bool capslock_to_control:1; - bool swap_lalt_lgui:1; - bool swap_ralt_rgui:1; - bool no_gui:1; - bool swap_grave_esc:1; - bool swap_backslash_backspace:1; - bool nkro:1; - }; -} keymap_config_t; -keymap_config_t keymap_config; -#endif - - -/* translates key to keycode */ -uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key); - -/* translates Fn keycode to action */ -action_t keymap_fn_to_action(uint16_t keycode); - -/* translates Fn keycode to action */ -action_t keymap_func_to_action(uint16_t keycode); - -extern const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS]; -extern const uint16_t fn_actions[]; - -// Ability to use mods in layouts -#define LCTL(kc) kc | 0x0100 -#define LSFT(kc) kc | 0x0200 -#define LALT(kc) kc | 0x0400 -#define LGUI(kc) kc | 0x0800 -#define RCTL(kc) kc | 0x1100 -#define RSFT(kc) kc | 0x1200 -#define RALT(kc) kc | 0x1400 -#define RGUI(kc) kc | 0x1800 - -// Alias for function layers than expand past FN31 -#define FUNC(kc) kc | 0x2000 - -// Aliases -#define S(kc) LSFT(kc) -#define F(kc) FUNC(kc) - -// For software implementation of colemak -#define CM_Q KC_Q -#define CM_W KC_W -#define CM_F KC_E -#define CM_P KC_R -#define CM_G KC_T -#define CM_J KC_Y -#define CM_L KC_U -#define CM_U KC_I -#define CM_Y KC_O -#define CM_SCLN KC_P - -#define CM_A KC_A -#define CM_R KC_S -#define CM_S KC_D -#define CM_T KC_F -#define CM_D KC_G -#define CM_H KC_H -#define CM_N KC_J -#define CM_E KC_K -#define CM_I KC_L -#define CM_O KC_SCLN - -#define CM_Z KC_Z -#define CM_X KC_X -#define CM_C KC_C -#define CM_V KC_V -#define CM_B KC_B -#define CM_K KC_N -#define CM_M KC_M -#define CM_COMM KC_COMM -#define CM_DOT KC_DOT -#define CM_SLSH KC_SLSH - -// Make it easy to support these in macros -#define KC_CM_Q CM_Q -#define KC_CM_W CM_W -#define KC_CM_F CM_F -#define KC_CM_P CM_P -#define KC_CM_G CM_G -#define KC_CM_J CM_J -#define KC_CM_L CM_L -#define KC_CM_U CM_U -#define KC_CM_Y CM_Y -#define KC_CM_SCLN CM_SCLN - -#define KC_CM_A CM_A -#define KC_CM_R CM_R -#define KC_CM_S CM_S -#define KC_CM_T CM_T -#define KC_CM_D CM_D -#define KC_CM_H CM_H -#define KC_CM_N CM_N -#define KC_CM_E CM_E -#define KC_CM_I CM_I -#define KC_CM_O CM_O - -#define KC_CM_Z CM_Z -#define KC_CM_X CM_X -#define KC_CM_C CM_C -#define KC_CM_V CM_V -#define KC_CM_B CM_B -#define KC_CM_K CM_K -#define KC_CM_M CM_M -#define KC_CM_COMM CM_COMM -#define KC_CM_DOT CM_DOT -#define KC_CM_SLSH CM_SLSH - -#define M(kc) kc | 0x3000 - -#define MACRODOWN(...) (record->event.pressed ? MACRO(__VA_ARGS__) : MACRO_NONE) - -#define BL_ON 0x4009 -#define BL_OFF 0x4000 -#define BL_0 0x4000 -#define BL_1 0x4001 -#define BL_2 0x4002 -#define BL_3 0x4003 -#define BL_4 0x4004 -#define BL_5 0x4005 -#define BL_6 0x4006 -#define BL_7 0x4007 -#define BL_8 0x4008 -#define BL_9 0x4009 -#define BL_10 0x400A -#define BL_11 0x400B -#define BL_12 0x400C -#define BL_13 0x400D -#define BL_14 0x400E -#define BL_15 0x400F -#define BL_DEC 0x4010 -#define BL_INC 0x4011 -#define BL_TOGG 0x4012 -#define BL_STEP 0x4013 - -#define RESET 0x5000 -#define DEBUG 0x5001 - -#define MIDI(n) n | 0x6000 - -#endif diff --git a/keyboard/preonic/extended_keymaps/extended_keymap_default.c b/keyboard/preonic/extended_keymaps/extended_keymap_default.c deleted file mode 100644 index b52f60fd08b..00000000000 --- a/keyboard/preonic/extended_keymaps/extended_keymap_default.c +++ /dev/null @@ -1,70 +0,0 @@ -#include "extended_keymap_common.h" -#include "backlight.h" -#include "lufa.h" -#include "debug.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = { /* Qwerty */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL}, - {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, - {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT}, - {M(0), KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} - // Space is repeated to accommadate for both spacebar wiring positions -}, -[1] = { /* Colemak */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL}, - {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, - {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT}, - {KC_FN3, KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} -}, -[2] = { /* RAISE */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL}, - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TRNS, FUNC(3), FUNC(4), RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, - {KC_TRNS, KC_F11, KC_F12, 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, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} -}, -[3] = { /* LOWER */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL}, - {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC}, - {KC_TRNS, FUNC(3), FUNC(4), RESET, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)}, - {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} -}, -[4] = { /* TENKEY */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL}, - {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_KP_7, KC_KP_8, KC_KP_9, KC_P, KC_BSPC}, - {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_KP_4, KC_KP_5, KC_KP_6, KC_SCLN, KC_QUOT}, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_KP_1, KC_KP_2, KC_KP_3, KC_SLSH, KC_ENT}, - {KC_TRNS, KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, KC_SPC, KC_SPC, KC_KP_0, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} -} -}; - -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE - [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER - - [3] = ACTION_DEFAULT_LAYER_SET(0), - [4] = ACTION_DEFAULT_LAYER_SET(1), - -}; - -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) { - register_code(KC_RSFT); - midi_send_noteon(&midi_device, 1, 64, 127); - backlight_step(); - } else { - unregister_code(KC_RSFT); - midi_send_noteoff(&midi_device, 1, 64, 127); - } - break; - } - return MACRO_NONE; -}; diff --git a/keyboard/preonic/extended_keymaps/extended_keymap_lock.c b/keyboard/preonic/extended_keymaps/extended_keymap_lock.c deleted file mode 100644 index ec7bc776ac9..00000000000 --- a/keyboard/preonic/extended_keymaps/extended_keymap_lock.c +++ /dev/null @@ -1,81 +0,0 @@ -#include "extended_keymap_common.h" -#include "backlight.h" -#include "action_layer.h" -#include "keymap_midi.h" -#include "beeps.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = { /* Qwerty */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, - {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT}, - {M(0), KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} - // Space is repeated to accommadate for both spacebar wiring positions -}, -[1] = { /* Colemak */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, - {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT}, - {KC_FN3, KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} -}, -[2] = { /* RAISE */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TRNS, FUNC(3), FUNC(4), RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, - {KC_TRNS, KC_F11, KC_F12, 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, FUNC(1), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} -}, -[3] = { /* LOWER */ - {KC_GRV, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC}, - {S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC}, - {KC_TRNS, FUNC(3), FUNC(4), RESET, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), S(KC_RBRC), S(KC_BSLS)}, - {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, FUNC(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} -}, -[4] = { /* TENKEY */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_KP_7, KC_KP_8, KC_KP_9, KC_P, KC_BSPC}, - {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_KP_4, KC_KP_5, KC_KP_6, KC_SCLN, KC_QUOT}, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_KP_1, KC_KP_2, KC_KP_3, KC_SLSH, KC_ENT}, - {KC_TRNS, KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, KC_SPC, KC_SPC, KC_KP_0, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} -}, -[5] = { - { MIDI12 }, - { MIDI12 }, - { MIDI12 }, - { MIDI12 }, - {M(0), KC_LCTL, KC_LALT, KC_LGUI, FUNC(2), KC_SPC, KC_SPC, FUNC(1), MIDI, MIDI, MIDI, MIDI} -} - -}; - -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(2), // to RAISE - [2] = ACTION_LAYER_MOMENTARY(3), // to LOWER - - [3] = ACTION_DEFAULT_LAYER_SET(0), - [4] = ACTION_DEFAULT_LAYER_SET(1), - -}; - -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); - backlight_set(BACKLIGHT_LEVELS); - default_layer_and(0); - default_layer_or((1<<5)); - } else { - // unregister_code(KC_RSFT); - backlight_set(0); - default_layer_and(0); - default_layer_or(0); - } - break; - } - return MACRO_NONE; -}; diff --git a/keyboard/preonic/keymap_midi.c b/keyboard/preonic/keymap_midi.c deleted file mode 100644 index a0fa59990c2..00000000000 --- a/keyboard/preonic/keymap_midi.c +++ /dev/null @@ -1,110 +0,0 @@ -/* -Copyright 2015 Jack Humbert - -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 . -*/ - -#include "extended_keymap_common.h" -#include "keymap_midi.h" -#include - -uint8_t starting_note = 0x0C; -int offset = 7; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - if (id != 0) { - if (record->event.pressed) { - midi_send_noteon(&midi_device, opt, (id & 0xFF), 127); - } else { - midi_send_noteoff(&midi_device, opt, (id & 0xFF), 127); - } - } - - if (record->event.key.col == (MATRIX_COLS - 1) && record->event.key.row == (MATRIX_ROWS - 1)) { - if (record->event.pressed) { - starting_note++; - play_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[0 + offset])/12.0+(MATRIX_ROWS - 1)), 0xC); - midi_send_cc(&midi_device, 0, 0x7B, 0); - midi_send_cc(&midi_device, 1, 0x7B, 0); - midi_send_cc(&midi_device, 2, 0x7B, 0); - midi_send_cc(&midi_device, 3, 0x7B, 0); - midi_send_cc(&midi_device, 4, 0x7B, 0); - return; - } else { - stop_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[0 + offset])/12.0+(MATRIX_ROWS - 1))); - stop_all_notes(); - return; - } - } - if (record->event.key.col == (MATRIX_COLS - 2) && record->event.key.row == (MATRIX_ROWS - 1)) { - if (record->event.pressed) { - starting_note--; - play_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[0 + offset])/12.0+(MATRIX_ROWS - 1)), 0xC); - midi_send_cc(&midi_device, 0, 0x7B, 0); - midi_send_cc(&midi_device, 1, 0x7B, 0); - midi_send_cc(&midi_device, 2, 0x7B, 0); - midi_send_cc(&midi_device, 3, 0x7B, 0); - midi_send_cc(&midi_device, 4, 0x7B, 0); - return; - } else { - stop_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[0 + offset])/12.0+(MATRIX_ROWS - 1))); - stop_all_notes(); - return; - } - } - - if (record->event.key.col == (MATRIX_COLS - 3) && record->event.key.row == (MATRIX_ROWS - 1) && record->event.pressed) { - offset++; - midi_send_cc(&midi_device, 0, 0x7B, 0); - midi_send_cc(&midi_device, 1, 0x7B, 0); - midi_send_cc(&midi_device, 2, 0x7B, 0); - midi_send_cc(&midi_device, 3, 0x7B, 0); - midi_send_cc(&midi_device, 4, 0x7B, 0); - stop_all_notes(); - for (int i = 0; i <= 7; i++) { - play_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[i + offset])/12.0+(MATRIX_ROWS - 1)), 0xC); - _delay_us(80000); - stop_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[i + offset])/12.0+(MATRIX_ROWS - 1))); - _delay_us(8000); - } - return; - } - if (record->event.key.col == (MATRIX_COLS - 4) && record->event.key.row == (MATRIX_ROWS - 1) && record->event.pressed) { - offset--; - midi_send_cc(&midi_device, 0, 0x7B, 0); - midi_send_cc(&midi_device, 1, 0x7B, 0); - midi_send_cc(&midi_device, 2, 0x7B, 0); - midi_send_cc(&midi_device, 3, 0x7B, 0); - midi_send_cc(&midi_device, 4, 0x7B, 0); - stop_all_notes(); - for (int i = 0; i <= 7; i++) { - play_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[i + offset])/12.0+(MATRIX_ROWS - 1)), 0xC); - _delay_us(80000); - stop_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[i + offset])/12.0+(MATRIX_ROWS - 1))); - _delay_us(8000); - } - return; - } - - if (record->event.pressed) { - // midi_send_noteon(&midi_device, record->event.key.row, starting_note + SCALE[record->event.key.col], 127); - midi_send_noteon(&midi_device, 0, (starting_note + SCALE[record->event.key.col + offset])+12*(MATRIX_ROWS - record->event.key.row), 127); - play_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)), 0xF); - } else { - // midi_send_noteoff(&midi_device, record->event.key.row, starting_note + SCALE[record->event.key.col], 127); - midi_send_noteoff(&midi_device, 0, (starting_note + SCALE[record->event.key.col + offset])+12*(MATRIX_ROWS - record->event.key.row), 127); - stop_note(((double)261.6)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row))); - } -} \ No newline at end of file diff --git a/keyboard/preonic/keymap_midi.h b/keyboard/preonic/keymap_midi.h deleted file mode 100644 index c5917f884e7..00000000000 --- a/keyboard/preonic/keymap_midi.h +++ /dev/null @@ -1,220 +0,0 @@ -/* -Copyright 2015 Jack Humbert - -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 . -*/ - -#ifndef KEYMAP_MIDI_H -#define KEYMAP_MIDI_H - -#define MIDI 0x6000 -#define MIDI12 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000, 0x6000 - -#define CHNL(note, channel) (note + (channel << 8)) - -#define SCALE (int []){ 0 + (12*0), 2 + (12*0), 4 + (12*0), 5 + (12*0), 7 + (12*0), 9 + (12*0), 11 + (12*0), \ - 0 + (12*1), 2 + (12*1), 4 + (12*1), 5 + (12*1), 7 + (12*1), 9 + (12*1), 11 + (12*1), \ - 0 + (12*2), 2 + (12*2), 4 + (12*2), 5 + (12*2), 7 + (12*2), 9 + (12*2), 11 + (12*2), \ - 0 + (12*3), 2 + (12*3), 4 + (12*3), 5 + (12*3), 7 + (12*3), 9 + (12*3), 11 + (12*3), \ - 0 + (12*4), 2 + (12*4), 4 + (12*4), 5 + (12*4), 7 + (12*4), 9 + (12*4), 11 + (12*4), } - -#define N_CN1 (0x600C + (12 * -1) + 0 ) -#define N_CN1S (0x600C + (12 * -1) + 1 ) -#define N_DN1F (0x600C + (12 * -1) + 1 ) -#define N_DN1 (0x600C + (12 * -1) + 2 ) -#define N_DN1S (0x600C + (12 * -1) + 3 ) -#define N_EN1F (0x600C + (12 * -1) + 3 ) -#define N_EN1 (0x600C + (12 * -1) + 4 ) -#define N_FN1 (0x600C + (12 * -1) + 5 ) -#define N_FN1S (0x600C + (12 * -1) + 6 ) -#define N_GN1F (0x600C + (12 * -1) + 6 ) -#define N_GN1 (0x600C + (12 * -1) + 7 ) -#define N_GN1S (0x600C + (12 * -1) + 8 ) -#define N_AN1F (0x600C + (12 * -1) + 8 ) -#define N_AN1 (0x600C + (12 * -1) + 9 ) -#define N_AN1S (0x600C + (12 * -1) + 10) -#define N_BN1F (0x600C + (12 * -1) + 10) -#define N_BN1 (0x600C + (12 * -1) + 11) -#define N_C0 (0x600C + (12 * 0) + 0 ) -#define N_C0S (0x600C + (12 * 0) + 1 ) -#define N_D0F (0x600C + (12 * 0) + 1 ) -#define N_D0 (0x600C + (12 * 0) + 2 ) -#define N_D0S (0x600C + (12 * 0) + 3 ) -#define N_E0F (0x600C + (12 * 0) + 3 ) -#define N_E0 (0x600C + (12 * 0) + 4 ) -#define N_F0 (0x600C + (12 * 0) + 5 ) -#define N_F0S (0x600C + (12 * 0) + 6 ) -#define N_G0F (0x600C + (12 * 0) + 6 ) -#define N_G0 (0x600C + (12 * 0) + 7 ) -#define N_G0S (0x600C + (12 * 0) + 8 ) -#define N_A0F (0x600C + (12 * 0) + 8 ) -#define N_A0 (0x600C + (12 * 0) + 9 ) -#define N_A0S (0x600C + (12 * 0) + 10) -#define N_B0F (0x600C + (12 * 0) + 10) -#define N_B0 (0x600C + (12 * 0) + 11) -#define N_C1 (0x600C + (12 * 1) + 0 ) -#define N_C1S (0x600C + (12 * 1) + 1 ) -#define N_D1F (0x600C + (12 * 1) + 1 ) -#define N_D1 (0x600C + (12 * 1) + 2 ) -#define N_D1S (0x600C + (12 * 1) + 3 ) -#define N_E1F (0x600C + (12 * 1) + 3 ) -#define N_E1 (0x600C + (12 * 1) + 4 ) -#define N_F1 (0x600C + (12 * 1) + 5 ) -#define N_F1S (0x600C + (12 * 1) + 6 ) -#define N_G1F (0x600C + (12 * 1) + 6 ) -#define N_G1 (0x600C + (12 * 1) + 7 ) -#define N_G1S (0x600C + (12 * 1) + 8 ) -#define N_A1F (0x600C + (12 * 1) + 8 ) -#define N_A1 (0x600C + (12 * 1) + 9 ) -#define N_A1S (0x600C + (12 * 1) + 10) -#define N_B1F (0x600C + (12 * 1) + 10) -#define N_B1 (0x600C + (12 * 1) + 11) -#define N_C2 (0x600C + (12 * 2) + 0 ) -#define N_C2S (0x600C + (12 * 2) + 1 ) -#define N_D2F (0x600C + (12 * 2) + 1 ) -#define N_D2 (0x600C + (12 * 2) + 2 ) -#define N_D2S (0x600C + (12 * 2) + 3 ) -#define N_E2F (0x600C + (12 * 2) + 3 ) -#define N_E2 (0x600C + (12 * 2) + 4 ) -#define N_F2 (0x600C + (12 * 2) + 5 ) -#define N_F2S (0x600C + (12 * 2) + 6 ) -#define N_G2F (0x600C + (12 * 2) + 6 ) -#define N_G2 (0x600C + (12 * 2) + 7 ) -#define N_G2S (0x600C + (12 * 2) + 8 ) -#define N_A2F (0x600C + (12 * 2) + 8 ) -#define N_A2 (0x600C + (12 * 2) + 9 ) -#define N_A2S (0x600C + (12 * 2) + 10) -#define N_B2F (0x600C + (12 * 2) + 10) -#define N_B2 (0x600C + (12 * 2) + 11) -#define N_C3 (0x600C + (12 * 3) + 0 ) -#define N_C3S (0x600C + (12 * 3) + 1 ) -#define N_D3F (0x600C + (12 * 3) + 1 ) -#define N_D3 (0x600C + (12 * 3) + 2 ) -#define N_D3S (0x600C + (12 * 3) + 3 ) -#define N_E3F (0x600C + (12 * 3) + 3 ) -#define N_E3 (0x600C + (12 * 3) + 4 ) -#define N_F3 (0x600C + (12 * 3) + 5 ) -#define N_F3S (0x600C + (12 * 3) + 6 ) -#define N_G3F (0x600C + (12 * 3) + 6 ) -#define N_G3 (0x600C + (12 * 3) + 7 ) -#define N_G3S (0x600C + (12 * 3) + 8 ) -#define N_A3F (0x600C + (12 * 3) + 8 ) -#define N_A3 (0x600C + (12 * 3) + 9 ) -#define N_A3S (0x600C + (12 * 3) + 10) -#define N_B3F (0x600C + (12 * 3) + 10) -#define N_B3 (0x600C + (12 * 3) + 11) -#define N_C4 (0x600C + (12 * 4) + 0 ) -#define N_C4S (0x600C + (12 * 4) + 1 ) -#define N_D4F (0x600C + (12 * 4) + 1 ) -#define N_D4 (0x600C + (12 * 4) + 2 ) -#define N_D4S (0x600C + (12 * 4) + 3 ) -#define N_E4F (0x600C + (12 * 4) + 3 ) -#define N_E4 (0x600C + (12 * 4) + 4 ) -#define N_F4 (0x600C + (12 * 4) + 5 ) -#define N_F4S (0x600C + (12 * 4) + 6 ) -#define N_G4F (0x600C + (12 * 4) + 6 ) -#define N_G4 (0x600C + (12 * 4) + 7 ) -#define N_G4S (0x600C + (12 * 4) + 8 ) -#define N_A4F (0x600C + (12 * 4) + 8 ) -#define N_A4 (0x600C + (12 * 4) + 9 ) -#define N_A4S (0x600C + (12 * 4) + 10) -#define N_B4F (0x600C + (12 * 4) + 10) -#define N_B4 (0x600C + (12 * 4) + 11) -#define N_C5 (0x600C + (12 * 5) + 0 ) -#define N_C5S (0x600C + (12 * 5) + 1 ) -#define N_D5F (0x600C + (12 * 5) + 1 ) -#define N_D5 (0x600C + (12 * 5) + 2 ) -#define N_D5S (0x600C + (12 * 5) + 3 ) -#define N_E5F (0x600C + (12 * 5) + 3 ) -#define N_E5 (0x600C + (12 * 5) + 4 ) -#define N_F5 (0x600C + (12 * 5) + 5 ) -#define N_F5S (0x600C + (12 * 5) + 6 ) -#define N_G5F (0x600C + (12 * 5) + 6 ) -#define N_G5 (0x600C + (12 * 5) + 7 ) -#define N_G5S (0x600C + (12 * 5) + 8 ) -#define N_A5F (0x600C + (12 * 5) + 8 ) -#define N_A5 (0x600C + (12 * 5) + 9 ) -#define N_A5S (0x600C + (12 * 5) + 10) -#define N_B5F (0x600C + (12 * 5) + 10) -#define N_B5 (0x600C + (12 * 5) + 11) -#define N_C6 (0x600C + (12 * 6) + 0 ) -#define N_C6S (0x600C + (12 * 6) + 1 ) -#define N_D6F (0x600C + (12 * 6) + 1 ) -#define N_D6 (0x600C + (12 * 6) + 2 ) -#define N_D6S (0x600C + (12 * 6) + 3 ) -#define N_E6F (0x600C + (12 * 6) + 3 ) -#define N_E6 (0x600C + (12 * 6) + 4 ) -#define N_F6 (0x600C + (12 * 6) + 5 ) -#define N_F6S (0x600C + (12 * 6) + 6 ) -#define N_G6F (0x600C + (12 * 6) + 6 ) -#define N_G6 (0x600C + (12 * 6) + 7 ) -#define N_G6S (0x600C + (12 * 6) + 8 ) -#define N_A6F (0x600C + (12 * 6) + 8 ) -#define N_A6 (0x600C + (12 * 6) + 9 ) -#define N_A6S (0x600C + (12 * 6) + 10) -#define N_B6F (0x600C + (12 * 6) + 10) -#define N_B6 (0x600C + (12 * 6) + 11) -#define N_C7 (0x600C + (12 * 7) + 0 ) -#define N_C7S (0x600C + (12 * 7) + 1 ) -#define N_D7F (0x600C + (12 * 7) + 1 ) -#define N_D7 (0x600C + (12 * 7) + 2 ) -#define N_D7S (0x600C + (12 * 7) + 3 ) -#define N_E7F (0x600C + (12 * 7) + 3 ) -#define N_E7 (0x600C + (12 * 7) + 4 ) -#define N_F7 (0x600C + (12 * 7) + 5 ) -#define N_F7S (0x600C + (12 * 7) + 6 ) -#define N_G7F (0x600C + (12 * 7) + 6 ) -#define N_G7 (0x600C + (12 * 7) + 7 ) -#define N_G7S (0x600C + (12 * 7) + 8 ) -#define N_A7F (0x600C + (12 * 7) + 8 ) -#define N_A7 (0x600C + (12 * 7) + 9 ) -#define N_A7S (0x600C + (12 * 7) + 10) -#define N_B7F (0x600C + (12 * 7) + 10) -#define N_B7 (0x600C + (12 * 7) + 11) -#define N_C8 (0x600C + (12 * 8) + 0 ) -#define N_C8S (0x600C + (12 * 8) + 1 ) -#define N_D8F (0x600C + (12 * 8) + 1 ) -#define N_D8 (0x600C + (12 * 8) + 2 ) -#define N_D8S (0x600C + (12 * 8) + 3 ) -#define N_E8F (0x600C + (12 * 8) + 3 ) -#define N_E8 (0x600C + (12 * 8) + 4 ) -#define N_F8 (0x600C + (12 * 8) + 5 ) -#define N_F8S (0x600C + (12 * 8) + 6 ) -#define N_G8F (0x600C + (12 * 8) + 6 ) -#define N_G8 (0x600C + (12 * 8) + 7 ) -#define N_G8S (0x600C + (12 * 8) + 8 ) -#define N_A8F (0x600C + (12 * 8) + 8 ) -#define N_A8 (0x600C + (12 * 8) + 9 ) -#define N_A8S (0x600C + (12 * 8) + 10) -#define N_B8F (0x600C + (12 * 8) + 10) -#define N_B8 (0x600C + (12 * 8) + 11) -#define N_C8 (0x600C + (12 * 8) + 0 ) -#define N_C8S (0x600C + (12 * 8) + 1 ) -#define N_D8F (0x600C + (12 * 8) + 1 ) -#define N_D8 (0x600C + (12 * 8) + 2 ) -#define N_D8S (0x600C + (12 * 8) + 3 ) -#define N_E8F (0x600C + (12 * 8) + 3 ) -#define N_E8 (0x600C + (12 * 8) + 4 ) -#define N_F8 (0x600C + (12 * 8) + 5 ) -#define N_F8S (0x600C + (12 * 8) + 6 ) -#define N_G8F (0x600C + (12 * 8) + 6 ) -#define N_G8 (0x600C + (12 * 8) + 7 ) -#define N_G8S (0x600C + (12 * 8) + 8 ) -#define N_A8F (0x600C + (12 * 8) + 8 ) -#define N_A8 (0x600C + (12 * 8) + 9 ) -#define N_A8S (0x600C + (12 * 8) + 10) -#define N_B8F (0x600C + (12 * 8) + 10) -#define N_B8 (0x600C + (12 * 8) + 11) - -#endif \ No newline at end of file diff --git a/keyboard/preonic/led.c b/keyboard/preonic/led.c deleted file mode 100644 index 2c05746607d..00000000000 --- a/keyboard/preonic/led.c +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2012 Jun Wako - -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 . -*/ - -#include -#include "stdint.h" -#include "led.h" - - -void led_set(uint8_t usb_led) -{ - // // Using PE6 Caps Lock LED - // if (usb_led & (1<. -*/ - -/* - * scan matrix - */ -#include -#include -#include -#include -#include "print.h" -#include "debug.h" -#include "util.h" -#include "matrix.h" - -#ifndef DEBOUNCE -# define DEBOUNCE 10 -#endif -static uint8_t debouncing = DEBOUNCE; - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; -static matrix_row_t matrix_debouncing[MATRIX_ROWS]; - -static matrix_row_t read_cols(void); -static void init_cols(void); -static void unselect_rows(void); -static void select_row(uint8_t row); - -inline -uint8_t matrix_rows(void) -{ - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) -{ - return MATRIX_COLS; -} - -void matrix_init(void) -{ - // To use PORTF disable JTAG with writing JTD bit twice within four cycles. - MCUCR |= (1<event.pressed) { // midi_send_noteon(&midi_device, record->event.key.row, starting_note + SCALE[record->event.key.col], 127); - midi_send_noteon(&midi_device, 0, (starting_note + SCALE[record->event.key.col + offset])+12*(MATRIX_ROWS - record->event.key.row), 127); + // midi_send_noteon(&midi_device, 0, (starting_note + SCALE[record->event.key.col + offset])+12*(MATRIX_ROWS - record->event.key.row), 127); play_note(((double)261.626)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)), 0xF); } else { // midi_send_noteoff(&midi_device, record->event.key.row, starting_note + SCALE[record->event.key.col], 127); - midi_send_noteoff(&midi_device, 0, (starting_note + SCALE[record->event.key.col + offset])+12*(MATRIX_ROWS - record->event.key.row), 127); + // midi_send_noteoff(&midi_device, 0, (starting_note + SCALE[record->event.key.col + offset])+12*(MATRIX_ROWS - record->event.key.row), 127); stop_note(((double)261.626)*pow(2.0, -1.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row))); } } \ No newline at end of file From b8ac5095708b5023f5e3e375b22534f8b395741f Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Wed, 30 Mar 2016 00:45:37 -0400 Subject: [PATCH 16/20] .hex files --- keyboard/preonic/Makefile | 4 ++-- keyboard/preonic/preonic_pcb.hex | Bin 0 -> 76538 bytes keyboard/preonic/preonic_pcb_silent.hex | Bin 0 -> 53449 bytes 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 keyboard/preonic/preonic_pcb.hex create mode 100644 keyboard/preonic/preonic_pcb_silent.hex diff --git a/keyboard/preonic/Makefile b/keyboard/preonic/Makefile index 664aff73215..89c48e50a9c 100644 --- a/keyboard/preonic/Makefile +++ b/keyboard/preonic/Makefile @@ -139,8 +139,8 @@ COMMAND_ENABLE = yes # Commands for debug and configuration # 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 BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = YES # MIDI controls -AUDIO_ENABLE = YES # Audio output on port C6 +# MIDI_ENABLE = YES # MIDI controls +# AUDIO_ENABLE = YES # Audio output on port C6 # UNICODE_ENABLE = YES # Unicode # BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID # RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with MIDI at the same time. diff --git a/keyboard/preonic/preonic_pcb.hex b/keyboard/preonic/preonic_pcb.hex new file mode 100644 index 0000000000000000000000000000000000000000..5bdc190e1de86190b370691f51b8b3faa38a7321 GIT binary patch literal 76538 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 z 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�)cskPUS*{n@N<}LZ>iugt1$bk|#6dBRaAe{gY zl2hbT?H&e(q7gR)$1bl%HlA&FbR6&o+aT`eY;&MWgcZPT>?2$2!viFz`#c)ceULEo{Rz~G-9h&4g$R2IX%y>$xmNO+G}uS!{fq=1YU`-A1L z)g`o_IWIjJF5)rBGe_AM>(tN2BbKi{kI)UY`>B5NoSjN3uLJ+AuT}$ueQY{#D+Jr5 zf%zN5w9yRy8LXBEz2+bnZ|{By@T_1+DbFJ}b>xv28}C8-NQUrW8(exc5IuuL_q6>J ziKbKSidutzwr3up3*Y1|9*5z_iT_X;Ec;V!Gw0Y1xxuZH_EwNk>}X4S&$IFrgi~2tnLjqbo1ZiI>Or~@%OIz!9>c9W0rvBZ9u65o+d%&~Y(8EMkYx6z4L%3|Y#!G~ zCp~WLe88D>p94!vU}g@ps@?A7dLhFBvJ>BwI1xJ4X(bKMLIm)MrBa7va)LUIdH&t@ z?icB#?jAU zGI$oucO~P3xsu zca)RA=Lm?J!FX!-H%B9sHqxitYai*q4RHPur(8f*lc79AG(`&58;S*=J*MtPMu-zltOc_U#{e^`O@X8JTicsQ zZ!1s-sQM5_{y{S<V0h1zGe8E(9-nOU zsl&nWO6-_hYDduFJj4r!kUPQ-7j_p|Ibh2`~iN~!55sg zS=`W#5L~0*;$5hKm=)qFWdt})hVl&S9exI6c@odCw@o;fOt=ydg#^WBrKVxDM4{j?zxs(4eN&ovl F{||e2Y;gbp literal 0 HcmV?d00001 From 47b537c87fd1d2d7671eaf5c49f20bba40afad25 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Wed, 30 Mar 2016 00:46:45 -0400 Subject: [PATCH 17/20] preonic readme --- keyboard/preonic/README.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/keyboard/preonic/README.md b/keyboard/preonic/README.md index 3ba0cc15273..0c09466559a 100644 --- a/keyboard/preonic/README.md +++ b/keyboard/preonic/README.md @@ -1,6 +1,6 @@ -Planck keyboard firmware +Preonic keyboard firmware ====================== -DIY/Assembled compact ortholinear 40% keyboard by [Ortholinear Keyboards](http://ortholinearkeyboards.com). +DIY/Assembled compact ortholinear 50% keyboard by [Ortholinear Keyboards](http://ortholinearkeyboards.com). ## Quantum MK Firmware @@ -8,7 +8,7 @@ For the full Quantum feature list, see [the parent README.md](/README.md). ## Building -Download or clone the whole firmware and navigate to the keyboard/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button. +Download or clone the whole firmware and navigate to the keyboard/preonic folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button. Depending on which keymap you would like to use, you will have to compile slightly differently. @@ -23,9 +23,3 @@ To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` $ make KEYMAP=[default|jack|] ``` Keymaps follow the format **__.c__** and are stored in the `keymaps` folder. - -### Notable forks (which some of the keymap files are from) -- [Shane's Fork](https://github.com/shanecelis/tmk_keyboard/tree/master/keyboard/planck) -- [Pierre's Fork](https://github.com/pcarrier/tmk_keyboard/blob/pcarrier/planck/keyboard/gh60/keymap_planck.c) -- [Nathan's Fork](https://github.com/nathanrosspowell/tmk_keyboard/tree/planck-jack/keyboard/planck) -- [Matthew's Fork](https://github.com/pepers/tmk_keyboard/tree/master/keyboard/planck_grid) From 09d567045cb011b2fd7984cf3277b4875e677153 Mon Sep 17 00:00:00 2001 From: Noah Andrews Date: Wed, 30 Mar 2016 09:17:06 -0400 Subject: [PATCH 18/20] Fixed minor issues with Preonic readme --- keyboard/preonic/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboard/preonic/README.md b/keyboard/preonic/README.md index 0c09466559a..4a33a3e4e08 100644 --- a/keyboard/preonic/README.md +++ b/keyboard/preonic/README.md @@ -16,10 +16,10 @@ Depending on which keymap you would like to use, you will have to compile slight To build with the default keymap, simply run `make`. ### Other Keymaps -Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `.c` and see keymap document (you can find in top README.md) and existent keymap files. +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap, create a file in the keymaps folder named `.c` and see keymap document (you can find in top README.md) and existent keymap files. To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: ``` $ make KEYMAP=[default|jack|] ``` -Keymaps follow the format **__.c__** and are stored in the `keymaps` folder. +Keymaps follow the format **__\.c__** and are stored in the `keymaps` folder. From 3b703eff33963a5756b3e3f16019d6ddae8a7874 Mon Sep 17 00:00:00 2001 From: Miha Rekar Date: Wed, 30 Mar 2016 17:03:03 +0200 Subject: [PATCH 19/20] Tiny fix of Planck diagrams --- keyboard/planck/keymaps/default/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboard/planck/keymaps/default/keymap.c b/keyboard/planck/keymaps/default/keymap.c index d995eb9e585..988deee99d6 100644 --- a/keyboard/planck/keymaps/default/keymap.c +++ b/keyboard/planck/keymaps/default/keymap.c @@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| F7 | F8 | F9 | F10 | F11 | F12 |Qwerty|Colemk|Dvorak| Reset|Enter | * |------+------+------+------+------+------+------+------+------+------+------+------| @@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| F7 | F8 | F9 | F10 | F11 | F12 |Qwerty|Colemk|Dvorak| Reset|Enter | * |------+------+------+------+------+------+------+------+------+------+------+------| From ac3f3a85d571658fe2dcb98458cfd0c14e418150 Mon Sep 17 00:00:00 2001 From: Noah Andrews Date: Wed, 30 Mar 2016 11:36:35 -0400 Subject: [PATCH 20/20] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6a6bbed40b0..98573306793 100644 --- a/README.md +++ b/README.md @@ -269,7 +269,7 @@ For this mod, you need an unused pin wiring to DI of WS2812 strip. After wiring RGBLIGHT_ENABLE = yes -Please note that the underglow is not compatible with MIDI functions. So you cannot enable both of them at the same time. +Please note that the underglow is not compatible with audio output. So you cannot enable both of them at the same time. Please add the following options into your config.h, and set them up according your hardware configuration. @@ -309,4 +309,4 @@ what things are (and likely aren't) too risky. - EEPROM has around a 100000 write cycle. You shouldn't rewrite the firmware repeatedly and continually; that'll burn the EEPROM eventually. - \ No newline at end of file +
  • >Xm640R0W= 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 A3IG5A literal 0 HcmV?d00001 diff --git a/keyboard/ergodox_ez/keymaps/msc/img/media_layer.png b/keyboard/ergodox_ez/keymaps/msc/img/media_layer.png new file mode 100644 index 0000000000000000000000000000000000000000..a69799b0734841a23c2878699d1edba963353a91 GIT binary patch literal 75750 zcma&Nby$>J7w}DsGy)>sB{4{MNOwwybayw13ew%3A|)-2f^>JIz|bK>4*A`9Jm)!j z-uJye{+Mf+x%XZ>)?V>jd)_H4N};0=qQJnwpvy>$tHQt_NWj3r_9G(!pMbxfK7xTk z!LSk&Qp|W*Si4sc7BUt_Cw#zArB?C zczl>R)ZnjS!Co+-O48;&bGkB!2uL#DvtTK|A>xuFeMB>VG%()TiFj?}_XK`){#L|q zXm{o6w#u{fOMD892r2SJDw8|gmj~EqGIHkSN7P?9xY%&Ngxe4|4zqekig9aMw)XT4 z5E^m9{4hldCV2=G8?~icGAP{@@+9!1#&a!KxGy%h=7aQ-Prfu@YlMf&$w*z?=qUMK zyNlEHQIz3ca*y=h9bw)ajJy>0-@N#QyJ2`(=T5c$1HsV26kjyyNhk~i*RR&k2 z+)OK8WzEmw^o47?EMX!HU;?Y}a_xALIuL1KJZ1eY!<1r5{op$|xy@1d-Nba8y#q!4 zDHa2fUI!t>Aj*o6Y{9_4gkuV1c7!|Vc!2P#Jn-EhQM7y_65D5?7n) zozJ|E*tNlo-}pWuUVg@Uf`}6cZ{8uGg+SJUf*{Hh3a3J0B>gBZM4f^p6eCr%J_dCi z5%D>NGIat>p-AeeKRxEt*Rr{??_rx@^xsy9dE^*vJ>x(e5_QNOVMU?sHF zyddLz_k3rSukW9#vwy&u3h@qH&3UYxJ*vfl$NWY^Dm{l}w9S&154)8pGnz$WCVyeH zb?ds!x)n{59eFZX74a;>TzZ~4_I)B=lv&hX@w=`XaaL_QU;x z+!sy=)iA=L%j3J$56}@K0_iJ(&ne#&k*W5`aj~qCGhbi5CisF9oBUpygXR*;B=jnj zrptU)VU_xbjZ@IMUl7*wkJvgjgRp9d{pZ9CJaIzh{Cwj~IT;LEaph9ltnU`j%dl z_r6-)=4pIWwvJey(k5uFy?+E-dVX3}V^D*ILxntQ6mGAD~izzL! z@vxO*IbtU$xg{QpTjkN_$&cxch36@Cy?loE3{;hAJY@`TEVue-^=y^tD1Mc@3!fT+ znu*$&I*huBdV{(o&OB}`P9koG+EC_5PFwb?OrrFuEVFF548L@-w5BYkY-KNf|3$xP zUu~~IB2E9e8I@_csgEf>m>R4HW&@|KXZ7N&Z$nfdbn92^$#}SU*LWE8wTy#LQ5g81 zn$vSJC_Yt57)*SW_#uJxsY&8?e^q~RLWufHJikQxM7G4M4cV2N`dp>jC z!A;#Yh0lx+(~Y6Yy~)Rw-*siHWarIp=Cn_N(v-)PaL!8p-BibDpxvk~s|CHq6JsrV z9>wA@!7b>?g5(n_#(Y6Z%?Kd^q9=4jh8(vO;!D)i1!Jb}@vB8Y6gbn16wKraiV};6 z*%@lEYS_(*U94Q*dL=?#P_@HZ!*#-wllqgMC0Q^V>RM@6mFtuzl}DC)XnQQ=*zVam z+acLOZT;-z?6T+jW+mo1=a}br7Y=I=-8*=A_=(+~c;I@N@^SI7@DcFsJMXyB^84^7 z^9g&XI2kp&Hhrm3tmx6BTUuXwv^c*M)SQ3y?7WyXjPxC8yO*(`pum8Dp{JFPnfIxe zT5E$Bw|BsgDhR`m)E_S(3P<}#YiFouHa~RF8je6Gn+TRjdnj9&xDO*R_K?3ILJ_Bs znC%cC;F8Mht#Vti7h2fKfh^O7E?@cVd zwkRjkyk7B=nPY3zoHv63Q9`r4<*Ub1k+z73<&H9~J*H)v{EFYe)tfVq$wQ~Dh(p_bzIe&7V-@+KkKA#FQc?Wn!i0@k8*T{@y#Q za-4tqrsWO6n~5I1=sG+ZJn-XI;kNyYOykzoFq|$N209)Z78(*dup%ihw2MGYh@^;-p*~B_a(KRzN3)gw_() z$JXuBG?Pv{tvfzMXhejBUkOpuz7-`DHP(E#2pOKs*tOJfsIbMh?BmBAF3t#Wqgekk zE3p|an7oyo7La&X*OEA&wt!T(Z>eh=ZN2G=;ErbK-n2MjH9mKl-tFL~Sx}jv4{p~P zmDuY)&}mI_vMWiSYIPKZT)K|bXT2kWagAF^HM>lHFSAR2LkR4pb1lE8J$2aM-r$JFqgiZQgp}nYoSkB> zIC2+z(vzIJho6A|6+~mmHMlcqkXn;Y21TZnr^roM&v0+-u;R7Eb!?+>$J=Y^j-K`XWM;vkZ#@#?B@S_KlMW`Wm zV0r*1kPwyn)(!sK+dT^`8CWABQ?Ih^$1r>ncWt*H3Xt_PBbBIhDaY2gcXs%xd%mH- zUU-|jxfNQwo!W4+?IFM{ZQrq_Utt<#LWia8=X-;9V=V|_w3VodmUolS=TUDfZ&8b* z`*UK%%D%$Dz#&?xYq@GE$n%*v*s&OyIvAU=c-lDvks}O@fF~dD*3Qh;h}_f8*4~BB zQ;_oK6MVq?`;S4CCr@nC0haJB$Fg4Z!#LZkx zoUI&PtsLyh@B1|}c5rhQq@=tT^v~a4<23WM`ky3wmtWHYCJ4I!2K0=D74&~<=4xgB ze`$9A&0o!a&g(C60{5NqDO-7(*=mbh*_qk907Dbv;N%hbDds=l{BNNDYN_?Vmd{vu z+5g@2Utj&J>HSdnl$@>1fK|F*3!!HMp#OaK>v;jt{X+d~;r`l{pPvHTB7`CU`e%!U zP)L#n$Y5YZU}VHa)jeVNmN0$Q!I@ikpioxzb;+T$PcyRKU-1yrbF^B*?O(YoTt51m zcq<|iidT9g1A5wuuZu1!YE>w~d{z2FQ+f9C!Qpcm{bq5LID=f(k8;$LABEpzZ*duw znA%aQ-GYTy;xkxNi((J|wgf*rL@t04jTL#!pDOtu*{>)w;Qup9ENR$RltDns z75N|82ogLG{#<4e@)$S-2{`RNQ^Nnq1~vfW|Fi)})bYEVHq+EKybG7&-!{@6&SYd| zX#d=gcc|2OxMQ6W1njg&`Cg_&b_?~q3`ZvO>a`1iY?7Yzq&d9*k93yb|kyLo{QIc zJ+!vAR@%m<^cp%6@Ho?=v)0X~JU&t!&NTaK@g?tJi!THHMaw!k(?;y95B|3vu`GiM zf+^oE%6q?<9kCiIC_xe@BqGY}kTx*LLL=ehh!0WPt=ic=r>+f%gsrQ~jPbkj2L)WO z(K&y`dxIePD9(iDH@)j>ryv&KTpW5WAd~!{PT)wSTi^k{SPQZ95>2h=pL>&Y#xeB*~qd z`D$8_#nA9NsCOvbbf3FzYxv;k=={z(WKiIwR{K0IWtSLwQwpg|wdfNr&!ilKlk&d< zna>e=U0PK3(ZHM7XC0*y;zGmQFTx|pxN#mt*dpOV^`c3je2~U0?yK{=}}USvJ|oFy*1T%XbA^w8ptdZi7@1igB&Inah+V^F|w`0(Hi$4d^L z(js+grc9oG2>wA9$RZPuF7FxZ$ewKu6x7Y3+(~WGW$@VKRDSSsuV#drj*bo|ME2mx z_m8iK3=L_~-NmOdoU%in2d}S&gC6<0ZZ<|Y-3i~6gro`i@$&3a{(dA)UyyI-gmN)# zZ69t0!B?-CIt6S&$7S7kaJ&?O@d>vt%<-iiF`oF0G120hSie-zL0jM1&4;ZD;=UTA*8 z^W0-4?(#-~w%6IY(WmUJ=WMd^_{_nl)McT%x*6QqAQY2tzH((V_^iEIQHLtZrM5)! zpv|s|x9#BSz3<0^#$neX?dv3y4_9{cXKx3+4m8J4nh8@)#sw{g4*4c_NN4;eCy9mq zTLe{{Zp#B2#bpgDqH83*@uw>NBrnlPnSzH_a{MuS&o;WEioINdNe=Se-}CujbF%qf z;18~?gtoaSO9;`rBTPU4-G2S}ATlnBZ6`ZAVQ4v9=-k=|t$tvi@YTlJbmkTwGWV?J zc65x*WkUgyOmTcY>+iL9fTHbjRt^cKkz0R&xkBkP&6E_DeW&<5z$+-j&oaHG$|PX( znb5*%QW<{&sB;9h&!TxcrHD6NLY6d%?E0GuL#!KH@iq3`srHCfm@V6cS`*b~`(1oH z_f@+DOFs!M_ibhg6Xe>*nTc}bP}rkEpx!o9<_qR}j~r=Y&5VG#!C~?U=FVn8BlKo- z{h%kyW&G26k8q6cgH)J46PvEG(bVGJwbR353FB9U8&7)9D&w0OZw-dqPK~r7Yc!A_ z5#Osf4mW#80zBl0iTq25*@9xvF*62trP_Um5pv%S@OHb+q+OW~uX57rqkv~hw{tekl@3Qjx=a=6Vz%h3Cv(^>!#?^fe5byiv|u`$qcL}J zLpGq@z!ZBp)S?j9%Q}R<_lpmP5Xt;`*sswM^jSzR0ue1Gx|z+P@=tL5Ck%+}&K^^$i?yhP~beE2^dEFQezB%wT@1Om7%~mw?Ya z4M`A~XjJ@k>(+R@Fp_e5DW}pv$iNF}4S*`k^66aQ>bunt>o3zE9IO@c@zFbP7gA*e z_I5|!^=#{Dka3FS9p}$PHW(&R{BE~A4av8oG<=3u0Z1sRmcG`_E43cq-3l?<*YG;J zk^}2{lqcQQ*+wQ9uo@U#uB@3>rrvEhH1roWXb#l-QN9USYTJ~fU1YAlys9oXi^Ij3 zV=U!PBmc@a5wsoKT0K@q=T!e2L|&DY4@=QX`;%yC&R5wcpW)j7es5?Z7_-0Cea zipJg7S^uigp6C?Ml1LTVJOmjTfY;oRB3^}S91>?Fow-$w;^<$XWni~|w-@7*qc_+1 zyvzJqmI14O)b*iLw)FnA$9jWqL;phQiu?G4qD#H}h2fjG8+KNWPM^@M$`Yq&ndRhl zqV|?{$~?}}M|#&Bn)o$v3VA7$L+cM4CG5B3>@A%7@2r;FRCeUr=l+$VF`@QqIxu)33)wCX<*KGQNd0 zznezZZa5&Jlg>Y0baUgU{Vf!LfepA1c;1zHVJjT)j7-4eS@y8Af<+j8E7(Dcja3Lp^KG zV)VQ}bCqzSJ8z&7QQt(>&KN&oTem%Cyq(+7ygAFq$4fQIFI_tz0YA-~C|g z>z==TwZ`PN`IXMJt{ZpI<+y$C>PT2_LQ|@Lj-*cUZAuXvHlDJn^zEjC$ohJVXt2CD zmBtf}E(DdqTUP^DeKZe2Kiiuh3aJ;uS>{h| z8FR$*@4gRbTIeF3OH(Y^4z?ZSR9r<0iZ1p!UmN zr88MAu*+8mI&*$!y!x-O_I>tm9jU$SP4&o`!Q%^7nDGk|dTF%ZwATK6dyEBD+ue2wMd*KBU zB<5$vqf}Q)IACLCl=|ML9@P7Q-QtU`{YgZV*rjA8a(mOKrr3O^gc^N5TUulX4>xy| zj5(ibI&fQgM0<-b-^}UoUJ=*W^)L;!UoGl0PDP(qt~`|(!Ry_PUS^^~LE-Ztd)lO3 zROzd}<2DCz_Bt_BtL!A;E$WDHjR*05H;>I=E4g7cg`+&cb)ab8h4&1PB`H?$Gt7HTaNQnA!Ut??Jj$)1RT<06wTmH zzmWBJ{7lq#}YBwQ^9a*9b%fP?6?&Jh%T9B&g@kW`qDxyhY!f~*NWgeYl$<*G#BaxmZ7rSAnB zC7m+}5fYg!Zr=*kc-Zb*jJuVm+~%c6@%tc=`P=kKFX{dI8~a7t}t3Xh?e@p%H1JT z>#I@QYdpY6mZ%hD2KgR}YO@|^hQ1I6VG7-(EpjX_o*J_1(%z^w4l-v?wzW9M3GkFC zXBnKvv^egkLx$vr_$=`If;VXIwp$I8K@yYmpK|t`ydd!?UR$4?$FSZiu95lb9Bh}> zjR{qb+@;;h8gRm<9Jy2`^`fxsUlCAh2Dr3bTYesZEF{^0=X;XnOuoWHV$yF%lKTse zEcz<>G3HadL;AsF8D81RGKOTJ(&=uwM5Hhz*|{}TQ!%I>Lwl9qz!w?J{(>*XW>aG4 zeRWf%U{$psGwHE9RqM0sg~}CNm3-qIz2+@WXu)b*{5G4L)TEx(nRRBy0YP|j&T?|9 zzaWNyrS%5^Pv@x_Aps`t_BPduCex3;J%d@0rR4PhJbc#**3}LE!ZVvSuuo+(rxD6} zBc|rS3&ST&0h&A_ms3#*ns;vbIP0T)lyo)`t_OKH@3!Bc`ZTmsl)pJGdOUWwJ4mE+ zoi>3l<8Tuu{($@Tr1&uuI;Yh$~t^P{4%RqrK_H`a5?)S@N z@S?5+hHZO|?tawAIda@q(LH@S&U5HyGOu5#<$g-9RVZ(=WW)tyN#z~)+7c&u-mV{{ zj{-XE(T3Of@IQ8)_C6!tO7F{p2wRS(7L~{=$tmDdsGvT`B(MN)Ev49vM9d3$Cu&vV zDEO4wOg+J6C<~%*sXbkcCQVhv=rZX_Tk*Pm+dBs~mnm zr9o)Ore#IaNRaVOv4ZL%>1@obJ)|PcXsH0`fa!VM=otWXoxgR!PRwmNn9hDQavtX0 zq^`{*({Q#4{S+O$`I>)ZCQzK8nqyD|slFv?3Bx1&s5ifx ze@p~`28rKR9|T{!%j9KGEYna~`R6KHq(#Zs5=0_N)poxoVv;`2ooKtVsc59lHF+<3 zcY9;j0mJ?@%4_)b?|kfA0Km;|L7fp`kzm;3Y=7_WsGgudUdAX7~L#MAXNVmxik50k#~g=yi!LLH zJu-n$2G13yHv-P(#@;S8vIeJy9fVMqdz8`8_Ip zZ;!K+7Z>$L3YcSG6AO4MpB*eQMhl*$sB3Bt^u|UM#D@~?{^E9ki~MAMtmzf2gHTNa zfJ$8m@k}z@rA_DQj3KC0v+~UBG9Sn9c!+zTJCX?e1r-!w&}H+tYIHQf>D55%x1@RC z2=K}2zCl{YOJ*@#fnNR}%_}-Z{{QcYKV6&~!T<2~A3)dpG^znpb zz)G8#Yzk!k10enJzoiWw(nw!o_htY{bWq!c8Wq7+%eY+syCNah_DXyE1SkZFxJAI~ zTTw-YVyy$Xx1%@ZnMsD1fg-<^*xzy8C1nSvu3@bfe$Y$Q6HNEBK0&y?hn6{_{7+B4 zMZ{f7tcW?S6Vys+8ue;8|F)3dK(G~a*DnkT9tX(-IJvLD9VWUkQ_m`0vHZ(>Y#-qp ztF&UJY?fw^!-J~z+P(-fI7)jYj`E{4=&XT31$^``wH{IqC$ zkqVrssDDNx4ydds(<$1zc7R<9tI?~8Hasl@WiLh8Vy9 zUY4OqjC-$S9a3=h2Jjc}kuMX}bqB(2>V-0q$})^$(?$xOBrMgTGHHDj*%;2WL6?${ zcr%zSypnb;Zt)rt_W1j+1^JBijj+QIEbj#^ZILb)MtIM#8tn|xe>zjHOE+&y>kK&_ ztwTgaWOG<<>D|*h&45&Y;ORsAYYGoh9noW06X`SxS_D+ksK2lQQ%J&luUYN#ts{uV zFZ7exOcW9K@G(hzlh}-P+ET7f9fN|JTD+#GS{6n>Be-A>>#u`ii0p{|E!=oVo*FzQ z^BD(0l~&|9H9@61-xCfk__0!t&wwo>$S%NUjb6HbW5DMSSrs_&#gs31EfUJ1&I7ac zHZa_V^+Ku!^+`<7{sI_I3APfFZzgkGXleTrR%%{z^J2~A(CV93iCZk>u)y+cmHG`v zNK5TDAvqh+uDHdPSsRil0}MZPazhK5JVpifhI6D_B_@i5-`uQi%S$NV0Tbh`$UMTu zo&u5GI6uaCueXdz6+8kKas;5i9k`qX66Bt6^=G60*B4HVQXV>OzFt2RRh=UO-@y5v zUFIv>k!g>R6^cB?7U@6*AbpE6N&ze^!Z_ti8_az>JG+R3ge3O2nUsMdPw!>CF}6N` z=K14galTIjyw_6mKGklaMocS3VBiqY*p@{f@>Zk+(e@x$zf`0dC!fFZkpN|2AU@Fa z^f`m8La=+cwx%YXD4}*`DNH3`_=2(!pZFD75G9cZ2AbUu)83|yiT|b-11<>f<0*Up zv@hbBIL#U|IhIyX0)oV~0Ec$F{|&WTfR~pSo8P7DT&s^q1J3Zs+at&nbN-+RdHAnR zsy#nAS|VUc=l)vMHxeTiSX(uL<>%u5!KZicDq%HmW8{$vMi z@o$K2o^a@fOb-??_WXt-?@(qP4Xt)t4QNL`XuZWZ@HCo_k5O0ds;8J4uOM-P@%Y&+ zqW7uNzXibrks{hQSJs{yRQABhcf!p$LLp$QS)UnwT0GpN;}{!#g7K@T%dD1Y<*5cf zXTSM~<;Opc{R+#^y;B8DRtd~0Nn{X#&O4iK)HD$nH)gRYeraXN#yynkNzCW^K7x=_cCxskPwA~+pQZ!U{PzGa=jXyO z01Jat<7b#Uo)fzAmUh5Zv{cCSF z#n%8`{~b4x2a2!(8WuNZqWib;|J&GN{V0bK#a?+#@=)rZkA6ipL8d@~k2=4n{y*J) z(*+Jy8#CXd-xlrXV|_r8PewA@?zf%zY10~j5%}u5QWO8}M*j((;;;el6G6K02iym= z+5spfUi@@#e~y8g3hVJPW3i6^nX0rTP}pPhwhjLy9Dspq!y~6( zUC5*Q{-+r7n0rfLdNTX?Kcn_#6jAPKkdXS)O3n%#>U&q&8k6vPJjZH^gZ&@gC;I4H z8nbkvf&uncI?z*_R}~kWKEhiJlBfJ02PYCQ#o;O4+}!f4%>U8&SJZ&}i;+!lp&aE7 zg7wqQtiu)|SN#^jJ{$vhbB zMhonhsVaX*Pqo>TT9*+)O~5QzD#%zHKp>DNa8D9sC+V5_uVx~8u(}nnpUlH`2eozI z=Tq$PcE1ix22{?ogo8;joVhb6F)68kxz(qfp(I-9Qo6st|Nqs6_IudarY1fMj;=E5 zz+lSJV3_=o6PV7uNt9VOG#xXu!U!^9gXuEuc%2-keY@LhXtmd|xi(i@n|5W5SiQ& zSmIt8)GUgan2z39s=}h8?uSnY)47$>($XHy4>K}akx|Z@N&;m?<&cMe>)%I}KpQS1 zxkLeq7;o51T$xq|AGE-ZDwCe|i=(yi>FJH;Me8)B3?7QK2mjE_4s#$n`pdsq1F=9H zq14$U@*om^_ukhJaWXd8CyEq~&5jB7nd%D)#6OglN(4we>|Z~7U%9V+!%Fkh%|gTo zVkHrzxF~LxlpikE{B+Ng2Zam*#8G@IoWIz=dD2#ZqH{{>=mFTo{ z`hNAR1D0vx;P!VF)7{xAViaJl!%WpyR!y2abD-ro<5^){Bu(z0Um+@@$7W3*FIJBi{=kHjCcmjZ_+G>K9*Z1OMv69%0Sz^|vpuRXYMo?MJjT$^nx5^yfT z4&d6o(bn#$Hgmaw&$A40f`IkfhJ8EN_i&aEZGN`OL?V4qT+y5TLwm=?k-0j*&eX8+ zir@K?2pVS@*jz07GIkS4rlx%xp=;Q%2-nQ_u?sqMHEqb}uv|-+9N`FfM74<&m$wtPt4)MdsFJ7ujDpRvcWI`j5jGl0yb6il6=M`2e zJeG_k1ank522;jbNMQ9dvb78RGVnp}LF9Vyjzb%nHTqXr42+ENL+RW&SVxLg2z)fI zwS-%%N&y>oWJn5tCV%`4iZ9|cU?*D`7yyCA`Tnx%y|sb+GcbBJW|t8=P){JvabE3u zIOY=d5Eg`7P+RoVZJEMay6X6Or(c^t0T~7nAu;QLJkT5Etu1b9Y`s6IKgWKff4uId zdfCf5w_GhRDb5nAMYo`2#{_DS^3&zJcJr~E34iEkuiI9AL;CFk2;K-`g?!Z3QVv=_ ztuS~K6IH^F?%O4_&*=!DM{C`Yt)x$x?5a)rC`$~ro=VvN=tPjq z3Mi0Nly<6Iu&_bY9T=Dfi>BH2eO!cn>{^ke zlXdIQi4q{y;4Jz}-y^lQyos#gnWF>72`@d56$bP$OJPKRg2&^Cy+rDP#n zYgc`&25q(^NX$(w#;tAg*6WeXk*ew$hfEkV=`$O1R&jLSqtMfKOV`^};xnLcCX)L< zSPT?)AgB<2AWgzIZDPvc`J&AZaqILMFzcRTA6%9Q%hsYPB~7E}ZPNH8sv#sGR>V>g zEBe)CeN&FHP|IUFq;DEhT_@#NZVyy~J+*7h706`gnoF&vZ00Lc09&(%^{r-x47}xk zrlGFhyV&S*6T5|=S^^zwnd6)D9(t^AP``)+^XqrdQzd=Fx;PO)10g^!>d4>qtduz44uCwEYTDGYW2LvtdELqH&L^|%lgGt zeKPNqjQG*x4^_oLZVZlILT=7Xz(@t|gXQgW16yZgS* zm?87&E2WT{W8L`pEN{yOPQzzP%H}|rU5Q{zIyTrnVxU_I>kDLXV#dMh23(6cU!Use z9^)}q`llvCfLxzVk#BZ&S3I)~U!r&@vZj@fP4bM2NN#@f^h!yBhl z$21VnxJcEVj<}g&XT=1%nwXuc}$o-czYZ5tuBoPy?-d}Pq z1(aS1d;P;;+lG*#vMsDi2(A^C^-}&&vMd%3){d?S|IvIz?{0jNN=U^N$GIO{5GGD7 zefD*1+3dLOtH)E-t)58{y_jyV#pP|1H_V}x`26UGd>#Q+ld^WL3!jQy&id$}Um*wM zylifRjs$Ek1NEF%oUJ&HurHe>U6y<9XCvqW;UO6TQafFr zNnm-G6r}-=9|%IUy@{yiG(3`BOGrOImE21OO{u|fMEz7 zUG?URdZW8)+x0=>N3;Z903^Rr&B1KFIN-R>$u%*7#jRIo?o2TajL+;;JhZwEmKYE(RWawq` zR$iA)^?-q^?m6Wvawrw;z;J4~yi4j?>rAB{wXT98H6hN!HxSc?ZPpizL803|rjrqb zeb0_N(HUuk&xNd570jJcB&D|%;uZX2KE6gl0Y92xEiPKNHOgcD{+5t;WzxCC&E4^7 zNrO##FX_BgH0gfxt#~a*EoQ<1sJ+Dnw?NS6EELFpclW5ckr6b1O=XciF~diuW7>yu z0g~9~LK}acC^LmyW!GCL|G1hTEv;P4#`-~WP}cLJheKt0CH5`Ft(_C0Ins(pH>x*X z=xp5_USlQg1Rp$>4lFWbO`YZKVp7#W@r$tRnb3IDg_(zuDU<`n!jzr-^<(=6bMB*E zqRyr_^@VZ#w3_By^6Y{~8kq?j4Z@h0?f>M>D9G2FlA|jh*H`Y1_>D?Jef0Qhv?_UG zMWEezV*T=NBRKJ$)C?<5kL*)=F`>J-tI_xpr+_YHLx3iZ~lo&GG zYLO7BhK~FsJmFdcoddfha~!6=z7gIzqy2g;%?dP_ZmovxY^CLp_Xb+JuWCBMF4ih!XzO%TA z*Lxjrc!8=4=wsmOmo(?SE0g=;CpZVYp2eet&9VZiV9b&UYi$wZ=X{jc@-L~}-(XCL z)6&(eL@%UBOJj`1*jsX)kCO7%Is&)aP7YTL0eZIy9ge6I`vgR(V;s$$4K@a8Y4cJR zI~t+)q4~eAHtLUQwp;v|}nH*?;T3*#v`S zw6#-#+M6~9-=U&E_a1|x{jH~X2P2%f%2r56kauG~x!rti3A^WLe117}hoOBC2mk^e z-p4;SZP#w@u{!Apwyks!pEfqHD6`!*wvs3feR5$;g^djgoM;^|5FDsfZuQ;M0U$;z zH4NDWyR$PL^uNz_BhpxAu`q04tFC-eO3;$QtLt-bNDYLNrHSB>sagIaII=CK+BiXz zsP_r#rf*?eg3q!^{Q+Zq1;grjZl5rR;^7Hv~?qB4IdaP z^db`>WGJwCzq8L%_@>|&SGtd-gKUxS`#lE|U%lRGKQmR)*xuYews+te6RT#go6-*- zoYTf^7e9@aaNa{%?N;wP!y5291D|2rkbD}>vht0XS1yI&+kG8s_TgxUxhhfwXDY|Cy0HK zC5ikxy`eWR)uDIww7IabT6<&DfFb$yZS?i`+fvHuRfd1{`WgG<{;ytRD~xC*ITfA) zS0Vv>qn-1UEey#giC;!1&MZ)TQE(p4I0gJjP>ngb{!S^2;F#TtRW$aDw{<`8-z;F3 z=G*3#tnT3{o7dZ~?1SQbaVTLIUcj;c*3>h)+_#1%QP_qGF&cP)J11x!9dY_p*od3KSE%NPN`YkTZpRgzB<^A1p z^TzmpDk6VB0S5x4|0srm=|e^%70?p8IhinZj~%n)EKf84Cod+K1}Y$kCAEEwaDG4q zWSko`EtwPEF`6r82ILNH$Ptzz1wf&KW9XlY@ggxmwFXtyDqa)el9n~cp|pkz4p|%} z!>OBKe186EI+tBsX9%Vg3uMvd=8ZTA`Ty2bM7hAhpe#~^8}=rSW^^?24Z+`g6j*#; z4^nrEd4eE7C2~wKf{XZ2^zT{yy~MwY99+M1(w{pp0;I4<@+vV{f9?lX@BKY>dFuxk zTJ>nb?gx#V{hxy$lrzW-$r%_JG+YA|WQnaC?N_r<#+L*4q{1nj*9O&%LtL;Y1?xu~ zfC@p0Z@*eq0eA-}j?FcDRC3asj!BULzDWE3(FG$aC%LMo=4Qm(ltctaWdv`mmnW&D zFHF2J98P@o3a)Qx==4RO zRXjmCMILM{IuRF-S7;(EQ9q+bTS~~UzK;-XKiy*ie}WpI45J9B7O&N3c7#Wdp71&s zOioVnh`s@W0vRVwfb)W=MY z)}bf0St}cw>gqgx`Lj9(5g*nX*yB#_&HXL*=&-b|uC5tCo18Cx7%9;SEWalM>RbSd z*jB4%cRJv7KjGBfL=g}rhX=NkEs(fN>^BS}S};U>?I~J7Qf_Tgb=Y=gPyUv0+PNlI z>ZbQNdh_Ry=WsrL=YL~Uzn3X2NW!au#TYtcD+pyJ3sOe~xO5%;l?wu}9Qz$X@cLm5$sCNTgjv81gOu-nlUlKS9A zw`wm>xS&G-Vu0gD)A?j@K;& z2)WDJgk4x!R=aje9vGr(T{%k^NCsu2t$_ysHb^FvR0 zZ#|uyhB*67o+q7^6nF3E-b|i%B>mje;-~j=%V%JUb%qUASm?oK1A;0i(Dht>L)BRk9j_94gMP<&ME+zMgO8^;M~Y!+@LP$r`d%2W6P?BRgT=b>UHeY z(|*Qrfw~WV;BLY`PT1J5ySt`yv&1FdpQOXO-*L1VvV7mL_Tm-Le(b(if9&SjjK&Qc ztGR>GuM3TY_#WVc$1@BE+E@6WCq*}_o8z}rH)B@BZS2gkxnJm47lL0f?1(qVq0>ln6m}zBm+}e4RoNZeCFyL|sb|J42_CkD*^` zb#P@0M@DO@A_S$6&6lVHeufY@3m!N3_3XwyGK|GoY%j8UjrGqG8WB(RtymXm~VP z+^Y6UjBc`e-|Y2ae;4m*(Sel7Caq$}mwi3)&9r~e$--@ui`lsh4-*xwMt>DV*2>;8 zW(U8hzb+mE_NaVqmNOW;QqPnC7a5bH&oRv{?Nf*CvDPL$uMR9;ZtEe<;N!mzB_-DD zL)`QVSjEDKn|gFGxZx31s{yX`hoVq^j#Pa1jZ=bq?(|NHI8 zQMx{@O`3!D5em4^e!}R31|0UpdGC7y&N!2e5F!m({{z2q;I8O8ZbZy@I&JzTxzR&B z+`~9PY>c zEX&>La#aI^gOjR@^p$H`nar2=2ZZL7=Kw@;3ZXsL?Rk?LxWE4dNO*uBc*OuX__E@- zCkwK)~x6(#T2bGcI-?%pR8 z>k`Gcs!Y4?!n+aF@g~;6gBjkb>li89gV}nsZHks%xY|ND*aXW}k@n~P^})0laa6kv z%!!N78rj4w(zf3<>=bac-*|nvJ+<*dEDSkQPh`LP86|FM2OcJ5*=fBJslMkHJIK=M z+zyZJ?74qo-fHong=Nk`@$P$!!Ns9X+p%Qw>5c6I(bpkO2T^RdA8Vs^_Rz1s96>Rs zJ<}dcD1Q+bkFW2|zG9XqC;6lUiZAC3aZz+Hx1QGZ+*4wcV)RdWN?8;qy~$xVCz^Vp z-owRfo*wmvR|4!@W)?P=T*7Poiu&Ms7+vk8D;kVfKsv9cKDdW;U(w2W0NbYK9caV_ z$AI+_+@@;7y>&DC7M&07LSmvDyZm`BuuPV#^y^*W z?~9+G-QQ;j1FenZ+N^E%Z4|mEB%h560pWvT$`Y&iOacS9Wc+Sa$1b#*er?DBAGwn1EL6YkfaGR(`^cxgy*$GR@PEUV>> zZ76KWD0lD#p>u%K&O7#kxXt9+NUfjRZOxPVkZeC`IO8B!p|5|1}N-FRfhrmbP?BU^;~wE}0nF>f<_R>k0C^Z<$z ziEtm7wPAnb|H>^P@!XI4+qq93a1l=uxII?T)HGirkaN=Gu@{4bL))9x=mH*@C?2R< z)FVrjHjn4)n5-u-y03YvHNFoA6y6+z#o>0X(} z60P4LPRK{SQ<{|k3y;JTP?J2vlYhzu1Ohdh(+!nlE&Aq$9?6p&DLc&O)@9J##nWqd z_C@=;MNXf_$uip&gAf+?8LJi6*1LIagKbWe!=D!B=SwTPus4i z9*K#-4a_U@AN*=H8y6l=*UuT#b} zYzdpVG}?|)>H42(uSRf8d;%LmR|}YnxcWp1h^%8mM%q=o-!$}J{(tPfWmr}1`u0mH zppZ7IiTXKEwK1FR3-bCE0bfM$%vHAJWtvqxk8&wtjwZ= zyzS;RX@$z45rd{OVc=%8Em9SO9{FuLPQbZrDi+^ASOS`~ba&&O?6H;WM!TotvoTE# zvaz$nI*yl4|IXU*8aQPy?O!n0l5~7!J+ee%XQg_kY^KaoyIo`6l*g`ff4UxIwOiqE z*VvtAc1ZBJJ@}HlhojOvyTavS*L1Xl%HE55h?$hO3=E6%x!F|sDz>_aIo#8Vv%RLm zNzPcvrf-q5LU|+WF^WBlHv&~!`lwyNAyuYzUz{MMk)t6g-y~lLekd*q_oTYL@zFAi z^Zau1)_6P7Uhz8SAISya`zCJ^Yfd8SseJ)tZMM|LjD*}Pdl7JAH(l;G8xm%2WP`<@ zfeb-=WASweCz0%?2*q^<02@t;#Y^B8JXlwVx^2>WIr^R``g!GFCNXm>4GUhsL#iw# z`O%PTYr4(3rcCep#Zr|ZX<)^aje(}teKD4h%b?DN#VqM4b_MbhF}>4xu}hWlLaKuX zxlY_Lfke7+Kp9`+CANJY64}3J0bpkl4m5SRDpZJBxMppR(wBP>{sYb+LIOFMv|gOZ&CMCgk1KN0Vq4c%yzE70D>9ua$0mDH-SSE8=uGo#zLJVe9RBDq z^aW>UH1YFiC3~$^JNW;QB!CM=_eZ_sveBScqU&fH(~QppY(QFYmQuR->t%<~h@JA! zk$A1wteqW=Nlto=3`AZ z+k@5e9GnuOsw^~G#92mEUK&79e`Ila60Gc$WzGy4pk7E#T;y(J4CZ=b0BZ+nlO)bOf|n0T}p+-1z(|E(l7c-MP#96!UK*}hUyQi%xaSL#kI|#x-mTW z2;dHXKnZc~|GXW1R}IPvdo_?o&GA5aT6Rr36#jDO zp#paGCgV-?c--{}@3^YK6J5)7tIzGtjRFac8rRTHJhHc!;0IJr0~a$Q<|NBWyk86G zcB5roC04OBsPRP_vtxkJ0Pvvfbhz8{OmBp9PGKMfPGC;Ax)y3;L5oQ62iv&wSRIJS z=FKp+FAi{SjO!%HVno|xnmXH%Rf{k19a;%nC$lZz9i3aDIG>8VE3nb39Lt6T)Q`yH zaktUAjR&8!DLfI*lI_=;N^Pg$#jHKtUDRlq%c?vMn})pt=iZ=>0!ov4*X^Cl!vmnq zwlxc9v8@WJXKaljV6D@)`bzOjh*AJn?)!q&y~Pv5nO{q0ZfWt!%(=?Z`-2isugrc5 zD2+tuKG1TnXU=KL%_m9jwxp1K%x-^pRctXFufeH$1t=K~Mhek5T(S+N0{IOJykVGJ zoGSb}S;sBE`n&LvmRp>QF>rr*1p&DOBI{eKfGt<0nXmv7xZjcIe+87GP~rI7AFSv2 zZ8=t-D(HwA9Ok&hsc4SogxzgFY+jjpk6(nAg>7H&Zt}HMwV-qzj-t97dS~l**LlDI zagE~M+Q`=-P0YzZv?f^^=-o!kG9*(4?(ti`xd=lR`i9x0I+@ulqcKt2w3(`Wl(SMP zYh5&JifukozA6fQA*A3*UGpRQQGYFsT!WdP61GU_)Qm#^DTx2A>9*gj`B86+mh9C} zqoK#*^8(0^^6e)b71}N)X70mOMRQw{xZ4H`=^w#u=8G5cyrGy`npS<6gv$Ax-) z)(aD*we#5QD#6+U^)#)FhX8L1&^D3hmMw8M0OZ*voK;G-;TN_3NN?>d7R6A?!!YZw zZj53tS#Xrnv+7UVuSNh~UxzQGoud`ve`0H?{{EC~Zh;o65uYUOd#f>lT8hjmXEvUz z>e+Z9rR9#wKLBW{=t^Pcc-SnyAAAneRqtgpOAS*qYt6QSa>SmtG|neim16Y$KG~l@lY?$jqmezG#K59(;5U_`?;*Om{B1p1J@g&>j$tf(AIF#B zfM!#=94cGIdfOaOioUBscSJ{b4lrfZ$x_>B{DOqbZ>M*{yKg$2_>TEF-|BN566!1y za&ZoS-qr(!&2ccqzoC%FHGez=?W(Q1@M@t(o21b{iC zu0*OS=&lAH;{OP}2w4G!$U-KNV_R#UJ&tN2kFOFNM(=)shvJDSceqVTQ-!J?h^?io z*1m#s^pEr%cSpe_zAD7!W!yMNS0JflDmLE_erKfdW2_=^l+erfb1!%uGAP{MY+xnn zI2^k{z*g2g7J{VLqdO$GbrJI7jXqCv`)Yk0w}{q^L=Wt~pCUUfD+v8ewbZkjcJc*k z+2&~B<%9-iC$mg6OOo9CH#6ky z1tWOni!KOP_wt^Lz!iD*YvU>>!BPv=@E>^=fpm&#>i$>u_NYW}hCN(Q6epXrWM#&@ zQy>u?Z6b|XmA-o~x#wQQ3|v*4N)$G*jTw6mBN6td8n`2QjV6SieDDN)nlHGm&4V%5 z?~?fAZ*uTzHKnrg$c-vJl^-YT3Ki4H9V*0bKY|LaMYJ4Wn7Ui$bt`fO@OaiM8|K!} zb&_7;e*+a~ykCAgQBAdhkW8Pa-`3r%Q60xjiy^qT7xA~TU0ojl;S<*~?d!%YqohMC zc~8%p3AQe9fC~VU7XW)W4*w6!<%K;JtqFhCt_}X&%0gMFbT7QIxA&fO_kJ5Ri!obh zF+l6Nj`x#QO4c6~mSKTksl<@i)$frZz?h#upJkSkEf^S`Yny!K7;>&96!&)0hA}o4 z4>FJZF~n@-E<1CLe3wqgzoK7f&|nKJnpLRYov>J5lxBE|iO(t#O_)9-*yhvGUOm}U zbgg7nQJ->^31YP)sK#ZRFP)wh3^@a0PM!*$Ss^mtb*!yRkJj6?K+et>+N*cvK9|!{ z&)J8EkT0UZRVfXS3nkm5$utT6n$O)PI=W+3P0V$3nRDfR`gMP9`AMQF<8~hB;rd;^ z_o@Ga^}g#A9Z~UXkD$xwJ{R{ET5LnAA5c zZ%&&~7KSVCB|W#IY+8N;N!K$pqU|Dlqx6hQgEmcS#SGfjM!O4hHGDg^I@d$ZmR|z| z=DnfFs>;f-Hq_UE;G=^M+^pr!2m$0ch{jmbYiyV~>B<$p|DJf*@d8PtAHU>2*45S@bW)YIK~07 z!!a~b?uY#{7QoF&2TanUV!f34t2n3t1dqVX*XPo8R@DuJE6jRA5ZT;M^i#R)(oT5| z=6BdvbUw()L;&fh&yQu#{m3=K8J@Y4&X?ybQnwr6`ZXrA+{%@A10kdBStX&wT(PjC zt9PXz=YWuRHYb4Fp~_}VNZ41p-p;a#bO3{dWyzL>BOWC6n0KyNUTB_MU86JXo;M^c%30c4yn*#qurs2qVD)bqfi z4=eRDC?tXzbDc9CHIJfsIBNI`0N;Qkf9h)iRL-;Q!3*U-=qR8LbfZ8E<{!~Y zt%AOBrrS};`k_f@0=C?oPHl0(t3RZ60JdLJt?%Eg&3_z<$wfGjErWI1`b`v9{;$kGCxz{vbFbF1UkluwZsx#qLN+0K{~`0}`94%K(n3SSBULO)Ym zZZNs3h6VUPf1i?0oa*y>hXZa)koEx>4;roleTtgh4#PZ_61Z7&-UimyZ&-(cDSvL_4VpNh%Wt2ojf5pKSuCN zZEdZ6SZ!f@t9j(Vty46uzu@*yY-deun`h^CLQBD~4yIp(ovC||9ghZe2fCrjfgrT1 z@;`=S1?|x7#qQ|Nc)B?d4>345mGg8R#$^7N(VC<6mr*}#C}HmmS`eMdNzXEsNAQpV z2>4{#-t+oB_?%54xG+=_Cfmg-tcNR;leHG$N}e*eQWwI^XVUp+GOOJ4?ge&1JT|`=DH${or2hY#DEPEk8;NWL2T(bbU;I}5 z}L1gHUqv@c%IKBJL9oDu{>4rCXTrt_ulm`L-Abpba1S%*>8(Aeh4 zU#_!^0j#xY2Sz=wxtIx@>OWhFjoEngkIe&s#g76`bW(GjC-v6c7%EcX5~%14>T^l)hFQTYMW#4h_Il=~ zZ#LL#RKbR(Qbu+Cy2+jh1#&>Nq16nw(?~B&gn-Yj!YV#>NQODQKD8I1`Y9~EPdqD3 zrt0%Gjv21k-8Yf@lzVk)xh_jiTjD>%J@*pOSbtnbuG7qR{W{NTdFi-yV7DGIZB}eg z04^5_;k&8A;mDWbkegFx04{bOFqp*mfPr7=RsibGMR}58-+lq7r^_WF0IWk}YyP$O zNvEDee?aA0pVfW#mE)fGB_M_3B2TwTV5KCy!9 zpDWtP$e_XPS#cs1X7ux~2qL9%rT!X~ruM?O`j_2U`&;w-)L$XXL-*hLNI=7E7=AXg zCtGq9PD(UHM%~G8=er9bW~Q=$_1F~q;1Zwm_VSMg@aw#v#VVDzP1Tu@V083YWituI zf1P;c;rg|q&4luG5FpQ(0sP`Arbfdre9|^cIj)Bs1VJVf)F>s-g^)$+5whsA@WTktVE>oBVR5!fB}0QjXee5$5v$M{U4 z7KdF6W^PnO0UdtDC~ba-6s&I=F61%OKepI`eAwczdb ztym20uJSFiK)v^cfLIw&cYz>c^vwH1&VWiwt3SRPx!$B00C@sbvYjw^ckYj|J;%}B zl{miLU&6Z~^d$WpANY;~O#qljoiEQuJ?E2MR1JNn-y6W8V*mg~Uxqfl4D_+T`2TRZ zP!7!WJeN0sY{sP8`7?=QCf0p@in&?^UF#HWcAk=;1*C$KDuG6%rol`gi5YO8E^r-2 z;!V{&U*v{eCuBqY4SKFTL0vI3M4 zOCOo%*b*9Lps-&tFuth@x_A_;uAGWcV~JDAkR}(}UB>q^sN@Q0*jAgk#V5Bpf#lVP zHX6uYeoR3{h5SlYm*LCf^;N3sc4>K1Go)4du7K1O0Gn$D@H6t>1$uL)Xd_XPbgjd@YVpq9A&WU={%=UZUs^$=|zR>MXx*Ms~YvL6XbpX;!cvs4=8~j}xe5U6-mP{o@@9Xdov9%bZZPk+#+v0%V4W6Tm$8+|ItZ8dRDhvFRGJz zv>J!M%@CGm2}m+^iGVlxt_gxOb)eq>kf!SC)rR+}z;4)SP=|3-p*fam%4x!;gkP+{cEw0 z`AFgxX>3Wr|FC#?wj$Zl$H@T=<@v&pCVdC&f|llH^%3fE76q#!>A1Pkd#sPOOLH(l z44?z>V7~wSY@VZID=revQK3)yqr!8lMsB6JauELZt%_0dWB=0bt_N%%B7lwa7kvEA6BuhP z%1*CUMsONOUb$=nLv?~lmqPpGz3>2XwZE(E2M>Sz*;t9VjWd!6YQWTwqlh})q}NNb zk7Fe|yyAvV;&$(n5bpbkbe0cr^eg^g{@KzpH+B{P`(~m7a3H!BnmDd+rZzaZ{2pIt zca6-1ya3oZ@(&mc*o*)e9IiFw=a=6%nw;+bU!y>L=!{{=4r3}$rG2DjvuzTDT6H3H zxuzLxOFwXF$b$OR33+(7_06xR-@m6ND{hfjxn;8k;wshxriSS&=)u;XL7?X|^f?V?TUZMI{}8pg-$> zQH?`Y!nA`Nq_Lb2SfZbGU z(c3(g6L=25smC8Mviq?e$#r^-a*zIJYd*L4Ktw)kNa=P2oSJfcHv*Uz_kbN<^qM!$ z&D4*54&z;%kNHfR>3>N_0RjFmo`HEi0GNMi4iLnJ08W|b!~is$|HyWK|3-=j9BGI5 zY8d~$)X&x8&!Yd<1WpbPpQA(mx7ot~e?t3NqWynPXd9wE?`9uh8jqp0tf=)=y-nI* z(;ZlaKvG1S}~b1)#^@Y}Y0TWP%Y3LrDahNC-I#fPVf-U;Ll*+1&x1l@lvK zNAdQ5Io%Vs3^`9;;h=YrPW?YbyVv0^<&uQOxUv78a)yG*0utckYW*Vb(as{F#x42P zFe#ta=>NHA*q&kO_!Yv}|J!E(2w1s~T|z|k&v&RYe)YX`v$nTays}>=f$7AVy7|~C z^q0>=LudugkU81Vcq3gvdOFklqy=>L{Totg;S)<*a(jEbJ^a58%zxRd#^rBmthA@7uc8czN1(Z1bX(Du*4o@cNa85$^wnqqnW6QH8tw5dcw0f1%2N9&*?V#3wTe%7A%5Mu{2!kp#qIxIc0w zBv-!*?W1PQd7x;&oRK@P%YLXB^xd!i0l5K2{R}41t< z`o&Br@XbFk^9#GM^|?84c{>1`{AuaV=v%5kMfY8k=X8Z0My;n>W-YhuSZ4cDOGOjL zDbs@QTV4ayIPo)<-2VILXT^9JWb~xun`%%mh4(kg=(}g+3>*SONGLR%j92mlY)AX8;2)@?qdh=IQOPY8tNKoluwT1&85l4j~{r_OG=o;tw0yQ9Fot4%z#X>)v*xtoYiqcxe}5Qv`_;1#Uv z$Ox_cN$odV$U!ibR#Ad{#*?_z-6DmN00y#8*hKRj2FPLgl}k*kO#t(VZ~#Tu)@_g>8NO&+JG(@MbgtoNod?JBq-Ep#-V1l~OpMjEYVlVR{$xgt zA5v%ayA7V=l?0uR-upi8Dda3fLwayJNuMCqPX};P^$X#L6%TYi4~Is{1oq9}_6tD3 zw6(l^r-E}WXYNdX^4Q1#E~jaHBK+>(z;9=eY23`E3!+ne`a+bfg6~vbW>f7s&ijQK5GR147=BIO7Y*J~M84xY<8xo=^Z>SeNw-#K zBDu0RCyIz~p+z|oJpWp$Bjs{Sq45#FN~7wZxdcTxH7Cf9W;~FG79jUmsef4~35#pr zg}7ogk^Oi{vrEmg(dZTY4&c^`g+6ZH?{F)Uytd4AO|lw{=iPtoe0n(L>rL_7<=b?E zp~NRNQIGa0V;Bty;DVkt4!?fLRT!wZkOCKs51 zQlxU#wzgyYt_TeDC&|2MDK_d~zgm;>MYW2Dv6C!1MXh|B=Nln@&7F7We>JaF*xbB? zSEZhgHMJQ|KV(`2SC1E&<*myuD-{u8Pn{1fVj#t*GQXm%8%#MZv&pPWFPlDn-*0sP zu`czc#7XlOO7Vrsaqy>ML+C$?baBE{KAzDK8XkRLw7G?UW+F!7NB= zFY)iu(5BTCg1Pb~qd;lV%|J*|jRj#FE7d6L&PdpQeNK^Toy_A32UJ;erR9I6MWczV%&OWj>I7$s75ziO&uQ?F(JOYi^ zU%G(|GJ`)b=C18t7bs6F?Gks$Jc%+*v&RijFNj)o`Ank-d$b(TuW-DMyF_eb_L%i_ z^*$m7x*+b|7Vf5IIe2aC-{Jt5`-R%1nt;(&yF&kM^(lq>%nB_;aQ22E{sE@Z=+BS} zXKkUndbji}XFzrrAuZ(m)236u7S5l2P8@RgdfdJTNOIX#z0p6zBOZpRl{QpQ^=#Hu zTrb~?X0Ikyi*wdTbi<U(^X)hz9PfpekcUC}2hMwR#9f|wbtN?0%wR4{d|WL{4O1OPe7aH+s# zkEO-td)?OSsS3zpywUEc+1$skSP>_;fhfqz}hA==MeU<|dYNH9s zW1w({Ec3ppEW9}!M!Ok={piZAd|n=Xe%O2uL77T!-$|VKBIIDeG;TuIX0X8MqhX(g zwFi5K@TvZC9(3+cz;v;VlTNEj-p)}q)Jb!3+Ici$wy{|6o3i3`KXw1+G|r#}I4Fb~ z>?Fz(nq(@TlaK~61Pt+`NJvOPCJeVtjJC>3O3={j9xjBQoWHcBr|qOt{3IUkahO~@ z^}FGF7AMtaBjDDzG&0%Xph>DZ-A>vw_B3R7O!K7H?6Q zpK(cK(6~>V!vqfZOGszzCXLSJ&57NKRDXI}8h)mC;5}+$V&V>s zy9*&M8a%C(Ocp*=*ANRHzVHAPz2H@;(!S-Pac|$t8N87s3@$MqqrKy%%>@}PJzd?G z;5Q$`K9jg67`dJ@Hm$KCZ7%bgFNbfLKV5H1D_B=0T^Juq@=$jf>b5pY8-CSEQb?tI zO%Mz+`$p&qT2(~^TOjU&!Jl0S<)ey+9K9?*`wUvBw!hc9HpgH^S#>*`Y2LFfD`6%^ zfv&=JyurX1>@|2$PW#ZkCN~q|_x%T8=^l^HG{~f#*K;2(-u4Xr-dFOcJ34`mHFlx# z(&Ai>5A$}ef8H-z{`Y-W1$3d%R4l3`jZPb$yI1b}v3`S40)X&#$@IYNe=7$~NQP&t zsoAu}`Ct;3P1H{Ecov3F3QY)2=mvf_g#$lC5TsAyI;T==F^+#s_C8x_1MS@BtS6kG z$a#$QdQ#?gEcE5%3oaJ~0(L5|eVPC>fAFFWb>wPH>tgjOl<%l@V}hNa)P(K^r5qM* z5Vb>9n?~*Kz4UqQN}(5cf2RH?9?#bf?Ulo_?MSEi?ZT>;!-s9t3HQ7iJEN#vDjd0I zhs}9W^YoikgqXiZx($TlN1?ltMC6zjXBJztcSo!7t{!-+IyIpOwyF%;dLr4{#TEH~ ziQ`!zZgj4Y3_0Ky;1)S_-WH*J?lU&yUI!D9fqzuBouETxJL7=qdbz5|0T~p7(CM%q z0?=%vv)t=0@k#V|?odMfV(-v9VOZkm-U~o~fO^Cu^#sOU0iZ>Zc{=A5$*qRet&_f= zAN-!2;swlSFf*3M3?V~u#4BI`{uz-@dz-dr@Z1Ppi`w-#vUHvDO!HTj*l`juWLFS|~#Ij_Z_?6fL;KUVCH)}Y>0!B__5n5a9le37+S`-Jg#!w0*Agq|9O^H?7_?6-3iCFoI+v_pua z^j{KvLwJ>-Qv(ev3m!h3up3$L)*l9B^GrQl@9e&5tucp#zt?=pNRg7(r`UWeOYV#@ z=i=;KXRMEmLr(ee48}VwEhN4;10<`9B>6i!cchB71%m~DxGjLy7D4QWVDonM@Cdmr#)YzRflUglY* zR{s$1-6bNGgZbP^cT-sz4{6>0((%3(To$oFYD{^ucpE6sxU)Ex|AXBqbpoi zIw$;X%MOWKfjwmrQrf16)j%SzVk;j|M@dl5K#Ci$+A*s-u62)nIo*!5HwjiE?;2O_ zXU#pvKh%Bp1II~G7r<3pJAaiDMgH{pv-!`yh@R2?$A`P^Q~xLL5}qDnY(`zm*EmcG zK%r}ET|0GTuN57`Eh0&AKrev_A%!0bCPE43ehCsQK>~&F7t&EyRKFEj{5qlS5K0?1 zF4PrV3#GlM)viC?bO!Tqc;l4ri9!@y$!6Lo1+FjiQgPMlDRI(?FpEkdtBey0$(+B7 zF+S9Nt5X_4oj7*MffckwxO>&1M|jWOQs@kxt7JDHX~%9Uui!J4)>O=L8I~_q`@yFC zwLy_i_mK(1xenexAJagl^oNps`7x(f0zNTke%0blkzNRrd3IyX&8f{}aVbw(R0{Zd z#Tuk9b9$F@{nGieTmjtVglu6C@2x<0JVF*o?nke{wS-78=2}(1W8Az`(u zRE7eKq${Z~?9kN`>*@Z<-ZuGEc&`0BjzyeWDT`26SjOWUP?q33K4;2oQQh=B>nzU_ zc62n#4--Wrlx ziBo&X+a++r;>^!?z7p#s`%zxfLNGf%`4y7C%${!BGg{RfkJ*ahD$4Ppt*+E1M)9LH z^*rv8ybU{wa+49-yrSG08i}`STb)TS7P~T;$N*xC-)syFB;EP>NbOdWr6nF|GnsA7 z{61D#S;Yr@6MqH4GsO2-lq~)6V8b8RoEYRJ(aM@161CvqR%m3`5u)%L3ZIRiu)9=D z&|EqPfsg1j4l^-`Ce#%6EGko}>(^AI?YoImg1RkXHXdO@A-=?fgL*{R&wW|5#Y&42 z0x}`e#86#mrr$KOSzyKbl;S5TW+SC$g?9FVCuhz0-e&_xUBhm8s&Eqjd#B?(g^BPV zn4gS2I0&QFN#6T8^;>qPx~D_o$D*3yd5YMx#c5j(lK8iOJwd7=j??Sf$G@aO{4!m< zr$NyD{%Fr=2ho>*Z4c90orjZGv=^nZtZUvVYPb$C#izuSII)S#NzjxMe5yAqi=lVP0CH+TCL6)3E;Wd19h zdNdlGLfc79vB4u^2i={%pq#^;5vnic{v#vh2@?jTZwGB5=##AUP3k8JTCR^6&P2`) zI-TU^A79Pys~3jKN!k!UWzUusOlMI#i)0L5LlRXx8Z{R*GmBO;8!POUJtBIDqvz8d{P;(=?YU(@p4&xz2H zFgzKyd1KRk)3*caO&gIL^V`JK`1pJbZ%F@my217H!0iP0z%v*Sp)wms{4ki{b|$&A zz?t3n{<$Sac3lSkWje;MK+FcW7$`6Sw|ylReiRp>z_kv`7UWaF?l2_GV-NcL^^p{u z?79!%@*+dj=qFLoqj=2qHZlxLkRY)lnd6;#E5k~o_=({fE{t%RCSw9mI=9@%H{@8a z*geN6<8Hf@uZ7dc4%$T&GuMa=r&~-@GYnOjSKS(iZRJ4bPW>Qs_Y(TxTKoA{dstlq zA$!%2@>;ttuE+6(Jfq8C?MCJKrU`@X@$~7jdP46TQ@!G=Md#Ne7KWfF{Llv-TX zMod@&*xqhKLKISVUr*GW~M#)TVo&J zqu!cKZ_Nn0=cOJ09;)VwTO7pNWI#DSa#>CkJI7=d<0>2u&wV`WMU974H#BGfew!$& z`7As$;SXfi7K`Hk6ZXwtd3`*F`JDsX4K>Y=yeMY)@WkFnteFnoZXJW&7Va2ZaLI1y z9A8SNV>6fH315QQyOl5Sp?8eG;=YgE8=3Syao(YyB!m`a>iqrQPP_AJLC++D9uMwi z67r*mg>hAW$GdKR$xyA>lFLl@jW=#cal!J)4+osMhp!ii4ks5lE0mbMKIfpqfBBu{ zDK?qsFx?h9H3$wA5kf^(?Ur)OQdjg9<0?IG_;&4OjWQP3o>4(84Tno1_qe7_M&aFK zBpJ!@rPsV2(x{f`=w~!==#gq~zl|-Q{NXUQuuB8#>2cr$E&UCJ9W3n|Dha1~$zcN{RR=15BK2i#cs3)f<-g6yVR~Y!*jkdzAFm z!W+q6`}~)>Gj~4)JAVOpyKSdj`0CaJy4!IFzj$>%l5}+bz%%(CB{dnbYfKq)OC#@N z&JI|w!^)mGreGLU0I? zB}P(UZjj-(#PrOut!O?)6rpy4Q)=QYf1$@;G21h8%!z=0pigU;o>}?x6MKfe8c#CR z+Hs1X+w$`C6&ovcmI1E0$L}R#im@hzvA4`G3{#lfHhcHkoh1#C^_XrauHSu^Na^b~ zQYW(?By^4}UhaJdoN`=qVZ__u+pio~6Bb+2| z?R-e)ww1*ag%Qtdm%{9FPRJrCXNy_7b{fp0-XBxl)tNIiDx~XW@>@7pC4T#Y&G46s>>>}p8F{NMPLTpIu+5lOEP|^3b16D)vAS| zi?%UQIccvWbZp+8hh_O$ZVwf{+BkUOSW?O(yRBoAMe%m2MoW;qF!&YUIk0+*P7)Ix z$xn*m#nN=RUo9tzk;D1VhbVZH)@%b1`12-T4mjF1-a`yt(m6X{Z>Tb(t-{=QBM;h2-#)`>y@VaLX0}!^Lk4%VGWVC)^ zn{-G9d0E`2g2Ydu52pM@&B>wPKw@xkJS9rV&7s~vCcPw1^Zb#a5uia{&`4~)#3L#{ z2)}5&(_m8FwyoB^Qep$1vWRUFr^ll4SZ|ZB+>iae#K6;gPn~a4p`4 zeTm6+l;qf)1)lF_L`BV+3g;9pF~D^TnS1C*pcVCvvg8|2yGFwJct#zYd{TP3D|QyW zl}3f+RXI%=@5$0i*HO_dN)3WG=d$`m4LJ=v+Z(*haa9dAG5MaE=z&BwQ@gtBqEwXz z6@1&a>SC7~9-3O5;op2tg`sr?juTGj4ifWpzwB;8+_~t_tSs`?;Rf8?1#Ii@4??#E zBAkL}nop>Cyu5^AS${>21NF^l5NmSH>xcei0Qs}^^quS{PV07(p363ISM(_J1$f}c zyI3Zauf2^Xy`e0|0Y3OZaUaZY-588tihuVT81-vWamc;FYV>fRB?g6H66O(M<^`G$ z92vPg?P9*CPzub2C-G5c0=$A_1s1|lCIUe-$Q#t`$LCe@u*7?x1uc`}EQEF#du1hi z36t>EkU}h!&AcL{Ip=iBTTI4hbO0N&_%Z~_9y(-du{TKlc12dB^V(F+QpN<%Fizv0 zUfP1C%yh|#V?sPl(@?&hT!RUr_GQJ`rgK9iey$$@kD~6Y2~|$pp10L55efFkC|$Qh zL&GyXSDHl8?7ab~KZ~qi>j<*3(Z?{`G^w~1e}Fbne-ktJiQc}X_WW+ z1O-N@Fdun ztyjo%zK%ebg^LNlfk|f zW*DSJpM^lVZI*=?_!-FW$SOjR`9w8EMM)*MkWlr0Y1ES-%;fxgd~el{L>8OK?kN{8mIA7xZREyGyHp zL+^n5L59v2B%%(MPNitG8R29}U_a!`tDPx|^^!%FTB~WBJ6p4#tU3})bZwPGmdg0> zI5v{FtoKNpNT4o=_X1mDBDX}mJP;Vpm&>Nr;BECdwhb%5tLKoDA-nGByZp8EP{QT} zjHetDmPW(|OWO1KCG!&$N~(N2>G4K~Ua~1iH-ae{4>?eE&CfHMJ9$vd*x*_G-mXS{ zZXyGr#}-Vh3&%!#y;VIaOLr%c6}Oq#4mbSvB7;TX5_JGCG?lfF70t?jG>H)%0S7>f%tPsqy)pMl z^%n~8R#*K!tmK!s*){YzUIt4irEXQ-4}<^syT4fq5;0ST7`n!Q2*Q{!;=^lFaa`mU zby6_QSM-kYc2xHRbCxjNypdIO{8<`_jQpwi$Ev-$7Lj}04-RqbBQX-@oN>`f!E9U= zlRD>F=iyLDsT9>Ra<*-7O`kYER3-P{@)h_-4|SaT>cEB0kbx-8vlK{LDU`;H_66uV zRc+oGe&T8R#tmM~q55R|FzIyE#;eE7pkOXy>>Wt_ij98q+&}CY}37Xtu z!{bJrBtMyKhtM}_!woEeA}%PRcc?WyO&3Cq^F3$LG3Z<+waTB~(ElTY7SvVI#QV2H z^hu>J^vvg5`$3RT-MNSF!A!^V6@y(vh-);cNjua&n0^fr_q?I#GZhGs|~c8 z0WE!}k5!83h%dikbR`>b`3x0M)C$dkDnpW3s>iCyb~10dg(Ge^%B2>l4rdprDva7Y zV%OEtokKT7{c{J&p(P>V8)8qn@Y7+E*#oOe`AXBHq1tVGc9%`3w6goU?ZHX&oOi}0 znYCT{YNNK6Qf)^il}UM?jG)CGw(W~psus5(?QI^_CT%J-1Jw$Vm^I+s!o z;A2V%o`urB{g-4akF&*|Spf9=4O9)$z1VGu%_RD!%G1O>CKr`R)Mh^nI_I5K%L5;% zxu7Qc95fRDn{{_NU}&2g{2&&;1|l4yO1E;&)*~y!Lu_#1KIt$u)vY|r%T5ZR7r7jh z{1@`LxFOJ%BTQ=S(kHC{o&^9(Whp_#ptfShciT}2l3NKd@`!pi*?B)~9h6rqwus0I z-3t$S0na!{^8JlyWanvC`5n4PXeZdy#E+#mwOZOSz>`Wo$&;(^e#`S`azS|wUG3K_ zHIXqquTN)Km)MZk0v6#sVw1UYQ{H=B$_RNp)@V|ftX_Bz9}qf_zoy#=53LEM4gvxb zJ^qUN&@}Wh(Ojc*9YcmHrENO_VrK%aWw^^9tmv7Hc!?V}3eI0Y) zGx#dYHkiB$n630R$<=SHqtpn4D{TwS3Sn-7#zAQ?5Pqf!UzW)S4m6Z^%4Vecpxt*U z&mRQ=u(;?)$^>FaTgl0uvYrGs)s7}m*SHe{~>Oc1N53NH519JNXwM>GxAPArnAVOoWC1Qu>r4h7%|$O0-}!g= z_r5<7N4+>hnh*|CT{9U(AE)I)xO0oAw65_*vvU`x94d$|4f0$Oy_Si&Z{U{{ut*aa zHY9D6kvx|3on3+y&bPqWNu!P3Qs%awM@pv+nKkAc$}T@N5bD*c5LA4NCQ@}>k!q+& zR-c#U8z^JrFPAOz8fkRfEc7%@R9|e6Y%@RaQX4knCiF3KK!VEpb?N}$RMNN26LwOG z9?7(HmGv^{`mHcz64_Z}FY=a0%VzHCHOx9Oy87l1NPE_18%DAw9myB_Pxq_!KciuH zp}w!#j_}bS-76apuY8O;M_uMS3l+5trIu?vwtqctuxEK=qV3cjNZxDHx^Dcej<6-d z;-XPHb41|n(>N8IbO(5qW~kO^ESzR}(|V?J<}9=(s^%e8QAi~W4Gg#)Chw6fZx3jb zw!N#`rsQadAbf>O02b+xixq+w)mc3o#RqA z+dT@%U$^!`m3!DI^U&+?a7~HrQCy-!-m)#e_BFA~0TyVl#SG0hp`||XO@M(=(q5rY z)iL6H>F87^&Fp9AdDKk04+Wx3hBW7~BgJurS!(fv^605guU}Bt4_8bOfaiwGFe_nj z2e==@=!{l3*ols7ZFZj2a*}K)dJ#!!r5>CU{7^E;qiP#UDdysg%OQFXt|_w7wuBOS zK_CGw4*D}inlL6E>MKTXGmd8IuVM#_^Kw#3u*ZBhS8bTPnOvskxUo2`HFw|nfNP@9 zUG3l{__=gRprC~*VZkElg&WY9Q7m-}J0J5;d#=vOSy47DD8{Q5A0=YlwSp(_G>5Xj z#22*wn))2PG7-OGK3`kY$#eNrm;iUtgX(+GBY?r}IilQcCqI6rkfZ%}FkgN(@qzpz zY6?5i4Yw`VFwt!cl~@3sOH2^a@GEH~m+aYl1}XZs$hc*kACF4goITJ`5(v{QG9)c1 z`3be731o#wY-F$@AKvlyLH~v}`i|-oWaPH=;y$GM3`el{^s$F2h5KB7={poip$(v+ zPy?ffpw9#Je+PblomivY6pG7z$UEH%Gl_PI20`dByQI32aCj3PN-UNw;iZ?_Np&9X zXCaUe+-=fo@+Tj}bwUQcjCG2)2Jq_sCitzp&L6e1R5sszFg;29L`gvezP;RMX zZ+T(wL&B?V5sp=vYb4(ffQajB-ZzfwVF1iQ# z*9#de+>1O^J|~r~!>Tqj$mKq-U-sJT2*;Q~kFWH{j?8XT&`9^fU??)e0YxN3H8l!z zbMu+GISxve@JyR?UE|pINNf%Rq+#yO7x5moB_-0ZP~h?iq_$tMF|?O>F{Ga*&fONMbuk{Mb*9U-vdK;2n^Dl(n<~8A)V4v(g@PsARR+U2}lS? zgCHHk&?Vh6lysNiv$?;&|M48W;0GJ^nFtu0H z_m7$xD|27nD%iWXH3mV_S3jf^i^hpDF>o96W!m#%%Oji zB!)kZiFA+{f}AUplChvjlH|N~ig+2PB5{m@JSvY|0MJ{IDyU+PzR&k^xvVEUe>?ak5PPBuy zB&I@00cXq?vP2u9F66KSF6EAegqNixx@@SEO+oyWfn+7~;AXOt*T> z8*}?+vnnhN2fJ;Mxe!9f=;sbKIO;$G>$stLbQyTQ=ns}~1g?~NLG^@D)AvN-L`&^U zLoKbP=Xd2khh$&M*?1%I97qG4{N}URp#>Daf5F=}2{3I&(QI249IXE})~cvo2Ev9m z-;W>3t+WW$VQ+MifPT%ni*(f5&+vaW8X}yM zkvap8SwAPlPTNmQPrtTqOUT&kFm&$zFsOHIWbp;6a3$y&H6N!j=rQoxlq>3*>DYp- zRibSKcog0~SH^2krxJ7=>GwDi+CfG@aJ06XFcasb&5dNe)!SRGJ+0G4_vk%6{8I+` zio#%an^w25GgSkcBxaI|hg^~sYt;I>#H2kAJ;i%s^`W{HB630N)XGn~l&fDZGX_n% z)kI?G*yujSHq&{A44Q;si&|hDjP+-`^c~FCJJ2XWVu3Ju>G?5tgs|yNHc=bI*%Q+g z=e*i~i(?UcfUBFr&{KHzl-D-P6!^`{^vB=xU{ESVGq=j^8whPg^xOrb1%xA`)~4$1 zS!+62O{k<}MIIMLbcfO&8YngX+2ufk{DROI^C3L1r#Jp3L9FuJU)eV{+rxPAVIRt= zERz>PmJLb=F2%0p%!nDVdKox~(mWd^NfTnx@rf^Yc6XC|h+_l~~|< zx}*fL*Hd4uewAF^v1jqQv>oWJYKX-7T>IWC6a~Nnn(hx+o{lT^`n~?&PsbG-urroD zmz);g@ldfO!U2xP4z{j)^m#O13vfm{R({LSOT|<*NrL5a*oVp1oed$DjJT8S9A=Kc ziCP_&4-{7(a`UzFsEGW+-plC+EI~d+oHyIne6`JfULQRYTw7^*gY{`|@J{N#{Y`{ zJ?VW&Gr=<R^`I={T-UUAX9f>`wGaW`h7FqV0`nSj9YUZOlWzJo zma$Uq0JwRb-5N@z;~8X0C_f802<&oM)>$NOWBy)!?~M1bmk(4Q)Rm6oNu%{_I>n;D zWq|VeaIQ175CDfv41~ZvUCBCwn71UP$)bnrM8Mq1TB}8Gn@X4`PygTx1B)rg7c3%HC+JLQ{~8_ zbD%I{s&;GFsT47*sx~clEQ?6te;fHr&`Z|SYa*!VJ9*S(Je>NDO6=H9tJvW?D?vGw zTZEJ7+b>6pEi_aDDh>A%q97W_B&|G!NZ&=HPqgY()0Lul40x>M#3|z8~dKLF{Lj3?Eg6Y1NxIjhNO*;dvgW zhx+Uc*Evg^$XM!Ob|Y`OTlc2p^0oRGs*%sOHA&}XtxlZtQKT(?5;1=5E zT_DT7pXi|&WSCK@p2|HC$8r{3ivC&YO9#(RmNEA(<3$veUcaz$RL4djaCgx7_lu1} z{k~IcCXeG>7h++l6d~Y=fEVs`a%bx~!A4v06&+-1RrQoA>YoW|Wq@2!+5`Tc4(x0F zDG5R&kY2+Vq*r2UQTQD+g(Ilea*7uX#=@}E02v8l6!z5Eiy-ighFZ5c4g`}kKj(|$ZBl1`g?za>!$dJOUL|Sluutwc4+3 z45e=VKJ2YG5`Rx*Uf{z~!*ghf;jc?l1}S;~RH=?Sp6r+8ooc2=!^_0L&!2GakU`y* zxQnvYpUslYE?x)u$Q%Ts80}lD4dWwFVFo{HYE;RETXh~kat`JR8O@SWvc0$uOQFd8 z*5it&_^=)9R-hiY_rw!4(e;PrC6=HcKK>X_04IQBwj>=j)b@}r@usd*j)ez4DCOor za4nvH7*It3C>q~;J>&eRbp%!wN67O{>FaFL=Pb^yP+R}w}S z2IA7MjYK{`oJxnt0qo}+mDZBGUezMuLSdWq4L_@goZztj_ff2$9@!;metkUuf&YNf zrUcEM)xsVJY0=8dyZ%gh;k!#d&#EH5e^)qx>?7&EOPdPoj7l-OXT`t!&VQntZoDP&BpDDFh4N|-X2b7FI zP#La;57ewOV73Pb*0jr9QiEO`U&NqeEIZoW-;`JY-e* zaU(%qI0821;VRVwm7_oI&g3a!XvgR2I?Q#eD(dM2^jqs(iuJqwYO*DsI7h+RH3pqR z0UYKt-iD^8q4B`0`iA4WRR0tW3_q6KFP~DGUr!ARY$O&u4s&Jmr@9MRXfRgFrh_sa zgRx{_u8{?4CTeQqav4EtRxPtum#Ll`^_X9IuBGr!Sew^Fv8@1m$hN}^!C>t@HTJmg zSo<*^mw*nTwKK?5U|ukWw+`O_bom;OU{-X0wS*9T+vNyK-mz3&PvJ>1wKpxZvR(p(V%u4_ z37m7vcH0aILefdZGTyPY3VW=R!#^w@Y7z|8D>-KM+fcgteQiwYI}CTiyK0U$P^rat z!ENe}w0P|y&_V?~O^r_u6(kTowLb&gDPa4+4{HEoS-NH><_iqLEE zb^}BR$-)`8?q!NmlhmhIWQv2$nv1DcA9`J^s?d_~8}lmFchBM1;5NC5f627(>+aSU z4@X1b!g~SoHUXBa_ElYfiG&Hd5pYh&9`p}>B}b2OlJ0_VxJ66`~~53Vcdyql?p zBE_A!ZdqrGiz?%zyOKOzStaL5Yy^4j3rBN;4;&0$X!pmbRi@bSSuWP{@dbUfB1_a4 zr=!2r&49D$AEX8Ip}m1ko*cgrW;ZnV?YBPqNH-uMinJMqFV31_;+eJjz*O}J%)gl# z=05u=CT$Di^FtCb%fB`wVfI^Tnbw?aq@_g$_0zDH$9nF#AkcZjdXmk|@yYtdsbr)5E-G(QBu zVeRthmny4CfHhOEnr2qhjLGx<57|BdJS!QM(-xD6Xk=7)WqK0K{*V|mG$w7y8hX2+TOPcwhmmODkl`4i`K z`P|2}@*zSj$Bnh+XBokA)kSNs-#z!2`*%+1nnsP+?A3H}BBtrJ!o6AS=p3&zELdFL z(XL-F1rvO?`~@qkvHmq)gBUjz|M=X-2jLLDti>BA;n<06^ZK}KsCvm58!Qz(ZQVi1 zytdj#-{$zCI(>z#Hw3)m;?isJ#W^kkth5etKC^-c0dB*mgH)x5ifE2el(CIqzUm>y zVWsgG4f_06KkaA47rMB10E>`6i2GzF=T??5q5Bo*uT3KdpBd@5!Bpc2e-tB!t*O^! ziYodAfnEAKj<9$q3dV|dO`AATvsY|n(?z9KNhL4cnbIU`>J9CU>b^jeymrwrA7#Z+ zaOgJe6GOC(j5spP0$Wz;s>;i;S{b;u{@!!LTnT%Vu-L-!*6kB*QRTIveF1~)iBi|w z*)Bs*b`V{kLLL<9pVNBK9pt`s+}^S8bjnpJs;LAafC>G)5lw?P+;2-6BR6>!{{S)F z`2@#PRF9OJybO2yI)c4fbigON1|l7#Khs<{4CWnNtUXtERi7m&P-GNf3PPvG%TgTq z&NgR%qvTDb^!BtQIR7v1spwgs_eqW-^TtewGx7+-KpfKL?{*dkh#{>Zch?&rU-K$D zwkdKF46r_}S1EK0oP0mqK3&FAOOZ*2EEsL&ld7eNQ8|1e_$4?`*EpBY9k0xgKmm+9 z5ollo+P<$=PTUvVJ{Pn;^Es5yst>GxR?(@`oz+0-fc~I1rJI_FD%=6sm|wa~yiU*> zM!FtLe-p^^=zI_JGDsL%38?mm29=ELX)*cA2x?+(?F48eXM3smSXAA;(w{x}+Y!g5 zwMq}Gw{~9Yt#dU_j?>tS$4VD~ALP|+hK438+De%&3c{p&U1_HJf&259_{*dIzzq<- zA-ceg^{Z4tJWq69v^dRyF{aPm3%2=bjhD#^#OCkroms^}Y50pQOtd6C{wHu?_xv}8M{aZny7cYtOHy`DDa-)IZvP+1Dd zlNcXv6%&p*Z?1uG;?21k;NmY}4#os#F((1JIe$!aalUzD^d=Z%FpBi8_jcLNkuorm z%TB5GP~$+t3u2;hR*@!$xQLaL22pAxZ?)Tuc{JE!KWf@uQ1ZngN%)*uwcKuJzbx|r zT<0wQioq|!-88CZy!ErPLGl!q#2R!9>me=28VPW)scNt%oYh}e9GDb-aeb2dp8m;A zK!U+&+g)dxWdsu2_T;hPJ9#^vCnl22ULaMuq(JQ>3pQB09rL=gBKbk!8tjpn#}mvJ zOmHUu@4|O9udLkQHH@EqR(WiSlP$|XOx0|K_I~ym2U&{OhvyVTHe=)*<6-^%{m(ACR_If}N4YOj7*_9$#AcZ| zsDRooDE7cZ?Omr$>}t zA!}CeO$SHeFD18z0Gh^=ycZ3I#B~A&)yssk7N$WQ00r1wTR1vMdYC?j$%Rm2Hq8xX zq^l>f?2xigZ1S-gv}@ZBou%=94o<5xbW0hT=51(B3v}9VtZV0MF{Nh|YYahZV>|)E zj%fQ6>H6_HO>#qy+4Pm)s>hiCQW6~Kj;jIcA0-y|dRqulB(*$qKZfW6B&*5cQF3W- z9||Ino<67%@EpM;FEn;Ev(C7;7bFe@zuT=o;M>w+tH25(R%%cXwjB~#3Wl2xH8R(k z$=G2B%5%(p%%SCm$I~G&TckUPl;9HkpvO9{^+R(IA;<&}#Zx_oe63fs8sS``uh&L> zciv%0Vzf)X)x8KOXSoB5A)8yWR{MYTuisj7Q}QT1V2-o#l=KOtRWGU>QhI%P64vuR zk1VW~^ltt5fydt7pl)hRwTq^>v|nuH6MI(VlpH~kjqauG1*;Zbmn1Y(ucpX(f-imu z2cIV1cjg+yOq_p@_~{xz6m9FVi*00zJ&9f3ywtCnZ!^WJ7y076Z}z3+ZxRDrRng1r z?;M*2+Ipk`+8y=onp4Ue$o}Rh^FA1g4cpYMhWv9( z%t4uxMTcs;Fyzhnq~~qiXfhYWj2>2VuaalPPGspgdk9Db1JAS9cK=Yt^%8&xR;4@_ ztj~=~XfPkTHd)>*SjQQ8wim%nsE3+WTl89SagN1@8y8t@cXtf7-XO6hQM3|0c@3F9 zCix*~B*QMvtLMCrx<#zS>bQ7s3`;BZ5i4jlNj|fJ=l#C6D+-}t5Zf;1MFiblggCDx z<`2im^R*28H&-fpO~NXNxEu^SL+O}AaLZC56)bQuQ6>g!j$wG7!rBro&p3D%7yAB5 zpX0&6vmzO4a&ou2ZPRtT*>$GU;Bg3D{+_cg;>J@k#5WV+)`Tpr^SQW^>Y5vfIjC@I z6)4Ag)rh6~^4EgTZvE{TRTK@-n&bPsy&OLe+-zwhC~5W4YBv#MJmGZaZ?{Li!i3T6 zMXXeOsycqvk^EX?q#H?*^!bXiUv6c%j>I;uUBDRMs3le;Yg2hR1{crtlQ-=h7~64w2SQrL^O z4^JQfx)Dy?a2oUe9mPAa9m5%AiuPN`qUhm4UcSeyA(*|Da>2CZA63Nx-^S~ME0z=< zQYSElB%2Lzb6pieb^6IZ_i=fCl^#yw7Mp_`k>rk`nn1m^rGg|@c`sT6#V;VN3sbSn z%;WE;c-Zd?^6QU~-O3s4RCE_BIJ zItYKSjabcPFO@7Qpw-O$*ztsC$aHpb&k~QLD?IfY!ZszH7w8SYxnYsB=d_yy3f(c2 z7v~K#$j7B|JaphFHx=vBGwR#^=Em|+Sh?xT{oy*-DOSU! zKf#2(0~@{{KEqveZ=WSDaa&K!A3iUqgT0--_7UxuUihhaHta8#z%diFNviIQbA|>% zCfJCOsEv8$4jbP6{y{as$>f_({7oi;OZ)Usx8B#hI;AIA+)_RvW$Q9mOT@MjP%72t zo!M_iTnQ6V(BRx%DxFT87SGHn=LdO|4t#)!h&@Cef+%`f_~&rAKV$PR?PPGT{a^~y zqSL<#wYm-Ge+rT~M9O^V!JK`UOU@4u-zNgl`k%`)A3_%EtYg(GZ>IAf1%OA-5c$%Y z;&%IaHPzs`9GIhbAykaT@$>6 z#4RuL2q3pGpp^wr!kEJWQ<#r0-k;9aGa>%*Zitd@+}nU|4c>zL=E|%6 zHdlOouuH_UU8+)ImM+HAFeB2Sy3%Ntdq4AXWJi&29mHpa;Trt+xn+MGCOCW@_3meI zI-~OP*B(@g#UEcR?0nvE3}xI+PM@v`lCqEHua9=>O$3G|TZ+_E z7oCiXy)*xQl9@e43PmcVnQe18YOpW`oLpd&fN zvi+%Az)bNV27MZ6M-_Ux%nJ*m2^|I;`>jnoUqKuo_Kcf-#ra?2GmPDo%D#mJu5ab@ zuKzqkq^c_e2KTG0-F@FXvWh7@3r5dkD$lWd_SWUO0KQW}Fk03LHjeE!G`WQvA{fc% z9>Rj$FL+(Vhk30oyKDHv2YZ4LctVy<9Cfrs79@suyU@>aDk`y8vPd|*=f4J+G=roQ z9PI58IqqYV`*AxcJ~EEu++2*5+lfJci_px*pywlHpKTGiAaqp{>brp-Xo`$+c#`lD zVc&?xm^?Nvy&0QlBQIedqL(UB5LTn;Bl9>#(*mx;^E1)5gszSE4=+wNLu{0T)IId|2|G>2kZUj@2JvJ+qG3jqC9EF2QTfKjj_;ejv;B>hB#Jx?A&u-Ag^BXfx&@O-{%$}b@qW)Bm6H)oNgqB^b54d$a60A9S6h8uLDZ%|<)M>F*X_)X zNm|sB#$tbky(^B1QC3Y+T$18&a^xf=ItlO9%#WN;xmS3=|0qk!z9qJ6E&1NhXl-EB9L!Bi$6YixwMezt0Wf1SUSemc(! zPnvi_sa;%$cpl_dUsN;-(FKGsts{ux<1z}+6?pi39&c`dT$Yp_V&VrP69>DQ=PZcM zHn$Ti%ecefW+q5bTw{`ZI99g1F(2lPWq9y*2_nK#G2IuPGVsySxK zC%^~8j2B1@lSC2t!m`xKDu{EJp!@9f+inoOH{XVn97Yu8cMGc8JjZGlA!!<50EEo! zriLW&PEX=TPEgSJpM=aZ>=MiDl6MhXP2l&r2k#(>^h}Io@n73{y%Q+0rOLdoWI^-W%uxz*Z4efm*mZ^W4CO!58!=I|QvFg2-H`H>Uo%9n`4%IA2-Y9p%%~S_-praw!_;HFi30{@8Tm} zKa~rgmAex&wGVZddLBN(kFcFcj>+tp`mMYFuK$!m>ypVEJi~U7O;@(CbhKIKt#s!O zqFy~^j<<~Uz4jRT?!UL4j**`bsWdpF<|ibyc{`gCh-cd`3iIHM0Mk1s9@hCb&8kHm zT3k_zFV<5^ZWnelbw%ykhmzlih6-JVn`c&vL&FZ^>zoxXsI+gq0qd$m7**TY`yg*$(M33eQmwCV^+sA@IBKePp>_r&ylf zOD0r;XTkfSmr{7Nv)KFnm1c_;Cbb;~wjfAltL#267%wx>JqXNGs6W9?;GVE5tW!8= zyfMn)k7CtOadNV3J_0nb_g9hHm=v5l+FqJfeP3M%E@N%H>UsNHz}juM#KcTm2%7Oi zhF!#kMWId^BsLSBWq}E+-oB$amN?CNYZ%y8-PppP|;4Og5c4A zl77mqrE%yejY?Wbrc?WydCtVals4tR^5pp28J^V$jBuryI}|loji*PV5|6$pq~;~% zo#IJz-4pCj6@CiZScDh-#y`Cu=>{_0D&zOzKn&9y z0yW2;ZQ+sA;)eKgV&9KQdSK~}+kNA7t4Ih?gjLc;khzk*qAt6Bm0V8BLbAg`=A#YH09q(jH`pJabIC{5e|#W-#r4OBtv^$`{A z3?yWh zhapgHRF<~Cx~ZCHI~r;*FHEsHoOd!h7>P*lTwI23#7&dQ{s3!qunXY{ZwR}F!zFW#%O?+2csie@3J=|gojnvl-?$1 zInnJK8f6WzVD4@HvI-h(;9K6lPriG_8GSldyleQ|(QORZa0yB3{Sc4tJ04oD!@58N zg-VuLlKohZbX93}o@#&%{t#80+KTcJnin!5dO;$FKz}>tBR=mV>m7JPSt}Ez#jAIX zmxRT|azqX6!vU4Kl+EA`;61}(S>`RE<#-}$!WO#{J%xVJhe>flaTQD?eua*ZG&mzWoGu=wgTrVFmq@oSJUqJcbcX_Q7`Wmy{)$ z&J5t+Kc8q^7a|x$(oYdgVK_Ptf8Pa@Qh{)2PbFnnch_eLx&FTA9l<^Qoe=9==Vdth zkP=`uu&7owg^c+Md+0Q_6@p;Pj(=uYwRXlbjag!!lPXrdbUmZ?|D&Bh<%1qQJkX2OJLTQP zBZ1)T0!%;nI90e5ui&%aj2gS0C}Q;L+r>XAiykyB!90adqZtw=Vw4_ujz_rjP$Pr- zh1MGEw7K)X{KiJa@zq>}wG^6N;Jc7^raAnS>1Ecgf(@y`saC1Lbl!cp;kL9ph<3V> zSlRL>TMQo=(3ueaIwpe{Ro!raVSO+dfgh52e1FuczOy2^mgOJ|jeC1lFt?IfKw z(mbiX%bLeAsAlDOKHd(VUxxo3ckbW|N-)N6|M^5LI&?tijI_~4-Kl6ws65X}{`J+j zD!n6N;>5KuCx}f{VLgdbv;f zrmX7fYg|TdMq3U3sL>4`N;0d!!E$ za;H`R;UPYqgQVUOALCoiRIyr)S+^tarc5*DS_Ia1A)S3y%@NX!QX|(u5$pRQ$9+0- zCPMc;E`pbCoM3}c2d&4F5w<_t4)#|0wCwNW&|&PtpAC+(^}K$2jThECwn%k9GIA5q zF}3sfy&4%_CP5ZejSbXE<)FL5{rJVCEsZV{0L7GGKv(Y6Mi7GbO)tzpgi<%5R?NorT z#@6$}ydSTJNNDM)F5UXu#)qaIlv~^7d)`1V(9ulazps5&_GB`35(2u~LHN1BA<-MP zt{c+r`#4FxRl)^m_~JL_yU=@Z>v6DDFe}i{yr+zNb0K6c*ZxLYKyShNCOSD??f2tF zFPOS|;f7=&r_qw*J}Efk=Sul$&qtW{UX zTUlYq&M03OYrWP1UbJL{EORKtHM)_bWLvM|zNmA0orNqFs%2zC_b*94>o$Uu?Q0e6 z$~A|n(&_Q@kDoy7&Swt848%@oO8c3($V?S`kG!V`!5eyVl-^j z^LpVutur19GBD~8K%z>jt#>Yg9J(nc&S}C7nrqNq3n(MdvxawG)ieh1Dk-phXH-Bc zhQ2PtjKpajWpoe!q@TxZJBkhGFnJjo7R7uP83&b ztiyJnf!6cpRZvYuT(`QRx?~01#0Q59g#T#bci1Qr!by!04l)1m>Ej!neuH-3M!TkQ zhE+C1Mo5r1zV#=<=L@$6?qk<`Lrg>q3Xe~kF z(7T!+kYEPyES(J{Omog3`$vvphhSesrcDq7wDam0v5~*_t{IJDgU0*`=EB=NBqYp2&zyyJ({tU5<9ZVP?-^oJ_wLQ_W zG@TR-X7V4uv&tC}_Lo&h((ua#P5A^KEPYoOza3QnvvJ~2SB*7JAzkzo3Mq*9Kev7x zXMP@T{wd$I$$uPw+c?rtn7p2e#m=>R{(a6hdZ|1J6v`oJ>Ky61(g}dT4Wi$1(JVeJ zm}@)%fqG1@Urfhnjn0S-SjrFIzo23#h}5BK#tad}H_M?zIatSukETb;dv88LF`Gn0D#p{T6br)dBsb-9Y4kMO_D zlrg~VN}$838qF4T*hF;dC~0TU!=eQHr2tGuHZQisIgvY{`Ir^_qWA z4M=Hlf6Bq*Q!?9BxpdJ{E-*7?og0GkuZ@Uq=_iMIBM~BAd>Wz4hfKmNaHH1?WLF8g zlo6CZ<2tllTAsTs0RR6MBR~d%30%>vFaY}h?d!V`@4(No2Sn}OsHbiJiB14#FO&p* zqWgT>JYGC$t2b$2oou@OR;ucMKpAZ>=-G)wo`_Md1?h>n7wo)^|9fC7F<)sWf3&C)C^|D@xb5jjOl&hHi;2N71gatSm{ zN7KoP6Y(Rd8Gl zi)c54lX-NdL2aSFd-x=$K@Dwr^5Q-snj1t3SeByw{tp!-wEc2C4t%PePPhZw_XBM2 zB6d*g>@dcWI)&r*bw<_2F-|N4we?;-S^oc5k@9I3h5bFgiTrOB z`?l+~?I=F>7xk=uy*xWvnCW-QMM;kYA&-gdSDKm=lxGSl;xhqu-jFv?9^mmouZ=+0Oy%pF6*l)%kbMK%uQ@T&vH-WAYdk4e^!90S^mb0 z$UlIw9n;RqX-1OR^!XlRN+3~!xgQVh&PeOvVba*6T&v(iVbGJ;?m_k6>AbR+o6$Bg zDEXG@8FKGRIAer}XfQtHADkR!nAEDcNpst9iFc;bV~HSdx#BATs`f|_`Z|Lz{EF0K zw7z7*D3Er0+Pf?B^rX#VB>4{h_bA~>V0-$J*$lRoBs688dYBRt(2Ft~HHhZF-f!+v z*nf1RJi$kwhcP7=@XGRZdB2wcRDu9rMdOEsm`1M#CBV^hU|{k5j6}``el6p%bu^UbS zOBmRGYE;(&bulL!5Q_E3?Yme4((En{E-a%po)h<`p;U&`6Ktv{M2a4_X#?TU2~sV` zmLsQ>>m3M+Ztbu(;;+oxP(V};ra05J;+vE>17r)pSCHsqB@X!iy?7+4@?_y8XAwDc zE^sQ~CPtqKXF9WsnxX9s&!-(XWw}tc+EbQRD(eYTAn+X|xWj6P+0ogR1f5d*0*Dj2+xpcIYk_RO4)YF}J~mL0#^))U_le+Xo{uRtwi4ip{!-A+ z%0hepTyHq-Jp)sP)u)k6&&s%w{6hBQgt;z-fElKr1*>hrYRvk@`U#1F%NQT zcJY6MaJT+^`uvMzh0|>1m5MbT`Ev`^)A1@4X)QxHNX@?5&*$5D<@}5-#?7t;Tp?K1 zH(oQk`cJX-Xfv2Z%5N{sHB!Bhk3)5|Dgk~~EA+dBDTw+@t1(AiSZNQCg;BASe0xyQ z=WJ#vop6H3TPOF`1cBQk^Oz)qAZ(Epcap@owI01grIhTH1*3zcCR6}w->kb@6)X3T zL&E)i{0`6u-%zfCNPyT zbN)5=zccQ$-?7|(Oq3)NVi~;?fMl!w5ce@*1t6mxYVjb=$j|7R-yGl>(XQrQ(+(`T z1(P?Rw}jU@s6$V~p^rD41zPzfg>qKAst|mgj^x={n=PsoCgB#Jl!_js&~J@ys)4x; zADohxXJKx}lcu-FVJ}mrS6Sy00TOL6%I)G8$y9?)6@t*PsLVY|M50v(*(d#2TJry8 z0kjvSCTz#^Rh7wj(irnFn)i9zWoi({z33s~5y4b2w-tYmlxC5X3Jx(@5%ar(#|y5O z;m*F>xxS_neK<*HX#3f$#!ODjTzA07q$%jUoH=5|(r`F5q&s^e~55f zE@ywfdt`k48kM%k+Z2c>bF#`>Mu+$X(|PY%cmun)$9#aNpv@`&OOMPM7R!*V^)fhG zL(j|l5#}Z%6JO3M6SLwn+$qti=q5^Gjc6tsT)q1Af$AWoak4nS+EuhAy}bp8>o>j99zu1=%>Y6~JpZGCNR?V4wFwdCf+a0PF{W zGERU%yR}eDVnJYmB}i+TlhubN>8m3_S4lfoL-8&8>K#M*d^97sGpum6kYuMuqK;;m)`G2LF%h?XOI$^JON@=pew~h|ejBNfjzYRr4 zUON8oUvYjX?|w2H*oyFZAMk;4Hxb;-Lk4tv$UL>*Z&wFBRGb`#Vsq^tyQ%-hJ2?gF zjW;`zJX9S=KlTM&W0OyTMD@(-2%@I6kvP$0OWS%rn>SXIk;;3Oxy%v6D#e!iEx!Qs zO`Xt5+VZ9^jOeG~SKY zb5hwQ6AdLyZlP~ZAgYB78eczUf-aU>e_sPBpI+rE(|eb%^M>vy(u<|+a>qbViFgHq z9{q)Z@gJA&L;gE3hVfZ|)Kg36)-R6s1=yyAy0%C|1<1K%9tp^Yr;#;>|Odclu7NJQ^3Lb~t zLF}8)>NnNI!4x=e(LW^>bZfWjBnl~EEk4q3wNUZN1XMv!I)-@PzQIwpbSjGD9!*hC zEKkX3^^6(%`so=mPS0n7envqg9FeUw?GMpKxM;PO*tE!H?JjHLRC?jHZ@q0qq9>(0 zz`>+(&5@C4PP>7J4rctNeIAUQAagv1=a$^gJna1|JWVIAJP)O7j8_+Kk6bt#M$Rov zjMZsz%olIpo%u$GwEd#z4mS3-f>f8w*y0=zo4x?O1IETZw?gU41maT4)=Ef#q&Lxn znqDg)c41Kz*}RXdeu+#d=_3K>^qdt<(ICe0=R&n(|mCAyUp3Lqi=M?Yt9tR+k)KG zfNbU={HLr)x}Vn)M9>Y(CvyQupNLt~_*R7;5w&i$tSBmAU~izY``Bx2(PEa_3%u6V zMo^-1AyAh{6zlYCSix>imaXC(g#W-eKxfUoi=Ycsfc})xVz6M1^8!Q&m4wrTcE1Gd ziibl9lc5$i7=hmm>*e!@xy0wpe-SV%-JcRg3jT*fT{sK(7aVHQxcKGJR2MTfih*&$JazWh=xrN}+_WWf)_im`^0MO0`e_HM<5g-DsW{1WtvW?CQ zPUIF1ecnTi>9f)q6qM;dsnBJNSjG=u^?Bl$WJ1h9;RqjOMxMT$qVWlbK-xV15vCt= z1mg^OD$snOdU}E=0sDC_U=Ab~!8gHvx{Qf$gO~_dfYjnM#;zOd0de~o68tly@BZZ$ zStvy~A%Dmi{rV=9#UW`N?oB}|T#%Qq?f31A?fV88y$p+#;cr;9UwJ5Rj?j|}+voi9 zvKh{q*)MLpNxJ{5u@FDmr&f2G_E{{B1HdU?EGhnk^s?4_<((=wKUoH?si9E^%7hJa z^SFa{r(Fd-*k~_Am%IxJdP(sM5((`x9JY?T zfko>)ArI{Jf(D_b3Wnd>0BK8zU?}|swmPFI6nm9H!KM8&y@Sj=nhGuS?@wfO#YJjN zya|1Y5HRAQwi^jV=hlD(S(wS6u-$F!u1r)-3(6COdg0uBw51qlTJqy1zCZj=q63O0 zk|$dZ2mjXH-c#Y^hDRXXGsaa+fLrUXGQ}xc1KFzYR#5_+-Kr;nR}x%`=2p3Js@c;$^s| zTr{#gX@5Fh98Vl?+`M9sA`>BFBv(F?0{kW5D#m6n{BL$vyWjPnYRpkOM92x|4HY-i z?{#H$MbtdjQ(rL8&PcV`PWZj|*F{w`Xs?k~8Gtq>01*rk<0ngK<99zgA1KaMRtdJV zeWH@U2&9%8_fc9wI6jcsO{edlz=$C5`Fo!KkMa)FCjjVJH2hrz5aB}>*LA=Rors0^ zxp%_IMvQLBKZ+%jCVB^VoGMQu(wnQG!dp$)?Z3SUIK`f$8>=N3oQ|6u0?V~-iI-&T z0c1>^{p1eROeD(i;QO~pMKEe``kVs;^J&1+RVZ%(sIQF1@1Rx$AFXx1|6Q+k=*nOq z#~5QUCeA*-iaso<3W$^CQ6$rDqOYd6ej@G#G3}eJ`?dgm=~`u4g!E| z%Xfa?eyf^+fA+@K;*}V4d`4B`l(?Hr{NuytP*i;{cOO5*n$}Q~CI~CfWa+|Q0>|uQ zL~VF=Wjx8)>^Gzf;-9I5an0lRXh_~os6&Q8j5deAeR>Rl9Ce25Q^cCL$%c>nleP4* z-V-Sol(JsSmOr|<-Uf_M#)~e^8p8?x!IJN<`-#Ob~*mv*N!$- zcpWOo=i_O-_H<@U^@rT+4$AzV!lji~Q1n(zz?A^e$Dt=8;kaAsY)q+_f#k(3`1{Lx z-u3Q^1373doO@}+1`M5k1<(T8=oPy-Yf0)>6z=|g>kJcS?)HnRBxo3j48zAkZ~WXmQiE8DRuo6;eB9vpjbq9vO|*}GCIM3GsCl9j!m_o?smyPoTJ@sEG% z^IrFOyC8D!zcddIg2bjED&G*Sa5b@3n2VZg*U{x*;q2K5amZ}|=bWb?u z8-7KLMX(J~j2EV|eLt5kYtnRoPL7C(^`~6;G5_FDBOgF7*7YQYTkS4Ci2I5w{16zH2K4tlV3tfFuab4paouGWDu*lhFr+tdc!De~bSz@84A*3radH zVdoc;_)^rkc=Qf*aWZj)ln-YHI@4gNj5soFUF1iICFe!SqD(Q`&A!yeCCa8xEtquR zI&i&#x#vkw)gx5DFO@D(&QnLLPnOZ)T)sBlGO@6Dtf;F^qI=8ue5VoPJ>-FA>a{l= zfDt)~lGS!rBExezeUjk2KgfM=nTmD5>0DZ{ftxjs!XbK-9X-7v*zl5Wwp((a{A{lL zOT6p^-S?q3RM@b<*6X%Vpengii)$~wNgb#nkxH*HlA42|tgXg$5qCzX_mNO2?az@` zcY34<sJWsPyB)0;$&;6Xr8b;!BksI1<6=V9P|yB6>2bK^28Ghes(09E+Y8m6h(FOAw10YGJ&rv$at-lW z2bXv(ng)Tx106L>Ic)%uLJzW{|fLICk`@PFJ3R1H!m>P$V&{w7#rNHSSJsk!OIwNpWe~H2tu+ zW^7SuTKW^9B6rPo(|CXO z6-uF~69Z8A`&6R9qT12 zrb|xxi2cDu$v+yO%oNOr^9@{joJVtXP^r`!x^3<>K`Z&(R4;_3VvR$ATKw2a-e#kJdn0 zF`abZ>nOrBPVVw#V>g^|7h>V_38PdrL-(}FPCu-xm))(fOzdv%d7)#?4hlcT$+C0! ze08o(M#L;MoT-c%?kB?+20GHkpPQlis~Wigf0?%Qb%J(V+S90m+55@73T{+l;z}l} zR~{eH#`j;g*gP}GQ~35+YGhb;tC&X3AkE@V7N6guQG_cHg>X1X&kCFYolO)k)DW@F zd`LxTsA$={d?}-ZVk2SpIQ=h8??YLkY71u!*LAS|{E*)b~`jrr#DhP+Wgf%$mMTm}WuC9ki^esk{lEcr#Sc$*2{XM<*D z@3HK;*@Mv)hDZA*&Fc#>1cbbnccigC)D@WkS>Quj?w*2W=|Dc@dx}N@kMpaOTb`JO zC4t3<7i&Z(I7TezrH^CRiMWPIV}-ZS>8Mejt$|}y3KKsC%T|Dq@j0#POr1PfWFQ1eC_yi%7OK^42nsNm!3U!wk{CxRIuJ<&OL&vuGn zZ;I!L*48tG4e8jW;Bwz7wF96UmAO%gJ7Ab>ub;C~1LIZSsb){(?$SG1bJs2!(!iZ9 z*obL*EYbJA$#|hEKT(o9PS2zKz~Iu`8woI8HGUd~2dWF&YBC#|U9dwyYlwj(ERqvbd_9Y=EEnM&{GX{1}3oqA?UA4_3NV8 zL@E>AvL~<5U63cw@kCTqBC5m_>L$#T)aM5pSeYWx(Q3}NdU{m#O~+e1YwY)91J}RF zd*j<%?}gfuNqghp7fsp6$uCVj9{G}*Rdb1#;&S>7bInGKblW`Lna?wt!A}O*q$bW) z3wt!$Y=P+H7@$ns5suXzI0}60#dy-~RU6+qfI00&-pqZF1HUjFH=KA&WcqQ7eI7Oe zF?cdeqV>2exiSih4TomthnxJ#&aZnfNy2aR8KPaL(-r}MZRw0iHbY7hMl|eUS!#L~ z@9;Sqhaux7Fqrp~cUrf@10R~afT5R+L79SC#G3S9M29{&)T<+tk?5QYHx@K;@HB=5 z2aJf^Uu7gn?^9^if?R&}`acgMbT@g0y=fuH0sL#U3xWVm;rQzFW9kRwB)MlkN0Tl7rf> zTMcp_9}SZY-^GdHV=LJ3x6uN|yag|;UwEz7bR6Ek_vf|n;|Iw)-U7CrP^`)UQ>uu` zsb_^4Gckh*Uqs{kD{sL)10#kQ*}_$VR{J|qF>!z!LN9tKLClco%xMe%lXIRNW0hPBZi_rI;{>RAY*w#0>Ff& z8P0IHD5#UzBrofa=F2AkV&e5`Rfdq zmb^0hI7L9rxP>LQBeLw>XGouL^24GxPZ8uF>;tBKwPr0~VJ)uBH}vzQgaqgi(G@ye zrQCnwNu8XF7~edlU9@`({!@Ir{Y`&$-d}OrgP&`+MwFG; ze%@&#+#6FaV$YJNE$1v^G*losB2h6)+|2=0tpK*J!HVu#M?lf@KtV5}&5Og=NhB%F zd*j1Yz8YAc4Af~d>%7h8Gf55wB;JjBY3=SrUv(L}W>w4X)Z1X#^niPxon($yvsC@U z+e-^%shncrr}F-I{q=9#pwA@6sklXyFuY*oLbUAILVu!Iz?8n1d_xjB14N?e%H2PO zIJV;r#wfSTl0I}Ty(Iyqif`^Fvhzc`WqwYWFRyRm-))_g_&UUh-@#>Ee7Nkw_m;s6A!ix9&0%&Ios)9w_#bcc68si;SUbiUpCKHDyy$2go7(_ zh4P~N=V4mzD;FDsuzCvhqy}<7GEGh4q(r@vHb2i9kaY8J^6)uSu;9pXZRXWhU-aTb z`{YSdsBC_U);atr84qcubwnB=i_L58R;Lsw)!+kSv0Nw2h7?nbKg1e;D*p=nk!5kX z$_K_n)#dD1k`hO!1IhQd`vx(KF)7vdol3o&AM2(SuKqDg3jG5nXB>3Z0{rcvGDI>B zbU*E_FG{ZW-ceVWe~hqh_++Fl*>QXPeB54i7LQ`k{$(}LD%_t?>fQc(ka|XGfPYI< ztps*8Ca}BB9(Lr_`h!(6Sg1+&r3V9ynBfT%$sgvYOv8ta46q140hK$U&F6CEFHH>6 zyP9}CdWgVokba?3PThnBg02-ZZ(l}ohFC!uqKRn~nbe;scbjb%?jLWBNJm0z1tbJt zOGBfMLC5FeU-(OL_d;5zi_scg*3QS&Cj_DH_z(4v>CoPtQoyuiUVl4%I z3?mV0Nv#Hlmrkar)DYkVVUIjq3Xyhj*;^vRPPllah9vuq+&yj8_X;;-4$=ap#AA-w z_E2Kevn?aOo!1$N|1KjxTs^Jw%Q81uMJ8hxvP%RyTA$BQB)N}fMAccnp{lQjn^5e2 z&fpU$ft%71YbN%y3&gFGnj<5Tv8)m{xmmX;$|)B`xPo=T&`2{=2q$ROIre4 zf?F;eR3~HV63^)OUXp0XLd>9zA~vTbG-@2KMA|Vr7xEFgaZuH4 z!4=DLpfy__Z0N8+C6tH_pP^J#Wgh}pW`n}Y7`}w77Xc7sne-Mu2={$}N5}6~_Mflw z%)4Qi8FPUfx#m|EHab#0Cl^lCgMqedd^$(>q4=PWI8slVUW(VsvDmpoUoXLK&8bOl z?-JF8mRaA~|8{W5Q00Mks6>z%L>=)EVku->=MZt0cGIknXd%we#Ab2z<+C6`SE5@Y z;@L#(mj+UJ*GbhM-Jt1t@>CZDgKt=(h6Wfodd)U3>`mNqUnq-y0QEE=x|Wqs*+pq* zJ~w1TG*Q8JD0{+Xcv%cSh@&7$GJkMcWtR_s)!iSj^Yx0js>RP&(<5renSmuoJbTJ4 zgj0n@yra}+{!$ok2TmF67fmE`h02#y#$$4hPGO_VbS(cjX-iVv=EZ?z?v*R|)_w!; zS|CKeSuS@C4b!})gn|l)l)y8y_2sdu#{ze2S)@E+@@fxVNqq7zxtrrvE~Al;`~Aa1 zi%0y4=;L*nDWED-5B1mv+rULjUo~;uWxX#MpE5nN+&euhk{zQp!>{9U&9)I(2wNC% z8f=+6-24a<7u9eNE>2mmVcqBP$neBKMyV9_2y71YmW(*r`kxa7h(slhq&8wH~^fKXJ=cEgR^rW7!BMco8elYNBv zvQ+G+1vwSvktI2m*hiJ%IQJiwXfq3v7>is=lWHhK-)SRfb@2uirG(yFzGB=*z>{RYJ{-f6^ z1z2x+*O`v>j-$5uDC4dav{)6_*1s)Hq9ldO!xiDmWpGH`#duYC?Ll8@N667j(5Yi8 z-#TR+7JePHA81sdfN9KGJzY?-g77f`@(PAmZTN$LCc#nsqtdyu42gMKqed;YKgb;j zpO|`7mOyYj*sgVmV8ZcxwGr^eCi-)r=ogq-M=HC@SN*Kk6$=#nHK(k4efeo8i^n3N zphI9|UnwYWd__*nA*h6{7?&=AN7qMvjM`*MP=#yVVvIuCZN;nh#?neF1mRSOHjyPu zDneLNw?f|m*9D^P{84^7*oB3IMInl7-j4I9ac+Wp zSO2?C>=0*hCHXY*^_ZoQ%ufFHc; zLqtc)cz*rPcwS-fi1AE)i;ZZlK@GC952xQ~OXoTXf1n?{XB4c0xXDs+Vy(=9#$ zCJQw8^B;bBv!%^Mp{?N=vx)MaQCMfW`s=n>AE!>@WtE~_ioCt5+{;}~UaUNLWBjNf zTO>t+L%ucrTGUwH(S!fCG7NmJu_1Uw+KR-HZ(|~4da0a@WW1&)L3chaulb&sc$%iT z`Q6vTCC=~`E9NTDkm8R`>7jAR(5kG@%aXSey zYv!`O9`frVrnrpP6N5UJgzVA&_I5K50$#-CYaJr|hj15%~6MfWz)seKJpUFeU|qs<|d2>7Epp%3RaFHNeU zZ@F!zBZ@Vx8fp;aj&0F)3~*Vv99;euTNE~@Znb&J_3)DBYF|8)bl8ecFbQD|a0{J1 zE+iwC6e2*^PYebxN>*Dv*G;496A}N|oeewF|D5&f{4l*^ zsK^#6lfZm0z4C=47PL7zWj;p`&2-4#w;HV!p3}qLDzVwnqv|Qp=ItApMq$q#+t(KN zQLW%df@+&NCE92bk5#SO2c7*;s8x$(HY(-I1|aJ55A-ppTvB<&*qzbrIW@pY@hLqm zCNSk7CGZ2)mH?XMR$iWLHG&IO8%u1p+U^(B=Y%_A-VaygN^%2G1SD$E$+Zi{rp?;tDS&s=}Wh^dSP{nICKQ`hq6>U>K-r z<>jt`0zWp22h9pwyjzGHt|G%Jm`nzX1m^zcy9q}`Tes!zC;HfoF6WADJk=an1^nCHHje?w?l%490xT0``j4#9vm>ro#P%CSyVWeIvLGdY9++?{kTA9$^Ae<>I_A{K!%R_ZHh@N z48-Tz(KJrvS>)Nj6{n{6m)jFq)5D;AOQgKzUhU@dwDR&FMqAUnAL3@%2tMv2Atu0o zHv0ywo&vFyu1(0!`1{c1!EUu-a+~ynkFV*Cach3s6GN9a$}ev-=3R2nmPHo_{d!vE zP*4SJ=xn<+`pCD^u6Yp86s7$%0W5~;(cDAE&eKEpFQ0|hVjK%&#d=)(Vs8X26ki|o zHXtg-&`lOP0^{7K0i*C6BwLJ~fNSA|#V|ry<(C~M*!I!_Q!~F0Cz?YW-nQvbS>uhx zhHHl#e@HF)pUo@vonVhl;Ma$0S|4d0-YHQEX^;{h-)3(IIVOVSmT+DFwF2F*Vowjj z0h!7Wn}^=mdA0l1{TsLvc)BagrIRW!7R#cgxNR`EYF*jBgxv=D-iKH=g*Xyo2Owsp zR}ir{FskikrzVcwyydl2TC62MT)4LFPlEf{lQda}CxV(ZC|)F*q04V7MrP?mac^4s zW3d!gwaEpp7d@=obOc&n|Cq8qV~HagIQKjEfmDaSe z6jz7fcz0)W-d1{JLX3--wrCEQ99mS9K(fQCjE+|P|>k& zPjAb4oa}&Ye!~V*QcBs%ai&lyt%VsYM}@ z&-dw|jCX&;M`%Hw72t(>PJO1!be;xobW^+{CMDnh1t4L`wUye=0FdrgHoA*NJB^Jv zWIB8RsfS(OT&vSy^3DL2zU6prjre9hA18yFE=YAkveTZ-+RhG!fPW@AU?8>JC=O_q zC$1GMe2J-d`gL?=boXSKW#G%g7!v=}4b%cSpetYb{m@;X*W|t}RrS*?ik#Mu`^ue- zt$`ReyXBSF`v+ja$~2{LVQT(Cbd@+}&{CgHK~(8v`?@5L!v0)T-a$0;04AxcLW0Vl zo1`QDYb%eUacx9%-+iyuug{fiU*Hp-e7{o&4*MZP>SOJP&s%x3=0J z4a7vk8MpZ9ctW3`O9hO^ve-z(;*O1ERHIiw9CbhBGYbtXlRBn|_s`j0*jWx0Y3!kc zpu^aF{ndGjGqAQLFukYqVAXh>lAmj2X@kSj8Y0%&bc393{8&W3pZ(PfOG<+$$sJYvgm=%M zS^{kGvCVcRST-39(NgSrwfi|{_xBgFagK;c-r6d}NS^dyNnpSc4Uf)FU zAEa=LeeKJsi)5oN=D(%eooF2CizY)Y0};~34CDaj|cfC zjkMQPo(@3Y36sA zw1=4sDw*yVKBJuH`8EOoAQ;HZ5FeOzFir&)B)R2-(&L*^IOr&mSvb|0LZtiKCkn7G z$v?JZA~+shzS7^)S)V>tJ_d*O90HSmuY4BFJG=&jQNHVKTgfTxT~r~3JstiwBcd%; zi;8Ng*F%FR9y$E31Juo*-a@s{Ss*BT)t|_A#M>26?L0Jph3a*~^#b<`<8CN5q*V{^ zzJ=}GtXII|wQuz9HE<|__UoPFd|s~PB-)=`n^+!1}k4#y(;kHz zYre=_mw0f^v_nUkZpKGgAd%&3%%-`=2(f(Fn3e+Va_zSDr{@coTzhVf`TKB1axTXC z_F>RA#_y*xW8&(&TN-<2ae4y)V0gf`b#7Hhbsuf#`MD~u#BG(QOTl=m<$V7Jex9TC z+?rt@?R;o|$XmSnjKx1_1#6)4#qB}kr!;W=Sv12hVt-2x&MnV&cCLJV?yd^4yd}6o zx%S&xaXv1f@DHf}x_|HHZeBsXKM*G!b%l8xf#F$?&dT1)eMw24=w;C2VptM;vujBs z{mWVG6P$$g%w?u6a1C_R+##o_UF3^0-uT@(a>YF8XlEsdA#uSx)&HX_Jg?~n-?KH} zPH6?6-uQiziusFtH07Bd>=^Q=WAwzhk@rRNue`p!JfPkO$oMyq+)s->E;MoXu4}o} zGfL#RP~hFM$)6Yaq+gM~m>jE!87u8z=Aq z*KLOE0o3|6EWB5ajyOB>LmZbMHmnoApz^KRs>%DUusX;p z`YE1i1P1|0kQBez1JNz<9_`FX*^&F}?Mv%?P*F#lCn6;;oN^aobuDqJw`G6rO)c$+ z{QvGC9O|Lz0BFh?{|bqA7)%A3DxOTtb{9az_f?%iW2)1*m$u6Q{am%3wSIovMN;UH zft1;4qyd==AA4pY*%^5a7Z)5eQvV!E2jzU5Be};8r@DkdhHjY8GpO==BnHpgPfb`> zpEGh@W_L!ze6O4S%2Ao^2-!*?h2Sqd*GhXwfvo_7X*OdUejGzHnr|010DZ4(G+sF{ zROi?m+$r3sBSMGZkQ%5ww3%M1Twk2;l3_+SSgM9=!qlQU6oZ=De=n8hyu(IpKJ%Z#X|pB?`|hyBg{2{wUKG;?WF#-ux6EGx zWjFUu!Pwfn7|`84BeqbBd{V{_@pt0EtB)4|ej?so%C-*pi4aDWLI+;i*uD%yrJoko zH_UJaJS^oo{*F%;=etwfNMxWKhJ7z3o|Fn5s zY-bS+f-Zc{nCvL!_MU6KI>M3F^>epTG?S2xoEx`F6L&dd(w=l}; z(Jnm-*?`{wVF~>m?cp>vDNWOUdeRI_nZgMwuRl;9(DyyPy<#v(u&YH#33elVgRbmD z&XAq@8FbLcQ?5C7`0eQ~VrwG~z@|k9~P^@G0V~&^r zhi5z?5p&Jv@ZMp2r0{b|{_|TQ)8M55xfOn@Xw|CkKFU{Nt@R(ff>qgpd>8#MiU1)6 z<6PVdnEL+f+t0)wG2wdhV!g*m`WHrXe5!A**_D79vjZaCG3}Yp#>PoRx(izBYOS81 z*MlRHdo|c>zw?A0Z&rz4{XH)Hnfd{9Nd)PDUCpM${Y{iJtR4@78z0d`}9PUNB&)Y=aFJSsPVDDg>- zq)d9hLQlB&r;2#CC9EyOfD&4avKyBdh8(Mg{mvSxa9Oca@~$QX+=D2!V9nfzNcz<5 zJUJjVY;CoiQGiN7jIX`@EVv>TM92vu`~(q(X?`9owi)0mp`i}A#rE#oKTB1kj#*i8 z-@jt`9HyN-oN$ws$T0i6<7T1H!GwsE;bSAb)&cM~A-bB@NoTN#!{@QYBwFt6a{nqLEuqmcz~7n1+8-I z@r8jBqU(BvIi;CZGoyB5=2bpb$cb~0AZXam>m3>nIX~wj^1yf2j_ob%#Gf1+vp_&$ zu(ggd-?UV#pjM=iIdY(tL~MVY=sa4JpRL_QG=|#rYBkPiLY=)96g>8V7L#PB^W2Jm zMlr=reS$M_^>SU^K({?<3B}8hyp*b)ROo9aOl&cY_dHi>$Gwo*yd#vhaTRV#gFCf!MCt#P=jGP;IaAY_O8+^exE9(dsbb` zNZ8*5p^dnN>ellT1S_l|s4^$t?6MJ+n`LV5MlA~e0wsY9!S~IFh`MzpV`;7LRT0_- zDRroN;(X;T)K6BbQn$t9k!Pxkiqb%E%fv(VYaUki0N@9k~ zk?%VFruI!?91nzr#u}$JJ+sJK!=xGuht#(3<~zl(I|_TL_H`5eP%wu@A*FsAp8ug0 z9-!J%QB<`dyQ+PEKzy6?kp2W4s?you3tO_;b~=1c!MfV-K)!?tzQSqFp`GkWeydBxvPkL?LgAYy*cJN&8-6Db;zQjIi}wwLyn z4r4QEvHwuAJ0qy>%WI4nR}=Xq4Yq^d=rX|MVj96rTLQL~NF=caK?z#Z%+PrpI6QA| zCMzd*iqF#iF4Z9rN8jZCZ)(D?O@l#XaX*w&L2*#&~0=>wGU*!H&X6Io^fCFnN#s@ zTGWVGdC6kayaz&xs&QKa2SUvzu^pRN-ONv3zi>^H8$wDWpRl?(n47r37nP=2r@N3; z*Dti)H6IK=2hRZd+f%^bwr`F;cej{Hwrx>Tz`&}sf4olczZAft0tsX zn9M-1Lh77o?Hyz45R=iHNwBLM4-oslxiN98_E-f-xxrOOF`l!Yu0gYRgTB8K zW$B4CzZ_yWbnK1)g|$zV3B;%J?x8DqHknLwaT1#JnjvL&P^cK311<#7qM@$ULf!5e z$z1U#iAUGvA$soeLt)dY`gE<}pG3^^d>TY`q4sBBFi*bA_l-ajj@bJ%<;9KD$xbd`(D9Sc9X;l5 zZ365a|4mBWXRIa05(+i#b9Y!#X%PzdcdSS?CQV_CEaveaMk%?7cH6$2OWG>JRLluQ z8y|qd6ZgGSr!fNXlrd>$U=C1CKQwvc0#3N~s_d$f+C@bxezMK-{1~YxK&yW1lsHH;x zWGB6AEiTY|TcmWCOFvu3A`Rvfx`)n(c+pVc-p}{O9l?dcqw=9mcu z{^PZ-;%rRX_yY~&s`yWT|kOM7(24tEUx(!eyc^n;gKKm#X+BeiqN(sb?RmTD{ z8gL_71M$s^U}Au9u#W|L^@IJgvh1`^uj|wnOzeUteMCaJ$E9a$RxnJqxHUe8OFp?; z&?Aele02Ng=&FlyC&O%EOS>jQwencle876>!UorO;g zPy83v{?GtCaNzT}8cl%dsX-l75XlY*f#mN4oZXY%B7=<)M6qTk%L5zynnaqHy49{a z@==N~2>WQvf*3$LPX<`~uAv@+i*>{4PmdqOt%TK6EsTK#?B@%KE(zHw3Ub<26$LV! zLNv4a5OtC)<0IvV?>3~Mv=V&?5~nv0J1oU*?kzbEH(aCh77&BxVEj=A3|Fx?GNuN9 zPv-M%UPQoh+)^0BPJ*EHB`@0oTJa5dVYBpyd{Q&mebsJLa zyMV+pbw@oqC($3u8{iQVY2N`?-wkoJVfo5;ZZH zz^p;OWQMC9xk3?1j20rnvZ(hGcvuP=+NJX~Q8<}Fp8HkYR-aR#P3xU!9RlHZYb^8D zdpv8@Xat&d0hK3ZhZs@ZE2Liw?j~askug%j1YP^P2RN_?QtmL@WUvQ67`iZs{vXE& zTOmITl~3+SQf(Xp{q1)i%v^-F5i()&L4-;J0L(GHBKG<3w1uBVMIr03)gM4NqTv?| z1;qF6VCojU&_=d!%RUu{7`S8PD(&vK0AIMO^F9K;0`#);gz-F`SM;+}rkz%$jd|a7 zslj@?Om)sh04eq~=RnzIqnp>3nXr$xb=t}S?;%=Z8+$>v^(4uOvLZot6tFwlvh7}F z6KO}SHhfGePz7gzV;#SX)}N6FrC_@J&UibEvM}j226YC<&96Puk`~O>zor4|`-dF^ zGtO<)<~H~_-P%~v8)*BVp*#kLQuIvb6AOTROp(NqBFS8GQmn)_6R1>-^I6c^=R!+i zvH5O~0>1aE%L#^a+Rem3pskCseYL=}LV7i`E4^i8X@HZ@4C%GmW@vT2j}x6Vxx*Ss z0|tO(Yh^hzb-ju|b+R*v86&UdL&w2#Gwytv@_bP=>pIck^0sP}K{k5Tzs>OMsVJGx z=Q!%)@=9@Uk0n)PD`4iOcuYO+En+^o4?XXC9KoOR^PuT2R4 zO~GMN;1uC?cb*V@{n#a9n}*j?#@M=u?&!;r8%7r7*G-ki$vg$0c))XrQ_>HiUxzL& z7}#fZM^7n;9aKdxzK*n13(lRMB)No|_h+*YuBWf5%=(dkGwbYVn=G;>nMd*Kj|BK7 zTg4En?xd0V>aJ!9g*3k-(-7*CgGd2^xjB?c^SJ(f@G)-3M71hfi0$`#oN!;8$Ct(;I-a^cT!uvK3hV#2aBzF6_USC7qnArBQ z2m{Kg;LkL#vVkuCV6GBw4YY*DuGEx0bQ9OQwB?&?YI4l(H8=RQ_et~p5bZYRym)g? zGGY(fk}##{%bKiwiYf78r_Tj!tE}IBhKfz#oc0!UZO5<8UcW*DpTuIyHIw{Ug`Yg~ zz6vkrO-+LGWrlY+SI<8;vaA>P!^B+#SY1luA?(vesZ~8XhL;|1t6KC$DH8fNw|>QS z7<9B14%M@_O_{e@vtcWit)OvzMw93A`_Mn7dd>SQwP7g`V2+M3jB`KR`_JMKkn=x4 zj95mnI80p|uJ>O9zGEfHuQ|I<94_=bL-;eam_D7Pjai*uo!DeH z-7hEP&|F(i-!)O~dhXXis*pbHRc*99y`8KL?}H(kDUU_N*8<(s0XaWn36 zC-=Kk)h9c>o;0=RC!I~)Z@fKTslO|TuVk~sbf+wWqNX5K?8=hmfczO;Z^sOps!t=J z;M0RITHc4x9vA?R(T-t-Yab|M7dr8vr)NBZot$r67J4vvVJ3uOH(N$1Q{sNV%e zPC#Q>#NPKCOx&8V`c@8bmisYe(oJL8a8o$eRh@sKuHpW)@1WVeH&;UF1F9}AUP_m= z70y$eH0h*xM)8a-2pB?49i=j;V)PL|`aAZVe@^b_K){ykc0N4&TjlYE;ioArIAIA8-4&HhXQ> zP)ka-y@K-SE33{qv=R8dqLAG$r}kb6wvo?28Dg(B0@*~?9h=Y1kNQ;km@;<44i!%d znA<(F1mI6u+BA}t4wuuZig0>pCO-9rcP=DVwpYirexbakFUNK1n2SV;JOh>z{8kWR zfIH34ZVQ1Bkr;w3glSqP4fOW3!4}MmSZ<;3IZVRnNu#QnW2yxmA5lzy)alkk-e@KT zvf-&PaqD2H$D8IzlZ1=?l>%a)DjZyd3J-52ILa%Fy#q}eAJSLoT0aHMxI)xM4dQNf zpfQ}mWYS8R-^tY0`%?W1cI&3~0@fF;s`pqwZy{=6!C2!r?bMnZdp&&Wp-7)IpBE!P z6Ms@*ZQqH+)YoVWo=7aElJ7|QBH>-BK+;v`=wG+!+dd>L1klaIp-*OkkR()W0C@0k ztxLr#FpdRQ8j9(+dy`J|T1d5q$8+Px!;$qpd(lrNHv`y_4&i%ENY&`|J`sb58 z3^i=MS)NK&;f*iPb|&nP_F-*W-5Z3dnIT5H&B{+rC5XS4%vEg18NmQ1tQ!1Nd0XJ{ zIwOR^Dt*PdP0FhpS-hF*7%ct18hM&WkxQR&Beyp9#l}~DYJ(1OPvef1gN(pTxL^~@ z)-y<&$oD&cIdj1Rz?r9i3;pL6hG4mXkbVUkeziwLKD&4GjtgDFM)dgY=CQdTJKXr~ z=`Wj%losi}I`%-cc+Z#j%AK1<)q+}2LaXWP$8SegTM_9RBn(3H#Gbs;bzyXP#i^!x zS%y*s_n0*=0lJVkmOjGt8z6o=^+q6A{Qlz5_ysyBGA}3lokgpimGKQJ83u2q(|sqc zb5DvD?`xhsNhZ)|z*!L!2PRaMGMJGO{t72j{_bnxJyBCc&}z@pk96#}ko86~H$jwK zcCswtP|g_E=IpumUNt*5Ozc)x&u{-oQt_`|I)=;YjPyl1PWfI(YSP%!sEEOPJOWLg z+K@DbiC{k{FAHzy2vYMmi7aMsy2tn?QE)64ZhHAMY!Ph{Z>g2V9AE?E58?w84k}@) zeG9Qjdns?JFkP5vli9Z1->;MaCh4`OylpGtN_-b0idB(aJ(`+<5El3}U$o^4Yr9y*S84xw0Uhsyx$<-Lb3 zeK&kPh8eGc*TU<(f8F-$bb$;`+*fgG%hnvB0ILERnJViOlX} z92Vscxu>q!Mg-EGT_CcH*)nb9KLD`w~spv4pFtu-+29~quxL2VGEHY4% zxxnIBN8nUz8iv1$*N`GY8J_pjR>xe?Cp<9|T@{pu$=ABdY{G^{LxzHSDm@EiJZ(Bd zPo&W582!wpK4k}LB27vZtdg2Mo>-mAib?4*VL-v}D|eRX2-R=0{`g`2^Nw#@(zdIm z2U1m%`s9&L)V*vkf-xerwZ@fgT9GN~^YPnl*|9kthQIUt43xPaKU`jvDL&u|>Ab(U zru1qI1QLsyDLh4T-2M2yC+Hu!d z5&x8o;I4w#HAYW}KT1iU4n%FBKj{pj*QGGLB!-!Wkp`~U`?}Jzqvwt6fbsIz_f+ES zGB6r#J`YVkYbdgiAiWKKtUK-A>~iyQQNSA;dFxp1bx~Eps0#j)52skCZ3?mHUv$w+ zB9FBOP>WxhlTq*4*WYG~Z!Ibhr}iHM!qKeW!*W=5SU!e|fB4?;eW=NB6r*}2f6c_- z;6RFU=z4|JlgvO3(lP{bN%!8pk4LzTesnp^ZjB5*}SEIBXH1;J%aEX&Kol6=t-7?9KQNN@o9{ zp~N?-<2f6G5Bxf9H&$QF?%K&s*!U+wbPO%efR>A3I|NEsr4ODgUm}>5CqyLhpDpQ3 zOHpBtUxzP`4-Pr?1KN4Z@dE;zi;5Ccyng_qoE1gg9_BW9P@n5itHqiLaZ&3;>oDCAX{Wx-RT~= zcs8^@$5IBIJ?BC4U*X&v0s;5utIZ{FPhb%jNPgG4xl?>WVDG79W7VjpGy=e!+!7Z4 z;g@~{F1kt#q_0gYvz=l1F;-mKZ<$*n%~CuZ{_vYj!UpnM&Zs5qqHTd-Xy3s4oFz zMvyRSj8PDtmI|cJ{Q%?{OHn)>JD;tS_j%{f2b5uboa~!!rp@w?0vkNs%x)6UP+5@8 z+y;qsrdEMlX3r&8;oKj-{4kTTHu6z&nb$+SQSGdZ_hZQ?qYXNz!Z^{OJc=j0Ph0bN zZ(HX+Cb&}Q*Eb4}CKaDQtQ;W_&?+trMy2C#ZhMadRh9~bp8=u5_r+x6xCJO?rO}!d z^b{08Yw!U~9raauBG_#vZb#y^(=zl}XmOa+yKNo_@qYcKZi&)h0;VJ z0FQ`(IXqMW2Y2lx_REfm}bQB;XUa2K2cEp<+-nU=lZ{T=ik|Tvf~& zzWlU5X3tJvq!hs(&AGh&FxMT`E*8e|>&cbOSR!jh;1t=!wguF$9-47b_1s=Q=uzmB zxe_TMt&BA66UCnIQ&uzm`R&zZ zUXfTgrp`MDGaJ$#1vCAsQcgftcq2^sfZl|2vBo>X#q%v}lgU)Q^c=}HQ*-VYbH+o4 zllap1TO!Vn-*B%FQxH@Ja0~|KF7uX8^JxZtiv~zVj%@{5b`2_US+hSXs;(f5FO{Ut!>zRo6R2#v|Mlrka#Y5#pn^D6M9?08N*H=Y;I_rG393U{OYayi}P4_T`7rGl4Y z1F9xg^}#hv#$AUg{j)k~m4z%ZiSlV0RTj$S)~5=!!n2>2cjvN+N|Xv1^@vYtdyeqnwhc9V2KC9)aK0TCP04|jTJWA2NBw?zmAe*hPLo$)ql2zAC?Ak6>RC9+h~r+ zj64E{f*5D`zUrlu?>l_2C(+vH_8@+TkNd*k`%7RJOLO@(qMu&>w_(Qy;o_*{#Ouf> z+T)3H;lcxPyrIi)#Al#l3-IuBSR-W<)FQN?n<5 z^$$6GSCuib$V+HsYwlwvOVj)_R}d5G?kTD zD^F4K1B_VJ-nd_+HsfU}8-`Bc+rDkg_injPVy!H=g-JBS;T+qKHx~z|^g22jo<*Hn zl#qF|4Dc=bzW5g44^rwkePi+dw!;)2vQD86#YX?&16af%VP|)A>}SOZTg{^40GjBm zfeOH#8@CUEA}T%$_TrcF>3%u=Tmnk-QU1$h*`9!irIN6j`+x>Ba($QogY|;t-1V4& z>Xc-*h+j~cb+kh{$ojY97;u<(`Ipu*uN(MUdpaRr+cs6=(!+*m3<4XgkEMHe?{bYMSZ>Wjg|WOYR$|<%)VRn3(5Xxuq5o z|L;aXz&G)$eB%4}6#Ds80%+Sbu_->FK&3UATb}iQ3cD6?DAP8~P$nj3gdCDFImD_Q zI;h<;#-TwD5m}NkO$S2`r6oiSGixQGc5^7FD00}Jm1ZqMBUa_OPEj(1T7`C4rf8pU zKDGb9|9@S->$_ZBGuQRK@Ap2>b3gC>Joo#B@V%oJ8f6r|q7yxCC9)iphAmw4UpxbW zLWXHDJ=SCbPl$8O4jiflEo|lK+2q`{Kg!0Et8?*~CtvCZY{G~3(XF@ZRa+<|m~J*# z7Zp%RPE5F|t-bp=l7Wa5`Vz!A@_g*dAq1a#n~q6Yg$+aZ`a3?>)7P*{b-Tavu*-~G zy;`1m%*v?z>yAeZ=U#O+NuBSG4~@(eT5iRJxx;%g9`AN(f2MSa*!a6pz@hs!+aJT0#LOr7)>Lr*cZtpay_ z3^qVuBFs<}YAz;6ef_w>P3587NZbsMt8a<-S!a@Y(%+<2J5J%J{E*GaJ-|JYR#^Ys zU0LX2FffcvVvX+RSxK+!yUs92+c;A4Q#9xXc-J6Z?{qOOKW398qyJx&F&y7uFr>?V zE@iz{HbZjaxZs{)%o^mL#SLLTgTxbtiPEd{TA-q7lBv?$V&GD&)Oi+7r)+J=1IKM` z4vr)Fo;V?H-}$f&Jf}MHFT)(QK@E6MdUMulIjvS~p~b3}a2{drd`0c>`{2xIDCz}t z-*MfuSa2@!#Wmn}oyTwzxlJi+h%sFV)2ic`d3~Yu$NNi9Z&#dzFOJ>iIx6czIJqU4 zSp`vDY26OV`jt~jV^1>PD}NbBS|+baNeW;KDV@$$4#;o{@EGnCO832m^r4OC9OrqC zf2r8>UTa{4FXY0L3bhN)(@0lc&Enj^o{@cnzjw@#oYXL&F%K1tJgA)10-#uRgu+PzfpeJzzrT51eO57 z%}5=+2uG1<3*to5R!qEJN`+F_tf*TSK<4O{;8l2?zH;M;xk(n&fo99sda(`Z`-*N& zci>gB!2B61myp)}^#<~m%-q|5+L@pKtt-r_L$0L#-mBY;gu+6@A0|E`g>Pk3?yWY? zl!>g$Wl#SywuW7T%cop|Y7AVA*3YvcZ;%H8gw8Q2^XMqpBC5{J~|kws}h8_=%d{Fd~*`)#eA9e-JlU{RcE zbi{hh!2hOC#A;6-mKPt|3?Q3!)~t06pM$5)f)MqO!fzD!>dNj`hlYF9yujmn=v9Z& z7-WD^j>~)7s5}W$*7_OiatGmkv-MH)J{rxZ#vZ3FJn!)%IR#2qg-*Ry-4QUk5~u7` z;aB&b0phd6>$JK{W9xEry1zq%OG_#wQpN%6ywXv}3c-LlKM3?+bDTkh0kiQ`UBvb8 zxDbLV~eTFy^cQ0MfMY1y8!$0G*vq(Yhfkj^^?T{?HJX6O_B08%Z zEpL>Z^bk_e)~+a1~UzEzbQZpElZ@e0He!BFQOHQpY}h z^!=vA9o{+j*X)R0YBQyMRe-ps=z_-V%C-Vs^q&I?;`~d3Hv_#TQ0MZ36Fo}(dP{4U zkeUo9zdZ23fl#Xb(SGaGpmMB|+03m2RIcy!13^o`WM5e+h!6tcERT4#l=L1qE7XGG zk@V5X_w^xkX};4WR}+jwlTQ5!ZXdckTo8mMNt>pn>iotY!;_~)pp~FvatQRv=d9B} z-$fZPx# literal 0 HcmV?d00001 diff --git a/keyboard/ergodox_ez/keymaps/msc/keymap.c b/keyboard/ergodox_ez/keymaps/msc/keymap.c new file mode 100644 index 00000000000..e567e513f97 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/msc/keymap.c @@ -0,0 +1,184 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +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 | ; |' / Cmd | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | Cmd | Alt |AltShf| Left | Right| | Left | Down | Up |Right | L2 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | App | LGui | | Alt |Ctrl/Esc| + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space|Backsp|------| |------| Tab |Enter | + * | |ace | 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 + 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(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), + KC_LGUI,KC_LALT, 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, KC_MINS, + TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, KC_SCLN,GUI_T(KC_QUOT), + MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, TG(MDIA), + KC_LALT, CTL_T(KC_ESC), + KC_PGUP, + KC_PGDN,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 + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | Mute | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | Prev |VolDn |VolUp | Next | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | Lclk | Rclk |------| |------| |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_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_BTN1, KC_BTN2, 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_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, 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) { + 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) { + // 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/keyboard/ergodox_ez/keymaps/msc/msc.hex b/keyboard/ergodox_ez/keymaps/msc/msc.hex new file mode 100644 index 0000000000000000000000000000000000000000..a466a37af7349c1d01dd1f43f45b09c21f389cc0 GIT binary patch literal 50246 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