-
-,--------------------------------------------------. ,--------------------------------------------------.
-| \ | 1 | 2 | 3 | 4 | 5 | <> | | ¡ | 6 | 7 | 8 | 9 | 0 | ' |
-|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
-| F1/~L1 | . | , | Ñ | P | Y |MEH_T | | L1 | F | G | C | H | L |ALL_T/+ |
-|--------+------+------+------+------+------| DEL | | ~L1 |------+------+------+------+------+--------|
-|Esc/Ctrl| A | O | E | U | I |------| |------| D | R | T | N | S |'/RCtrl |
-|--------+------+------+------+------+------| LGUI | | RALT |------+------+------+------+------+--------|
-| {/LSft | - | Q | J | K | X | | | | B | M | W | V | Z | }/RSft |
-'--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------'
- |[/LALT| HOME |PGDOWN| PGUP | END | | LEFT | DOWN | UP |RIGHT |]/LALT|
- '----------------------------------' '----------------------------------'
- ,-------------. ,-------------.
- |F5/CAG|F6/~L1| |F7/~L1|F8/CAG|
- ,------|------|------| |------+--------+------.
- | | |F4/CA | |F11/CA| | |
- | ENTER| TAB |------| |------| BSPC | SPACE|
- | | |F3/SA | |F12/SA| | |
- '--------------------' '----------------------'
- CAG = CTRL-ALT-GUI
- CA = CTRL-ALT
- SA = SHIFT-ALT
-
-
-
-### Keymap 1: Aux layer
-
-
-
-,--------------------------------------------------. ,--------------------------------------------------.
-| | F1 | F2 | F3 | F4 | F5 | SLEEP| | PWR | F6 | F7 | F8 | F9 | F10 | F11 |
-|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
-| | < | > | MsUp | | | | | ~L0 | | 7 | 8 | 9 | * | '^ |
-|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
-| | |MsLeft|MsDown|MsRght| |------| |------| | 4 | 5 | 6 | + | Ç |
-|--------+------+------+------+------+------| | |PSCR |------+------+------+------+------+--------|
-|CAPSLOCK| | | | | | | | | | 1 | 2 | 3 | / | |
-'--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------'
- |CTRL-S|CTRL-Z|CTRL-X|CTRL-C|CTRL-V| | | . | 0 | = | |
- '----------------------------------' '----------------------------------'
- ,-------------. ,-------------.
- | | | | | Play |
- ,------|------|------| |------+------+------.
- | | | | | VolUp| | |
- | Lclk | Rclk |------| |------| Prev | Next |
- | | | L2 | | VolDn| | |
- '--------------------' '--------------------'
-
-
-
-### Keymap 2: QWERTY layer
-
-
-
-,--------------------------------------------------. ,--------------------------------------------------.
-| \ | 1 | 2 | 3 | 4 | 5 | <> | | ¡ | 6 | 7 | 8 | 9 | 0 | ' |
-|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
-| TRANS | Q | W | E | R | T |MEH_T | | TRANS| Y | U | I | O | P |ALL_T/+ |
-|--------+------+------+------+------+------| DEL | | |------+------+------+------+------+--------|
-|Esc/Ctrl| A | S | D | F | G |------| |------| H | J | K | L | Ñ |'/RCtrl |
-|--------+------+------+------+------+------| LGUI | | RALT |------+------+------+------+------+--------|
-| {/LSft | Z | X | C | V | B | | | | N | M | , | . | - | }/RSft |
-'--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------'
- |[/LALT| HOME |PGDOWN| PGUP | END | | LEFT | DOWN | UP |RIGHT |]/LALT|
- '----------------------------------' '----------------------------------'
- ,-------------. ,-------------.
- |F5/CAG| TRANS| | TRANS|F8/CAG|
- ,------|------|------| |------+--------+------.
- | | |F4/CA | |F11/CA| | |
- | ENTER| TAB |------| |------| BSPC | SPACE|
- | | | TRANS| |F12/SA| | |
- '--------------------' '----------------------'
- CAG = CTRL-ALT-GUI
- CA = CTRL-ALT
- SA = SHIFT-ALT
-
-
-
-
-## Generation of .hex file
-> [Download scripts from here](https://github.com/johgh/keyboard/tree/master/ergodox)
-
-> Execute install.sh and generate.sh scripts.
-
-> Flash with `teensy_loader` binary (should be installed from previous step)
diff --git a/layouts/community/ergodox/french_hacker/keymap.c b/layouts/community/ergodox/french_hacker/keymap.c
deleted file mode 100644
index 73e3076475..0000000000
--- a/layouts/community/ergodox/french_hacker/keymap.c
+++ /dev/null
@@ -1,168 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "debug.h"
-#include "action_layer.h"
-#include "version.h"
-#include "keymap_french.h"
-
-#define BASE 0 // default Colemak Mod-DH layer
-#define SYMB 1 // symbols
-#define MDIA 2 // media keys
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Base Colemak Mod-DH layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | Esc | & _1 | é _2 | " _3 | ' _4 | ( _5 | | | | - _6 | è _7 | _ _8 | ç _9 | à _0 | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | Q | W | F | P | B | TO(0)| |TO(2) | J | L | U | Y | ; | Ins |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | Tab | A | R | S | T | G |------| |------| M | N | E | I | O | Bcksp |
- * |--------+------+------+------+------+------| TO(1)| | MEH |------+------+------+------+------+--------|
- * | LShift | Z | X | C | D | V | | | | K | H | , | . | : | Rshift |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | ù | | Left | Right| MO(2)| | MO(2)| Down | Up | PgDn | PgUp |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | Ralt | | Ralt | |
- * ,-------|------|------| |------+------+------.
- * | | | Home | | End | | |
- * | Space | Ctrl |------| |------| Ctrl | Enter |
- * | | | LAlt | | LAlt | | |
- * `---------------------' `---------------------'
- */
-[BASE] = LAYOUT_ergodox( // layer 0 : default
- // left hand
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO,
- KC_NO, FR_Q, FR_W, KC_F, KC_P, KC_B, TO(BASE),
- KC_TAB, FR_A, KC_R, KC_S, KC_T, KC_G,
- KC_LSFT, FR_Z, KC_X, KC_C, KC_D, KC_V, TO(SYMB),
- FR_UGRV, KC_NO, KC_LEFT, KC_RIGHT, MO(SYMB),
- KC_NO, KC_RALT,
- KC_HOME,
- KC_SPC,KC_LCTRL, KC_LALT,
- // right hand
- KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,
- TO(MDIA), KC_J, KC_L, KC_U, KC_Y, FR_SCLN, KC_INS,
- FR_M, KC_N, KC_E, KC_I, KC_O, KC_BSPC,
- OSM(MOD_MEH), KC_K, KC_H, FR_COMM, FR_DOT, FR_COLN, KC_RSFT,
- MO(SYMB), KC_DOWN, KC_UP, KC_PGDN, KC_PGUP,
-
- KC_RALT, KC_NO,
- KC_END,
- KC_LALT,KC_RCTL, KC_ENT
- ),
-
-
-/* Keymap 1: Symbol Layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | § | < | { | \ | ~ | | | | % | @ | } | > | ¨ | F12 |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | ' | = | - | ( | + |------| |------| * | ) | _ | / | " | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | ` | ? | # | [ | | | | | | & | ] | $ | ! | ^ | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | € | £ | ¤ | ² | | | | ° | µ | ß | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// SYMBOLS
-[SYMB] = LAYOUT_ergodox(
- // left hand
- M(0), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
- KC_TRNS, FR_SECT, FR_LABK, FR_LCBR, FR_BSLS, FR_TILD, KC_TRNS,
- KC_TRNS, FR_QUOT, FR_EQL, FR_MINS, FR_LPRN, FR_PLUS,
- KC_TRNS, FR_GRV, FR_QUES, FR_HASH, FR_LBRC, FR_PIPE, KC_TRNS,
- FR_EURO, FR_PND, FR_CURR, FR_SUP2, 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, FR_PERC, FR_AT, FR_RCBR, FR_RABK, FR_DIAE, KC_F12,
- FR_ASTR, FR_RPRN, FR_UNDS, FR_SLSH, FR_DQUO, KC_TRNS,
- KC_TRNS, FR_AMPR, FR_RBRC, FR_DLR, FR_EXLM, FR_CIRC, KC_TRNS,
- KC_TRNS, FR_DEG, FR_MICR, ALGR(KC_S), KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
-),
-/* Keymap 2: Media and mouse keys
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | MsUp | | | | | | | | | | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | |MsLeft|MsDown|MsRght| |------| |------| | Lclk | Rclk | | | Play |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | | | | | | | Prev | Next | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | |Brwser|
- * | | |------| |------| |Back |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// MEDIA AND MOUSE
-[MDIA] = LAYOUT_ergodox(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- // right hand
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_MPLY,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_WBAK
-),
-};
-
-// 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 = get_highest_layer(layer_state);
-
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
- switch (layer) {
- case SYMB:
- ergodox_right_led_1_on();
- break;
- case MDIA:
- ergodox_right_led_2_on();
- break;
- default:
- // none
- break;
- }
-
-};
diff --git a/layouts/community/ergodox/french_hacker/readme.md b/layouts/community/ergodox/french_hacker/readme.md
deleted file mode 100644
index 829013597a..0000000000
--- a/layouts/community/ergodox/french_hacker/readme.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# French hacker layout
-
-[Colemak Mod-DH](https://colemakmods.github.io/mod-dh/) layout for
-users keeping an `azerty` layout configuration on their OS.
-
-## Introduction
-
-This keymap is for users keeping their operating systems configured with
-`azerty` - for typing passwords in their native languages, or for their laptop
-keyboard - but who wants a Colemak Mod-DH layout on their mechanical keyboard.
-
-The symbols layers was done after analysing various programming
-languages sources codes and should be close to optimal for typing
-confort, see the link at the end of the README.
-
-The design is done to minimize the usage of the pinky fingers and reduces stress
-on the hands, thus Alt and Ctrl keys are accessible for both hands.
-
-## Flashing the firmware
-
-```
-qmk flash -kb ergodox_ez -km french_hacker
-```
-
-## Design explanations
-
-See my [blog post](http://www.dialectical-computing.de/blog/blog/2017/01/29/a-better-coder-layout-for-the-ergodox-ez-keyboard/).
diff --git a/layouts/community/ergodox/galson/keymap.c b/layouts/community/ergodox/galson/keymap.c
deleted file mode 100644
index 83c6638d57..0000000000
--- a/layouts/community/ergodox/galson/keymap.c
+++ /dev/null
@@ -1,179 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "debug.h"
-#include "action_layer.h"
-#include "version.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 | rclk | | lclk | 6 | 7 | 8 | 9 | 0 | - |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | = | Q | W | E | R |cmd/T |shift | |shift |cmd/Y | U | I | O | P | \ |
- * |--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------|
- * | " | A | S | D | F | G |------| |------| H | J | K | L |; / L2| ' |
- * |--------+------+------+------+------+------| ctrl | | ctrl |------+------+------+------+------+--------|
- * | { | Z | X | C | V | B | [ | | ] | N | M | , | . | / | } |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | _ | ` | $ | Left | Right| | Up | Down | : | * | ! |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | < | | | | & | > |
- * ,------|------|------| |------+--------+------.
- * | | | # | | @ | | |
- * | Space|Backsp|------| |------| Tab |Enter |
- * | |ace | % | | ESC | | |
- * `--------------------' `----------------------'
- */
-// If it accepts an argument (i.e, is a function), it doesn't need KC_.
-// Otherwise, it needs KC_*
-[BASE] = LAYOUT_ergodox( // layer 0 : default
- // left hand
- KC_PLUS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_BTN2,
- KC_EQL, KC_Q, KC_W, KC_E, KC_R, GUI_T(KC_T), KC_LSPO,
- KC_DQUO, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LCBR, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, CTL_T(KC_LBRC),
- KC_UNDS, KC_GRV, KC_DLR, KC_LEFT,KC_RGHT,
- KC_LABK, KC_PIPE,
- KC_HASH,
- KC_SPC, KC_BSPC,KC_PERC,
- // right hand
- KC_BTN1, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_RSPC, GUI_T(KC_Y), KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), KC_QUOT,
- CTL_T(KC_RBRC), KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RCBR,
- KC_UP, KC_DOWN,KC_COLN,KC_ASTR, KC_EXLM,
- KC_AMPR, KC_RABK,
- KC_AT,
- KC_ESC, KC_TAB, KC_ENT
- ),
-/* Keymap 1: Symbol Layer
- *
- * ,--------------------------------------------------.
- * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | . | 0 | = | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// SYMBOLS
-[SYMB] = LAYOUT_ergodox(
- // left hand
- M(0), 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 |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | | | | | | | Prev | Next | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | |Brwser|
- * | | |------| |------| |Back |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// MEDIA AND MOUSE
-[MDIA] = LAYOUT_ergodox(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- // right hand
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_WBAK
-),
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- break;
- }
- 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 = get_highest_layer(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/layouts/community/ergodox/galson/readme.md b/layouts/community/ergodox/galson/readme.md
deleted file mode 100644
index ebc916725b..0000000000
--- a/layouts/community/ergodox/galson/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Galson keymap
-
-
-Sep 26, 2016.
-
-This is an ergonomic layout for programming for those with typing-related injuries. Key features:
-
-- As many symbol keys as possible are accessible without shifting. These should be accessed by moving the entire hand and pressing with a strong finger.
-- Arrow keys and left and right mouse clicks for mouse-free navigation when combined with head mouse or eyetracker.
-- Modifier keys are dual role and relocated to positions convenient for the index finger.
-- Positions are more convenient when the keyboard is vertically mounted (as it should be!)
\ No newline at end of file
diff --git a/layouts/community/ergodox/galson/rules.mk b/layouts/community/ergodox/galson/rules.mk
deleted file mode 100644
index f008f50793..0000000000
--- a/layouts/community/ergodox/galson/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-COMMAND_ENABLE = no # Commands for debug and configuration
-
diff --git a/layouts/community/ergodox/german-manuneo/compile_keymap.py b/layouts/community/ergodox/german-manuneo/compile_keymap.py
deleted file mode 100644
index ae7ff50397..0000000000
--- a/layouts/community/ergodox/german-manuneo/compile_keymap.py
+++ /dev/null
@@ -1,684 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-"""Compiler for keymap.c files
-
-This scrip will generate a keymap.c file from a simple
-markdown file with a specific layout.
-
-Usage:
- python compile_keymap.py INPUT_PATH [OUTPUT_PATH]
-"""
-from __future__ import division
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-import os
-import io
-import re
-import sys
-import json
-import unicodedata
-import collections
-import itertools as it
-
-PY2 = sys.version_info.major == 2
-
-if PY2:
- chr = unichr
-
-KEYBOARD_LAYOUTS = {
- # These map positions in the parsed layout to
- # positions in the LAYOUT_ergodox MATRIX
- 'ergodox_ez': [
- [0, 1, 2, 3, 4, 5, 6],
- [38, 39, 40, 41, 42, 43, 44],
- [7, 8, 9, 10, 11, 12, 13],
- [45, 46, 47, 48, 49, 50, 51],
- [14, 15, 16, 17, 18, 19],
- [52, 53, 54, 55, 56, 57],
- [20, 21, 22, 23, 24, 25, 26],
- [58, 59, 60, 61, 62, 63, 64],
- [27, 28, 29, 30, 31],
- [65, 66, 67, 68, 69],
- [32, 33],
- [70, 71],
- [34],
- [72],
- [35, 36, 37],
- [73, 74, 75],
- ]
-}
-
-ROW_INDENTS = {'ergodox_ez': [0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 5, 0, 6, 0, 4, 0]}
-
-BLANK_LAYOUTS = [
- # Compact Layout
- """
-.------------------------------------.------------------------------------.
-| | | | | | | | | | | | | | |
-!-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
-| | | | | | | | | | | | | | |
-!-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
-| | | | | | |-----!-----! | | | | | |
-!-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
-| | | | | | | | | | | | | | |
-'-----+----+----+----+----+----------'----------+----+----+----+----+-----'
- | | | | | | ! | | | | |
- '------------------------' '------------------------'
- .-----------. .-----------.
- | | | ! | |
- .-----+-----+-----! !-----+-----+-----.
- ! ! | | ! | ! !
- ! ! !-----! !-----! ! !
- | | | | ! | | |
- '-----------------' '-----------------'
-""",
-
- # Wide Layout
- """
-.---------------------------------------------. .---------------------------------------------.
-| | | | | | | | ! | | | | | | |
-!-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!
-| | | | | | | | ! | | | | | | |
-!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
-| | | | | | |-------! !-------! | | | | | |
-!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
-| | | | | | | | ! | | | | | | |
-'-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------'
- | | | | | | ! | | | | |
- '------------------------------' '------------------------------'
- .---------------. .---------------.
- | | | ! | |
- .-------+-------+-------! !-------+-------+-------.
- ! ! | | ! | ! !
- ! ! !-------! !-------! ! !
- | | | | ! | | |
- '-----------------------' '-----------------------'
-""",
-]
-
-DEFAULT_CONFIG = {
- "keymaps_includes": ["keymap_common.h",],
- 'filler': "-+.'!:x",
- 'separator': "|",
- 'default_key_prefix': ["KC_"],
-}
-
-SECTIONS = [
- 'layout_config',
- 'layers',
-]
-
-# Markdown Parsing
-
-ONELINE_COMMENT_RE = re.compile(
- r"""
- ^ # comment must be at the start of the line
- \s* # arbitrary whitespace
- // # start of the comment
- (.*) # the comment
- $ # until the end of line
-""", re.MULTILINE | re.VERBOSE
-)
-
-INLINE_COMMENT_RE = re.compile(
- r"""
- ([\,\"\[\]\{\}\d]) # anythig that might end a expression
- \s+ # comment must be preceded by whitespace
- // # start of the comment
- \s # and succeded by whitespace
- (?:[^\"\]\}\{\[]*) # the comment (except things which might be json)
- $ # until the end of line
-""", re.MULTILINE | re.VERBOSE
-)
-
-TRAILING_COMMA_RE = re.compile(
- r"""
- , # the comma
- (?:\s*) # arbitrary whitespace
- $ # only works if the trailing comma is followed by newline
- (\s*) # arbitrary whitespace
- ([\]\}]) # end of an array or object
-""", re.MULTILINE | re.VERBOSE
-)
-
-
-def loads(raw_data):
- if isinstance(raw_data, bytes):
- raw_data = raw_data.decode('utf-8')
-
- raw_data = ONELINE_COMMENT_RE.sub(r"", raw_data)
- raw_data = INLINE_COMMENT_RE.sub(r"\1", raw_data)
- raw_data = TRAILING_COMMA_RE.sub(r"\1\2", raw_data)
- return json.loads(raw_data)
-
-
-def parse_config(path):
- def reset_section():
- section.update({
- 'name': section.get('name', ""),
- 'sub_name': "",
- 'start_line': -1,
- 'end_line': -1,
- 'code_lines': [],
- })
-
- def start_section(line_index, line):
- end_section()
- if line.startswith("# "):
- name = line[2:]
- elif line.startswith("## "):
- name = line[3:]
- else:
- name = ""
-
- name = name.strip().replace(" ", "_").lower()
- if name in SECTIONS:
- section['name'] = name
- else:
- section['sub_name'] = name
- section['start_line'] = line_index
-
- def end_section():
- if section['start_line'] >= 0:
- if section['name'] == 'layout_config':
- config.update(loads("\n".join(section['code_lines'])))
- elif section['sub_name'].startswith('layer'):
- layer_name = section['sub_name']
- config['layer_lines'][layer_name] = section['code_lines']
-
- reset_section()
-
- def amend_section(line_index, line):
- section['end_line'] = line_index
- section['code_lines'].append(line)
-
- config = DEFAULT_CONFIG.copy()
- config.update({
- 'layer_lines': collections.OrderedDict(),
- 'macro_ids': {'UM'},
- 'unicode_macros': {},
- })
-
- section = {}
- reset_section()
-
- with io.open(path, encoding="utf-8") as fh:
- for i, line in enumerate(fh):
- if line.startswith("#"):
- start_section(i, line)
- elif line.startswith(" "):
- amend_section(i, line[4:])
- else:
- # TODO: maybe parse description
- pass
-
- end_section()
- assert 'layout' in config
- return config
-
-
-# header file parsing
-
-IF0_RE = re.compile(r"""
- ^
- #if 0
- $.*?
- #endif
-""", re.MULTILINE | re.DOTALL | re.VERBOSE)
-
-COMMENT_RE = re.compile(r"""
- /\*
- .*?
- \*/"
-""", re.MULTILINE | re.DOTALL | re.VERBOSE)
-
-
-def read_header_file(path):
- with io.open(path, encoding="utf-8") as fh:
- data = fh.read()
- data, _ = COMMENT_RE.subn("", data)
- data, _ = IF0_RE.subn("", data)
- return data
-
-
-def regex_partial(re_str_fmt, flags):
- def partial(*args, **kwargs):
- re_str = re_str_fmt.format(*args, **kwargs)
- return re.compile(re_str, flags)
-
- return partial
-
-
-KEYDEF_REP = regex_partial(r"""
- #define
- \s
- (
- (?:{}) # the prefixes
- (?:\w+) # the key name
- ) # capture group end
-""", re.MULTILINE | re.DOTALL | re.VERBOSE)
-
-ENUM_RE = re.compile(r"""
- (
- enum
- \s\w+\s
- \{
- .*? # the enum content
- \}
- ;
- ) # capture group end
-""", re.MULTILINE | re.DOTALL | re.VERBOSE)
-
-ENUM_KEY_REP = regex_partial(r"""
- (
- {} # the prefixes
- \w+ # the key name
- ) # capture group end
-""", re.MULTILINE | re.DOTALL | re.VERBOSE)
-
-
-def parse_keydefs(config, data):
- prefix_options = "|".join(config['key_prefixes'])
- keydef_re = KEYDEF_REP(prefix_options)
- enum_key_re = ENUM_KEY_REP(prefix_options)
- for match in keydef_re.finditer(data):
- yield match.groups()[0]
-
- for enum_match in ENUM_RE.finditer(data):
- enum = enum_match.groups()[0]
- for key_match in enum_key_re.finditer(enum):
- yield key_match.groups()[0]
-
-
-def parse_valid_keys(config, out_path):
- basepath = os.path.abspath(os.path.join(os.path.dirname(out_path)))
- dirpaths = []
- subpaths = []
- while len(subpaths) < 6:
- path = os.path.join(basepath, *subpaths)
- dirpaths.append(path)
- dirpaths.append(os.path.join(path, "tmk_core", "common"))
- dirpaths.append(os.path.join(path, "quantum"))
- subpaths.append('..')
-
- includes = set(config['keymaps_includes'])
- includes.add("keycode.h")
-
- valid_keycodes = set()
- for dirpath, include in it.product(dirpaths, includes):
- include_path = os.path.join(dirpath, include)
- if os.path.exists(include_path):
- header_data = read_header_file(include_path)
- valid_keycodes.update(parse_keydefs(config, header_data))
- return valid_keycodes
-
-
-# Keymap Parsing
-
-
-def iter_raw_codes(layer_lines, filler, separator):
- filler_re = re.compile("[" + filler + " ]")
- for line in layer_lines:
- line, _ = filler_re.subn("", line.strip())
- if not line:
- continue
- codes = line.split(separator)
- for code in codes[1:-1]:
- yield code
-
-
-def iter_indexed_codes(raw_codes, key_indexes):
- key_rows = {}
- key_indexes_flat = []
-
- for row_index, key_indexes in enumerate(key_indexes):
- for key_index in key_indexes:
- key_rows[key_index] = row_index
- key_indexes_flat.extend(key_indexes)
- assert len(raw_codes) == len(key_indexes_flat)
- for raw_code, key_index in zip(raw_codes, key_indexes_flat):
- # we keep track of the row mostly for layout purposes
- yield raw_code, key_index, key_rows[key_index]
-
-
-LAYER_CHANGE_RE = re.compile(r"""
- (DF|TG|MO)\(\d+\)
-""", re.VERBOSE)
-
-MACRO_RE = re.compile(r"""
- M\(\w+\)
-""", re.VERBOSE)
-
-UNICODE_RE = re.compile(r"""
- U[0-9A-F]{4}
-""", re.VERBOSE)
-
-NON_CODE = re.compile(r"""
- ^[^A-Z0-9_]$
-""", re.VERBOSE)
-
-
-def parse_uni_code(raw_code):
- macro_id = "UC_" + (unicodedata.name(raw_code).replace(" ", "_").replace("-", "_"))
- code = "M({})".format(macro_id)
- uc_hex = "{:04X}".format(ord(raw_code))
- return code, macro_id, uc_hex
-
-
-def parse_key_code(raw_code, key_prefixes, valid_keycodes):
- if raw_code in valid_keycodes:
- return raw_code
-
- for prefix in key_prefixes:
- code = prefix + raw_code
- if code in valid_keycodes:
- return code
-
-
-def parse_code(raw_code, key_prefixes, valid_keycodes):
- if not raw_code:
- return 'KC_TRNS', None, None
-
- if LAYER_CHANGE_RE.match(raw_code):
- return raw_code, None, None
-
- if MACRO_RE.match(raw_code):
- macro_id = raw_code[2:-1]
- return raw_code, macro_id, None
-
- if UNICODE_RE.match(raw_code):
- hex_code = raw_code[1:]
- return parse_uni_code(chr(int(hex_code, 16)))
-
- if NON_CODE.match(raw_code):
- return parse_uni_code(raw_code)
-
- code = parse_key_code(raw_code, key_prefixes, valid_keycodes)
- return code, None, None
-
-
-def parse_keymap(config, key_indexes, layer_lines, valid_keycodes):
- keymap = {}
- raw_codes = list(iter_raw_codes(layer_lines, config['filler'], config['separator']))
- indexed_codes = iter_indexed_codes(raw_codes, key_indexes)
- key_prefixes = config['key_prefixes']
- for raw_code, key_index, row_index in indexed_codes:
- code, macro_id, uc_hex = parse_code(raw_code, key_prefixes, valid_keycodes)
- # TODO: line numbers for invalid codes
- err_msg = "Could not parse key '{}' on row {}".format(raw_code, row_index)
- assert code is not None, err_msg
- # print(repr(raw_code), repr(code), macro_id, uc_hex)
- if macro_id:
- config['macro_ids'].add(macro_id)
- if uc_hex:
- config['unicode_macros'][macro_id] = uc_hex
- keymap[key_index] = (code, row_index)
- return keymap
-
-
-def parse_keymaps(config, valid_keycodes):
- keymaps = collections.OrderedDict()
- key_indexes = config.get('key_indexes', KEYBOARD_LAYOUTS[config['layout']])
- # TODO: maybe validate key_indexes
-
- for layer_name, layer_lines, in config['layer_lines'].items():
- keymaps[layer_name] = parse_keymap(config, key_indexes, layer_lines, valid_keycodes)
- return keymaps
-
-
-# keymap.c output
-
-USERCODE = """
-// 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 = get_highest_layer(layer_state);
-
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
- switch (layer) {
- case L1:
- ergodox_right_led_1_on();
- break;
- case L2:
- ergodox_right_led_2_on();
- break;
- case L3:
- ergodox_right_led_3_on();
- break;
- case L4:
- ergodox_right_led_1_on();
- ergodox_right_led_2_on();
- break;
- case L5:
- ergodox_right_led_1_on();
- ergodox_right_led_3_on();
- break;
- // case L6:
- // ergodox_right_led_2_on();
- // ergodox_right_led_3_on();
- // break;
- // case L7:
- // ergodox_right_led_1_on();
- // ergodox_right_led_2_on();
- // ergodox_right_led_3_on();
- // break;
- default:
- ergodox_board_led_off();
- break;
- }
-};
-"""
-
-MACROCODE = """
-#define UC_MODE_WIN 0
-#define UC_MODE_LINUX 1
-#define UC_MODE_OSX 2
-
-// TODO: allow default mode to be configured
-static uint16_t unicode_mode = UC_MODE_WIN;
-
-uint16_t hextokeycode(uint8_t hex) {{
- if (hex == 0x0) {{
- return KC_P0;
- }}
- if (hex < 0xA) {{
- return KC_P1 + (hex - 0x1);
- }}
- return KC_A + (hex - 0xA);
-}}
-
-void unicode_action_function(uint16_t hi, uint16_t lo) {{
- switch (unicode_mode) {{
- case UC_MODE_WIN:
- register_code(KC_LALT);
-
- register_code(KC_PPLS);
- unregister_code(KC_PPLS);
-
- register_code(hextokeycode((hi & 0xF0) >> 4));
- unregister_code(hextokeycode((hi & 0xF0) >> 4));
- register_code(hextokeycode((hi & 0x0F)));
- unregister_code(hextokeycode((hi & 0x0F)));
- register_code(hextokeycode((lo & 0xF0) >> 4));
- unregister_code(hextokeycode((lo & 0xF0) >> 4));
- register_code(hextokeycode((lo & 0x0F)));
- unregister_code(hextokeycode((lo & 0x0F)));
-
- unregister_code(KC_LALT);
- break;
- case UC_MODE_LINUX:
- register_code(KC_LCTL);
- register_code(KC_LSFT);
-
- register_code(KC_U);
- unregister_code(KC_U);
-
- register_code(hextokeycode((hi & 0xF0) >> 4));
- unregister_code(hextokeycode((hi & 0xF0) >> 4));
- register_code(hextokeycode((hi & 0x0F)));
- unregister_code(hextokeycode((hi & 0x0F)));
- register_code(hextokeycode((lo & 0xF0) >> 4));
- unregister_code(hextokeycode((lo & 0xF0) >> 4));
- register_code(hextokeycode((lo & 0x0F)));
- unregister_code(hextokeycode((lo & 0x0F)));
-
- unregister_code(KC_LCTL);
- unregister_code(KC_LSFT);
- break;
- case UC_MODE_OSX:
- break;
- }}
-}}
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {{
- if (!record->event.pressed) {{
- return MACRO_NONE;
- }}
- // MACRODOWN only works in this function
- switch(id) {{
- case UM:
- unicode_mode = (unicode_mode + 1) % 2;
- break;
-{macro_cases}
-{unicode_macro_cases}
- default:
- break;
- }}
- return MACRO_NONE;
-}};
-"""
-
-UNICODE_MACRO_TEMPLATE = """
-case {macro_id}:
- unicode_action_function(0x{hi:02x}, 0x{lo:02x});
- break;
-""".strip()
-
-
-def unicode_macro_cases(config):
- for macro_id, uc_hex in config['unicode_macros'].items():
- hi = int(uc_hex, 16) >> 8
- lo = int(uc_hex, 16) & 0xFF
- yield UNICODE_MACRO_TEMPLATE.format(macro_id=macro_id, hi=hi, lo=lo)
-
-
-def iter_keymap_lines(keymap, row_indents=None):
- col_widths = {}
- col = 0
- # first pass, figure out the column widths
- prev_row_index = None
- for code, row_index in keymap.values():
- if row_index != prev_row_index:
- col = 0
- if row_indents:
- col = row_indents[row_index]
- col_widths[col] = max(len(code), col_widths.get(col, 0))
- prev_row_index = row_index
- col += 1
-
- # second pass, yield the cell values
- col = 0
- prev_row_index = None
- for key_index in sorted(keymap):
- code, row_index = keymap[key_index]
- if row_index != prev_row_index:
- col = 0
- yield "\n"
- if row_indents:
- for indent_col in range(row_indents[row_index]):
- pad = " " * (col_widths[indent_col] - 4)
- yield (" /*-*/" + pad)
- col = row_indents[row_index]
- else:
- yield pad
- yield " {}".format(code)
- if key_index < len(keymap) - 1:
- yield ","
- # This will be yielded on the next iteration when
- # we know that we're not at the end of a line.
- pad = " " * (col_widths[col] - len(code))
- prev_row_index = row_index
- col += 1
-
-
-def iter_keymap_parts(config, keymaps):
- # includes
- for include_path in config['keymaps_includes']:
- yield '#include "{}"\n'.format(include_path)
-
- yield "\n"
-
- # definitions
- for i, macro_id in enumerate(sorted(config['macro_ids'])):
- yield "#define {} {}\n".format(macro_id, i)
-
- yield "\n"
-
- for i, layer_name in enumerate(config['layer_lines']):
- yield '#define L{0:<3} {0:<5} // {1}\n'.format(i, layer_name)
-
- yield "\n"
-
- # keymaps
- yield "const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\n"
-
- for i, layer_name in enumerate(config['layer_lines']):
- # comment
- layer_lines = config['layer_lines'][layer_name]
- prefixed_lines = " * " + " * ".join(layer_lines)
- yield "/*\n{} */\n".format(prefixed_lines)
-
- # keymap codes
- keymap = keymaps[layer_name]
- row_indents = ROW_INDENTS.get(config['layout'])
- keymap_lines = "".join(iter_keymap_lines(keymap, row_indents))
- yield "[L{0}] = LAYOUT_ergodox({1}\n),\n".format(i, keymap_lines)
-
- yield "};\n\n"
-
- # macros
- yield MACROCODE.format(
- macro_cases="",
- unicode_macro_cases="\n".join(unicode_macro_cases(config)),
- )
-
- # TODO: dynamically create blinking lights
- yield USERCODE
-
-
-def main(argv=sys.argv[1:]):
- if not argv or '-h' in argv or '--help' in argv:
- print(__doc__)
- return 0
-
- in_path = os.path.abspath(argv[0])
- if not os.path.exists(in_path):
- print("No such file '{}'".format(in_path))
- return 1
-
- if len(argv) > 1:
- out_path = os.path.abspath(argv[1])
- else:
- dirname = os.path.dirname(in_path)
- out_path = os.path.join(dirname, "keymap.c")
-
- config = parse_config(in_path)
- valid_keys = parse_valid_keys(config, out_path)
- keymaps = parse_keymaps(config, valid_keys)
-
- with io.open(out_path, mode="w", encoding="utf-8") as fh:
- for part in iter_keymap_parts(config, keymaps):
- fh.write(part)
-
-
-if __name__ == '__main__':
- sys.exit(main())
diff --git a/layouts/community/ergodox/german-manuneo/keymap.c b/layouts/community/ergodox/german-manuneo/keymap.c
deleted file mode 100644
index b6217800c3..0000000000
--- a/layouts/community/ergodox/german-manuneo/keymap.c
+++ /dev/null
@@ -1,781 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "action_layer.h"
-#include "keymap.h"
-#include "keymap_german.h"
-
-#define UC_ASYMPTOTICALLY_EQUAL_TO 0
-#define UC_DIVISION_SIGN 1
-#define UC_DOWNWARDS_ARROW 2
-#define UC_ELEMENT_OF 3
-#define UC_EMPTY_SET 4
-#define UC_FOR_ALL 5
-#define UC_GREEK_CAPITAL_LETTER_ALPHA 6
-#define UC_GREEK_CAPITAL_LETTER_BETA 7
-#define UC_GREEK_CAPITAL_LETTER_CHI 8
-#define UC_GREEK_CAPITAL_LETTER_DELTA 9
-#define UC_GREEK_CAPITAL_LETTER_EPSILON 10
-#define UC_GREEK_CAPITAL_LETTER_ETA 11
-#define UC_GREEK_CAPITAL_LETTER_GAMMA 12
-#define UC_GREEK_CAPITAL_LETTER_IOTA 13
-#define UC_GREEK_CAPITAL_LETTER_KAPPA 14
-#define UC_GREEK_CAPITAL_LETTER_LAMDA 15
-#define UC_GREEK_CAPITAL_LETTER_MU 16
-#define UC_GREEK_CAPITAL_LETTER_NU 17
-#define UC_GREEK_CAPITAL_LETTER_OMEGA 18
-#define UC_GREEK_CAPITAL_LETTER_OMICRON 19
-#define UC_GREEK_CAPITAL_LETTER_PHI 20
-#define UC_GREEK_CAPITAL_LETTER_PI 21
-#define UC_GREEK_CAPITAL_LETTER_PSI 22
-#define UC_GREEK_CAPITAL_LETTER_RHO 23
-#define UC_GREEK_CAPITAL_LETTER_SIGMA 24
-#define UC_GREEK_CAPITAL_LETTER_TAU 25
-#define UC_GREEK_CAPITAL_LETTER_THETA 26
-#define UC_GREEK_CAPITAL_LETTER_UPSILON 27
-#define UC_GREEK_CAPITAL_LETTER_XI 28
-#define UC_GREEK_CAPITAL_LETTER_ZETA 29
-#define UC_GREEK_SMALL_LETTER_ALPHA 30
-#define UC_GREEK_SMALL_LETTER_BETA 31
-#define UC_GREEK_SMALL_LETTER_CHI 32
-#define UC_GREEK_SMALL_LETTER_DELTA 33
-#define UC_GREEK_SMALL_LETTER_EPSILON 34
-#define UC_GREEK_SMALL_LETTER_ETA 35
-#define UC_GREEK_SMALL_LETTER_FINAL_SIGMA 36
-#define UC_GREEK_SMALL_LETTER_GAMMA 37
-#define UC_GREEK_SMALL_LETTER_IOTA 38
-#define UC_GREEK_SMALL_LETTER_KAPPA 39
-#define UC_GREEK_SMALL_LETTER_LAMDA 40
-#define UC_GREEK_SMALL_LETTER_MU 41
-#define UC_GREEK_SMALL_LETTER_NU 42
-#define UC_GREEK_SMALL_LETTER_OMEGA 43
-#define UC_GREEK_SMALL_LETTER_OMICRON 44
-#define UC_GREEK_SMALL_LETTER_PHI 45
-#define UC_GREEK_SMALL_LETTER_PI 46
-#define UC_GREEK_SMALL_LETTER_PSI 47
-#define UC_GREEK_SMALL_LETTER_RHO 48
-#define UC_GREEK_SMALL_LETTER_SIGMA 49
-#define UC_GREEK_SMALL_LETTER_TAU 50
-#define UC_GREEK_SMALL_LETTER_THETA 51
-#define UC_GREEK_SMALL_LETTER_UPSILON 52
-#define UC_GREEK_SMALL_LETTER_XI 53
-#define UC_GREEK_SMALL_LETTER_ZETA 54
-#define UC_INFINITY 55
-#define UC_LEFTWARDS_ARROW 56
-#define UC_MULTIPLICATION_SIGN 57
-#define UC_NOT_AN_ELEMENT_OF 58
-#define UC_NOT_EQUAL_TO 59
-#define UC_PLUS_MINUS_SIGN 60
-#define UC_RIGHTWARDS_ARROW 61
-#define UC_SUBSCRIPT_EIGHT 62
-#define UC_SUBSCRIPT_FIVE 63
-#define UC_SUBSCRIPT_FOUR 64
-#define UC_SUBSCRIPT_NINE 65
-#define UC_SUBSCRIPT_ONE 66
-#define UC_SUBSCRIPT_SEVEN 67
-#define UC_SUBSCRIPT_SIX 68
-#define UC_SUBSCRIPT_THREE 69
-#define UC_SUBSCRIPT_TWO 70
-#define UC_SUBSCRIPT_ZERO 71
-#define UC_SUPERSCRIPT_EIGHT 72
-#define UC_SUPERSCRIPT_FIVE 73
-#define UC_SUPERSCRIPT_FOUR 74
-#define UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N 75
-#define UC_SUPERSCRIPT_NINE 76
-#define UC_SUPERSCRIPT_ONE 77
-#define UC_SUPERSCRIPT_SEVEN 78
-#define UC_SUPERSCRIPT_SIX 79
-#define UC_SUPERSCRIPT_THREE 80
-#define UC_SUPERSCRIPT_TWO 81
-#define UC_SUPERSCRIPT_ZERO 82
-#define UC_THERE_DOES_NOT_EXIST 83
-#define UC_THERE_EXISTS 84
-#define UC_UPWARDS_ARROW 85
-#define UC_VULGAR_FRACTION_ONE_EIGHTH 86
-#define UC_VULGAR_FRACTION_ONE_FIFTH 87
-#define UC_VULGAR_FRACTION_ONE_HALF 88
-#define UC_VULGAR_FRACTION_ONE_QUARTER 89
-#define UC_VULGAR_FRACTION_ONE_SIXTH 90
-#define UC_VULGAR_FRACTION_ONE_THIRD 91
-#define UC_VULGAR_FRACTION_THREE_QUARTERS 92
-#define UC_VULGAR_FRACTION_TWO_THIRDS 93
-#define UM 94
-
-#define L0 0 // layer_0
-#define L1 1 // layer_1
-#define L2 2 // layer_2
-#define L3 3 // layer_3
-#define L4 4 // layer_4
-#define L5 5 // layer_5
-#define L6 6 // layer_6
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * .------------------------------------.------------------------------------.
- * |MO(5)| 1 | 2 | 3 | 4 | 5 |ACUT | GRV | 6 | 7 | 8 | 9 | 0 |CIRC |
- * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
- * |MO(4)| X | P | F | W | G |HOME |TG(2)| H | J | K | L | Q | Z |
- * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- * |MO(1)| U | I | A | E | O |-----!-----! S | N | R | T | D | SS |
- * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- * |MO(3)| UE | OE | AE | C | V |END | TAB | B | M |COMM| DOT| UP | Y |
- * '-----+----+----+----+----+----------'----------+----+----+----+----+-----'
- * | | |LGUI|LALT|LCTL| !RCTL|RALT|LEFT|DOWN|RGHT|
- * '------------------------' '------------------------'
- * .-----------. .-----------.
- * |INS |TG(2)| !M(UM)|DEL |
- * .-----+-----+-----! !-----+-----+-----.
- * ! ! | APP | ! PGUP| ! !
- * ! ! !-----! !-----! ! !
- * |BSPC |LSFT | ESC | ! PGDN|ENTER|SPACE|
- * '-----------------' '-----------------'
- */
-[L0] = LAYOUT_ergodox(
- MO(5), DE_1, DE_2, DE_3, DE_4, DE_5, DE_ACUT,
- MO(4), DE_X, DE_P, DE_F, DE_W, DE_G, KC_HOME,
- MO(1), DE_U, DE_I, DE_A, DE_E, DE_O,
- MO(3), DE_UDIA, DE_ODIA, DE_ADIA, DE_C, DE_V, KC_END,
- KC_TRNS, KC_TRNS, KC_LGUI, KC_LALT, KC_LCTL,
- /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_INS, TG(2),
- /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_APP,
- /*-*/ /*-*/ /*-*/ /*-*/ KC_BSPC, KC_LSFT, KC_ESC,
- DE_GRV, DE_6, DE_7, DE_8, DE_9, DE_0, DE_CIRC,
- TG(2), DE_H, DE_J, DE_K, DE_L, DE_Q, DE_Z,
- /*-*/ DE_S, DE_N, DE_R, DE_T, DE_D, DE_SS,
- KC_TAB, DE_B, DE_M, DE_COMM, DE_DOT, KC_UP, DE_Y,
- /*-*/ /*-*/ KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT,
- M(UM), KC_DEL,
- KC_PGUP,
- KC_PGDN, KC_ENTER, KC_SPACE
-),
-/*
- * .------------------------------------.------------------------------------.
- * | |EXLM|DQOT|PARA| | | | | | | | |RING| |
- * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
- * | |ASTR|PIPE|SLSH|LCBR|RCBR| | |HASH|LESS|MORE| |DQOT| |
- * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- * | |UNDS|MINS|AMPR|LBRC|RBRC|-----!-----!DLR |LPRN|RPRN|TILD|QUOT| QST |
- * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- * | | |PLUS|EQL | | | | |BSLS|PERC|SCLN|COLN| ↑ | |
- * '-----+----+----+----+----+----------'----------+----+----+----+----+-----'
- * | | | | | | ! | | ← | ↓ | → |
- * '------------------------' '------------------------'
- * .-----------. .-----------.
- * | | | ! | |
- * .-----+-----+-----! !-----+-----+-----.
- * ! ! | | ! | ! !
- * ! ! !-----! !-----! ! !
- * | | | | ! | | |
- * '-----------------' '-----------------'
- */
-[L1] = LAYOUT_ergodox(
- KC_TRNS, DE_EXLM, DE_DQUO, DE_SECT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, DE_ASTR, DE_PIPE, DE_SLSH, DE_LCBR, DE_RCBR, KC_TRNS,
- KC_TRNS, DE_UNDS, DE_MINS, DE_AMPR, DE_LBRC, DE_RBRC,
- KC_TRNS, KC_TRNS, DE_PLUS, DE_EQL, 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, DE_DEG, KC_TRNS,
- KC_TRNS, DE_HASH, DE_LABK, DE_RABK, KC_TRNS, DE_DQUO, KC_TRNS,
- /*-*/ DE_DLR, DE_LPRN, DE_RPRN, DE_TILD, DE_QUOT, DE_QUES,
- KC_TRNS, DE_BSLS, DE_PERC, DE_SCLN, DE_COLN, M(UC_UPWARDS_ARROW), KC_TRNS,
- /*-*/ /*-*/ KC_TRNS, KC_TRNS, M(UC_LEFTWARDS_ARROW), M(UC_DOWNWARDS_ARROW), M(UC_RIGHTWARDS_ARROW),
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
-),
-/*
- * .------------------------------------.------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | F11 | F12 | F6 | F7 | F8 | F9 |F10 |PEQL |
- * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
- * | | | | | | | | | | P7 | P8 | P9 |PAST|PSLS |
- * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- * | | | | | | |-----!-----! | P4 | P5 | P6 |PMNS|PMNS |
- * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- * | | | | | | | | NLCK| | P1 | P2 | P3 |PPLS|PPLS |
- * '-----+----+----+----+----+----------'----------+----+----+----+----+-----'
- * | | | | | | ! P0 |PCMM|PDOT|PENT|PENT|
- * '------------------------' '------------------------'
- * .-----------. .-----------.
- * | | | ! | |
- * .-----+-----+-----! !-----+-----+-----.
- * ! ! | | ! | ! !
- * ! ! !-----! !-----! ! !
- * | | | | ! | | |
- * '-----------------' '-----------------'
- */
-[L2] = LAYOUT_ergodox(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS,
- /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS,
- /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS,
- KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PEQL,
- KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PAST, KC_PSLS,
- /*-*/ KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PMNS,
- KC_NLCK, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PPLS,
- /*-*/ /*-*/ KC_P0, KC_PCMM, KC_PDOT, KC_PENT, KC_PENT,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
-),
-/*
- * .------------------------------------.------------------------------------.
- * | | ¹ | ² | ³ | ⁴ | ⁵ | ∀ | | ⁶ | ⁷ | ⁸ | ⁹ | ⁰ | |
- * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
- * | | × | ½ | ÷ | ¼ | ⅕ | | | ⅙ | | ⅛ | | | |
- * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- * | | | ± | AT |EURO| ∅ |-----!-----! ∞ | ⁿ | ∃ | ∈ | | |
- * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- * | | ⅓ | ≠ | ⅔ | ¾ | ≃ | | |EXLM| | ∄ | ∉ | | |
- * '-----+----+----+----+----+----------'----------+----+----+----+----+-----'
- * | | | | | | ! | | | | |
- * '------------------------' '------------------------'
- * .-----------. .-----------.
- * | | | ! | |
- * .-----+-----+-----! !-----+-----+-----.
- * ! ! | | ! | ! !
- * ! ! !-----! !-----! ! !
- * | | | | ! | | |
- * '-----------------' '-----------------'
- */
-[L3] = LAYOUT_ergodox(
- KC_TRNS, M(UC_SUPERSCRIPT_ONE), M(UC_SUPERSCRIPT_TWO), M(UC_SUPERSCRIPT_THREE), M(UC_SUPERSCRIPT_FOUR), M(UC_SUPERSCRIPT_FIVE), M(UC_FOR_ALL),
- KC_TRNS, M(UC_MULTIPLICATION_SIGN), M(UC_VULGAR_FRACTION_ONE_HALF), M(UC_DIVISION_SIGN), M(UC_VULGAR_FRACTION_ONE_QUARTER), M(UC_VULGAR_FRACTION_ONE_FIFTH), KC_TRNS,
- KC_TRNS, KC_TRNS, M(UC_PLUS_MINUS_SIGN), DE_AT, DE_EURO, M(UC_EMPTY_SET),
- KC_TRNS, M(UC_VULGAR_FRACTION_ONE_THIRD), M(UC_NOT_EQUAL_TO), M(UC_VULGAR_FRACTION_TWO_THIRDS), M(UC_VULGAR_FRACTION_THREE_QUARTERS), M(UC_ASYMPTOTICALLY_EQUAL_TO), KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS,
- /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS,
- /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, M(UC_SUPERSCRIPT_SIX), M(UC_SUPERSCRIPT_SEVEN), M(UC_SUPERSCRIPT_EIGHT), M(UC_SUPERSCRIPT_NINE), M(UC_SUPERSCRIPT_ZERO), KC_TRNS,
- KC_TRNS, M(UC_VULGAR_FRACTION_ONE_SIXTH), KC_TRNS, M(UC_VULGAR_FRACTION_ONE_EIGHTH), KC_TRNS, KC_TRNS, KC_TRNS,
- /*-*/ M(UC_INFINITY), M(UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N), M(UC_THERE_EXISTS), M(UC_ELEMENT_OF), KC_TRNS, KC_TRNS,
- KC_TRNS, DE_EXLM, KC_TRNS, M(UC_THERE_DOES_NOT_EXIST), M(UC_NOT_AN_ELEMENT_OF), 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
-),
-/*
- * .------------------------------------.------------------------------------.
- * | | ₁ | ₂ | ₃ | ₄ | ₅ | | | ₆ | ₇ | ₈ | ₉ | ₀ | |
- * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
- * | | χ | π | φ | ω | γ | | | η | ξ | κ | λ | | ζ |
- * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- * | | υ | ι | α | ε | ο |-----!-----! σ | ν | ρ | τ | δ | ς |
- * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- * | | | θ | | | | | | β | μ | | | | ψ |
- * '-----+----+----+----+----+----------'----------+----+----+----+----+-----'
- * | | | | | | ! | | | | |
- * '------------------------' '------------------------'
- * .-----------. .-----------.
- * | | | ! | |
- * .-----+-----+-----! !-----+-----+-----.
- * ! ! | | ! | ! !
- * ! ! !-----! !-----! ! !
- * | | | | ! | | |
- * '-----------------' '-----------------'
- */
-[L4] = LAYOUT_ergodox(
- KC_TRNS, M(UC_SUBSCRIPT_ONE), M(UC_SUBSCRIPT_TWO), M(UC_SUBSCRIPT_THREE), M(UC_SUBSCRIPT_FOUR), M(UC_SUBSCRIPT_FIVE), KC_TRNS,
- KC_TRNS, M(UC_GREEK_SMALL_LETTER_CHI), M(UC_GREEK_SMALL_LETTER_PI), M(UC_GREEK_SMALL_LETTER_PHI), M(UC_GREEK_SMALL_LETTER_OMEGA), M(UC_GREEK_SMALL_LETTER_GAMMA), KC_TRNS,
- KC_TRNS, M(UC_GREEK_SMALL_LETTER_UPSILON), M(UC_GREEK_SMALL_LETTER_IOTA), M(UC_GREEK_SMALL_LETTER_ALPHA), M(UC_GREEK_SMALL_LETTER_EPSILON), M(UC_GREEK_SMALL_LETTER_OMICRON),
- KC_TRNS, KC_TRNS, M(UC_GREEK_SMALL_LETTER_THETA), 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, M(UC_SUBSCRIPT_SIX), M(UC_SUBSCRIPT_SEVEN), M(UC_SUBSCRIPT_EIGHT), M(UC_SUBSCRIPT_NINE), M(UC_SUBSCRIPT_ZERO), KC_TRNS,
- KC_TRNS, M(UC_GREEK_SMALL_LETTER_ETA), M(UC_GREEK_SMALL_LETTER_XI), M(UC_GREEK_SMALL_LETTER_KAPPA), M(UC_GREEK_SMALL_LETTER_LAMDA), KC_TRNS, M(UC_GREEK_SMALL_LETTER_ZETA),
- /*-*/ M(UC_GREEK_SMALL_LETTER_SIGMA), M(UC_GREEK_SMALL_LETTER_NU), M(UC_GREEK_SMALL_LETTER_RHO), M(UC_GREEK_SMALL_LETTER_TAU), M(UC_GREEK_SMALL_LETTER_DELTA), M(UC_GREEK_SMALL_LETTER_FINAL_SIGMA),
- KC_TRNS, M(UC_GREEK_SMALL_LETTER_BETA), M(UC_GREEK_SMALL_LETTER_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GREEK_SMALL_LETTER_PSI),
- /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
-),
-/*
- * .------------------------------------.------------------------------------.
- * | | | | | | | | | | | | | | |
- * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
- * | | Χ | Π | Φ | Ω | Γ | | | Η | Ξ | Κ | Λ | | Ζ |
- * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- * | | Υ | Ι | Α | Ε | Ο |-----!-----! Σ | Ν | Ρ | Τ | Δ | |
- * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- * | | | Θ | | | | | | Β | Μ | | | | Ψ |
- * '-----+----+----+----+----+----------'----------+----+----+----+----+-----'
- * | | | | | | ! | | | | |
- * '------------------------' '------------------------'
- * .-----------. .-----------.
- * | | | ! | |
- * .-----+-----+-----! !-----+-----+-----.
- * ! ! | | ! | ! !
- * ! ! !-----! !-----! ! !
- * | | | | ! | | |
- * '-----------------' '-----------------'
- */
-[L5] = LAYOUT_ergodox(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_CHI), M(UC_GREEK_CAPITAL_LETTER_PI), M(UC_GREEK_CAPITAL_LETTER_PHI), M(UC_GREEK_CAPITAL_LETTER_OMEGA), M(UC_GREEK_CAPITAL_LETTER_GAMMA), KC_TRNS,
- KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_UPSILON), M(UC_GREEK_CAPITAL_LETTER_IOTA), M(UC_GREEK_CAPITAL_LETTER_ALPHA), M(UC_GREEK_CAPITAL_LETTER_EPSILON), M(UC_GREEK_CAPITAL_LETTER_OMICRON),
- KC_TRNS, KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_THETA), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS,
- /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS,
- /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_ETA), M(UC_GREEK_CAPITAL_LETTER_XI), M(UC_GREEK_CAPITAL_LETTER_KAPPA), M(UC_GREEK_CAPITAL_LETTER_LAMDA), KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_ZETA),
- /*-*/ M(UC_GREEK_CAPITAL_LETTER_SIGMA), M(UC_GREEK_CAPITAL_LETTER_NU), M(UC_GREEK_CAPITAL_LETTER_RHO), M(UC_GREEK_CAPITAL_LETTER_TAU), M(UC_GREEK_CAPITAL_LETTER_DELTA), KC_TRNS,
- KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_BETA), M(UC_GREEK_CAPITAL_LETTER_MU), KC_TRNS, KC_TRNS, KC_TRNS, M(UC_GREEK_CAPITAL_LETTER_PSI),
- /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
-),
-/*
- * .------------------------------------.------------------------------------.
- * | | | | | | | | | | | | | | |
- * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
- * | | | | | | | | | | | | | | |
- * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- * | | | | | | |-----!-----! | | | | | |
- * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- * | | | | | | | | | | | | | | |
- * '-----+----+----+----+----+----------'----------+----+----+----+----+-----'
- * | | | | | | ! | | | | |
- * '------------------------' '------------------------'
- * .-----------. .-----------.
- * | | | ! | |
- * .-----+-----+-----! !-----+-----+-----.
- * ! ! | | ! | ! !
- * ! ! !-----! !-----! ! !
- * | | | | ! | | |
- * '-----------------' '-----------------'
- */
-[L6] = LAYOUT_ergodox(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS,
- /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS,
- /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
-),
-};
-
-#define UC_MODE_WIN 0
-#define UC_MODE_LINUX 1
-#define UC_MODE_OSX 2
-
-// TODO: allow default mode to be configured
-static uint16_t unicode_mode = UC_MODE_WIN;
-
-uint16_t hextokeycode(uint8_t hex) {
- if (hex == 0x0) {
- return KC_P0;
- }
- if (hex < 0xA) {
- return KC_P1 + (hex - 0x1);
- }
- return KC_A + (hex - 0xA);
-}
-
-void unicode_action_function(uint16_t hi, uint16_t lo) {
- switch (unicode_mode) {
- case UC_MODE_WIN:
- register_code(KC_LALT);
-
- register_code(KC_PPLS);
- unregister_code(KC_PPLS);
-
- register_code(hextokeycode((hi & 0xF0) >> 4));
- unregister_code(hextokeycode((hi & 0xF0) >> 4));
- register_code(hextokeycode((hi & 0x0F)));
- unregister_code(hextokeycode((hi & 0x0F)));
- register_code(hextokeycode((lo & 0xF0) >> 4));
- unregister_code(hextokeycode((lo & 0xF0) >> 4));
- register_code(hextokeycode((lo & 0x0F)));
- unregister_code(hextokeycode((lo & 0x0F)));
-
- unregister_code(KC_LALT);
- break;
- case UC_MODE_LINUX:
- register_code(KC_LCTL);
- register_code(KC_LSFT);
-
- register_code(KC_U);
- unregister_code(KC_U);
-
- register_code(hextokeycode((hi & 0xF0) >> 4));
- unregister_code(hextokeycode((hi & 0xF0) >> 4));
- register_code(hextokeycode((hi & 0x0F)));
- unregister_code(hextokeycode((hi & 0x0F)));
- register_code(hextokeycode((lo & 0xF0) >> 4));
- unregister_code(hextokeycode((lo & 0xF0) >> 4));
- register_code(hextokeycode((lo & 0x0F)));
- unregister_code(hextokeycode((lo & 0x0F)));
-
- unregister_code(KC_LCTL);
- unregister_code(KC_LSFT);
- break;
- case UC_MODE_OSX:
- break;
- }
-}
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
- if (!record->event.pressed) {
- return MACRO_NONE;
- }
- // MACRODOWN only works in this function
- switch(id) {
- case UM:
- unicode_mode = (unicode_mode + 1) % 2;
- break;
-
-case UC_GREEK_SMALL_LETTER_OMICRON:
- unicode_action_function(0x03, 0xbf);
- break;
-case UC_LEFTWARDS_ARROW:
- unicode_action_function(0x21, 0x90);
- break;
-case UC_GREEK_CAPITAL_LETTER_RHO:
- unicode_action_function(0x03, 0xa1);
- break;
-case UC_SUBSCRIPT_THREE:
- unicode_action_function(0x20, 0x83);
- break;
-case UC_VULGAR_FRACTION_ONE_EIGHTH:
- unicode_action_function(0x21, 0x5b);
- break;
-case UC_GREEK_SMALL_LETTER_LAMDA:
- unicode_action_function(0x03, 0xbb);
- break;
-case UC_VULGAR_FRACTION_ONE_THIRD:
- unicode_action_function(0x21, 0x53);
- break;
-case UC_GREEK_SMALL_LETTER_XI:
- unicode_action_function(0x03, 0xbe);
- break;
-case UC_THERE_DOES_NOT_EXIST:
- unicode_action_function(0x22, 0x04);
- break;
-case UC_SUPERSCRIPT_ONE:
- unicode_action_function(0x00, 0xb9);
- break;
-case UC_GREEK_SMALL_LETTER_BETA:
- unicode_action_function(0x03, 0xb2);
- break;
-case UC_SUBSCRIPT_FIVE:
- unicode_action_function(0x20, 0x85);
- break;
-case UC_GREEK_CAPITAL_LETTER_IOTA:
- unicode_action_function(0x03, 0x99);
- break;
-case UC_VULGAR_FRACTION_ONE_FIFTH:
- unicode_action_function(0x21, 0x55);
- break;
-case UC_GREEK_SMALL_LETTER_PSI:
- unicode_action_function(0x03, 0xc8);
- break;
-case UC_SUBSCRIPT_NINE:
- unicode_action_function(0x20, 0x89);
- break;
-case UC_SUPERSCRIPT_FOUR:
- unicode_action_function(0x20, 0x74);
- break;
-case UC_RIGHTWARDS_ARROW:
- unicode_action_function(0x21, 0x92);
- break;
-case UC_SUPERSCRIPT_SIX:
- unicode_action_function(0x20, 0x76);
- break;
-case UC_DOWNWARDS_ARROW:
- unicode_action_function(0x21, 0x93);
- break;
-case UC_GREEK_SMALL_LETTER_PI:
- unicode_action_function(0x03, 0xc0);
- break;
-case UC_SUPERSCRIPT_TWO:
- unicode_action_function(0x00, 0xb2);
- break;
-case UC_GREEK_CAPITAL_LETTER_OMEGA:
- unicode_action_function(0x03, 0xa9);
- break;
-case UC_GREEK_CAPITAL_LETTER_PSI:
- unicode_action_function(0x03, 0xa8);
- break;
-case UC_SUBSCRIPT_FOUR:
- unicode_action_function(0x20, 0x84);
- break;
-case UC_GREEK_CAPITAL_LETTER_NU:
- unicode_action_function(0x03, 0x9d);
- break;
-case UC_DIVISION_SIGN:
- unicode_action_function(0x00, 0xf7);
- break;
-case UC_GREEK_SMALL_LETTER_SIGMA:
- unicode_action_function(0x03, 0xc3);
- break;
-case UC_GREEK_SMALL_LETTER_RHO:
- unicode_action_function(0x03, 0xc1);
- break;
-case UC_VULGAR_FRACTION_ONE_SIXTH:
- unicode_action_function(0x21, 0x59);
- break;
-case UC_GREEK_SMALL_LETTER_GAMMA:
- unicode_action_function(0x03, 0xb3);
- break;
-case UC_VULGAR_FRACTION_TWO_THIRDS:
- unicode_action_function(0x21, 0x54);
- break;
-case UC_GREEK_SMALL_LETTER_NU:
- unicode_action_function(0x03, 0xbd);
- break;
-case UC_GREEK_SMALL_LETTER_ZETA:
- unicode_action_function(0x03, 0xb6);
- break;
-case UC_GREEK_SMALL_LETTER_EPSILON:
- unicode_action_function(0x03, 0xb5);
- break;
-case UC_GREEK_SMALL_LETTER_KAPPA:
- unicode_action_function(0x03, 0xba);
- break;
-case UC_SUPERSCRIPT_SEVEN:
- unicode_action_function(0x20, 0x77);
- break;
-case UC_GREEK_CAPITAL_LETTER_PI:
- unicode_action_function(0x03, 0xa0);
- break;
-case UC_GREEK_SMALL_LETTER_FINAL_SIGMA:
- unicode_action_function(0x03, 0xc2);
- break;
-case UC_GREEK_CAPITAL_LETTER_XI:
- unicode_action_function(0x03, 0x9e);
- break;
-case UC_GREEK_SMALL_LETTER_THETA:
- unicode_action_function(0x03, 0xb8);
- break;
-case UC_GREEK_SMALL_LETTER_ETA:
- unicode_action_function(0x03, 0xb7);
- break;
-case UC_SUBSCRIPT_TWO:
- unicode_action_function(0x20, 0x82);
- break;
-case UC_ASYMPTOTICALLY_EQUAL_TO:
- unicode_action_function(0x22, 0x43);
- break;
-case UC_GREEK_SMALL_LETTER_ALPHA:
- unicode_action_function(0x03, 0xb1);
- break;
-case UC_GREEK_CAPITAL_LETTER_PHI:
- unicode_action_function(0x03, 0xa6);
- break;
-case UC_GREEK_SMALL_LETTER_PHI:
- unicode_action_function(0x03, 0xc6);
- break;
-case UC_INFINITY:
- unicode_action_function(0x22, 0x1e);
- break;
-case UC_GREEK_CAPITAL_LETTER_OMICRON:
- unicode_action_function(0x03, 0x9f);
- break;
-case UC_ELEMENT_OF:
- unicode_action_function(0x22, 0x08);
- break;
-case UC_MULTIPLICATION_SIGN:
- unicode_action_function(0x00, 0xd7);
- break;
-case UC_SUBSCRIPT_ZERO:
- unicode_action_function(0x20, 0x80);
- break;
-case UC_GREEK_CAPITAL_LETTER_SIGMA:
- unicode_action_function(0x03, 0xa3);
- break;
-case UC_GREEK_SMALL_LETTER_OMEGA:
- unicode_action_function(0x03, 0xc9);
- break;
-case UC_SUBSCRIPT_ONE:
- unicode_action_function(0x20, 0x81);
- break;
-case UC_GREEK_CAPITAL_LETTER_ZETA:
- unicode_action_function(0x03, 0x96);
- break;
-case UC_GREEK_SMALL_LETTER_TAU:
- unicode_action_function(0x03, 0xc4);
- break;
-case UC_SUPERSCRIPT_FIVE:
- unicode_action_function(0x20, 0x75);
- break;
-case UC_THERE_EXISTS:
- unicode_action_function(0x22, 0x03);
- break;
-case UC_PLUS_MINUS_SIGN:
- unicode_action_function(0x00, 0xb1);
- break;
-case UC_VULGAR_FRACTION_THREE_QUARTERS:
- unicode_action_function(0x00, 0xbe);
- break;
-case UC_SUPERSCRIPT_THREE:
- unicode_action_function(0x00, 0xb3);
- break;
-case UC_EMPTY_SET:
- unicode_action_function(0x22, 0x05);
- break;
-case UC_UPWARDS_ARROW:
- unicode_action_function(0x21, 0x91);
- break;
-case UC_SUPERSCRIPT_NINE:
- unicode_action_function(0x20, 0x79);
- break;
-case UC_GREEK_SMALL_LETTER_DELTA:
- unicode_action_function(0x03, 0xb4);
- break;
-case UC_GREEK_SMALL_LETTER_MU:
- unicode_action_function(0x03, 0xbc);
- break;
-case UC_GREEK_CAPITAL_LETTER_KAPPA:
- unicode_action_function(0x03, 0x9a);
- break;
-case UC_SUBSCRIPT_EIGHT:
- unicode_action_function(0x20, 0x88);
- break;
-case UC_GREEK_CAPITAL_LETTER_ALPHA:
- unicode_action_function(0x03, 0x91);
- break;
-case UC_SUBSCRIPT_SEVEN:
- unicode_action_function(0x20, 0x87);
- break;
-case UC_GREEK_CAPITAL_LETTER_BETA:
- unicode_action_function(0x03, 0x92);
- break;
-case UC_GREEK_CAPITAL_LETTER_ETA:
- unicode_action_function(0x03, 0x97);
- break;
-case UC_SUPERSCRIPT_EIGHT:
- unicode_action_function(0x20, 0x78);
- break;
-case UC_SUPERSCRIPT_ZERO:
- unicode_action_function(0x20, 0x70);
- break;
-case UC_NOT_AN_ELEMENT_OF:
- unicode_action_function(0x22, 0x09);
- break;
-case UC_GREEK_SMALL_LETTER_UPSILON:
- unicode_action_function(0x03, 0xc5);
- break;
-case UC_NOT_EQUAL_TO:
- unicode_action_function(0x22, 0x60);
- break;
-case UC_GREEK_CAPITAL_LETTER_CHI:
- unicode_action_function(0x03, 0xa7);
- break;
-case UC_FOR_ALL:
- unicode_action_function(0x22, 0x00);
- break;
-case UC_GREEK_CAPITAL_LETTER_TAU:
- unicode_action_function(0x03, 0xa4);
- break;
-case UC_VULGAR_FRACTION_ONE_QUARTER:
- unicode_action_function(0x00, 0xbc);
- break;
-case UC_GREEK_SMALL_LETTER_CHI:
- unicode_action_function(0x03, 0xc7);
- break;
-case UC_GREEK_CAPITAL_LETTER_THETA:
- unicode_action_function(0x03, 0x98);
- break;
-case UC_GREEK_SMALL_LETTER_IOTA:
- unicode_action_function(0x03, 0xb9);
- break;
-case UC_GREEK_CAPITAL_LETTER_LAMDA:
- unicode_action_function(0x03, 0x9b);
- break;
-case UC_SUPERSCRIPT_LATIN_SMALL_LETTER_N:
- unicode_action_function(0x20, 0x7f);
- break;
-case UC_GREEK_CAPITAL_LETTER_UPSILON:
- unicode_action_function(0x03, 0xa5);
- break;
-case UC_GREEK_CAPITAL_LETTER_MU:
- unicode_action_function(0x03, 0x9c);
- break;
-case UC_GREEK_CAPITAL_LETTER_EPSILON:
- unicode_action_function(0x03, 0x95);
- break;
-case UC_GREEK_CAPITAL_LETTER_GAMMA:
- unicode_action_function(0x03, 0x93);
- break;
-case UC_SUBSCRIPT_SIX:
- unicode_action_function(0x20, 0x86);
- break;
-case UC_GREEK_CAPITAL_LETTER_DELTA:
- unicode_action_function(0x03, 0x94);
- break;
-case UC_VULGAR_FRACTION_ONE_HALF:
- unicode_action_function(0x00, 0xbd);
- break;
- default:
- 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 = get_highest_layer(layer_state);
-
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
- switch (layer) {
- case L1:
- ergodox_right_led_1_on();
- break;
- case L2:
- ergodox_right_led_2_on();
- break;
- case L3:
- ergodox_right_led_3_on();
- break;
- case L4:
- ergodox_right_led_1_on();
- ergodox_right_led_2_on();
- break;
- case L5:
- ergodox_right_led_1_on();
- ergodox_right_led_3_on();
- break;
- // case L6:
- // ergodox_right_led_2_on();
- // ergodox_right_led_3_on();
- // break;
- // case L7:
- // ergodox_right_led_1_on();
- // ergodox_right_led_2_on();
- // ergodox_right_led_3_on();
- // break;
- default:
- ergodox_board_led_off();
- break;
- }
-};
diff --git a/layouts/community/ergodox/german-manuneo/keymap.md b/layouts/community/ergodox/german-manuneo/keymap.md
deleted file mode 100644
index 3f476ad2a0..0000000000
--- a/layouts/community/ergodox/german-manuneo/keymap.md
+++ /dev/null
@@ -1,188 +0,0 @@
-# ManuNeo Ergodox Keyboard Layout
-
-Compile this file to a `keymap.c` file using `compile_keymap.py`
-
- python compile_keymap.py keymaps/german-manuneo/keymap.md
-
-Tested with python 2.7 and python 3.4
-
-
-# Layout Config
-
- {
- "layout": "ergodox_ez",
- "keymaps_includes": [
- QMK_KEYBOARD_H,
- "action_layer.h",
- "keymap_common.h",
- "keymap_extras/keymap_german.h",
- ],
- "key_prefixes": ["DE_", "KC_"],
- "macros": {
- // TODO: implement macros
- // "MUC": "",
- },
- // TODO: implement default unicode mode
- }
-
-
-# Layers
-
-
-## Layer 0
-
- .------------------------------------.------------------------------------.
- |MO(5)| 1 | 2 | 3 | 4 | 5 |ACUT | GRV | 6 | 7 | 8 | 9 | 0 |CIRC |
- !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
- |MO(4)| X | P | F | W | G |HOME |TG(2)| H | J | K | L | Q | Z |
- !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- |MO(1)| U | I | A | E | O |-----!-----! S | N | R | T | D | SS |
- !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- |MO(3)| UE | OE | AE | C | V |END | TAB | B | M |COMM| DOT| UP | Y |
- '-----+----+----+----+----+----------'----------+----+----+----+----+-----'
- | | |LGUI|LALT|LCTL| !RCTL|RALT|LEFT|DOWN|RGHT|
- '------------------------' '------------------------'
- .-----------. .-----------.
- |INS |TG(2)| !M(UM)|DEL |
- .-----+-----+-----! !-----+-----+-----.
- ! ! | APP | ! PGUP| ! !
- ! ! !-----! !-----! ! !
- |BSPC |LSFT | ESC | ! PGDN|ENTER|SPACE|
- '-----------------' '-----------------'
-
-
-## Layer 1
-
- .------------------------------------.------------------------------------.
- | |EXLM|DQOT|PARA| | | | | | | | |RING| |
- !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
- | |ASTR|PIPE|SLSH|LCBR|RCBR| | |HASH|LESS|MORE| |DQOT| |
- !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- | |UNDS|MINS|AMPR|LBRC|RBRC|-----!-----!DLR |LPRN|RPRN|TILD|QUOT| QST |
- !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- | | |PLUS|EQL | | | | |BSLS|PERC|SCLN|COLN| ↑ | |
- '-----+----+----+----+----+----------'----------+----+----+----+----+-----'
- | | | | | | ! | | ← | ↓ | → |
- '------------------------' '------------------------'
- .-----------. .-----------.
- | | | ! | |
- .-----+-----+-----! !-----+-----+-----.
- ! ! | | ! | ! !
- ! ! !-----! !-----! ! !
- | | | | ! | | |
- '-----------------' '-----------------'
-
-
-## Layer 2
-
- .------------------------------------.------------------------------------.
- | | F1 | F2 | F3 | F4 | F5 | F11 | F12 | F6 | F7 | F8 | F9 |F10 |PEQL |
- !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
- | | | | | | | | | | P7 | P8 | P9 |PAST|PSLS |
- !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- | | | | | | |-----!-----! | P4 | P5 | P6 |PMNS|PMNS |
- !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- | | | | | | | | NLCK| | P1 | P2 | P3 |PPLS|PPLS |
- '-----+----+----+----+----+----------'----------+----+----+----+----+-----'
- | | | | | | ! P0 |PCMM|PDOT|PENT|PENT|
- '------------------------' '------------------------'
- .-----------. .-----------.
- | | | ! | |
- .-----+-----+-----! !-----+-----+-----.
- ! ! | | ! | ! !
- ! ! !-----! !-----! ! !
- | | | | ! | | |
- '-----------------' '-----------------'
-
-
-
-## Layer 3
-
-http://symbolcodes.tlt.psu.edu/bylanguage/mathchart.html
-
- .------------------------------------.------------------------------------.
- | | ¹ | ² | ³ | ⁴ | ⁵ | ∀ | | ⁶ | ⁷ | ⁸ | ⁹ | ⁰ | |
- !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
- | | × | ½ | ÷ | ¼ | ⅕ | | | ⅙ | | ⅛ | | | |
- !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- | | | ± | AT |EURO| ∅ |-----!-----! ∞ | ⁿ | ∃ | ∈ | | |
- !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- | | ⅓ | ≠ | ⅔ | ¾ | ≃ | | |EXLM| | ∄ | ∉ | | |
- '-----+----+----+----+----+----------'----------+----+----+----+----+-----'
- | | | | | | ! | | | | |
- '------------------------' '------------------------'
- .-----------. .-----------.
- | | | ! | |
- .-----+-----+-----! !-----+-----+-----.
- ! ! | | ! | ! !
- ! ! !-----! !-----! ! !
- | | | | ! | | |
- '-----------------' '-----------------'
-
-
-## Layer 4
-
-
- .------------------------------------.------------------------------------.
- | | ₁ | ₂ | ₃ | ₄ | ₅ | | | ₆ | ₇ | ₈ | ₉ | ₀ | |
- !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
- | | χ | π | φ | ω | γ | | | η | ξ | κ | λ | | ζ |
- !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- | | υ | ι | α | ε | ο |-----!-----! σ | ν | ρ | τ | δ | ς |
- !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- | | | θ | | | | | | β | μ | | | | ψ |
- '-----+----+----+----+----+----------'----------+----+----+----+----+-----'
- | | | | | | ! | | | | |
- '------------------------' '------------------------'
- .-----------. .-----------.
- | | | ! | |
- .-----+-----+-----! !-----+-----+-----.
- ! ! | | ! | ! !
- ! ! !-----! !-----! ! !
- | | | | ! | | |
- '-----------------' '-----------------'
-
-
-## Layer 5
-
- .------------------------------------.------------------------------------.
- | | | | | | | | | | | | | | |
- !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
- | | Χ | Π | Φ | Ω | Γ | | | Η | Ξ | Κ | Λ | | Ζ |
- !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- | | Υ | Ι | Α | Ε | Ο |-----!-----! Σ | Ν | Ρ | Τ | Δ | |
- !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- | | | Θ | | | | | | Β | Μ | | | | Ψ |
- '-----+----+----+----+----+----------'----------+----+----+----+----+-----'
- | | | | | | ! | | | | |
- '------------------------' '------------------------'
- .-----------. .-----------.
- | | | ! | |
- .-----+-----+-----! !-----+-----+-----.
- ! ! | | ! | ! !
- ! ! !-----! !-----! ! !
- | | | | ! | | |
- '-----------------' '-----------------'
-
-
-## Layer 6
-
- .------------------------------------.------------------------------------.
- | | | | | | | | | | | | | | |
- !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
- | | | | | | | | | | | | | | |
- !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- | | | | | | |-----!-----! | | | | | |
- !-----+----+----+----x----x----! ! !----x----x----+----+----+-----!
- | | | | | | | | | | | | | | |
- '-----+----+----+----+----+----------'----------+----+----+----+----+-----'
- | | | | | | ! | | | | |
- '------------------------' '------------------------'
- .-----------. .-----------.
- | | | ! | |
- .-----+-----+-----! !-----+-----+-----.
- ! ! | | ! | ! !
- ! ! !-----! !-----! ! !
- | | | | ! | | |
- '-----------------' '-----------------'
-
diff --git a/layouts/community/ergodox/ishigoya-jp/keymap.c b/layouts/community/ergodox/ishigoya-jp/keymap.c
deleted file mode 100644
index 2a5b89ad8b..0000000000
--- a/layouts/community/ergodox/ishigoya-jp/keymap.c
+++ /dev/null
@@ -1,958 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "debug.h"
-#include "action_layer.h"
-#include "keymap_japanese.h"
-
-static uint16_t start;
-
-#define BASE 0 // EN layer
-#define JP 1 // Japanese
-#define JPXON 2 // JP + Fn
-#define JPKAZARI 3 // JP + KAZARI
-#define JPTOPROW 4 // JP + TOPROW
-#define JPTRKZ 5 // JP + TOPROW + KAZARI
-#define NUM 6 // Numbers
-
-#define CTLSHFT 1
-#define CUTCOPY 2
-
-//kana macro definitions start here
-
-#define JPVU 4
-#define JPNU 6
-#define JPKO 7
-#define JPSA 8
-#define JPKE 9
-#define JPHE 10
-#define JPSHI 11
-#define JPKA 12
-#define JPKI 13
-#define JPSU 14
-#define JPSO 15
-#define JPHI 16
-#define JPCHI 17
-#define JPFU 18
-#define JPSE 19
-#define JPTSU 20
-#define JPKU 21
-#define JPTE 22
-#define JPTA 23
-#define JPTO 24
-#define JPHA 25
-#define JPHO 26
-#define JPXKE 27
-#define JPXU 28
-#define JPXKA 29
-#define JPXA 30
-#define JPXO 31
-#define JPGO 32
-#define JPZA 33
-#define JPGE 34
-#define JPBE 35
-#define JPYU 36
-#define JPJI 37
-#define JPGA 38
-#define JPGI 39
-#define JPZU 40
-#define JPZO 41
-#define JPBI 42
-#define JPDI 43
-#define JPZE 44
-#define JPDU 45
-#define JPGU 46
-#define JPYA 47
-#define JPYO 48
-#define JPDE 49
-#define JPDA 50
-#define JPDO 51
-#define JPBA 52
-#define JPBO 53
-#define JPRI 54
-#define JPRE 55
-#define JPRA 56
-#define JPNA 57
-#define JPNO 58
-#define JPMI 59
-#define JPMU 60
-#define JPME 61
-#define JPNE 62
-#define JPMA 63
-#define JPXTU 64
-#define JPWA 65
-#define JPRU 66
-#define JPWO 67
-#define JPNI 68
-#define JPNN 69
-#define JPMO 70
-#define JPRO 71
-#define JPXE 72
-#define JPXI 73
-#define JPXYU 74
-#define JPXYA 75
-#define JPXYO 76
-#define JPPE 77
-#define JPPU 78
-#define JPPI 79
-#define JPPA 80
-#define JPPO 81
-#define JPBU 82
-
-// kana macro definitions end here
-
-#define SHIFT 86
-#define KAZARI 87
-#define JPFN 88 //shifts to JPXON layer
-#define TOJPLOUT 89
-#define TOENL 90
-#define TOJPL 91
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- *
- * ,----------------------------------------------------. ,--------------------------------------------------.
- * | En / 和 | | ^ | % | | |Selall| | Undo | | $ | @ | LT | UP | RT |
- * |----------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | Tab | Q | D | R | W | B | Cut | | PgUP | J | F | U | P | DN | \ |
- * |----------+------+------+------+------+------| Copy | | |------+------+------+------+------+--------|
- * | / | A | S | H | T | G |------| |------| Y | N | E | O | I | , |
- * |----------+------+------+------+------+------|Paste | | PgDN |------+------+------+------+------+--------|
- * | Ctl+Shft | Z | X | M | C | V | | | | . | L | K | ' | ? | tmux |
- * `----------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | LCtrl | LGui | Alt| _ | Esc | |MouseL|MouseR| - | ~ | Ctrl |
- * `------------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * |MidMs | Del | | VolUp| Mute |
- * ,------|------|------| |------+--------+------.
- * | | | | | VolDn| | |
- * | Space| Shift|------| |------| Backsp |Enter |
- * | | | Num | | Esc | | |
- * `--------------------' `----------------------'
- *
- *
- * tmux prefix set to C-b
- *
- */
-// If it accepts an argument (i.e, is a function), it doesn't need KC_.
-// Otherwise, it needs KC_*
-[BASE] = LAYOUT_ergodox( // layer 0 : default
- // left hand
- M(TOJPLOUT), KC_NO, KC_EQL, LSFT(KC_5), KC_NO, KC_NO, LCTL(KC_A),
- KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, M(CUTCOPY),
- KC_SLSH, KC_A, KC_S, KC_H, KC_T, KC_G,
- M(CTLSHFT), KC_Z, KC_X, KC_M, KC_C, KC_V, LCTL(KC_V),
- KC_RCTL, KC_LGUI, KC_LALT,JP_UNDS,KC_LCTL,
- KC_BTN3, KC_DEL,
- KC_NO,
- KC_SPC,KC_LSFT,MO(NUM),
- // right hand
- LCTL(KC_Z), KC_NO, LSFT(KC_4), JP_AT, KC_LEFT, KC_UP, KC_RIGHT,
- KC_PGUP, KC_J, KC_F, KC_U, KC_P, KC_DOWN, LSFT(KC_3),
- KC_Y, KC_N, KC_E, KC_O, KC_I, KC_COMMA,
- KC_PGDN, KC_DOT, KC_L, KC_K, LSFT(KC_7), KC_QUES, LCTL(KC_B),
- KC_BTN1, KC_BTN2,KC_MINS,JP_TILD, KC_RCTL,
- KC_VOLU, KC_MUTE,
- KC_VOLD,
- KC_SPC,KC_BSLS, KC_ENT
- ),
-/* Keymap 1: Japanese
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | En / 和| | | | | | | | | | | | | | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | nu | ko | sa | he | ke | | | | fu | se | tsu | ku | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | to | shi | ka | ki | su |------| |------| a | ha | te | ta | u | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | mu | so | hi | chi | me | | | | | ma | ho | i | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | shift| fn |------| |------| |kazari|
- * | | | Num | | | | |
- * `--------------------' `--------------------'
- *
- *
- *
- */
-[JP] = LAYOUT_ergodox(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, M(JPNU), M(JPKO), M(JPSA), M(JPHE), M(JPKE), KC_TRNS,
- KC_TRNS, M(JPTO), M(JPSHI), M(JPKA), M(JPKI), M(JPSU),
- KC_TRNS, M(JPMU), M(JPSO), M(JPHI), M(JPCHI), M(JPME), KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_NO,
- M(SHIFT), M(JPFN), MO(NUM),
- // right hand
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, M(JPFU), M(JPSE), M(JPTSU), M(JPKU), KC_TRNS, KC_TRNS,
- KC_A, M(JPHA), M(JPTE), M(JPTA), KC_U, KC_TRNS,
- KC_TRNS, KC_TRNS, M(JPMA), M(JPHO), KC_I, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS,KC_TRNS,M(KAZARI)
-),
-/* Keymap 2: Japanese with Fn
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | xe | | | xke | | | | xya | | xtsu | xo | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | xka | | |------| |------| xa | xyo | | | xu | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | | | | | | | | xi | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- *
- *
- *
- */
-[JPXON] = LAYOUT_ergodox(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, M(JPXE), KC_NO, M(JPXKE), KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, M(JPXKA), KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO,
- KC_NO,
- KC_NO, KC_TRNS, KC_TRNS,
- // right hand
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, M(JPXYA), KC_NO, M(JPXTU), M(JPXO), KC_NO, KC_NO,
- M(JPXA), M(JPXYO), M(JPXYU), KC_NO, M(JPXU), KC_NO,
- KC_NO, KC_NO,KC_NO, KC_NO, M(JPXI), KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO,
- KC_NO,
- KC_NO, KC_NO, KC_NO
-),
-/* Keymap 3: Japanese with kazari
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | go | za | be | ge | | | | bu | ze | du | gu | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | do | ji | ga | gi | zu |------| |------| | ba | de | da | vu | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | zo | bi | di | | | | | | | bo | | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- *
- *
- *
- */
-[JPKAZARI] = LAYOUT_ergodox(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, M(JPGO), M(JPZA), M(JPBE), M(JPGE), KC_NO,
- KC_NO, M(JPDO), M(JPJI), M(JPGA), M(JPGI), M(JPZU),
- KC_NO, KC_NO, M(JPZO), M(JPBI), M(JPDI), KC_NO, KC_NO,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO,
- KC_NO,
- M(SHIFT), KC_NO, KC_TRNS,
- // right hand
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, M(JPBU), M(JPZE), M(JPDU), M(JPGU), KC_NO, KC_NO,
- KC_NO, M(JPBA), M(JPDE), M(JPDA), M(JPVU), KC_NO,
- KC_NO, KC_NO, KC_NO, M(JPBO), KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO,
- KC_NO,
- KC_NO, KC_NO, KC_TRNS
-),
-/* Keymap 4: Japanese with Toprow
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | e | - | re | | | | | ya | ne | ru | o | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | ra | ri | na | no | mi |------| |------| wa | yo | yu | ni | nn | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | | | | | | mo | ro | wo | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- *
- *
- *
- */
-[JPTOPROW] = LAYOUT_ergodox(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_E, KC_MINS, M(JPRE), KC_NO, KC_NO,
- KC_NO, M(JPRA), M(JPRI), M(JPNA), M(JPNO), M(JPMI),
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO,
- KC_NO,
- KC_TRNS, KC_NO, KC_NO,
- // right hand
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, M(JPYA), M(JPNE), M(JPRU), KC_O, KC_NO, KC_NO,
- M(JPWA), M(JPYO), M(JPYU), M(JPNI), M(JPNN), KC_NO,
- KC_NO, KC_NO, M(JPMO), M(JPRO), M(JPWO), KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO,
- KC_NO,
- KC_NO, KC_NO, M(KAZARI)
-),
-
-/* Keymap 5: Japanese with Toprow and Kazari
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | | pe | | | | | pu | | | | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | |------| |------| | pa | | | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | pi | | | | | | | | po | | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- *
- *
- *
- */
-[JPTRKZ] = LAYOUT_ergodox(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, M(JPPE),KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, M(JPPI), KC_NO, KC_NO, KC_NO,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO,
- KC_NO,
- KC_TRNS, KC_NO, KC_NO,
- // right hand
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, M(JPPU), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, M(JPPA), KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, M(JPPO), KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO,
- KC_NO,
- KC_NO, KC_NO, KC_TRNS
-),
-/* Keymap 6: Number Layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | " | [ | ] | | | | | % | 7 | 8 | 9 | | F12 |
- * |--------+------+------+------+------+------| ; | | |------+------+------+------+------+--------|
- * | | | / | + | { | } |------| |------| ! | 4 | 5 | 6 | 0 | , |
- * |--------+------+------+------+------+------| : | | & |------+------+------+------+------+--------|
- * | | | * | - | ( | ) | | | | . | 1 | 2 | 3 | ? | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | # | | < | = | > | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| Back | Ent |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// Numbers
-[NUM] = LAYOUT_ergodox(
- // left hand
- KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO,
- KC_NO, KC_NO, KC_NO, JP_DQUO, KC_RBRC, KC_BSPC, KC_SCLN,
- KC_NO, KC_NO, KC_SLSH, JP_PLUS, LSFT(KC_RBRC), JP_RCBR,
- KC_NO, KC_NO, JP_ASTR, KC_MINS, LSFT(KC_8), LSFT(KC_9), JP_COLN,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_HASH,
- KC_NO, KC_NO,
- KC_NO,
- KC_NO, KC_NO, KC_TRNS,
- // right hand
- KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- LSFT(JP_YEN), KC_PERC, KC_7, KC_8, KC_9, KC_NO, KC_F12,
- KC_EXLM, KC_4, KC_5, KC_6, KC_0, KC_COMM,
- LSFT(KC_6), KC_DOT, KC_1, KC_2, KC_3, KC_QUES, KC_NO,
- KC_LT,JP_EQL, KC_GT, KC_NO, KC_NO,
- KC_NO, KC_NO,
- KC_NO,
- KC_SPC, KC_BSLS, KC_DOT
-),
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
-
- // MACRO only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- } else {
- unregister_code(KC_RSFT);
- }
- break;
- case CTLSHFT:
- if (record->event.pressed) {
- return MACRO( D(LSFT), D(LCTL), END);
- } else {
- return MACRO( U(LSFT), U(LCTL), END);
- }
- break;
- case CUTCOPY:
- if (record->event.pressed) {
- start = timer_read();
- } else {
- if (timer_elapsed(start) > 150) {
- return MACRO( D(LCTL), T(X), U(LCTL), END);
- } else {
- return MACRO( D(LCTL), T(C), U(LCTL), END);
- }
- }
- break;
-
- // kana macros start here
-
- case JPVU:
- if (record->event.pressed) {
- return MACRO( I(1), T(V), T(U), END);
- }
- break;
- case JPNU:
- if (record->event.pressed) {
- return MACRO( I(1), T(N), T(U), END);
- }
- break;
- case JPKO:
- if (record->event.pressed) {
- return MACRO( I(1), T(K), T(O), END);
- }
- break;
- case JPSA:
- if (record->event.pressed) {
- return MACRO( I(1), T(S), T(A), END);
- }
- break;
- case JPKE:
- if (record->event.pressed) {
- return MACRO( I(1), T(K), T(E), END);
- }
- break;
- case JPHE:
- if (record->event.pressed) {
- return MACRO( I(1), T(H), T(E), END);
- }
- break;
- case JPSHI:
- if (record->event.pressed) {
- return MACRO( I(1), T(S), T(I), END);
- }
- break;
- case JPKA:
- if (record->event.pressed) {
- return MACRO( I(1), T(K), T(A), END);
- }
- break;
- case JPKI:
- if (record->event.pressed) {
- return MACRO( I(1), T(K), T(I), END);
- }
- break;
- case JPSU:
- if (record->event.pressed) {
- return MACRO( I(1), T(S), T(U), END);
- }
- break;
- case JPSO:
- if (record->event.pressed) {
- return MACRO( I(1), T(S), T(O), END);
- }
- break;
- case JPHI:
- if (record->event.pressed) {
- return MACRO( I(1), T(H), T(I), END);
- }
- break;
- case JPCHI:
- if (record->event.pressed) {
- return MACRO( I(1), T(T), T(I), END);
- }
- break;
- case JPFU:
- if (record->event.pressed) {
- return MACRO( I(1), T(F), T(U), END);
- }
- break;
- case JPSE:
- if (record->event.pressed) {
- return MACRO( I(1), T(S), T(E), END);
- }
- break;
- case JPTSU:
- if (record->event.pressed) {
- return MACRO( I(1), T(T), T(U), END);
- }
- break;
- case JPKU:
- if (record->event.pressed) {
- return MACRO( I(1), T(K), T(U), END);
- }
- break;
- case JPTE:
- if (record->event.pressed) {
- return MACRO( I(1), T(T), T(E), END);
- }
- break;
- case JPTA:
- if (record->event.pressed) {
- return MACRO( I(1), T(T), T(A), END);
- }
- break;
- case JPTO:
- if (record->event.pressed) {
- return MACRO( I(1), T(T), T(O), END);
- }
- break;
- case JPHA:
- if (record->event.pressed) {
- return MACRO( I(1), T(H), T(A), END);
- }
- break;
- case JPHO:
- if (record->event.pressed) {
- return MACRO( I(1), T(H), T(O), END);
- }
- break;
- case JPXKE:
- if (record->event.pressed) {
- return MACRO( I(1), T(X), T(K), T(E), END);
- }
- break;
- case JPXU:
- if (record->event.pressed) {
- return MACRO( I(1), T(X), T(U), END);
- }
- break;
- case JPXKA:
- if (record->event.pressed) {
- return MACRO( I(1), T(X), T(K), T(A), END);
- }
- break;
- case JPXA:
- if (record->event.pressed) {
- return MACRO( I(1), T(X), T(A), END);
- }
- break;
- case JPXO:
- if (record->event.pressed) {
- return MACRO( I(1), T(X), T(O), END);
- }
- break;
- case JPGO:
- if (record->event.pressed) {
- return MACRO( I(1), T(G), T(O), END);
- }
- break;
- case JPZA:
- if (record->event.pressed) {
- return MACRO( I(1), T(Z), T(A), END);
- }
- break;
- case JPGE:
- if (record->event.pressed) {
- return MACRO( I(1), T(G), T(E), END);
- }
- break;
- case JPBE:
- if (record->event.pressed) {
- return MACRO( I(1), T(B), T(E), END);
- }
- break;
- case JPYU:
- if (record->event.pressed) {
- return MACRO( I(1), T(Y), T(U), END);
- }
- break;
- case JPJI:
- if (record->event.pressed) {
- return MACRO( I(1), T(J), T(I), END);
- }
- break;
- case JPGA:
- if (record->event.pressed) {
- return MACRO( I(1), T(G), T(A), END);
- }
- break;
- case JPGI:
- if (record->event.pressed) {
- return MACRO( I(1), T(G), T(I), END);
- }
- break;
- case JPZU:
- if (record->event.pressed) {
- return MACRO( I(1), T(Z), T(U), END);
- }
- break;
- case JPZO:
- if (record->event.pressed) {
- return MACRO( I(1), T(Z), T(O), END);
- }
- break;
- case JPBI:
- if (record->event.pressed) {
- return MACRO( I(1), T(B), T(I), END);
- }
- break;
- case JPDI:
- if (record->event.pressed) {
- return MACRO( I(1), T(D), T(I), END);
- }
- break;
- case JPZE:
- if (record->event.pressed) {
- return MACRO( I(1), T(Z), T(E), END);
- }
- break;
- case JPDU:
- if (record->event.pressed) {
- return MACRO( I(1), T(D), T(U), END);
- }
- break;
- case JPGU:
- if (record->event.pressed) {
- return MACRO( I(1), T(G), T(U), END);
- }
- break;
- case JPYA:
- if (record->event.pressed) {
- return MACRO( I(1), T(Y), T(A), END);
- }
- break;
- case JPYO:
- if (record->event.pressed) {
- return MACRO( I(1), T(Y), T(O), END);
- }
- break;
- case JPDE:
- if (record->event.pressed) {
- return MACRO( I(1), T(D), T(E), END);
- }
- break;
- case JPDA:
- if (record->event.pressed) {
- return MACRO( I(1), T(D), T(A), END);
- }
- break;
- case JPDO:
- if (record->event.pressed) {
- return MACRO( I(1), T(D), T(O), END);
- }
- break;
- case JPBA:
- if (record->event.pressed) {
- return MACRO( I(1), T(B), T(A), END);
- }
- break;
- case JPBO:
- if (record->event.pressed) {
- return MACRO( I(1), T(B), T(O), END);
- }
- break;
- case JPRI:
- if (record->event.pressed) {
- return MACRO( I(1), T(R), T(I), END);
- }
- break;
- case JPRE:
- if (record->event.pressed) {
- return MACRO( I(1), T(R), T(E), END);
- }
- break;
- case JPRA:
- if (record->event.pressed) {
- return MACRO( I(1), T(R), T(A), END);
- }
- break;
- case JPNA:
- if (record->event.pressed) {
- return MACRO( I(1), T(N), T(A), END);
- }
- break;
- case JPNO:
- if (record->event.pressed) {
- return MACRO( I(1), T(N), T(O), END);
- }
- break;
- case JPMI:
- if (record->event.pressed) {
- return MACRO( I(1), T(M), T(I), END);
- }
- break;
- case JPMU:
- if (record->event.pressed) {
- return MACRO( I(1), T(M), T(U), END);
- }
- break;
- case JPME:
- if (record->event.pressed) {
- return MACRO( I(1), T(M), T(E), END);
- }
- break;
- case JPNE:
- if (record->event.pressed) {
- return MACRO( I(1), T(N), T(E), END);
- }
- break;
- case JPMA:
- if (record->event.pressed) {
- return MACRO( I(1), T(M), T(A), END);
- }
- break;
- case JPXTU:
- if (record->event.pressed) {
- return MACRO( I(1), T(X), T(T), T(U), END);
- }
- break;
- case JPWA:
- if (record->event.pressed) {
- return MACRO( I(1), T(W), T(A), END);
- }
- break;
- case JPRU:
- if (record->event.pressed) {
- return MACRO( I(1), T(R), T(U), END);
- }
- break;
- case JPWO:
- if (record->event.pressed) {
- return MACRO( I(1), T(W), T(O), END);
- }
- break;
- case JPNI:
- if (record->event.pressed) {
- return MACRO( I(1), T(N), T(I), END);
- }
- break;
- case JPNN:
- if (record->event.pressed) {
- return MACRO( I(1), T(N), T(N), END);
- }
- break;
- case JPMO:
- if (record->event.pressed) {
- return MACRO( I(1), T(M), T(O), END);
- }
- break;
- case JPRO:
- if (record->event.pressed) {
- return MACRO( I(1), T(R), T(O), END);
- }
- break;
- case JPXE:
- if (record->event.pressed) {
- return MACRO( I(1), T(X), T(E), END);
- }
- break;
- case JPXI:
- if (record->event.pressed) {
- return MACRO( I(1), T(X), T(I), END);
- }
- break;
- case JPXYU:
- if (record->event.pressed) {
- return MACRO( I(1), T(X), T(Y), T(U), END);
- }
- break;
- case JPXYA:
- if (record->event.pressed) {
- return MACRO( I(1), T(X), T(Y), T(A), END);
- }
- break;
- case JPXYO:
- if (record->event.pressed) {
- return MACRO( I(1), T(X), T(Y), T(O), END);
- }
- break;
- case JPPE:
- if (record->event.pressed) {
- return MACRO( I(1), T(P), T(E), END);
- }
- break;
- case JPPU:
- if (record->event.pressed) {
- return MACRO( I(1), T(P), T(U), END);
- }
- break;
- case JPPI:
- if (record->event.pressed) {
- return MACRO( I(1), T(P), T(I), END);
- }
- break;
- case JPPA:
- if (record->event.pressed) {
- return MACRO( I(1), T(P), T(A), END);
- }
- break;
- case JPPO:
- if (record->event.pressed) {
- return MACRO( I(1), T(P), T(O), END);
- }
- break;
- case JPBU:
- if (record->event.pressed) {
- return MACRO( I(1), T(B), T(U), END);
- }
- break;
-
- // kana macros end here
-
- break;
- case SHIFT:
- if (record->event.pressed) {
- start = timer_read();
- if (layer_state == (1<event.pressed) {
- start = timer_read();
- if (layer_state == (1<event.pressed) {
- start = timer_read();
- layer_state = (1<event.pressed) {
- if (default_layer_state == (1<event.pressed) {
- default_layer_state = (1<event.pressed) {
- default_layer_state = (1<event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- break;
- case 1:
- if (record->event.pressed) { // For resetting EEPROM
- eeconfig_init();
- }
- break;
- }
- return MACRO_NONE;
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- // dynamically generate these.
- case EPRM:
- if (record->event.pressed) {
- eeconfig_init();
- }
- return false;
- break;
- case VRSN:
- if (record->event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- return false;
- break;
- case RGB_SLD:
- if (record->event.pressed) {
- #ifdef RGBLIGHT_ENABLE
- rgblight_mode(1);
- #endif
- }
- return false;
- break;
- }
- return true;
-}
-
-// Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
-
-};
-
-
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
-
- uint8_t layer = get_highest_layer(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/layouts/community/ergodox/italian/readme.md b/layouts/community/ergodox/italian/readme.md
deleted file mode 100644
index 215c24a5af..0000000000
--- a/layouts/community/ergodox/italian/readme.md
+++ /dev/null
@@ -1,72 +0,0 @@
-# ErgoDox Italian layout
-
-## Layer 0
-```
-
- ,--------------------------------------------------. ,--------------------------------------------------.
- | \ | 1 | 2 | 3 | 4 | 5 | ESC | | T2 | 6 | 7 | 8 | 9 | 0 | ' |
- |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- | Tab | Q | W | E | R | T | TT1 | | TT1 | Y | U | I | O | P | è |
- |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- | Caps | A | S | D | F | G |------| |------| H | J | K | L | ò | à |
- |--------+------+------+------+------+------| Alt | | Alt |------+------+------+------+------+--------|
- | LShift | Z | X | C | V | B | | | | N | M | , | . | ù |-/RShift|
- `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- |event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- break;
- case CTL_SFT_T:
- if (record->event.pressed) {
- return MACRO(D(LCTL), D(LSFT), T(T), END);
- }
- return MACRO(U(LCTL), U(LSFT), END);
- break;
- case CTL_SFT_G:
- if (record->event.pressed) {
- return MACRO(D(LCTL), D(LSFT), T(G), END);
- }
- return MACRO(U(LCTL), U(LSFT), END);
- break;
- case CTL_ALT_H:
- if (record->event.pressed) {
- return MACRO(D(LCTL), D(LALT), T(H), END);
- }
- return MACRO(U(LCTL), U(LALT), END);
- break;
- case CTL_SFT_R:
- if (record->event.pressed) {
- return MACRO(D(LCTL), D(LSFT), T(R), END);
- }
- return MACRO(U(LCTL), U(LSFT), END);
- 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 = get_highest_layer(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/layouts/community/ergodox/josh/readme.md b/layouts/community/ergodox/josh/readme.md
deleted file mode 100644
index cee19d47ea..0000000000
--- a/layouts/community/ergodox/josh/readme.md
+++ /dev/null
@@ -1,8 +0,0 @@
-Layout is based on the default layout that comes on the ergodox infinity. Focused mostly on making ctl and alt easy to reach. I spend most my day working in Eclipse which has just so many 3 key shortcuts.
-
-* Removed numpad keys from symbol layer (I don't use them)
-* Added arrow keys under h, j, k, l on symbol layer. vi movement keys!
-* Added a few macros for eclipse hotkeys that I used all the time
-* Added calc button on symbol layer
-* tap vs hold on tab and \. Gives alt, ctl and shift on both sides of the keyboard
-
diff --git a/layouts/community/ergodox/kristian/keymap.c b/layouts/community/ergodox/kristian/keymap.c
deleted file mode 100644
index d5e571b06a..0000000000
--- a/layouts/community/ergodox/kristian/keymap.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "debug.h"
-#include "action_layer.h"
-#include "version.h"
-#include "keymap_swiss_fr.h"
-#include "keymap_french.h"
-#include "keymap_german.h"
-#include "keymap_swiss_de.h"
-#include "keymap_nordic.h"
-#include "keymap_norwegian.h"
-#include "keymap_spanish.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-
-[0] = LAYOUT_ergodox(NO_LABK,KC_1,KC_2,KC_3,KC_4,KC_5,KC_BSPACE,KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,TG(1),KC_BSPACE,KC_A,KC_S,KC_D,KC_F,KC_G,SFT_T(NO_QUOT),CTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,SFT_T(KC_EQUAL),MO(1),CTL_T(KC_GRAVE),KC_LGUI,KC_LEFT,KC_RIGHT,KC_ESCAPE,KC_CAPS,KC_HOME,KC_SPACE,KC_LGUI,KC_LALT,KC_DELETE,KC_6,KC_7,KC_8,KC_9,KC_0,NO_PLUS,TG(1),KC_Y,KC_U,KC_I,KC_O,KC_P,NO_ARNG,KC_H,KC_J,KC_K,KC_L,LT(2,NO_OSTR),NO_AE,SFT_T(KC_RBRC),KC_N,KC_M,KC_COMMA,KC_DOT,CTL_T(KC_SLASH),SFT_T(NO_QUOT),KC_DOWN,KC_UP,NO_LPRN,NO_RPRN,MO(1),NO_QUOT,CTL_T(KC_ESCAPE),NO_QUOT,KC_LALT,KC_LGUI,KC_ENTER),
-
-[1] = LAYOUT_ergodox(M(0),KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_BSPACE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_BSPACE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_LSHIFT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_LCTL,KC_LGUI,KC_LEFT,KC_RIGHT,KC_ESCAPE,KC_TRANSPARENT,KC_HOME,KC_SPACE,KC_LGUI,KC_LALT,KC_DELETE,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_TRANSPARENT,KC_7,KC_8,KC_9,KC_TRANSPARENT,KC_TRANSPARENT,KC_F12,KC_4,KC_5,KC_6,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_0,KC_1,KC_2,KC_3,NO_LBRC,NO_RBRC,KC_LSHIFT,KC_COMMA,KC_DOT,LSFT(NO_LBRC),LSFT(NO_RBRC),KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_LALT,KC_LGUI,KC_ENTER),
-
-[2] = LAYOUT_ergodox(KC_ESCAPE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MS_UP,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MS_LEFT,KC_MS_DOWN,KC_MS_RIGHT,KC_TRANSPARENT,KC_LSHIFT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_LCTL,KC_LALT,KC_LGUI,KC_MS_BTN1,KC_MS_BTN2,KC_ESCAPE,KC_TRANSPARENT,KC_TRANSPARENT,KC_SPACE,KC_LGUI,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MEDIA_PREV_TRACK,KC_MEDIA_PLAY_PAUSE,KC_MEDIA_NEXT_TRACK,KC_TRANSPARENT,KC_TRANSPARENT,KC_AUDIO_VOL_UP,KC_AUDIO_VOL_DOWN,KC_AUDIO_MUTE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_ESCAPE,KC_MS_WH_UP,KC_MS_WH_DOWN,KC_MS_ACCEL0,KC_MS_ACCEL1),
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- switch(id) {
- case 0:
- if (record->event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- break;
- }
- return MACRO_NONE;
-};
-
-void matrix_scan_user(void) {
-
- uint8_t layer = get_highest_layer(layer_state);
-
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
- switch (layer) {
- case 1:
- ergodox_right_led_1_on();
- break;
- case 2:
- ergodox_right_led_2_on();
- break;
- case 3:
- ergodox_right_led_3_on();
- break;
- case 4:
- ergodox_right_led_1_on();
- ergodox_right_led_2_on();
- break;
- case 5:
- ergodox_right_led_1_on();
- ergodox_right_led_3_on();
- break;
- case 6:
- ergodox_right_led_2_on();
- ergodox_right_led_3_on();
- break;
- case 7:
- ergodox_right_led_1_on();
- ergodox_right_led_2_on();
- ergodox_right_led_3_on();
- break;
- default:
- break;
- }
-
-};
diff --git a/layouts/community/ergodox/osx_de/keymap.c b/layouts/community/ergodox/osx_de/keymap.c
deleted file mode 100644
index cbbfc42280..0000000000
--- a/layouts/community/ergodox/osx_de/keymap.c
+++ /dev/null
@@ -1,359 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "debug.h"
-#include "action_layer.h"
-#include "keymap_german_mac_iso.h"
-
-#define BASE 0
-#define SYMB 1
-#define MDIA 2
-#define SMLY 3
-#define NUMB 4
-#define EGOS 5
-
-#define M_CTRL_CMDV 0
-#define M_CTRL_CMDC 1
-#define M_MEH_SH_ACUT 2
-#define M_LGUI_SHFT 3
-#define M_CTL_SFT_HASH 4
-#define M_DE_CIRC_CTRLCMD 5
-#define M_DE_PLUS_CTRLALT 6
-#define SM_SMILE 7
-#define SM_SMIRK 8
-#define SM_CRY 9
-#define SM_SAD 10
-#define SM_HEART 11
-#define SM_LAUGH 12
-#define SM_KISS 13
-#define SM_FROWN 14
-#define M_TOGGLE_5 15
-
-//Layout keymap.c generated with ErgodoxLayoutGenerator V1.0BETA1
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[BASE]=LAYOUT_ergodox(
-//left half
- KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(M_CTL_SFT_HASH),
- KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI,
- KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G,
- KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT,
- LT(SYMB,DE_LABK), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), KC_UP, KC_DOWN,
- M(M_MEH_SH_ACUT), TG(MDIA),
- KC_HOME,
- KC_BSPC, KC_DEL, LT(SMLY,KC_END),
- //right half
- M(M_CTL_SFT_HASH), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS,
- KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA,
- DE_H, DE_J, DE_K, DE_L, DE_ODIA, ALT_T(DE_ADIA),
- KC_RALT, DE_N, DE_M, DE_COMM, DE_DOT, CTL_T(DE_MINS), KC_RSFT,
- KC_LEFT, KC_RIGHT, LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_PLUS),
- TG(NUMB), ALL_T(DE_ACUT),
- KC_PGUP,
- KC_PGDN, KC_ENT, KC_SPC),
-[SYMB]=LAYOUT_ergodox(
-//left half
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
- KC_TRNS, DE_LABK, DE_RABK, DE_EXLM, DE_QUES, KC_TRNS, KC_TRNS,
- KC_TRNS, DE_HASH, DE_DLR, DE_BSLS, DE_SLSH, KC_DOT,
- KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, DE_PIPE, DE_TILD, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_DEL, KC_TRNS,
- //right half
- M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), DE_LABK, DE_RABK, DE_EXLM,
- DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), DE_HASH,
- KC_TRNS, DE_PIPE, DE_TILD, DE_CIRC, KC_UP, DE_MINS, LSFT(KC_4),
- DE_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS,
- KC_F13, KC_F12,
- KC_F14,
- KC_F15, KC_TRNS, KC_TRNS),
-[MDIA]=LAYOUT_ergodox(
-//left half
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D,
- KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, 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 half
- KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_VOLD, KC_TRNS, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_WBAK),
-[SMLY]=LAYOUT_ergodox(
-//left half
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- //right half
- M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS,
- M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS),
-[NUMB]=LAYOUT_ergodox(
-//left half
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- //right half
- KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12,
- KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_MINS,
- KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS,
- KC_0, KC_DOT, KC_COMM, DE_EQL, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS),
-[EGOS]=LAYOUT_ergodox(
-//left half
- 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_LSFT, 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_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_F1, KC_F2,
- KC_F3,
- KC_SPC, KC_LCTL, KC_F4,
- //right half
- M(M_TOGGLE_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS),
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
-static uint16_t start;
-switch(id) {
-case M_TOGGLE_5:
-//Macro: M_TOGGLE_5//-----------------------
- if (record->event.pressed){
- layer_state ^= (1<<5);
- layer_state &= (1<<5);
- }
-
-break;
-case M_CTRL_CMDC:
-//Macro: M_CTRL_CMDC//-----------------------
-if (record->event.pressed) {
- start = timer_read();
- return MACRO(D(LCTRL),END);
- } else {
- if (timer_elapsed(start) >150) {
- return MACRO(U(LCTRL),END);
- } else {
- return MACRO(U(LCTRL),D(LGUI),T(C),U(LGUI),END);
- }
- }
-
-break;
-case M_DE_PLUS_CTRLALT:
-//Macro: M_DE_PLUS_CTRLALT//-----------------------
-if (record->event.pressed) {
- start = timer_read();
- return MACRO(D(LCTRL),D(LALT),END);
- } else {
- if (timer_elapsed(start) >150) {
- return MACRO(U(LCTRL),U(LALT),END);
- } else {
- return MACRO(U(LCTRL),U(LALT),T(RBRC),END);
- }
- }
-
-break;
-case SM_KISS:
-//Macro: SM_KISS//-----------------------
-if (record->event.pressed) {
- return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(RBRC),U(LSFT),END);
- }
-
-break;
-case SM_FROWN:
-//Macro: SM_FROWN//-----------------------
-if (record->event.pressed) {
- return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LALT),T(8),U(LALT),END);
- }
-
-break;
-case SM_CRY:
-//Macro: SM_CRY//-----------------------
-if (record->event.pressed) {
- return MACRO(D(LSFT),T(COMM),U(LSFT),T(SLSH),D(LSFT),T(8),U(LSFT),END);
- }
-
-break;
-case SM_SMILE:
-//Macro: SM_SMILE//-----------------------
-if (record->event.pressed) {
- return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(9),U(LSFT),END);
- }
-
-break;
-case SM_SMIRK:
-//Macro: SM_SMIRK//-----------------------
-if (record->event.pressed) {
- return MACRO(D(LSFT),T(COMM),U(LSFT),T(SLSH),D(LSFT),T(9),U(LSFT),END);
- }
-
-break;
-case M_LGUI_SHFT:
-//Macro: M_LGUI_SHFT//-----------------------
-if (record->event.pressed){
- return MACRO(D(LGUI),D(LSFT),END);
- }else{
- return MACRO(U(LGUI),U(LSFT),END);
- }
-
-break;
-case SM_HEART:
-//Macro: SM_HEART//-----------------------
-if (record->event.pressed) {
- return MACRO(T(GRV),T(3),END);
- }
-
-break;
-case SM_LAUGH:
-//Macro: SM_LAUGH//-----------------------
-if (record->event.pressed) {
- return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(D),U(LSFT),END);
- }
-
-break;
-case M_CTL_SFT_HASH:
-//Macro: M_CTL_SFT_HASH//-----------------------
-if (record->event.pressed) {
- start = timer_read();
- return MACRO(D(LCTRL),D(LSFT),END);
- } else {
- if (timer_elapsed(start) >150) {
- return MACRO(U(LCTRL),U(LSFT),END);
- } else {
- return MACRO(U(LCTRL),U(LSFT),T(BSLS),END);
- }
- }
-
-break;
-case SM_SAD:
-//Macro: SM_SAD//-----------------------
-if (record->event.pressed) {
- return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(8),U(LSFT),END);
- }
-
-break;
-case M_DE_CIRC_CTRLCMD:
-//Macro: M_DE_CIRC_CTRLCMD//-----------------------
-if (record->event.pressed) {
- start = timer_read();
- return MACRO(D(LCTRL),D(LGUI),END);
- } else {
- if (timer_elapsed(start) >150) {
- return MACRO(U(LCTRL),U(LGUI),END);
- } else {
- return MACRO(U(LCTRL),U(LGUI),T(NUBS),END);
- }
- }
-
-break;
-case M_CTRL_CMDV:
-//Macro: M_CTRL_CMDV//-----------------------
-if (record->event.pressed) {
- start = timer_read();
- return MACRO(D(LCTRL),END);
- } else {
- if (timer_elapsed(start) >150) {
- return MACRO(U(LCTRL),END);
- } else {
- return MACRO(U(LCTRL),D(LGUI),T(V),U(LGUI),END);
- }
- }
-
-break;
-case M_MEH_SH_ACUT:
-//Macro: M_MEH_SH_ACUT//-----------------------
-if (record->event.pressed) {
- start = timer_read();
- return MACRO(D(LCTRL),D(LSFT),D(LALT),END);
- } else {
- if (timer_elapsed(start) >150) {
- return MACRO(U(LCTRL),U(LSFT),U(LALT),END);
- } else {
- return MACRO(U(LCTRL),U(LALT),T(EQL),U(LSFT),END);
- }
- }
-
-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 = get_highest_layer(layer_state);
-
-ergodox_board_led_off();
-ergodox_right_led_1_off();
-ergodox_right_led_2_off();
-ergodox_right_led_3_off();
-switch (layer) {
-
- case SYMB:
- ergodox_right_led_1_on();
-
-
- break;
- case MDIA:
-
- ergodox_right_led_2_on();
-
- break;
- case SMLY:
-
-
- ergodox_right_led_3_on();
- break;
- case NUMB:
- ergodox_right_led_1_on();
-
- ergodox_right_led_3_on();
- break;
- case EGOS:
- ergodox_right_led_1_on();
- ergodox_right_led_2_on();
- ergodox_right_led_3_on();
- break;
-default:
-// none
-break;
-}
-
-};
diff --git a/layouts/community/ergodox/osx_de/osx_de_highres.png.md b/layouts/community/ergodox/osx_de/osx_de_highres.png.md
deleted file mode 100644
index ee3dc53505..0000000000
--- a/layouts/community/ergodox/osx_de/osx_de_highres.png.md
+++ /dev/null
@@ -1 +0,0 @@
-https://i.imgur.com/kvSzkXK.png
diff --git a/layouts/community/ergodox/osx_de/readme.md b/layouts/community/ergodox/osx_de/readme.md
deleted file mode 100644
index e4ccee3aa6..0000000000
--- a/layouts/community/ergodox/osx_de/readme.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# Ergodox EZ für OSX
-
-Dies ist nur ein kleiner Tweak der bestehenden firmware für das ErgoDox-EZ-Keyboard. Leider passte das layout nicht wirklich für OSX, deswegen habe ich einige Anpassungen gemacht. Dabei wurden folgende features umgesetzt:
-
-- Die Umlaute sollten an einigermassen sinnvollen Plätzen liegen
-- der Umstieg sollte dadurch erleichtert werden, dass einige Tasten an ihren "normalen" Platz zurückgewandert sind. Z.B. ESC, Tab,...
-- die Leertaste ist jetzt auf der rechten seite, neben Enter. Dafür hat der linke Daumen nun Backspace und Delete.
-- die CMD- und Alt-Tasten sind in der Mitte einfach erreichbar.
-- es gibt eine neue Layer die für Spiele genutzt werden kann (egosooter wie Counter Strike). Dort liegen die wichtigsten Tasten auf der linken Seite, im Daumenblock z.B. space und ctrl sowie die F-Tasten 1-4. Diese Layer ist über die Symbollayer erreichbar.
-- Die Symbollayer wurde dahingehend angepasst, dass die klammern, etc nun auf beiden hälften der Tastatur zu finden sind
-- der Zehnerblock wurde in eine eigene Layer umgezogen
-- die Meh und Hyper-Tasten wurden in die Daumenblöcke umgezogen
-
-# Erstellt Mit Dem ErgodoxLayoutGenerator
-
-Der ErgodoxLayoutGenerator ist ein kleines Werkzeug, welches die Erstellung und Pflege der eigenen Keymaps erleichtern soll. Es ist in java geschrieben und kann [hier](https://github.com/sboesebeck/ErgodoxLayoutGenerator/releases) heruntergeladen werden. Damit das Tool funktioniert sollte das offizielle Oracle JDK in aktueller Version installiert sein.
-
-
-
-------------------------------
-
-# ErgoDox EZ for OSX
-
-This is only a little tweak of the existing default layout for the ErgoDox keyboard. Unfortunately the default layout did not work well with german OSX, so I created som adjustments. These were the features added and changed:
-
-- the umlaut-keys should be at their useful place more or less
-- the switching should be made more easy so some other keys (like tab, esc) were moved to their default place
-- the space key can now be used with both hands
-- the CMD- and ALT-Keys moved to the middle, can be reached more easily.
-- there is a new layer for using the cursor-keys, placed like on the default keyboard. This makes them useable for games also
-- the symbollayer now has only symbols
-- the number block was moved to a special layer
-- meh and hyper went down to the thumb block
-
-# Created Using the ErgodoxLayoutGenerator
-
-The ErgodoxLayoutGenerator (ELG) is a little tool, which makes the creation and maintenance of keycaps a lot easier. It was written in Java and can be downloaded [here](https://github.com/sboesebeck/ErgodoxLayoutGenerator/releases). To use the tool, you need to have a current version of Oracles JDK installed.
-
-The documentation of the ELG can be viewed [here](https://boesebeck.name/2016/04/16/ergodoxlayoutgenerator-documentation/).
-
diff --git a/layouts/community/ergodox/osx_de_experimental/keymap.c b/layouts/community/ergodox/osx_de_experimental/keymap.c
deleted file mode 100644
index faf238726f..0000000000
--- a/layouts/community/ergodox/osx_de_experimental/keymap.c
+++ /dev/null
@@ -1,592 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "debug.h"
-#include "action_layer.h"
-#include "keymap_neo2.h"
-#include "keymap_uk.h"
-#include "keymap_colemak.h"
-#include "keymap_nordic.h"
-#include "keymap_dvorak.h"
-#include "keymap_german.h"
-#include "keymap_norwegian.h"
-#include "keymap_swiss_fr.h"
-#include "keymap_german_mac_iso.h"
-#include "keymap_spanish.h"
-#include "keymap_bepo.h"
-
-
-/**
-* This layout was generated using the ErgodoxLayoutGenerator (ELG). You can download it from https://github.com/sboesebeck/ErgodoxLayoutGenerator/releases
-* documentation about it can be found here https://boesebeck.name/2016/04/16/ergodoxlayoutgenerator-documentation/
-* Thanks to the team of Erez Zukerman for building the great Ergodox-EZ!
-*
-* use at own risk!
-**/
-
-#define BASE 0
-#define SYMB 1
-#define MDIA 2
-#define SMLY 3
-#define NUMB 4
-#define EGOS 5
-
-#define SMLY_TOG_QUOT 0
-
-#define M_TOGGLE_5 1
-
-#define TGH_NUM 2
-
-#define M_DE_PLUS_CTRLALT 3
-
-#define SM_KISS 4
-
-#define SM_FROWN 5
-
-#define SM_CRY 6
-
-#define SM_SMILE 7
-
-#define SM_SMIRK 8
-
-#define M_LGUI_SHFT 9
-
-#define SM_HEART 10
-
-#define TOG_HLD_MDIA 11
-
-#define SM_LAUGH 12
-
-#define SM_SAD 13
-
-#define M_DE_CIRC_CTRLCMD 14
-
-#define M_MEH_SH_ACUT 15
-
-
-//Layout keymap.c generated with ErgodoxLayoutGenerator V1.0BETA1
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/**
-* Layer: BASE
-* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/
-* | ESC | 1 | 2 | 3 | 4 | 5 | Hold or toggle | | Hold or toggle | 6 | 7 | 8 | 9 | 0 | ß |
-* | | | | | | | Layer NUMB | | Layer MDIA | | | | | | |
-* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/
-* | TAB | Q | W | E | R | T | Cmd | | Cmd | Z | U | I | O | P | Ü |
-* | | | | | | | | | | | | | | | |
-* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/\-------------------\ \-------------------\/-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/
-* | Alt | A | S | D | F | G | | H | J | K | L | Ö | Ä |
-* | | | | | | | | | | | | | ALT |
-* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/
-* | Shift | Y | X | C | V | B | Alt | | Alt | N | M | , | . | - | Shift |
-* | | Ctrl | | | | | | | | | | | | Ctrl | |
-* \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\ \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\
-*
-*
-* /-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------/
-* | < | LongPress / Type | LongPress / Type | Shift+Ctrl | Type | | # | ACUT | CMD+Shift | ALT+Shift | + |
-* | SYMB | DE_CIRC_CTRLCMD | DE_PLUS_CTRAlt | | Toggle SMLY | | Meh | Hyper | | | SYMB |
-* \-------------------\\-------------------\\-------------------\\-------------------\/-------------------//-------------------/ /-------------------//-------------------/ \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\
-* | HOME | END | | LEFT | RIGHT |
-* | | | | | |
-* \-------------------\/-------------------/ /-------------------/\-------------------\
-* | PGUP | | UP |
-* | | | |
-* /-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------/
-* | BSPC | DEL | PGDN | | DOWN | ENT | SPC |
-* | | | | | | | |
-* \-------------------\\-------------------\\-------------------\ \-------------------\\-------------------\\-------------------\
-*
-*
-**/
-[BASE]=LAYOUT_ergodox(
-//left half
- KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(TGH_NUM),
- KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI,
- KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G,
- KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT,
- LT(SYMB,DE_LABK), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), LSFT(KC_LCTRL), M(SMLY_TOG_QUOT),
- KC_HOME, KC_END,
- KC_PGUP,
- KC_BSPC, KC_DEL, KC_PGDN,
- //right half
- M(TOG_HLD_MDIA), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS,
- KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA,
- DE_H, DE_J, DE_K, DE_L, DE_ODIA, ALT_T(DE_ADIA),
- KC_RALT, DE_N, DE_M, DE_COMM, DE_DOT, CTL_T(DE_MINS), KC_RSFT,
- MEH_T(DE_HASH), ALL_T(DE_ACUT), LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_PLUS),
- KC_LEFT, KC_RIGHT,
- KC_UP,
- KC_DOWN, KC_ENT, KC_SPC),
-/**
-* Layer: SYMB
-* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------//-----------//-----------/
-* | APPLICATION| F1 | F2 | F3 | F4 | F5 | F5 | | F6 | F6 | F7 | F8 | F9 | F10 | F11 |
-* | | | | | | | | | | | | | | | |
-* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------//-----------//-----------/
-* | | < | > | ! | ? | | | | | \ | [ | ] | < | > | ! |
-* | | | | | | | | | | | | | | | |
-* /-----------//-----------//-----------//-----------//-----------//-----------/\-----------\ \-----------\/-----------//-----------//-----------//-----------//-----------//-----------/
-* | | # | $ | \ | / | . | | / | ( | ) | { | } | # |
-* | | | | | | | | | | | | | |
-* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------//-----------//-----------/
-* | | | < | % | | | ~ | | | | | | ~ | | | | |
-* | | | | | | | | | | | | | | | |
-* \-----------\\-----------\\-----------\\-----------\\-----------\\-----------\\-----------\ \-----------\\-----------\\-----------\\-----------\\-----------\\-----------\\-----------\
-*
-*
-* /-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------/
-* | | | | | | | ' | DQOT | | Toggle 5 | |
-* | | | | | | | | | | | |
-* \-----------\\-----------\\-----------\\-----------\/-----------//-----------/ /-----------//-----------/ \-----------\\-----------\\-----------\\-----------\\-----------\
-* | | | | F13 | F12 |
-* | | | | | |
-* \-----------\/-----------/ /-----------/\-----------\
-* | | | F14 |
-* | | | |
-* /-----------//-----------//-----------/ /-----------//-----------//-----------/
-* | | DEL | | | F15 | | |
-* | | | | | | | |
-* \-----------\\-----------\\-----------\ \-----------\\-----------\\-----------\
-*
-*
-**/
-[SYMB]=LAYOUT_ergodox(
-//left half
- KC_APPLICATION, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F5,
- KC_TRNS, DE_LABK, DE_RABK, DE_EXLM, DE_QST, KC_TRNS, KC_TRNS,
- KC_TRNS, DE_HASH, DE_DLR, DE_BSLS, DE_SLSH, KC_DOT,
- KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, DE_PIPE, DE_TILD, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_DEL, KC_TRNS,
- //right half
- KC_F6, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_TRNS, DE_BSLS, DE_LBRC, DE_RBRC, DE_LABK, DE_RABK, DE_EXLM,
- DE_SLSH, DE_LPRN, DE_RPRN, DE_LCBR, DE_RCBR, DE_HASH,
- KC_TRNS, DE_PIPE, DE_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- DE_QUOT, DE_DQUO, KC_TRNS, M(M_TOGGLE_5), KC_TRNS,
- KC_F13, KC_F12,
- KC_F14,
- KC_F15, KC_TRNS, KC_TRNS),
-/**
-* Layer: MDIA
-* /-----//-----//-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----//-----//-----/
-* | | | | | | | | | | | | | | | |
-* | | | | | | | | | | | | | | | |
-* /-----//-----//-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----//-----//-----/
-* | | | BTN1 | U | BTN2 | U | | | | | | | | | |
-* | | | | | | | | | | | | | | | |
-* /-----//-----//-----//-----//-----//-----/\-----\ \-----\/-----//-----//-----//-----//-----//-----/
-* | | | L | D | R | D | | | | | | | |
-* | | | | | | | | | | | | | |
-* /-----//-----//-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----//-----//-----/
-* | | | L | D | R | BTN3 | | | | | | | | UP | |
-* | | | | | | | | | | | | | | | |
-* \-----\\-----\\-----\\-----\\-----\\-----\\-----\ \-----\\-----\\-----\\-----\\-----\\-----\\-----\
-*
-*
-* /-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----/
-* | | | | | | | | | LEFT | DOWN | RIGHT|
-* | | | | | | | | | | | |
-* \-----\\-----\\-----\\-----\/-----//-----/ /-----//-----/ \-----\\-----\\-----\\-----\\-----\
-* | | | | MPRV | MNXT |
-* | | | | | |
-* \-----\/-----/ /-----/\-----\
-* | | | VOLU |
-* | | | |
-* /-----//-----//-----/ /-----//-----//-----/
-* | | | | | VOLD | MUTE | MPLY |
-* | | | | | | | |
-* \-----\\-----\\-----\ \-----\\-----\\-----\
-*
-*
-**/
-[MDIA]=LAYOUT_ergodox(
-//left half
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D,
- KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, 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 half
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,
- KC_MPRV, KC_MNXT,
- KC_VOLU,
- KC_VOLD, KC_MUTE, KC_MPLY),
-/**
-* Layer: SMLY
-* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/
-* | | | | | | | | | Typing | Typing | Typing | | | | |
-* | | | | | | | | | SM_SMILE| SM_SMIRK| SM_LAUGH| | | | |
-* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/
-* | | | | | | | | | | Typing | Typing | Typing | | | |
-* | | | | | | | | | | SM_FROWN| SM_SAD | SM_CRY | | | |
-* /--------//--------//--------//--------//--------//--------/\--------\ \--------\/--------//--------//--------//--------//--------//--------/
-* | | | | | | | | Typing | Typing | | | | |
-* | | | | | | | | SM_HEART| SM_KISS | | | | |
-* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/
-* | | | | | | | | | | | | | | | |
-* | | | | | | | | | | | | | | | |
-* \--------\\--------\\--------\\--------\\--------\\--------\\--------\ \--------\\--------\\--------\\--------\\--------\\--------\\--------\
-*
-*
-* /--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------/
-* | | | | | | | | | | | |
-* | | | | | | | | | | | |
-* \--------\\--------\\--------\\--------\/--------//--------/ /--------//--------/ \--------\\--------\\--------\\--------\\--------\
-* | | | | | |
-* | | | | | |
-* \--------\/--------/ /--------/\--------\
-* | | | |
-* | | | |
-* /--------//--------//--------/ /--------//--------//--------/
-* | | | | | | | |
-* | | | | | | | |
-* \--------\\--------\\--------\ \--------\\--------\\--------\
-*
-*
-**/
-[SMLY]=LAYOUT_ergodox(
-//left half
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- //right half
- M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS,
- M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS),
-/**
-* Layer: NUMB
-* /----//----//----//----//----//----//----/ /----//----//----//----//----//----//----/
-* | | | | | | | | | | F6 | F7 | F8 | F9 | F10 | F11 |
-* | | | | | | | | | | | | | | | |
-* /----//----//----//----//----//----//----/ /----//----//----//----//----//----//----/
-* | | | | UP | | | | | | / | 7 | 8 | 9 | * | F12 |
-* | | | | | | | | | | | | | | | |
-* /----//----//----//----//----//----/\----\ \----\/----//----//----//----//----//----/
-* | | | LEFT| DOWN| RGHT| | | / | 4 | 5 | 6 | + | - |
-* | | | | | | | | | | | | | |
-* /----//----//----//----//----//----//----/ /----//----//----//----//----//----//----/
-* | | | | | | | | | | % | 1 | 2 | 3 | | |
-* | | | | | | | | | | | | | | | |
-* \----\\----\\----\\----\\----\\----\\----\ \----\\----\\----\\----\\----\\----\\----\
-*
-*
-* /----//----//----//----//----/ /----//----//----//----//----/
-* | | | | | | | 0 | . | , | = | |
-* | | | | | | | | | | | |
-* \----\\----\\----\\----\/----//----/ /----//----/ \----\\----\\----\\----\\----\
-* | | | | | |
-* | | | | | |
-* \----\/----/ /----/\----\
-* | | | |
-* | | | |
-* /----//----//----/ /----//----//----/
-* | | | | | | | |
-* | | | | | | | |
-* \----\\----\\----\ \----\\----\\----\
-*
-*
-**/
-[NUMB]=LAYOUT_ergodox(
-//left half
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- //right half
- KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_TRNS, DE_SLSH, KC_7, KC_8, KC_9, DE_ASTR, KC_F12,
- DE_SLSH, KC_4, KC_5, KC_6, DE_PLUS, DE_MINS,
- KC_TRNS, DE_PERC, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS,
- KC_0, KC_DOT, KC_COMM, DE_EQL, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS),
-/**
-* Layer: EGOS
-* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/
-* | | | | | | | | | | | | | | | |
-* | | | | | | | | | | | | | | | |
-* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/
-* | | | | | | | | | | | | | | | |
-* | | | | | | | | | | | | | | | |
-* /--------//--------//--------//--------//--------//--------/\--------\ \--------\/--------//--------//--------//--------//--------//--------/
-* | Shift | | | | | | | | | | | | |
-* | | | | | | | | | | | | | |
-* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/
-* | | | | | | | | | | | | | | | |
-* | | | | | | | | | | | | | | | |
-* \--------\\--------\\--------\\--------\\--------\\--------\\--------\ \--------\\--------\\--------\\--------\\--------\\--------\\--------\
-*
-*
-* /--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------/
-* | Ctrl | | | | | | | | | Toggle 5| |
-* | | | | | | | | | | | |
-* \--------\\--------\\--------\\--------\/--------//--------/ /--------//--------/ \--------\\--------\\--------\\--------\\--------\
-* | F1 | F2 | | | |
-* | | | | | |
-* \--------\/--------/ /--------/\--------\
-* | F3 | | |
-* | | | |
-* /--------//--------//--------/ /--------//--------//--------/
-* | SPC | Ctrl | F4 | | | | |
-* | | | | | | | |
-* \--------\\--------\\--------\ \--------\\--------\\--------\
-*
-*
-**/
-[EGOS]=LAYOUT_ergodox(
-//left half
- 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_LSFT, 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_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_F1, KC_F2,
- KC_F3,
- KC_SPC, KC_LCTL, KC_F4,
- //right half
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, M(M_TOGGLE_5), KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS),
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
-static uint16_t start;
-switch(id) {
-case SMLY_TOG_QUOT:
-//Macro: SMLY_TOG_QUOT//-----------------------
-if (record->event.pressed) {
- start = timer_read();
- layer_state ^= (1<150) {
- return MACRO_NONE;
- } else {
- return MACRO(DOWN(KC_LSFT),TYPE(DE_HASH),UP(KC_LSFT),END);
- }
- }
-
-break;
-case M_TOGGLE_5:
-//Macro: M_TOGGLE_5//-----------------------
- if (record->event.pressed){
- layer_state ^= (1<<5);
- layer_state &= (1<<5);
- }
-
-break;
-case TGH_NUM:
-//Macro: TGH_NUM//-----------------------
-if (record->event.pressed){
- start = timer_read();
- layer_state ^=(1< 150) {
- layer_state^=(1<event.pressed) {
- start = timer_read();
- return MACRO(DOWN(KC_LCTRL),DOWN(KC_LALT),END);
- } else {
- if (timer_elapsed(start) >150) {
- return MACRO(U(LCTRL),U(LALT),END);
- } else {
- return MACRO(UP(KC_LCTRL),UP(KC_LALT),TYPE(KC_RBRC),END);
- }
- }
-
-break;
-case SM_KISS:
-//Macro: SM_KISS//-----------------------
-if (record->event.pressed) {
- return MACRO(DOWN(KC_LSFT),TYPE(KC_DOT),UP(KC_LSFT),TYPE(KC_SLSH),DOWN(KC_LSFT),TYPE(KC_RBRC),UP(KC_LSFT),END);
- }
-
-break;
-case SM_FROWN:
-//Macro: SM_FROWN//-----------------------
-if (record->event.pressed) {
- return MACRO(DOWN(KC_LSFT),TYPE(KC_DOT),UP(KC_LSFT),TYPE(KC_SLSH),DOWN(KC_LALT),TYPE(KC_8),UP(KC_LALT),END);
- }
-
-break;
-case SM_CRY:
-//Macro: SM_CRY//-----------------------
-if (record->event.pressed) {
- return MACRO(DOWN(KC_LSFT),TYPE(KC_COMM),UP(KC_LSFT),TYPE(KC_SLSH),DOWN(KC_LSFT),TYPE(KC_8),UP(KC_LSFT),END);
- }
-
-break;
-case SM_SMILE:
-//Macro: SM_SMILE//-----------------------
-if (record->event.pressed) {
- return MACRO(DOWN(KC_LSFT),TYPE(KC_DOT),UP(KC_LSFT),TYPE(KC_SLSH),DOWN(KC_LSFT),TYPE(KC_9),UP(KC_LSFT),END);
- }
-
-break;
-case SM_SMIRK:
-//Macro: SM_SMIRK//-----------------------
-if (record->event.pressed) {
- return MACRO(DOWN(KC_LSFT),TYPE(KC_COMM),UP(KC_LSFT),TYPE(KC_SLSH),DOWN(KC_LSFT),TYPE(KC_9),UP(KC_LSFT),END);
- }
-
-break;
-case M_LGUI_SHFT:
-//Macro: M_LGUI_SHFT//-----------------------
-if (record->event.pressed){
- return MACRO(DOWN(KC_LGUI),DOWN(KC_LSFT),END);
- }else{
- return MACRO(UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),UP(KC_LGUI),UP(KC_LSFT),U(LGUI),U(LSFT),END);
- }
-
-break;
-case SM_HEART:
-//Macro: SM_HEART//-----------------------
-if (record->event.pressed) {
- return MACRO(TYPE(KC_GRV),TYPE(KC_3),END);
- }
-
-break;
-case TOG_HLD_MDIA:
-//Macro: TOG_HLD_MDIA//-----------------------
-if (record->event.pressed){
- start = timer_read();
- layer_state ^=(1< 150) {
- layer_state^=(1<event.pressed) {
- return MACRO(DOWN(KC_LSFT),TYPE(KC_DOT),UP(KC_LSFT),TYPE(KC_SLSH),DOWN(KC_LSFT),TYPE(KC_D),UP(KC_LSFT),END);
- }
-
-break;
-case SM_SAD:
-//Macro: SM_SAD//-----------------------
-if (record->event.pressed) {
- return MACRO(DOWN(KC_LSFT),TYPE(KC_DOT),UP(KC_LSFT),TYPE(KC_SLSH),DOWN(KC_LSFT),TYPE(KC_8),UP(KC_LSFT),END);
- }
-
-break;
-case M_DE_CIRC_CTRLCMD:
-//Macro: M_DE_CIRC_CTRLCMD//-----------------------
-if (record->event.pressed) {
- start = timer_read();
- return MACRO(DOWN(KC_LCTRL),DOWN(KC_LGUI),END);
- } else {
- if (timer_elapsed(start) >150) {
- return MACRO(U(LCTRL),U(LGUI),END);
- } else {
- return MACRO(UP(KC_LCTRL),UP(KC_LGUI),TYPE(KC_NUBS),END);
- }
- }
-
-break;
-case M_MEH_SH_ACUT:
-//Macro: M_MEH_SH_ACUT//-----------------------
-if (record->event.pressed) {
- start = timer_read();
- return MACRO(DOWN(KC_LCTRL),DOWN(KC_LSFT),DOWN(KC_LALT),END);
- } else {
- if (timer_elapsed(start) >150) {
- return MACRO(U(LCTRL),U(LSFT),U(LALT),END);
- } else {
- return MACRO(UP(KC_LCTRL),UP(KC_LALT),TYPE(DE_ACUT),UP(KC_LSFT),END);
- }
- }
-
-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 = get_highest_layer(layer_state);
-
-ergodox_board_led_off();
-ergodox_right_led_1_off();
-ergodox_right_led_2_off();
-ergodox_right_led_3_off();
-switch (layer) {
-
- case SYMB:
- ergodox_right_led_1_on();
-
-
- break;
- case MDIA:
-
- ergodox_right_led_2_on();
-
- break;
- case NUMB:
-
-
- ergodox_right_led_3_on();
- break;
- case EGOS:
- ergodox_right_led_1_on();
- ergodox_right_led_2_on();
- ergodox_right_led_3_on();
- break;
-default:
-// none
-break;
-}
-
-};
diff --git a/layouts/community/ergodox/osx_de_experimental/osx_de_experimental_highres.png.md b/layouts/community/ergodox/osx_de_experimental/osx_de_experimental_highres.png.md
deleted file mode 100644
index 1fca8a5bb5..0000000000
--- a/layouts/community/ergodox/osx_de_experimental/osx_de_experimental_highres.png.md
+++ /dev/null
@@ -1 +0,0 @@
-https://i.imgur.com/GIkRdX3.png
diff --git a/layouts/community/ergodox/osx_de_experimental/readme.md b/layouts/community/ergodox/osx_de_experimental/readme.md
deleted file mode 100644
index dde28eee41..0000000000
--- a/layouts/community/ergodox/osx_de_experimental/readme.md
+++ /dev/null
@@ -1,21 +0,0 @@
-
-# Ergodox und Ergodox-EZ experimentelles Layout
-
-dieses layout ist experimentell und wird im Lufe der Zeit viele Änderungen und Verbesserungen durchlaufen. Falls diese sich als vorteilhaft erweisen, werden sie evtl. auch in das `osx_de` layout übernommen.
-
-
-
-# Erstellt Mit Dem ErgodoxLayoutGenerator
-
-Der ErgodoxLayoutGenerator (ELG) ist ein kleines Werkzeug, welches die Erstellung und Pflege der eigenen Keymaps erleichtern soll. Es ist in java geschrieben und kann [hier](https://github.com/sboesebeck/ErgodoxLayoutGenerator/releases) heruntergeladen werden. Damit das Tool funktioniert sollte das offizielle Oracle JDK in aktueller Version installiert sein.
----------------------------------------------------------------------------------------------------------------------
-
-# Ergodox and Ergodox-EZ experimental layout
-
-This is an experimental layout which will undergo heavy changes over time. If changes prove to be good, they might also move into the `osx_de` layout.
-
-Created Using the ErgodoxLayoutGenerator
-
-The ErgodoxLayoutGenerator (ELG) is a little tool, which makes the creation and maintenance of keycaps a lot easier. It was written in Java and can be downloaded [here](https://github.com/sboesebeck/ErgodoxLayoutGenerator/releases). To use the tool, you need to have a current version of Oracles JDK installed.
-
-The documentation of the ELG can be viewed [here](https://boesebeck.name/2016/04/16/ergodoxlayoutgenerator-documentation/).
\ No newline at end of file
diff --git a/layouts/community/ergodox/swissgerman/keyboard-layout.json b/layouts/community/ergodox/swissgerman/keyboard-layout.json
deleted file mode 100644
index 6958952b48..0000000000
--- a/layouts/community/ergodox/swissgerman/keyboard-layout.json
+++ /dev/null
@@ -1,419 +0,0 @@
-[
- {
- "backcolor": "#ffffff",
- "name": "Ergodox Swiss German Layout - Base Layer",
- "author": "Andreas Schmidt (https://github.com/remigius42)"
- },
- [
- {
- "x": 3.5
- },
- "#\n3",
- {
- "x": 10.5
- },
- "*\n8"
- ],
- [
- {
- "y": -0.875,
- "x": 2.5
- },
- "@\n2",
- {
- "x": 1
- },
- "$\n4",
- {
- "x": 8.5
- },
- "&\n7",
- {
- "x": 1
- },
- "(\n9"
- ],
- [
- {
- "y": -0.875,
- "x": 5.5
- },
- "%\n5",
- {
- "a": 7
- },
- "",
- {
- "x": 4.5
- },
- "",
- {
- "a": 4
- },
- "^\n6"
- ],
- [
- {
- "y": -0.875,
- "w": 1.5
- },
- "°\n§",
- "!\n1",
- {
- "x": 14.5
- },
- ")\n0",
- {
- "w": 1.5
- },
- "?\n'\n\n'"
- ],
- [
- {
- "y": -0.375,
- "x": 3.5
- },
- "E",
- {
- "x": 10.5
- },
- "I"
- ],
- [
- {
- "y": -0.875,
- "x": 2.5
- },
- "W",
- {
- "x": 1
- },
- "R",
- {
- "x": 8.5
- },
- "U",
- {
- "x": 1
- },
- "O"
- ],
- [
- {
- "y": -0.875,
- "x": 5.5
- },
- "T",
- {
- "c": "#b56b6b",
- "a": 6,
- "h": 1.5
- },
- "Toggle Code Layer",
- {
- "x": 4.5,
- "h": 1.5
- },
- "Toggle Code Layer",
- {
- "c": "#cccccc",
- "a": 4
- },
- "Y"
- ],
- [
- {
- "y": -0.875,
- "a": 6,
- "w": 1.5
- },
- "Delete",
- {
- "a": 4
- },
- "Q",
- {
- "x": 14.5
- },
- "P",
- {
- "w": 1.5
- },
- "è\nü\n\n["
- ],
- [
- {
- "y": -0.375,
- "x": 3.5
- },
- "D",
- {
- "x": 10.5
- },
- "K"
- ],
- [
- {
- "y": -0.875,
- "x": 2.5
- },
- "S",
- {
- "x": 1
- },
- "F",
- {
- "x": 8.5
- },
- "J",
- {
- "x": 1
- },
- "L"
- ],
- [
- {
- "y": -0.875,
- "x": 5.5
- },
- "G",
- {
- "x": 6.5
- },
- "H"
- ],
- [
- {
- "y": -0.875,
- "a": 6,
- "w": 1.5
- },
- "Backspace",
- {
- "c": "#79c777",
- "a": 4
- },
- "A\n\nLyr3",
- {
- "x": 14.5
- },
- "é\nö\nLyr3",
- {
- "c": "#748adb",
- "w": 1.5
- },
- "à\nä\nCmd\n{"
- ],
- [
- {
- "y": -0.625,
- "x": 6.5,
- "c": "#cccccc",
- "a": 6,
- "h": 1.5
- },
- "Hyper",
- {
- "x": 4.5,
- "h": 1.5
- },
- "Meh"
- ],
- [
- {
- "y": -0.75,
- "x": 3.5,
- "a": 4
- },
- "C",
- {
- "x": 10.5
- },
- ";\n,"
- ],
- [
- {
- "y": -0.875,
- "x": 2.5,
- "c": "#748adb"
- },
- "X\n\nAlt",
- {
- "x": 1,
- "c": "#cccccc"
- },
- "V",
- {
- "x": 8.5
- },
- "M",
- {
- "x": 1,
- "c": "#748adb"
- },
- ":\n.\nAlt"
- ],
- [
- {
- "y": -0.875,
- "x": 5.5,
- "c": "#cccccc"
- },
- "B",
- {
- "x": 6.5
- },
- "N"
- ],
- [
- {
- "y": -0.875,
- "a": 6,
- "w": 1.5
- },
- "Shift",
- {
- "c": "#748adb",
- "a": 4
- },
- "Z\n\nCtrl",
- {
- "x": 14.5
- },
- "_\n-\nCtrl",
- {
- "c": "#cccccc",
- "a": 6,
- "w": 1.5
- },
- "Shift"
- ],
- [
- {
- "y": -0.375,
- "x": 3.5,
- "a": 7
- },
- "",
- {
- "x": 10.5
- },
- ""
- ],
- [
- {
- "y": -0.875,
- "x": 2.5,
- "a": 4
- },
- "£\n$\n\n}",
- {
- "x": 1,
- "a": 7
- },
- "",
- {
- "x": 10.5,
- "a": 6
- },
- "AltGr"
- ],
- [
- {
- "y": -0.9950000000000001,
- "x": 14,
- "a": 7
- },
- ""
- ],
- [
- {
- "y": -0.7549999999999999,
- "x": 0.5,
- "c": "#b56b6b",
- "a": 4
- },
- ">\n<\nCode Layer\n\\",
- {
- "c": "#cccccc"
- },
- "`\n^\n\n~",
- {
- "x": 14.5
- },
- "!\n¨\n\n]",
- {
- "c": "#b56b6b"
- },
- "\n\nCode Layer"
- ],
- [
- {
- "r": 30,
- "rx": 6.5,
- "ry": 4.25,
- "y": -1,
- "x": 1,
- "c": "#748adb"
- },
- "Apps\nAlt",
- {
- "c": "#cccccc",
- "a": 6
- },
- "Win / Cmd"
- ],
- [
- {
- "h": 2
- },
- "Space",
- {
- "h": 2
- },
- "Back Space",
- "Home"
- ],
- [
- {
- "x": 2
- },
- "End"
- ],
- [
- {
- "r": -30,
- "rx": 13,
- "y": -1,
- "x": -3
- },
- "Alt",
- {
- "c": "#748adb",
- "a": 4
- },
- "Esc\nCtrl"
- ],
- [
- {
- "x": -3,
- "c": "#cccccc",
- "a": 6
- },
- "Pg Up",
- {
- "h": 2
- },
- "Tab",
- {
- "h": 2
- },
- "Enter"
- ],
- [
- {
- "x": -3
- },
- "Pg Dn"
- ]
-]
diff --git a/layouts/community/ergodox/swissgerman/keyboard-layout_1_2.json b/layouts/community/ergodox/swissgerman/keyboard-layout_1_2.json
deleted file mode 100644
index 38a728514f..0000000000
--- a/layouts/community/ergodox/swissgerman/keyboard-layout_1_2.json
+++ /dev/null
@@ -1,436 +0,0 @@
-[
- {
- "backcolor": "#ffffff",
- "name": "Ergodox Swiss German Layout - Symbol & Media Layer",
- "author": "Andreas Schmidt (https://github.com/remigius42)"
- },
- [
- {
- "x": 3.5,
- "t": "#b81c1c"
- },
- "F3",
- {
- "x": 10.5
- },
- "F8"
- ],
- [
- {
- "y": -0.875,
- "x": 2.5
- },
- "F2",
- {
- "x": 1
- },
- "F4",
- {
- "x": 8.5
- },
- "F7",
- {
- "x": 1
- },
- "F9"
- ],
- [
- {
- "y": -0.875,
- "x": 5.5
- },
- "F5",
- {
- "t": "#000000",
- "a": 7
- },
- "",
- {
- "x": 4.5
- },
- "",
- {
- "t": "#b81c1c",
- "a": 4
- },
- "F6"
- ],
- [
- {
- "y": -0.875,
- "t": "#000000\n\n\n#529151",
- "w": 1.5
- },
- "\n\n\nFlash",
- {
- "t": "#b81c1c"
- },
- "F1",
- {
- "x": 14.5
- },
- "F10",
- {
- "t": "#b81c1c\n\n\n#529151",
- "w": 1.5
- },
- "F11\n\n\nFlash"
- ],
- [
- {
- "y": -0.375,
- "x": 3.5
- },
- "{\n\n\n",
- {
- "x": 10.5,
- "t": "#b81c1c"
- },
- "8"
- ],
- [
- {
- "y": -0.875,
- "x": 2.5
- },
- "@",
- {
- "x": 1
- },
- "}",
- {
- "x": 8.5,
- "t": "#b81c1c\n\n\n#529151"
- },
- "7\n\n\nHTML ul",
- {
- "x": 1
- },
- "9\n\n\nHTML ol"
- ],
- [
- {
- "y": -0.875,
- "x": 5.5,
- "t": "#b81c1c"
- },
- "|",
- {
- "t": "#000000",
- "a": 7,
- "h": 1.5
- },
- "",
- {
- "x": 4.5,
- "h": 1.5
- },
- "",
- {
- "t": "#b81c1c",
- "a": 4
- },
- ""
- ],
- [
- {
- "y": -0.875,
- "t": "#000000",
- "a": 7,
- "w": 1.5
- },
- "",
- {
- "t": "#b81c1c",
- "a": 4
- },
- "!",
- {
- "x": 14.5
- },
- "*",
- {
- "w": 1.5
- },
- "F12"
- ],
- [
- {
- "y": -0.375,
- "x": 3.5,
- "t": "#b81c1c\n\n\n#529151"
- },
- "(\n\n\n",
- {
- "x": 10.5
- },
- "5\n\n\nHTML li"
- ],
- [
- {
- "y": -0.875,
- "x": 2.5
- },
- "$\n\n\n",
- {
- "x": 1
- },
- ")\n\n\n",
- {
- "x": 8.5,
- "t": "#b81c1c"
- },
- "4",
- {
- "x": 1
- },
- "6"
- ],
- [
- {
- "y": -0.875,
- "x": 5.5
- },
- "`",
- {
- "x": 6.5
- },
- ""
- ],
- [
- {
- "y": -0.875,
- "t": "#000000",
- "a": 7,
- "w": 1.5
- },
- "",
- {
- "t": "#b81c1c",
- "a": 4
- },
- "#",
- {
- "x": 14.5
- },
- "+",
- {
- "t": "#000000\n\n\n#529151",
- "w": 1.5
- },
- "\n\n\n"
- ],
- [
- {
- "y": -0.625,
- "x": 6.5,
- "t": "#000000",
- "a": 7,
- "h": 1.5
- },
- "",
- {
- "x": 4.5,
- "h": 1.5
- },
- ""
- ],
- [
- {
- "y": -0.75,
- "x": 3.5,
- "t": "#b81c1c\n\n\n#529151",
- "a": 4
- },
- "[\n\n\nHTML code",
- {
- "x": 10.5
- },
- "2\n\n\n"
- ],
- [
- {
- "y": -0.875,
- "x": 2.5,
- "t": "#b81c1c"
- },
- "^",
- {
- "x": 1,
- "t": "#b81c1c\n\n\n#529151"
- },
- "]\n\n\nHTML br",
- {
- "x": 8.5,
- "t": "#b81c1c"
- },
- "1",
- {
- "x": 1,
- "t": "#b81c1c\n\n\n#529151"
- },
- "3\n\n\n"
- ],
- [
- {
- "y": -0.875,
- "x": 5.5,
- "t": "#b81c1c"
- },
- "~",
- {
- "x": 6.5
- },
- "&"
- ],
- [
- {
- "y": -0.875,
- "t": "#000000",
- "a": 7,
- "w": 1.5
- },
- "",
- {
- "t": "#b81c1c",
- "a": 4
- },
- "%",
- {
- "x": 14.5
- },
- "\\",
- {
- "t": "#000000",
- "a": 7,
- "w": 1.5
- },
- ""
- ],
- [
- {
- "y": -0.375,
- "x": 3.5,
- "t": "#000000\n\n\n#529151",
- "a": 4
- },
- "\n\n\nleft click",
- {
- "x": 10.5,
- "t": "#b81c1c\n\n\n#529151"
- },
- ".\n\n\n"
- ],
- [
- {
- "y": -0.875,
- "x": 2.5,
- "t": "#000000",
- "a": 7
- },
- "",
- {
- "x": 1,
- "t": "#000000\n\n\n#529151",
- "a": 4
- },
- "\n\n\nright click",
- {
- "x": 8.5,
- "t": "#b81c1c\n\n\n#529151"
- },
- "?\n\n\n",
- {
- "x": 1,
- "t": "#b81c1c"
- },
- "0"
- ],
- [
- {
- "y": -0.75,
- "x": 0.5,
- "t": "#000000",
- "a": 7
- },
- "",
- {
- "t": "#b81c1c",
- "a": 4
- },
- "EPRM RST",
- {
- "x": 14.5,
- "t": "#000000",
- "a": 7
- },
- "",
- ""
- ],
- [
- {
- "r": 30,
- "rx": 6.5,
- "ry": 4.25,
- "y": -1,
- "x": 1
- },
- "",
- ""
- ],
- [
- {
- "t": "#000000\n\n\n#529151",
- "a": 4,
- "h": 2
- },
- "\n\n\nEnter",
- {
- "t": "#000000",
- "a": 7,
- "h": 2
- },
- "",
- ""
- ],
- [
- {
- "x": 2
- },
- ""
- ],
- [
- {
- "r": -30,
- "rx": 13,
- "y": -1,
- "x": -3
- },
- "",
- ""
- ],
- [
- {
- "x": -3
- },
- "",
- {
- "h": 2
- },
- "",
- {
- "t": "#000000\n\n\n#529151",
- "a": 4,
- "h": 2
- },
- "\n\n\nWeb back"
- ],
- [
- {
- "x": -3,
- "t": "#000000",
- "a": 7
- },
- ""
- ]
-]
diff --git a/layouts/community/ergodox/swissgerman/keymap.c b/layouts/community/ergodox/swissgerman/keymap.c
deleted file mode 100644
index 7c9dd32c07..0000000000
--- a/layouts/community/ergodox/swissgerman/keymap.c
+++ /dev/null
@@ -1,283 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "debug.h"
-#include "action_layer.h"
-#include "version.h"
-#include "string.h"
-
-#ifdef SUBPROJECT_infinity
-#include "visualizer/lcd_backlight.h"
-#endif
-
-
-#define BASE 0 // default layer
-#define SYMB 1 // symbols
-#define MDIA 2 // media keys
-
-#define EPRM M(1) // Macro 1: Reset EEPROM
-#define HTML_LI M(10)
-#define HTML_UL M(11)
-#define HTML_OL M(12)
-#define HTML_CODE M(13)
-#define HTML_BR M(14)
-
-#define SEND_TAG(TAG) do {\
- send_key(KC_NONUS_BACKSLASH); \
- SEND_STRING(TAG); \
- send_larger_than(); \
- send_key(KC_NONUS_BACKSLASH); \
- SEND_STRING("&"); \
- SEND_STRING(TAG); \
- send_larger_than(); \
- go_back_based_on_tag(TAG); \
- } while (0)
-
-#define SEND_SHORT_TAG(TAG) do {\
- send_key(KC_NONUS_BACKSLASH); \
- SEND_STRING(TAG); \
- SEND_STRING("&"); \
- send_larger_than(); \
- } while (0)
-
-void send_key(uint16_t keycode);
-void go_back_based_on_tag(char* tag);
-void send_larger_than(void);
-
-
-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 | Z | U | I | O | P | ü |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | BkSp | A /L2| S | D | F | G |------| |------| H | J | K | L |ö / L2|ä / Cmd |
- * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
- * | LShift |Y/Ctrl|X/Alt | C | V | B | | | | N | M | , |./Alt |-/Ctrl| RShift |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * |< / L1| ^ | $ | Left | Right| | Up | Down |AltGr | ¨ | ~L1 |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | 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] = LAYOUT_ergodox( // layer 0 : default
- // left hand
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
- KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
- KC_BSPC, LT(MDIA, KC_A),KC_S, KC_D, KC_F, KC_G,
- KC_LSFT, CTL_T(KC_Z), ALT_T(KC_X), KC_C, KC_V, KC_B, ALL_T(KC_NO),
- LT(SYMB,KC_NUBS), KC_EQL, KC_BSLS, 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_LBRC,
- KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),GUI_T(KC_QUOT),
- MEH_T(KC_NO),KC_N, KC_M, KC_COMM,ALT_T(KC_DOT), CTL_T(KC_SLSH), KC_RSFT,
- KC_UP, KC_DOWN,KC_RALT,KC_RBRC, TT(SYMB),
- KC_LALT,CTL_T(KC_ESC),
- KC_PGUP,
- KC_PGDN,KC_TAB, KC_ENT
- ),
-/* Keymap 1: Symbol Layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | EPRM | | | | | ? | . | 0 | = | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// SYMBOLS
-[SYMB] = LAYOUT_ergodox(
- // left hand
- M(0), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
- KC_TRNS,ACTION_MODS_KEY(MOD_LSFT, KC_RBRC), ACTION_MODS_KEY(MOD_RALT, KC_2), ACTION_MODS_KEY(MOD_RALT, KC_QUOT), ACTION_MODS_KEY(MOD_RALT, KC_BSLS),ACTION_MODS_KEY(MOD_RALT,KC_7),KC_TRNS,
- KC_TRNS,ACTION_MODS_KEY(MOD_RALT,KC_3),KC_BSLS, ACTION_MODS_KEY(MOD_LSFT, KC_8), ACTION_MODS_KEY(MOD_RSFT, KC_9),ACTION_MODS_KEY(MOD_LSFT,KC_EQL),
- KC_TRNS,ACTION_MODS_KEY(MOD_LSFT,KC_5),KC_EQL, ACTION_MODS_KEY(MOD_RALT, KC_LBRC), ACTION_MODS_KEY(MOD_RALT, KC_RBRC),ACTION_MODS_KEY(MOD_RALT,KC_EQL),KC_TRNS,
- KC_TRNS,EPRM,KC_TRNS,KC_NUBS, ACTION_MODS_KEY(MOD_LSFT, KC_NUBS)/*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, ACTION_MODS_KEY(MOD_RSFT,KC_3), KC_F12,
- KC_DOWN, KC_4, KC_5, KC_6, ACTION_MODS_KEY(MOD_RSFT,KC_1), KC_TRNS,
- KC_TRNS, ACTION_MODS_KEY(MOD_RSFT,KC_6), KC_1, KC_2, KC_3, ACTION_MODS_KEY(MOD_RALT,KC_NUBS), KC_TRNS,
- ACTION_MODS_KEY(MOD_RSFT,KC_MINS),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
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | QK_BOOT | | | | | | | | | | | | | | QK_BOOT |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | MsUp | | | | | | |H_UL | |H_OL | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | |MsLeft|MsDown|MsRght| |------| |------| | | |H_LI | | Play |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | |H_CODE| |H_BR | | | | | | | Prev | Next | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * |Enter | | | | | |Brwser|
- * | | |------| |------| |Back |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// MEDIA AND MOUSE
-[MDIA] = LAYOUT_ergodox(
- QK_BOOT, 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, HTML_CODE, KC_TRNS, HTML_BR, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_ENT, KC_TRNS, KC_TRNS,
- // right hand
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
- KC_TRNS, KC_TRNS, HTML_UL, KC_TRNS, HTML_OL, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, HTML_LI, KC_TRNS, KC_MPLY,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_WBAK
-),
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- break;
- case 1:
- if (record->event.pressed) { // For resetting EEPROM
- eeconfig_init();
- }
- break;
- case 10:
- if (record->event.pressed) {
- SEND_TAG("li");
- }
- break;
- case 11:
- if (record->event.pressed) {
- SEND_TAG("ul");
- }
- break;
- case 12:
- if (record->event.pressed) {
- SEND_TAG("ol");
- }
- break;
- case 13:
- if (record->event.pressed) {
- SEND_TAG("code");
- }
- break;
- case 14:
- if (record->event.pressed) {
- SEND_SHORT_TAG("br");
- }
- }
- 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 = get_highest_layer(layer_state);
-
- switch (layer) {
- // TODO: Make this relevant to the ErgoDox EZ.
- case 0:
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
-
- #ifdef SUBPROJECT_infinity
- lcd_backlight_hal_color(0, 0, 0);
- #endif
- break;
- case 1:
- ergodox_right_led_1_on();
-
- ergodox_board_led_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
- #ifdef SUBPROJECT_infinity
- lcd_backlight_hal_color(5000, 0, 0);
- #endif
- break;
- case 2:
- ergodox_right_led_2_on();
-
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_3_off();
- #ifdef SUBPROJECT_infinity
- lcd_backlight_hal_color(0, 5000, 0);
- #endif
- break;
- default:
- // none
- break;
- }
-
-};
-
-void send_key(uint16_t keycode) {
- register_code(keycode);
- unregister_code(keycode);
-}
-
-void go_back_based_on_tag(char* tag) {
- const int BRACKETS_AND_SLASH_LENGTH = 3;
-
- for (int i=0; i < strlen(tag) + BRACKETS_AND_SLASH_LENGTH; i++) {
- send_key(KC_LEFT);
- }
-}
-
-void send_larger_than() {
- register_code(KC_LSFT);
- send_key(KC_NONUS_BACKSLASH);
- unregister_code(KC_LSFT);
-}
diff --git a/layouts/community/ergodox/swissgerman/readme.md b/layouts/community/ergodox/swissgerman/readme.md
deleted file mode 100644
index fa7fc1618f..0000000000
--- a/layouts/community/ergodox/swissgerman/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# ErgoDox Swiss German Configuration
-
-Swiss German keyboard layout based on the Ergodox EZ default layout.
-
-Keyboard diagrams created with the [keyboard layout editor](http://www.keyboard-layout-editor.com).
-
-Diagram sources: [default layer](keyboard-layout.json), [layer 1 & 2](keyboard-layout_1_2.json)
-
-![Layout Layer 0](https://i.imgur.com/yf4HNXV.png)
-![Layout Layer 1&2](https://i.imgur.com/Q814cKa.png)
-
-## Changelog
-* Jan 21, 2017:
- * Initial version based on default layout.
-
diff --git a/layouts/community/ergodox/tm2030/keymap.c b/layouts/community/ergodox/tm2030/keymap.c
deleted file mode 100644
index 3f82800377..0000000000
--- a/layouts/community/ergodox/tm2030/keymap.c
+++ /dev/null
@@ -1,239 +0,0 @@
-/* TypeMatrix-2030-like keymap */
-#include QMK_KEYBOARD_H
-#include "debug.h"
-#include "action_layer.h"
-#include "led.h"
-
-#define BASE 0 // default layer
-#define DVRK 1 // Dvorak layer
-#define NUMR 8 // numeric layer
-#define FNLR 9 // fn layer
-
-#define MDBL0 1
-#define MFNLR 2
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Basic layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | Del | | Del | 6 | 7 | 8 | 9 | 0 | ] |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | Tab | Q | W | E | R | T |Backsp| |Backsp| Y | U | I | O | P | [ |
- * |--------+------+------+------+------+------|ace | |ace |------+------+------+------+------+--------|
- * | LShift | A | S | D | F | G |------| |------| H | J | K | L | ; | '/Shift|
- * |--------+------+------+------+------+------|Enter | |Enter |------+------+------+------+------+--------|
- * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | \/Shift|
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * |LCtrl | fn | LGui | Play |App/Alt| | RAlt | - | Home | = |End/Ctl|
- * `-----------------------------------' `-----------------------------------'
- * ,--------------. ,-------------.
- * |Esc/Alt| num | | Left |Right |
- * ,------+-------+------| |------+------+------.
- * | | | PgUp | | Up | | |
- * |Space |LShift |------| |------|RShift|Space |
- * | | | PgDn | | Down | | |
- * `---------------------' `--------------------'
- */
-// If it accepts an argument (i.e, is a function), it doesn't need KC_.
-// Otherwise, it needs KC_*
-[BASE] = LAYOUT_ergodox( // layer 0 : default
- // left hand
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSPC,
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT,
- KC_LCTL, M(MFNLR), KC_LGUI,KC_MPLY,ALT_T(KC_APP),
-
- ALT_T(KC_ESC), TG(NUMR),
- KC_PGUP,
- KC_SPC, KC_LSFT, KC_PGDN,
-
- // right hand
- KC_DEL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC,
- KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN, SFT_T(KC_QUOT),
- KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_BSLS),
- KC_RALT, KC_MINS, KC_HOME, KC_EQL, CTL_T(KC_END),
-
- KC_LEFT, KC_RGHT,
- KC_UP,
- KC_DOWN, KC_RSFT, KC_SPC
- ),
-/* Dvorak layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | Del | | Del | 6 | 7 | 8 | 9 | 0 | = |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | Tab | ' | , | . | P | Y |Backsp| |Backsp| F | G | C | R | L | / |
- * |--------+------+------+------+------+------|ace | |ace |------+------+------+------+------+--------|
- * | LShift | A | O | E | U | I |------| |------| D | H | T | N | S | -/Shift|
- * |--------+------+------+------+------+------|Enter | |Enter |------+------+------+------+------+--------|
- * | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | \/Shift|
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * |LCtrl | fn | LGui | Play |App/Alt| | RAlt | [ | Home | ] |End/Ctl|
- * `-----------------------------------' `-----------------------------------'
- * ,--------------. ,-------------.
- * |Esc/Alt| num | | Left |Right |
- * ,------+-------+------| |------+------+------.
- * | | | PgUp | | Up | | |
- * |Space |LShift |------| |------|RShift|Space |
- * | | | PgDn | | Down | | |
- * `---------------------' `--------------------'
- */
-// If it accepts an argument (i.e, is a function), it doesn't need KC_.
-// Otherwise, it needs KC_*
-[DVRK] = LAYOUT_ergodox( // layer 0 : default
- // left hand
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL,
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_BSPC,
- KC_LSFT, KC_A, KC_O, KC_E, KC_U, KC_I,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_ENT,
- KC_LCTL, M(MFNLR), KC_LGUI, KC_MPLY, ALT_T(KC_APP),
-
- ALT_T(KC_ESC), TG(NUMR),
- KC_PGUP,
- KC_SPC, KC_LSFT, KC_PGDN,
-
- // right hand
- KC_DEL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
- KC_BSPC, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
- KC_D, KC_H, KC_T, KC_N, KC_S, SFT_T(KC_MINS),
- KC_ENT, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_T(KC_BSLS),
- KC_RALT, KC_LBRC, KC_HOME, KC_RBRC, CTL_T(KC_END),
-
- KC_LEFT, KC_RGHT,
- KC_UP,
- KC_DOWN, KC_RSFT, KC_SPC
- ),
-/* Numeric Layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | | | | | Tab | / | * | - |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | F6 | F7 | F8 | F9 | F10 | | | | | Home | 7 | 8 | 9 | + |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | F11 | F12 | | | |------| |------| Up | End | 4 | 5 | 6 | + |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | | | | Left | Down | Right| 1 | 2 | 3 |KpEnter |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | 0 | 00 | . |Etr/Ctl|
- * `----------------------------------' `-----------------------------------'
- * ,-------------. ,-------------.
- * | | | |n.lock|c.lock|
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// SYMBOLS
-[NUMR] = LAYOUT_ergodox(
- // left hand
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
- KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
- 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,KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS,KC_TRNS,
- // right hand
- KC_TRNS, KC_F6, KC_F7, KC_TAB, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TRNS, KC_TRNS, KC_HOME, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_UP, KC_END, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LEFT, KC_DOWN, KC_RGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_TRNS, KC_P0, M(MDBL0),KC_PDOT, CTL_T(KC_PENT),
-
- KC_NLCK, KC_CAPS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
-),
-/* fn layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | | | | | |Insert| |Insert|Eject |Power |Sleep | Wake |PrtScr|ScrollLk|
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | | | |VolUp | | | | | | | | Pause |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | Calc | Mail |Browsr|------| |------| | | | | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | cut | copy |paste | Mute |VolDn | | | | | | | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | Next | | |
- * | Mute | |------| |------| | |
- * | | | | | Prev | | |
- * `--------------------' `--------------------'
- */
-// MEDIA AND MOUSE
-[FNLR] = LAYOUT_ergodox(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MAIL, KC_WHOM,
- KC_TRNS, KC_TRNS, LSFT(KC_DEL), LCTL(KC_INS),LSFT(KC_INS), KC_MUTE, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_MUTE, KC_TRNS, KC_TRNS,
- // right hand
- KC_INS, KC_EJCT, KC_PWR, KC_SLEP, KC_WAKE, KC_PSCR, KC_SLCK,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-
- KC_TRNS, KC_TRNS,
- KC_MPRV,
- KC_MNXT, KC_TRNS, KC_TRNS
-),
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case MDBL0:
- if (record->event.pressed) {
- return MACRO( I(25), T(P0), T(P0), END );
- }
- break;
- case MFNLR:
- layer_invert(NUMR);
- layer_invert(FNLR);
- 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) {
-
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
- // led 1: numeric layer
- if (layer_state & (1 << NUMR)) {
- ergodox_right_led_1_on();
- }
- // led 2: Dvorak layer
- if (default_layer_state == 1 << DVRK) {
- ergodox_right_led_2_on();
- }
- // led 3: caps lock
- if (host_keyboard_leds() & (1<
-Copyright 2013 Oleg Kostyuk
-
-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 .
-*/
-
-#pragma once
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-//#define DEBUG_MATRIX_SCAN_RATE
-#define ONESHOT_TAP_TOGGLE 2
-#define ONESHOT_TIMEOUT 3000
diff --git a/layouts/community/ergodox/townk_osx/keymap.c b/layouts/community/ergodox/townk_osx/keymap.c
deleted file mode 100644
index 5c0c1c8ecd..0000000000
--- a/layouts/community/ergodox/townk_osx/keymap.c
+++ /dev/null
@@ -1,279 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "debug.h"
-#include "action_layer.h"
-#include "action_util.h"
-#include "led.h"
-#include "keymap.h"
-#include "timer.h"
-
-/*
-
-# Why this Layout
-
-This layout was based on Kinesis layout and other ErgoDox user layouts
-available. It's target to be used on a MacOS but I'm pretty sure it can be
-addapted to Windows and/or Linux easily.
-
-## Function Key
-
-The `fn` key work almost like it would in any other keyboard with the exception
-it has a semi-sticky behavior. What does that mean?
-
-Well, if you press the `fn` and release it, the keyboard will be put on the
-_function layout_ and the next key stroke will be processed as if the `fn` key
-was pressed. Aftwards, the leyout get back to _normal_. If you hold `fn` and
-press any other key, when you release them, the keyboard leyout is back to
-_normal_.
-
-While pressing the `fn` with the left hand and strikeing the other keys on the
-right hand is farly easy, the same cannot being said for the other keys on the
-left side. So, instead of trying to do contorcionism with my left hand, I
-decided to do a semi-sticky version of `fn`. This way, I can press the `fn`
-key with my pinky, release it and press the `1` key to issue an `F1` to the
-operating system.
-
-## Key-Pad Key
-
-The `key pad` key is a layout switch key. If pressed, it will put the keyboard
-on the _key pad layout_ and stay there until key is pressed again.
-
-This is used to make the keyboard behave mostly like a **num pad keyboard**.
-
-## Notes
-- Regardless in which layout you are, keys from other layouts are not
- accessible. This means that if you are on the _key pad layout_, the left hand
- will be pretty much unusable.
- Of course that like anything else, there are exceptions to this rule.
- Modifiers should remain accessible throughout the layers.
-- The _shift key_ is, like the _function key_, also configured to have a sticky
- behavior.
-- All sticky keys have a timeout of 3 seconds.
-
-*/
-#define BASE 0
-#define KEYPAD 1
-#define FN 2
-
-#define MACRO_TMUX_ESC 10
-#define MACRO_TMUX_PASTE 11
-#define MACRO_OSX_COPY 12
-#define MACRO_OSX_PASTE 13
-
-#define M_TESC M(MACRO_TMUX_ESC)
-#define M_TPASTE M(MACRO_TMUX_PASTE)
-#define M_OSXCPY M(MACRO_OSX_COPY)
-#define M_OSXPST M(MACRO_OSX_PASTE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Base Layer
- *
- * ,-----------------------------------------------------. ,-----------------------------------------------------.
- * | `~ | 1 | 2 | 3 | 4 | 5 | ESC | | Pwr | 6 | 7 | 8 | 9 | 0 | - _ |
- * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
- * | Tab | Q | W | E | R | T | F16 | | F17 | Y | U | I | O | P | = + |
- * |-----------+------+------+------+------+------| Meh | | Meh |------+------+------+------+------+-----------|
- * | \ (Ctrl) | A | S | D | F | G |------| |------| H | J | K | L | ; | ' " (Ctrl)|
- * |-----------+------+------+------+------+------| F18 | | F19 |------+------+------+------+------+-----------|
- * | LShift | Z | X | C | V | B | Hyper| | Hyper| N | M | , | . | / | RShift |
- * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
- * | FN | KPAD |LCtrl | LAlt | LGui | | RGui | RAlt | RCtrl| KPAD | FN |
- * `-----------------------------------' `-----------------------------------'
- * ,-------------. ,-------------.
- * | M(0) | M(1) | | M(2) | M(3) |
- * ,------|------|------| |------+------+------.
- * | | | Home | | PgUp | | |
- * |Backsp| Del |------| |------| Enter| Space|
- * | | | End | | PgDn | | |
- * `--------------------' `--------------------'
- *
- * M(0) = Ctrk+A Esc
- * (this is used to issue the Esc key to the Tmux application)
- * M(1) = Ctrk+A P
- * (this is used to issue the Paste key to the Tmux application)
- * M(2) = Cmd+C
- * M(3) = Cmd+V
- */
-[BASE]=LAYOUT_ergodox(//left half
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, MEH_T(KC_F16),
- CTL_T(KC_BSLS), KC_A, KC_S, KC_D, KC_F, KC_G,
- OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_F18),
- OSL(FN), TG(KEYPAD), KC_LCTRL, KC_LALT, KC_LGUI,
- M_TESC, M_TPASTE,
- KC_HOME,
- KC_BSPC, KC_DEL, KC_END,
- //right half
- KC_PWR, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- MEH_T(KC_F17), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTL_T(KC_QUOT),
- ALL_T(KC_F19), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_LSFT),
- KC_RGUI, KC_RALT, CTL_T(KC_LBRC), LT(KEYPAD, KC_RBRC), OSL(FN),
- M_OSXCPY, M_OSXPST,
- KC_PGUP,
- KC_PGDN, KC_ENT, KC_SPC),
-
-/* Keymap 1: KeyPad Layer
- *
- * ,-----------------------------------------------------. ,-----------------------------------------------------.
- * | | | LClk | RClk | MClk | | | | BTab | Clear| / | * | ^ | ( | |
- * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
- * | M.Accel 2 | |ScrlUp| U |ScrlDn| | | | Tab | 7 | 8 | 9 | + | ) | |
- * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
- * | M.Accel 1 | | L | D | R | |------| |------| 4 | 5 | 6 | - | | |
- * |-----------+------+------+------+------+------| | |Return|------+------+------+------+------+-----------|
- * | M.Accel 0 | |ScrlL | |ScrlR | | | | | 1 | 2 | 3 | = | | |
- * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
- * | | XXXX | | | | | 0 | . | , | XXXX | |
- * `-----------------------------------' `-----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | XXXX | |
- * | | |------| |------| XXXX | |
- * | | | | | | XXXX | |
- * `--------------------' `--------------------'
- */
-[KEYPAD]=LAYOUT_ergodox(//left half
- KC_NO, KC_NO, KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, KC_NO, KC_NO,
- KC_MS_ACCEL2, KC_NO, KC_MS_WH_UP, KC_MS_U, KC_MS_WH_DOWN, KC_NO, KC_NO,
- KC_MS_ACCEL1, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO,
- KC_MS_ACCEL0, KC_NO, KC_MS_WH_LEFT, KC_NO, KC_MS_WH_RIGHT, KC_NO, KC_NO,
- KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO,
- KC_NO,
- KC_NO, KC_NO, KC_NO,
- //right half
- LSFT(KC_TAB), KC_CLEAR, KC_KP_SLASH, KC_KP_ASTERISK, KC_CIRCUMFLEX, KC_LPRN, KC_NO,
- KC_TAB, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, KC_RPRN, KC_NO,
- KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_MINUS, KC_NO, KC_NO,
- KC_KP_ENTER, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_EQUAL, KC_NO, KC_NO,
- KC_KP_0, KC_KP_DOT, KC_KP_COMMA, KC_TRNS, KC_NO,
- KC_NO, KC_NO,
- KC_NO,
- KC_NO, KC_TRNS, KC_NO),
-
-/* Keymap 2: Functions Layer
- *
- * ,-----------------------------------------------------. ,-----------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | Vol. Up |
- * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
- * | | Stop | Rw | Rec | FF | | XXXX | | XXXX | | | | | | Vol. Down |
- * |-----------+------+------+------+------+------| XXXX | | XXXX |------+------+------+------+------+-----------|
- * | CapsLock | Eject| Prev | Play | Next | |------| |------| Left | Down | Up | Right| | Mute |
- * |-----------+------+------+------+------+------| XXXX | | XXXX |------+------+------+------+------+-----------|
- * | L Shift | | | | | | XXXX | | XXXX | | | | | | R Shift |
- * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
- * | XXXXX | | XXXX | XXXX | XXXX | | XXXX | XXXX | XXXX | | XXXXX |
- * `-----------------------------------' `-----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- *
- * XXX = These keys are transparent keys that, when pressed, they issue the key from the previous layer.
- */
-[FN]=LAYOUT_ergodox(//left half
- KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- KC_NO, KC_MEDIA_STOP, KC_MEDIA_REWIND, KC_MEDIA_SELECT, KC_MEDIA_FAST_FORWARD, KC_NO, KC_TRNS,
- KC_CAPS, KC_MEDIA_EJECT, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_NO,
- KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
- KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_NO, KC_NO,
- KC_NO,
- KC_NO, KC_NO, KC_NO,
- //right half
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_VOLU,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD,
- KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_NO, KC_MUTE,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS,
- KC_NO, KC_NO,
- KC_NO,
- KC_NO, KC_NO, KC_NO)};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
- // MACRODOWN only works in this function
- switch(id) {
- case MACRO_TMUX_ESC:
- if (record->event.pressed) {
- return MACRO(D(LCTRL), T(A), U(LCTRL), D(ESC), END);
- }
- return MACRO(U(ESC), END);
- case MACRO_TMUX_PASTE:
- if (record->event.pressed) {
- return MACRO(D(LCTRL), T(A), U(LCTRL), D(P), END);
- }
- return MACRO(U(P), END);
- case MACRO_OSX_COPY:
- if (record->event.pressed) {
- return MACRO(D(LGUI), D(C), END);
- }
- return MACRO(U(C), U(LGUI), END);
- case MACRO_OSX_PASTE:
- if (record->event.pressed) {
- return MACRO(D(LGUI), D(V), END);
- }
- return MACRO(U(V), U(LGUI), END);
- }
- return MACRO_NONE;
-};
-
-// Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
-};
-
-uint8_t current_layer = BASE;
-
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
- uint8_t layer = get_highest_layer(layer_state);
-
- ergodox_led_all_off();
- ergodox_led_all_set(LED_BRIGHTNESS_LO);
-
- switch (layer) {
- case BASE:
- current_layer = BASE;
- break;
- case KEYPAD:
- current_layer = KEYPAD;
- break;
- default:
- // none
- break;
- }
-
- // layer leds
- if (current_layer == KEYPAD) {
- ergodox_right_led_3_on();
- }
-
- // capslock
- if (host_keyboard_leds() & (3<mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) && // is shift pressed and there is no other
- !(keyboard_report->mods & (~MOD_BIT(KC_LSFT) & ~MOD_BIT(KC_RSFT)))) || // modifier being pressed as well
- (get_oneshot_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) && !has_oneshot_mods_timed_out())) { // or the one shot shift didn't timed out
- ergodox_right_led_1_set(LED_BRIGHTNESS_HI);
- ergodox_right_led_1_on();
- }
-};
diff --git a/layouts/community/ergodox/townk_osx/readme.md b/layouts/community/ergodox/townk_osx/readme.md
deleted file mode 100644
index e10e447829..0000000000
--- a/layouts/community/ergodox/townk_osx/readme.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# Townk's Keymap
-
-Trying to take care of an enjury on my arm I borrow an ergonomic keyboard from
-a frient ([Kinesis Advantage](https://www.kinesis-ergo.com/shop/advantage2/)).
-
-I really enjoyed my time with it but there were some anoyancies:
-
-* The curvature on the keys bothered me since I'm a Vim user and using the
- motion keys on my editor was awkard.
-* I had to spend too much time remapping the keyboard to make some symbol keys
- more accessible to me.
-* The fact that my hands had to stay close to each other was a bit stressfull
- to my sholders.
-
-After a long research I find out that Ergodox EZ would be perfect for my needs
-and purchase one. Before the keyboard even got in my hands I started to think
-on the layout I would use on it and soon enough I planed couple adjustments
-from the Kinesis I was using so far.
-
-## The layout
-
-Here are the layout mapping in images so you can have a glimpse on it:
-
-![Base Layout](https://i.imgur.com/m1yyQvU.png)
-![fn Layout](https://i.imgur.com/AJIzrjq.png)
-![Keypad & Mouse Layout](https://i.imgur.com/9I6Qr0e.png)
-
-Notice that, differently from the default behavior, my layer keys are not transparent
-by default, which means that if you press any non-labeled white key, nothing will be
-handled to the OS.
-
-### One shot keys
-
-It all started with the access to the function keys (F1, F2, F3...), since
-those keys are located on a different layer I needed a way to press them with
-minimal effort without disrupting my flow.
-
-For me, togglihg a layer to press a button and than toggle it back is a waste
-of time (although I admit it's a single tap from what I have), so I decided to
-do it as a one shot key. I could press it and the next pressed key would be
-handled by the target layer which just after it delivers the key to the OS it
-would get back to the previous layer.
-
-After setting up my layout to do just that I realized that occasionally I
-would stop myseld on the middle of the process and the one shot layer would be
-still triggered until I press any other key. So to prevent me from tapping
-keys I don't want I added a timeout of 3 seconds for the one shot actions.
-
-Ultimately I tested the shift key as a one shot one and really like it, so
-here you have it, all the one shot keys on my layout.
-
-## Glossary
-
-If you're not familiar with the Mac symbols used on some keys, here is a
-reference to them:
-
-| Symbol | Description |
-| :----: | ------------------- |
-| ⌘ | Command |
-| ⇪ | Caps Lock |
-| ⇧ | Shift |
-| ⌥ | Option (alt) |
-| ⎋ | Esc |
-| ⇥ | Tab forward |
-| ⇤ | Tab backward |
-| ⌃ | Control |
-| ␣ | Space |
-| ⌫ | Backspace |
-| ⌦ | Delete |
-| ⏎ | Enter |
-| ⌤ | Return |
-| ⌽ | Power on/off button |
-| ↖ | Home |
-| ↘ | End |
-| ⇞ | Page up |
-| ⇟ | Page down |
-| ⌧ | Clear |
diff --git a/layouts/community/ergodox/townk_osx/rules.mk b/layouts/community/ergodox/townk_osx/rules.mk
deleted file mode 100644
index c06021b9fb..0000000000
--- a/layouts/community/ergodox/townk_osx/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# I don't want my keyboard blinking lights when is suppose to be asleep.
-SLEEP_LED_ENABLE = no
\ No newline at end of file
diff --git a/layouts/community/ergodox/twey/keymap.c b/layouts/community/ergodox/twey/keymap.c
deleted file mode 100644
index dac153f070..0000000000
--- a/layouts/community/ergodox/twey/keymap.c
+++ /dev/null
@@ -1,232 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "debug.h"
-#include "action_layer.h"
-#include "keymap_steno.h"
-
-#define BASE 0 // default layer
-#define SYMB 1 // symbols
-#define STEN 2 // steno
-#define MDIA 3 // media keys
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- * ,---------------------------------------------------. ,---------------------------------------------------.
- * | = | 1 | 2 | 3 | 4 | 5 | STEN | | NONE | 6 | 7 | 8 | 9 | 0 | \ |
- * |--------+------+------+------+-------+-------------| |-------+------+------+------+------+------+--------|
- * | Del | ' | , | . | P | Y | Esc | | Caps | F | G | C | R | L | / |
- * |--------+------+------+------+-------+------| | | |------+------+------+------+------+--------|
- * | BkSp | A | O | E | U | I |------| |-------| D | H | T | N | S | - |
- * |--------+------+------+------+-------+------| Tab | | Enter |------+------+------+------+------+--------|
- * | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | RShift |
- * `--------+------+------+------+-------+-------------' `--------------+------+------+------+------+--------'
- * | L1 | NONE | Grv | Left | Right | | Up | Down | [ | ] | L1 |
- * `-----------------------------------' `----------------------------------'
- * ,--------------. ,---------------.
- * | PgUp | PgDn | | Home | End |
- * ,------|-------|------| |-------+-------+------.
- * | | | NONE | | AltGr | | |
- * | Alt | Enter |------| |-------| Space | Ctrl |
- * | | | Supr | | ~MDIA | | |
- * `---------------------' `----------------------'
- */
-// If it accepts an argument (i.e, is a function), it doesn't need KC_.
-// Otherwise, it needs KC_*
-[BASE] = LAYOUT_ergodox( // layer 0 : default
- // left hand
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(STEN),
- KC_DEL, KC_QUOT, KC_COMM,KC_DOT, KC_P, KC_Y, KC_ESC,
- KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_TAB,
- MO(SYMB), KC_NO, KC_GRV, KC_LEFT,KC_RGHT,
- KC_PGUP,KC_PGDN,
- KC_NO,
- KC_LALT,KC_ENT ,M(0),
- // right hand
- KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- KC_CAPS, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
- KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
- KC_ENT, KC_B, KC_M, KC_W, KC_V, KC_Z , KC_RSFT,
- KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, MO(SYMB),
- KC_HOME, KC_END,
- KC_RALT,
- MO(MDIA),KC_SPC,KC_RCTL
- ),
-/* 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] = LAYOUT_ergodox(
- // 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: Steno for Plover
- *
- * ,---------------------------------------------------. ,---------------------------------------------------.
- * | | | # | # | # | # | | | | # | # | # | # | # | |
- * |--------+------+------+------+-------+-------------| |-------+------+------+------+------+------+--------|
- * | | | S | T | P | H | * | | * | F | P | L | T | D | |
- * |--------+------+------+------+-------+------| | | |------+------+------+------+------+--------|
- * | | | S | K | W | R |------| |-------| R | B | G | S | Z | |
- * |--------+------+------+------+-------+------| * | | * |------+------+------+------+------+--------|
- * | | | | | | | | | | | | | | | |
- * `--------+------+------+------+-------+-------------' `--------------+------+------+------+------+--------'
- * | L1 | | | Left | Right | | Up | Down | | | L1 |
- * `-----------------------------------' `----------------------------------'
- * ,--------------. ,---------------.
- * | | | | | |
- * ,------|-------|------| |-------+-------+------.
- * | | | | | | | |
- * | A | O |------| |-------| E | U |
- * | | | | | | | |
- * `---------------------' `----------------------'
- */
-
-
-[STEN] = LAYOUT_ergodox( // layout: layer 2: Steno for Plover
- // left hand
- KC_NO, STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, KC_TRNS,
- KC_NO, KC_NO, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1,
- KC_NO, KC_NO, STN_S2, STN_KL, STN_WL, STN_RL,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, STN_ST2,
- KC_TRNS,KC_NO, KC_NO, KC_TRNS, KC_TRNS,
- KC_NO, KC_NO,
- KC_NO,
- STN_A, STN_O, KC_TRNS,
- // right hand
- KC_NO, STN_N6, STN_N7, STN_N8, STN_N9, STN_NA, KC_NO,
- STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR, KC_NO,
- STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR, KC_NO,
- STN_ST4, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_TRNS,
- KC_NO, KC_NO,
- KC_NO,
- KC_TRNS, STN_E, STN_U
-),
-
-/* Keymap 3: Media and mouse keys
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | | | | | | STEN | | | | | | | | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | MsUp | | | | | | | Back | | Frwd | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | |MsLeft|MsDown|MsRght| |------| |------| | Lclk | Mclk | Rclk | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | | | | | | Prev | Play | Next | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// MEDIA AND MOUSE
-[MDIA] = LAYOUT_ergodox(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- // right hand
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_WBAK, KC_TRNS, KC_WFWD, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_BTN1, KC_BTN3, KC_BTN2, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_WBAK
-),
-};
-
-// press `key`, but deactivate `layer` whilst it's held
-void press_without(int pressed, int key, uint8_t layer)
-{
- static bool was_on;
- if (pressed) {
- was_on = layer_state_is(layer);
- layer_off(layer);
- register_code(key);
- } else {
- if (was_on) layer_on(layer);
- unregister_code(key);
- }
-}
-
-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:
- press_without(record->event.pressed, KC_LGUI, STEN);
- break;
- }
- return MACRO_NONE;
-};
-
-// Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
- steno_set_mode(STENO_MODE_BOLT);
-};
-
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
- __attribute__ ((unused))
- uint32_t layer0 = layer_state & (1UL << 0),
- layer1 = layer_state & (1UL << 1),
- layer2 = layer_state & (1UL << 2),
- layer3 = layer_state & (1UL << 3);
-
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
-
- if (layer1) ergodox_right_led_1_on();
- if (layer2) ergodox_right_led_2_on();
- if (layer3) ergodox_right_led_3_on();
-};
diff --git a/layouts/community/ergodox/twey/readme.md b/layouts/community/ergodox/twey/readme.md
deleted file mode 100644
index 52190cb1f8..0000000000
--- a/layouts/community/ergodox/twey/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Twey's Home Configuration
-## Layers
-- Layer 0: Non-ANSI Dvorak layout, with modified modifiers — all
- modifiers on thumb keys, as well as return and space.
-- Layer 1: Default symbol layout.
-- Layer 2: Plover-oriented stenography layer.
-- Layer 3: Extended media/mouse layout.
-
-## Hardware notes
-The default Ergodox EZ keycaps are delightfully staggered, which seems
-like it would make them terrible for steno, but in fact flipping the
-top row (`QWERTYUIOP`) and the middle thumb keys upside down brings
-them close enough together to give a rather pleasant steno experience,
-without interfering much with standard Dvorak typing.
diff --git a/layouts/community/ergodox/twey/rules.mk b/layouts/community/ergodox/twey/rules.mk
deleted file mode 100644
index 87af2f7606..0000000000
--- a/layouts/community/ergodox/twey/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-VIRTSER_ENABLE = yes
-STENO_ENABLE = yes
-MOUSEKEY_ENABLE = no
-FORCE_NKRO = yes
diff --git a/layouts/community/ergodox/win10_writers-block/config.h b/layouts/community/ergodox/win10_writers-block/config.h
deleted file mode 100644
index ca75f83aab..0000000000
--- a/layouts/community/ergodox/win10_writers-block/config.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#pragma once
-
-#undef MOUSEKEY_DELAY
-#undef MOUSEKEY_INTERVAL
-#undef MOUSEKEY_MAX_SPEED
-#undef MOUSEKEY_TIME_TO_MAX
-
-#define MOUSEKEY_DELAY 100
-#define MOUSEKEY_INTERVAL 20
-#define MOUSEKEY_MAX_SPEED 3
-#define MOUSEKEY_TIME_TO_MAX 10
-
-#define TAPPING_TOGGLE 1
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-#undef TAPPING_TERM
-#define TAPPING_TERM 300
-#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.)
-
-/* 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
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
- get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
-)
diff --git a/layouts/community/ergodox/win10_writers-block/keymap.c b/layouts/community/ergodox/win10_writers-block/keymap.c
deleted file mode 100644
index 443e403b18..0000000000
--- a/layouts/community/ergodox/win10_writers-block/keymap.c
+++ /dev/null
@@ -1,324 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "debug.h"
-#include "action_layer.h"
-#include "version.h"
-#include "wait.h"
-
-#define BASE 0 // default layer - helpful for writing in Office-style word processors.
-#define SYMB 1 // symbol layer - NumPad, etc. - same as Ergodox EZ default but no EEPROM or Version key
-#define RIMW 2 // rimworld layer - made for the game RimWorld, by Tynan Sylvester | feel free to remap for your favorite game!
-#define MDIA 3 // media layer - mouse and music - close to Ergodox EZ default media layer
-
-#define CO_PA M(0) // hold copy, tap paste
-
-#define W_CUT LCTL(KC_X) // C-x Cut
-#define W_COPY LCTL(KC_C) // C-c Copy
-#define W_PASTE LCTL(KC_V) // C-v Paste
-#define W_UNDO LCTL(KC_Z) // C-z Undo
-#define W_FIND LCTL(KC_F) // C-v Find
-#define W_CAD LCTL(LALT(KC_DEL)) // one-tap ctrl-alt-del
-
-
-
-//Tap Dance Declarations
-enum {
- CAKEWARP,
- CTRLALTMDIA,
-};
-
-void cake_count (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 2) {
- layer_on (SYMB); //define double tap here
- layer_off (MDIA);
- }
- else {
- layer_off (SYMB); //define single tap or hold here
- layer_off (MDIA);
- }
- if (state->count == 3) {
- layer_on (RIMW); //define triple tap here
- layer_off (MDIA);
- }
- else {
- layer_off (RIMW); //define single tap or hold here
- layer_off (MDIA);
- reset_tap_dance (state);
- }
-}
-
-void dance_cad_mdia_fin (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- register_code (KC_LCTL);
- register_code (KC_LALT);
- register_code (KC_DEL);
- } else {
- layer_on (MDIA);
- }
-}
-
-void dance_cad_mdia_reset (qk_tap_dance_state_t *state, void *user_data) {
- if (state->count == 1) {
- unregister_code (KC_DEL);
- unregister_code (KC_LALT);
- unregister_code (KC_LCTL);
- } else {
- ;
- }
-}
-
-//Tap Dance Definitions
-qk_tap_dance_action_t tap_dance_actions[] = {
- // tap for Layer 0, tap twice to switch to symbol layer, and tap three times to switch to rimworld layer.
- [CAKEWARP] = ACTION_TAP_DANCE_FN(cake_count)
- // tap for ctrl-alt-del, tap twice for media layer
- ,[CTRLALTMDIA] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_cad_mdia_fin, dance_cad_mdia_reset)
- // Other declarations would go here, separated by commas, if you have them
-};
-
-//In Layer declaration, add tap dance item in place of a key code
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer - TD(one_tap, two_taps, three_taps...)
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 7 | 8 | 9 | 0 | - | = |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | F12/L1 | Q | W | E | R | T | {/[ | |TD(L0 | Y | U | I | O | P | \ |
- * |--------+------+------+------+------+------| | |L1 L2)|------+------+------+------+------+--------|
- * |Caps/Win| A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
- * |--------+------+------+------+------+------| }/] | TD(ctrl|------+------+------+------+------+--------|
- * |LShift/(|Z/Ctrl| X | C | V | B | | |altdel| N | M | , | . | / |RShift/)|
- * `--------+------+------+------+------+-------------' |L3) |------+------+------+------+------+--------'
- * | Undo | Cut |CopyPa| Meh | LGui | '------| | Enter| Left | Up | Down | Right |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | Esc | VolUp| | F4 | Mute |
- * ,------|------|------| |------+--------+------.
- * | | | VolDn| | F5 | | |
- * |Backsp|Delete|------| |------| Tab / |Space |
- * |ace | | Find | | Alt | CTRL | |
- * `--------------------' `----------------------'
- */
-// If it accepts an argument (i.e, is a function), it doesn't need KC_.
-// Otherwise, it needs KC_*
-[BASE] = LAYOUT_ergodox( // layer 0 : default
- // left hand
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
-LT(SYMB, KC_F12), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC,
- GUI_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSPO, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_RBRC,
- W_UNDO, W_CUT, CO_PA, MEH_T(KC_NO), KC_LGUI,
- KC_ESC, KC_VOLU,
- KC_VOLD,
- KC_BSPC, KC_DELETE, W_FIND,
- // right hand
- KC_7, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- TD(CAKEWARP), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- TD(CTRLALTMDIA), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
- KC_ENT, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT,
- KC_F4, KC_MUTE,
- KC_F5,
- KC_RALT, CTL_T(KC_TAB), KC_SPC
- ),
-
-/* Keymap 1: Symbol Layer | No EEPROM Or Version keys
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | xx | | xx | F6 | F7 | F8 | F9 | F10 | F11 |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | ! | @ | { | } | | | | |TD(L0 | Up | 7 | 8 | 9 | * | F12 |
- * |--------+------+------+------+------+------| | |L1 L2)|------+------+------+------+------+--------|
- * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | - |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | . | 0 | = | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// SYMBOLS
-[SYMB] = LAYOUT_ergodox(
- // left hand
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO,
- 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_NO, 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_MINS,
- KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
- KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_NO,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
-),
-
-/* Keymap 2: RimWorld Layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 7 | 8 | 9 | 0 | - | = |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | TAB | C | ,< | W | >. | R | | |TD(L0 | U | B | N | J | M | PGUP |
- * |--------+------+------+------+------+------| F10 | |L1 L2)|------+------+------+------+------+--------|
- * | I | F | A | S | D | 8 |------| |------| X | L | P | Y | H | ENTER |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | K | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | PGDN |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | F | | | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * |SPACE | C |------| |------| E |SPACE |
- * | | | Q | | | | |
- * `--------------------' `--------------------'
- */
-// RIMWORLD
-[RIMW] = LAYOUT_ergodox(
- // left hand
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
- KC_TAB, KC_C, KC_COMM, KC_W, KC_DOT, KC_R, KC_F10,
- KC_I, KC_F, KC_A, KC_S, KC_D, KC_8,
- KC_K, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS,KC_TRNS,
- KC_TRNS,
- KC_C,KC_Q,KC_TRNS,
- // right hand
- KC_7, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- KC_TRNS, KC_U, KC_B, KC_N, KC_J, KC_M, KC_PGUP,
- KC_X, KC_L, SFT_T(KC_P), KC_Y, KC_H, KC_ENT,
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PGDN,
- KC_F, KC_LEFT, KC_UP, KC_DOWN,KC_RIGHT,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_E, KC_TRNS
-),
-/* Keymap 3: Media and mouse keys
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | MsUp | | | | | | | | | | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | | | | | | | Prev | Next | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | |Brwser|
- * | Lclk | Rclk |------| |------| |Back |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// MEDIA AND MOUSE
-[MDIA] = LAYOUT_ergodox(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_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_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_WBAK
-),
-};
-
-static uint16_t key_timer;
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- switch(id) {
- case 0: {
- if (record->event.pressed) {
- key_timer = timer_read(); // if the key is being pressed, we start the timer.
- }
- else { // this means the key was just released, so we can figure out how long it was pressed for (tap or "held down").
- if (timer_elapsed(key_timer) > 150) { // 150 being 150ms, the threshhold we pick for counting something as a tap.
- return MACRO( D(LCTL), T(C), U(LCTL), END );
- }
- else {
- return MACRO( D(LCTL), T(V), U(LCTL), END );
- }
- }
- break;
- }
- }
- return MACRO_NONE;
-};
-
-// Anything you want to do once when the keyboard initializes.
-// Tests LED function when the keyboard initializes.
-void matrix_init_user(void) {
-
- wait_ms(500);
- ergodox_board_led_on();
- wait_ms(200);
- ergodox_right_led_1_on();
- wait_ms(200);
- ergodox_right_led_2_on();
- wait_ms(200);
- ergodox_right_led_3_on();
- wait_ms(200);
- ergodox_board_led_off();
- wait_ms(200);
- ergodox_right_led_1_off();
- wait_ms(200);
- ergodox_right_led_2_off();
- wait_ms(200);
- ergodox_right_led_3_off();
-
-};
-
-
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
-
- uint8_t layer = get_highest_layer(layer_state);
-
- ergodox_board_led_off();
- ergodox_right_led_1_off();
- ergodox_right_led_2_off();
- ergodox_right_led_3_off();
- switch (layer) {
- case 1:
- ergodox_right_led_1_on();
- break;
- case 2:
- ergodox_right_led_2_on();
- break;
- case 3:
- ergodox_right_led_3_on();
- break;
- default:
- // none
- break;
- }
-
-};
diff --git a/layouts/community/ergodox/win10_writers-block/readme.md b/layouts/community/ergodox/win10_writers-block/readme.md
deleted file mode 100644
index cb135b4437..0000000000
--- a/layouts/community/ergodox/win10_writers-block/readme.md
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-Win10 Writer's Block ErgoDox - v1.0
-
-=======================
-
-This is a QWERTY layout for QMK. It's designed to work well in MS Office-like environments. It's tested on Windows 7 and 10.
-
-Professional writers may find this layout useful -- copywriters, technical writers, novelists, etc.
-
-I use my ErgoDox with this keymap as a daily driver at my office.
-
-A gaming layer is unobtrusively built into this layout. I use that layer to play RimWorld.
-
-Feel free to modify the gaming layer to your personal taste.
-
-## Table of Contents
-
-* [Layouts](#layouts)
- - [Base layer](#base-layer)
- - [Symbol layer](#symbol-layer)
- - [Gaming layer](#rimworld-layer)
- - [Media layer](#media-layer)
-* [Tools](#tools)
- - [Layer notification](#layer-notification)
-* [Building](#building)
- - [Using on Windows](#using-on-windows)
-* [License](#license)
-* [Special Thanks](#special-thanks)
-
-# Layouts
-
-* TapDance will teleport you to the layer you want:
-* One Tap for the Base layer
-* Two Taps for the Symbol layer
-* Three Taps for the Rimworld/Gaming layer
-
-* Where the "Meh" key is located on the Ergodox EZ default layout, I've changed it to another tap dance key:
-* One Tap for CTRL-ALT-DEL
-* Two Taps for the Media/Mouse layer
-
-## Base layer
-
-[![Base layer](https://i.imgur.com/1PTR0SG.png)](http://www.keyboard-layout-editor.com/#/gists/8fd9bbdd3a23bbb5a8779de3624a3be1)
-
-This is a QWERTY layout with some quirks.
-
-* Enter is located on a key that won't cause as much thumb fatigue.
-* Copy and Paste work from the same key. Just hold the key to copy and tap the key to paste!
-* Undo, Find and Cut are also one-touch keys.
-* F12 is where you would normally find TAB on standard layouts. Quickly save in Word, safely.
-* You'll find bracket keys below the "6" key.
-
-* The Meh Key is a single-button CTRL+ALT+SHIFT modifier.
-
-* Space Cadet Shift: Tap L Shift for "(" and R Shift for ")" -- holding either shift works like a normal shift.
-* Tap "Z" or Tab to use either normally. Hold them for CTRL.
-* Tap Caps Lock to use it normally. Hold it for Win key combinations (Win+D to minimize all programs, etc).
-
-## Symbol layer
-
-[![Symbol layer](https://i.imgur.com/8nEzpcp.png)](http://www.keyboard-layout-editor.com/#/gists/04eb6458b8b17882e472f64d482f12b4)
-
-Your standard Ergodox EZ symbol + numpad layout, minus the Version and EEPROM keys.
-
-* From the base layer, hold the F12 Key to temporarily access this layer (use for quick access to numpad)
-* Release F12 to return to the base layer.
-
-## Rimworld layer
-
-[![Rimworld / Gaming Layer](https://i.imgur.com/Yh3eBjJ.png)](http://www.keyboard-layout-editor.com/#/gists/d53af8391e6e443ed0a98ccfbdb4eace)
-
-This layer was made to play RimWorld, a Sci-Fi Colony Survival Game by Tynan Sylvester and Ludeon Studios, available on Steam.
-
-* Have fun!
-
-## Media layer
-
-[![Media layer](https://i.imgur.com/r5ysFy1.png)](http://www.keyboard-layout-editor.com/#/gists/3209d09ed4bd997e4f49f28c6ada2ab3)
-
-This is the standard Ergodox EZ media layout with more options for mouseclick buttons.
-
-* In this layer, your "space" key changes into a back button for your browser.
-
-## LED states
-
-Your LEDs will change to indicate your layer. You'll know you are in the base layer if all LEDs are off.
-
-# Building
-
-To build, you will need the [QMK][qmk] firmware checked out. from there, dive into `keyboards/ergodox/keymaps/win10_writers-block/`
-
-[qmk]: https://github.com/qmk/qmk_firmware
-
-```
-$ make keyboard=ergodox keymap=win10_writers-block
-```
-
-## Using on Windows
-
-This layout is tested in Windows 7 Pro and Windows 10 Home environments.
-
-# License
-
-GPL 3+
-
-# Special Thanks
-
-* To algernon for his coding help. I'm a novice but I still made this work (and figured out tap dance) with his help.
-
-* To /r/MechanicalKeyboards for being an all-around great community.
-
-* To /u/profet23 for his amazing custom Ergodox boards.
\ No newline at end of file
diff --git a/layouts/community/ergodox/win10_writers-block/rules.mk b/layouts/community/ergodox/win10_writers-block/rules.mk
deleted file mode 100644
index 83c5090c5f..0000000000
--- a/layouts/community/ergodox/win10_writers-block/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-# Having a file like this allows you to override Makefile definitions
-# for your own particular keymap
-
-TAP_DANCE_ENABLE=yes
-
-
-
diff --git a/layouts/community/ortho_4x12/crs/config.h b/layouts/community/ortho_4x12/crs/config.h
deleted file mode 100644
index 9ba64c921b..0000000000
--- a/layouts/community/ortho_4x12/crs/config.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako
-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 .
-*/
-
-#pragma once
-
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define _MASTER_RIGHT
-// #define EE_HANDS
diff --git a/layouts/community/ortho_4x12/crs/keymap.c b/layouts/community/ortho_4x12/crs/keymap.c
deleted file mode 100644
index e0d553362c..0000000000
--- a/layouts/community/ortho_4x12/crs/keymap.c
+++ /dev/null
@@ -1,253 +0,0 @@
-// Can't Remember Sh*t Keymap for 4x12 ortho
-// http://www.keyboard-layout-editor.com/#/gists/c6c0ac051b2b118a34ef84ebadab54c7
-
-#include QMK_KEYBOARD_H
-#include "action_layer.h"
-#ifdef AUDIO_ENABLE
- #include "audio.h"
-#endif
-#include "eeconfig.h"
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QWERTY 0
-#define _ARROW 1
-#define _GAME 2
-#define _LOWER 3
-#define _RAISE 4
-#define _PLOVER 5
-#define _ADJUST 16
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- ARROW,
- GAME,
- LOWER,
- RAISE,
- BACKLIT,
- PLOVER,
- EXT_PLV
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Tab | A | S | D | F | G | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | \ | Alt | Lower|SpcRse| Space|Raise | [ | - | = | ] |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT_ortho_4x12( \
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
- KC_TAB, 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, SFT_T(KC_ENT), \
- KC_LCTL, KC_LGUI, KC_BSLS, KC_LALT, LOWER, LT(4, KC_SPC), KC_SPC, RAISE, LT(3, KC_LBRC), KC_MINS, KC_EQL, CTL_T(KC_RBRC) \
-),
-
-/* Arrow
- * ,-----------------------------------------------------------------------------------.
- * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Tab | A | S | D | F | G | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI | \ | Alt | Lower| Space| Space|Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_ARROW] = LAYOUT_ortho_4x12( \
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
- KC_TAB, 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, SFT_T(KC_ENT), \
- KC_LCTL, KC_LGUI, KC_BSLS, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT \
-),
-
-/* Game
- * ,-----------------------------------------------------------------------------------.
- * | 1 | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * |Shift | A | S | D | F | G | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Ctrl | Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Alt | 4 | 3 | 2 | Lower| Space |Raise | Left | Down | Up | Right|
- * `-----------------------------------------------------------------------------------'
- */
-[_GAME] = LAYOUT_ortho_4x12( \
- KC_1, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______ , \
- KC_LALT, KC_4, KC_3, KC_2, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT \
-),
-
-
-/* Lower (switched to # because KP# were weird in terminal emulators)
- * ,-----------------------------------------------------------------------------------.
- * | Del | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Tab | F1 | F2 | F3 | F4 | F5 | F6 | 4 | 5 | 6 | . | * |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 | 1 | 2 | 3 | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Esc | | | | | | 0 | | | | KP_+ | |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_ortho_4x12( \
- KC_DEL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_4, KC_5, KC_6, KC_DOT, KC_ASTR, \
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_1, KC_2, KC_3, KC_SLSH, _______, \
- KC_ESC, _______, _______, _______, _______, _______, KC_0, _______, _______, _______, KC_PLUS, _______ \
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | Wh Up|RightC| M-Up | LeftC|QWERTY| Left | Down | Up | Right| | | ` |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | Wh Dn| M-L | M-Dn | M-R | | - | = | [ | ] | \ | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | App | | | | | Ins | | Home | PGDN | PGUP | End |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT_ortho_4x12( \
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, \
- KC_DEL, KC_WH_U, KC_BTN2, KC_MS_U, KC_BTN1, QWERTY, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PIPE, KC_GRV, \
- _______, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLASH, _______, \
- _______, KC_APP, _______, _______, _______, _______, KC_INS, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END \
-),
-
-/* Plover layer (http://opensteno.org)
- * ,-----------------------------------------------------------------------------------.
- * | # | # | # | # | # | # | # | # | # | # | # | # |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | S | T | P | H | * | * | F | P | L | T | D |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | S | K | W | R | * | * | R | B | G | S | Z |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Exit | | | A | O | | E | U | | | |
- * `-----------------------------------------------------------------------------------'
- */
-
-[_PLOVER] = LAYOUT_ortho_4x12 ( \
- KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 , \
- XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \
- XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
- EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX \
-),
-
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | C-A-I|Qwerty| | |Reset |Macro0| | | | |PLOVER|C-A-D |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Caps | Arrow| |Aud on|Audoff| Game |AGswap|AGnorm| PrtSc|ScrLck| Break| |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | |Voice-|Voice+|Mus on|Musoff| Prev | Next | Mute | VolDn| VolUp| | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| | | | | Play/Pause | | BL_T |BL_DEC|BL_INC|BL_ST |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT_ortho_4x12( \
- LALT(LCTL(KC_INS)), QWERTY, _______, _______, QK_BOOT, M(0), _______, _______, _______, _______, PLOVER, LALT(LCTL(KC_DEL)), \
- KC_CAPS, ARROW, _______, AU_ON, AU_OFF, GAME, AG_SWAP, AG_NORM, KC_PSCR, KC_SLCK, KC_PAUS, _______, \
- _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, \
- BACKLIT, _______, _______, _______, _______, KC_MPLY, KC_MPLY, _______, BL_TOGG, BL_DEC , BL_INC , BL_STEP \
-)
-
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // this is the function signature -- just copy/paste it into your keymap file as it is.
-{
- switch(id) {
- case 0: // this would trigger when you hit a key mapped as M(0)
- if (record->event.pressed) {
- return MACRO( D(LSFT), T(LEFT), U(LSFT), D(LCTL), T(X), U(LCTL), T(RIGHT), D(LCTL), T(V), U(LCTL), T(LEFT), END ); // this swaps the characters on either side of the cursor when the macro executes
- }
- break;
- }
- return MACRO_NONE;
-};
-
-
-#ifdef AUDIO_ENABLE
-float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
-#endif
-
-
-void persistant_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_qwerty);
- #endif
- persistant_default_layer_set(1UL<<_QWERTY);
- }
- return false;
- break;
- case GAME:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(music_scale);
- #endif
- persistant_default_layer_set(1UL<<_GAME);
- }
- return false;
- break;
-
-
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case BACKLIT:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- #ifdef BACKLIGHT_ENABLE
- backlight_step();
- #endif
- } else {
- unregister_code(KC_RSFT);
- }
- return false;
- break;
- }
- return true;
-}
-
-void matrix_init_user(void) {
-
-}
diff --git a/layouts/community/ortho_4x12/crs/readme.md b/layouts/community/ortho_4x12/crs/readme.md
deleted file mode 100644
index 66b03cfd43..0000000000
--- a/layouts/community/ortho_4x12/crs/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# CRS 4x12 Ortholinear Layout
-
-Since I started with a Planck and a 2u space, it's not as optimal on a split or grid but it's what I'm used to using.
-
-Goals:
-
-* Maximum compatibility with standard keyboards
- * I have to work on other staggered Qwerty keyboards all the time so I wanted to keep essentially the same layout instead of optimizing too much.
-* Trying to fit as many characters as possible on the default layer
- * its easier for me to remember logical functions than characters
- * Using the extra punctuation caps in place of arrows frees up some Row 4 caps
- * however, I'm trying out an arrows layout with the other punctuation on the Raise layer and it is quite nice too
-* A number pad AND a number row
-
-[Here is the layout in easily readable KLE form.](http://www.keyboard-layout-editor.com/#/gists/c6c0ac051b2b118a34ef84ebadab54c7)
diff --git a/users/mtdjr/config.h b/users/mtdjr/config.h
deleted file mode 100644
index 9769ebc18a..0000000000
--- a/users/mtdjr/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef USERSPACE_CONFIG_H
-#define USERSPACE_CONFIG_H
-
-// Put normal config.h settings here:
-#define TAPPING_TERM 250
-
-#endif // !USERSPACE_CONFIG_H
diff --git a/users/mtdjr/mtdjr.c b/users/mtdjr/mtdjr.c
deleted file mode 100644
index cd67bf3b5f..0000000000
--- a/users/mtdjr/mtdjr.c
+++ /dev/null
@@ -1,163 +0,0 @@
-#include "mtdjr.h"
-
-#ifdef SOLENOID_ENABLE
- #include "solenoid.h"
-#endif
-
-#ifndef RGB_MODE
- #define RGB_MODE 2
-#endif
-#ifndef RGB_HUE
- #define RGB_HUE 285
-#endif
-
-// Tap Dance Definitions
-qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_ESC),
- [TD_ALTLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_RALT, LGUI(KC_L)),
- [TD_ENDLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_END, LGUI(KC_L)),
- [TD_PRINT] = ACTION_TAP_DANCE_DOUBLE(LGUI(LSFT(KC_3)), LGUI(LSFT(KC_4))),
-};
-
-// Macros
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
- if (record->event.pressed) {
- switch(id) {
- case ROOT:
- SEND_STRING("sudo su -\n");
- return false; break;
- case PPLY:
- SEND_STRING("puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp\n");
- return false; break;
- case PSEF:
- SEND_STRING("ps -ef | grep ");
- return false; break;
- }
- }
- return MACRO_NONE;
-};
-
-void matrix_init_user(void) {
- #ifdef RGBLIGHT_ENABLE
- rgblight_enable_noeeprom();
- rgblight_mode_noeeprom(RGB_MODE);
- rgblight_sethsv (RGB_HUE, 255, 255);
- #endif
- #ifdef SOLENOID_ENABLE
- solenoid_setup();
- #endif
-}
-
-void matrix_scan_user(void) {
- #ifdef SOLENOID_ENABLE
- solenoid_check();
- #endif
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- #ifdef SOLENOID_ENABLE
- if (record->event.pressed) {
- solenoid_fire();
- }
- #endif
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_ADJUST);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case SOLENOID_TOG:
- #ifdef SOLENOID_ENABLE
- if (record->event.pressed) {
- solenoid_toggle();
- }
- #endif
- break;
- case SOLENOID_DWELL_MINUS:
- #ifdef SOLENOID_ENABLE
- if (record->event.pressed) {
- solenoid_dwell_minus();
- }
- #endif
- break;
- case SOLENOID_DWELL_PLUS:
- #ifdef SOLENOID_ENABLE
- if (record->event.pressed) {
- solenoid_dwell_plus();
- }
- #endif
- break;
- case SOLENOID_BUZZ_ON:
- #ifdef SOLENOID_ENABLE
- if (record->event.pressed) {
- solenoid_buzz_on();
- }
- #endif
- break;
- case SOLENOID_BUZZ_OFF:
- #ifdef SOLENOID_ENABLE
- if (record->event.pressed) {
- solenoid_buzz_off();
- }
- #endif
- break;
- }
- return true;
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- switch (get_highest_layer(state)) {
- case _RAISE:
- #ifdef RGBLIGHT_ENABLE
- rgblight_sethsv_noeeprom (240, 255, 255);
- #endif
- break;
- case _LOWER:
- #ifdef RGBLIGHT_ENABLE
- rgblight_sethsv_noeeprom (0, 255, 255);
- #endif
- break;
- case _ADJUST:
- #ifdef RGBLIGHT_ENABLE
- rgblight_sethsv_noeeprom (0, 0, 255);
- #endif
- break;
- default:
- #ifdef RGBLIGHT_ENABLE
- rgblight_sethsv_noeeprom (RGB_HUE, 255, 255);
- #endif
- break;
- }
- return state;
-}
diff --git a/users/mtdjr/mtdjr.h b/users/mtdjr/mtdjr.h
deleted file mode 100644
index 4d0b046fc3..0000000000
--- a/users/mtdjr/mtdjr.h
+++ /dev/null
@@ -1,99 +0,0 @@
-#ifndef USERSPACE
-#define USERSPACE
-
-#include "quantum.h"
-
-// Layers
-enum user_enum {
- // Layers
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- SUPER,
- ADJUST,
- // Solenoid
- SOLENOID_TOG,
- SOLENOID_DWELL_MINUS,
- SOLENOID_DWELL_PLUS,
- SOLENOID_BUZZ_ON,
- SOLENOID_BUZZ_OFF,
-};
-
-// Macro / Send String
-enum user_macros {
- ROOT,
- PPLY,
- PSEF,
-};
-
-// TapDance
-enum user_tapdance {
- TD_ENDLOCK,
- TD_ALTLOCK,
- TD_PRINT,
- TD_ESC,
-};
-
-
-// Layers
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _SUPER 3
-#define _ADJUST 16
-
-// Macros
-#define KC_ROOT M(ROOT)
-#define KC_PPLY M(PPLY)
-#define KC_PSEF M(PSEF)
-
-// Tapdance
-#define KC_EXC TD(TD_ESC)
-#define KC_ELCK TD(TD_ENDLOCK)
-#define KC_ALCK TD(TD_ALTLOCK)
-#define KC_MPNT TD(TD_PRINT)
-
-// Custom Keycodes
-#define KC_ KC_TRNS
-#define KC_xxxx KC_NO
-#define KC_LOWR LOWER
-#define KC_RASE RAISE
-#define KC_SUPR SUPER
-#define KC_RST RESET
-
-// Key Combos
-#define KC_XCPY LCTL(KC_INS)
-#define KC_XINS LSFT(KC_INS)
-#define KC_CAD LCTL(LALT(KC_DEL))
-#define KC_XCAD LCTL(LALT(KC_DEL))
-#define KC_XLCK LGUI(KC_L)
-
-// Solenoid
-#define KC_STOG SOLENOID_TOG
-#define KC_SDM SOLENOID_DWELL_MINUS
-#define KC_SDP SOLENOID_DWELL_PLUS
-#define KC_SBON SOLENOID_BUZZ_ON
-#define KC_SBOF SOLENOID_BUZZ_OFF
-
-// RGB and Backlighting
-#define KC_RGB RGB_TOG
-#define KC_RHUI RGB_HUI
-#define KC_RHUD RGB_HUD
-#define KC_RSAI RGB_SAI
-#define KC_RSAD RGB_SAD
-#define KC_RVAI RGB_VAI
-#define KC_RVAD RGB_VAD
-#define KC_MOD RGB_MOD
-#define KC_RMOD RGB_RMOD
-#define KC_RPLN RGB_M_P
-#define KC_RBTH RGB_M_B
-#define KC_BLT BL_TOGG
-#define KC_BLS BL_STEP
-#define KC_BLI BL_INC
-#define KC_BLD BL_DEC
-#define KC_BLB BL_BRTG
-#define KC_BLON BL_ON
-#define KC_BLOF BL_OFF
-
-
-#endif
diff --git a/users/mtdjr/readme.md b/users/mtdjr/readme.md
deleted file mode 100644
index e795ee23a5..0000000000
--- a/users/mtdjr/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-Copyright 2018 @mtdjr
-
-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 .
diff --git a/users/mtdjr/rules.mk b/users/mtdjr/rules.mk
deleted file mode 100644
index 6eec4b5b85..0000000000
--- a/users/mtdjr/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-SRC += mtdjr.c
-TAP_DANCE_ENABLE = yes
diff --git a/users/mtdjr/solenoid.h b/users/mtdjr/solenoid.h
deleted file mode 100644
index 4ef329b4ad..0000000000
--- a/users/mtdjr/solenoid.h
+++ /dev/null
@@ -1,98 +0,0 @@
-#ifndef SOLENOID_H
-#define SOLENOID_H
-
-#include
-
-
-#define SOLENOID_DEFAULT_DWELL 12
-#define SOLENOID_MAX_DWELL 100
-#define SOLENOID_MIN_DWELL 4
-#ifndef SOLENOID_ACTIVE
- #define SOLENOID_ACTIVE false
-#endif
-#ifndef SOLENOID_PIN
- #define SOLENOID_PIN F6
-#endif
-
-
-bool solenoid_enabled = SOLENOID_ACTIVE;
-bool solenoid_on = false;
-bool solenoid_buzz = false;
-bool solenoid_buzzing = false;
-uint16_t solenoid_start = 0;
-uint8_t solenoid_dwell = SOLENOID_DEFAULT_DWELL;
-
-
-void solenoid_buzz_on(void) {
- solenoid_buzz = true;
-}
-
-void solenoid_buzz_off(void) {
- solenoid_buzz = false;
-}
-
-void solenoid_dwell_minus(void) {
- if (solenoid_dwell > 0) solenoid_dwell--;
-}
-
-void solenoid_dwell_plus(void) {
- if (solenoid_dwell < SOLENOID_MAX_DWELL) solenoid_dwell++;
-}
-
-void solenoid_toggle(void) {
- solenoid_enabled = !solenoid_enabled;
-}
-
-void solenoid_stop(void) {
- writePinLow(SOLENOID_PIN);
- solenoid_on = false;
- solenoid_buzzing = false;
-}
-
-void solenoid_fire(void) {
- if (!solenoid_enabled) return;
-
- if (!solenoid_buzz && solenoid_on) return;
- if (solenoid_buzz && solenoid_buzzing) return;
-
- solenoid_on = true;
- solenoid_buzzing = true;
- solenoid_start = timer_read();
- writePinHigh(SOLENOID_PIN);
-}
-
-void solenoid_check(void) {
- uint16_t elapsed = 0;
-
- if (!solenoid_on) return;
-
- elapsed = timer_elapsed(solenoid_start);
-
- //Check if it's time to finish this solenoid click cycle
- if (elapsed > solenoid_dwell) {
- solenoid_stop();
- return;
- }
-
- //Check whether to buzz the solenoid on and off
- if (solenoid_buzz) {
- if (elapsed / SOLENOID_MIN_DWELL % 2 == 0){
- if (!solenoid_buzzing) {
- solenoid_buzzing = true;
- writePinHigh(SOLENOID_PIN);
- }
- }
- else {
- if (solenoid_buzzing) {
- solenoid_buzzing = false;
- writePinLow(SOLENOID_PIN);
- }
- }
- }
-}
-
-void solenoid_setup(void) {
- setPinOutput(SOLENOID_PIN);
-}
-
-#endif