diff options
| -rw-r--r-- | keyboard/ergodox_ez/keymaps/osx_de/keymap.c | 703 | ||||
| -rw-r--r-- | keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png | bin | 263677 -> 189394 bytes | |||
| -rw-r--r-- | keyboard/ergodox_ez/keymaps/osx_de_experimental/keymap.c | 376 | ||||
| -rw-r--r-- | keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png | bin | 0 -> 187629 bytes | |||
| -rw-r--r-- | quantum/keymap_extras/keymap_german_osx.h | 4 |
5 files changed, 689 insertions, 394 deletions
diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c index dc47b8c1e..174f26cbe 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c +++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c | |||
| @@ -1,417 +1,329 @@ | |||
| 1 | #include "ergodox_ez.h" | 1 | #include "ergodox_ez.h" |
| 2 | #include "debug.h" | 2 | #include "debug.h" |
| 3 | #include "action_layer.h" | 3 | #include "action_layer.h" |
| 4 | #include "keymap_extras/keymap_french.h" | ||
| 5 | #include "keymap_extras/keymap_neo2.h" | ||
| 6 | #include "keymap_extras/keymap_uk.h" | ||
| 7 | #include "keymap_extras/keymap_colemak.h" | ||
| 8 | #include "keymap_extras/keymap_french_osx.h" | ||
| 9 | #include "keymap_extras/keymap_nordic.h" | ||
| 10 | #include "keymap_extras/keymap_dvorak.h" | ||
| 11 | #include "keymap_extras/keymap_german.h" | ||
| 12 | #include "keymap_extras/keymap_norwegian.c" | ||
| 13 | #include "keymap_extras/keymap_fr_ch.h" | ||
| 4 | #include "keymap_extras/keymap_german_osx.h" | 14 | #include "keymap_extras/keymap_german_osx.h" |
| 15 | #include "keymap_extras/keymap_spanish.h" | ||
| 16 | #include "keymap_extras/keymap_bepo.h" | ||
| 5 | 17 | ||
| 6 | #define BASE 0 // default layer | 18 | #define BASE 0 |
| 7 | #define SYMB 1 // symbols | 19 | #define SYMB 1 |
| 8 | #define MDIA 2 // media keys | 20 | #define MDIA 2 |
| 9 | #define SMLY 3 // media keys | 21 | #define SMLY 3 |
| 10 | #define NUMB 4 // number keys | 22 | #define NUMB 4 |
| 11 | #define EGOS 5 // Egoshooter layer | 23 | #define EGOS 5 |
| 12 | |||
| 13 | #define M_CTRL_CMDV 1 | ||
| 14 | #define M_CTRL_CMDC 2 | ||
| 15 | #define M_MEH_SH_ACUT 3 | ||
| 16 | #define M_DE_OSX_PLUS_CTRLALT 12 | ||
| 17 | #define M_DE_OSX_CIRC_CTRLCMD 13 | ||
| 18 | #define M_TOGGLE_5 14 | ||
| 19 | #define M_CTL_SFT_HASH 15 | ||
| 20 | #define M_LGUI_SHFT 16 | ||
| 21 | |||
| 22 | #define SM_SMILE 4 | ||
| 23 | #define SM_SMIRK 5 | ||
| 24 | #define SM_FROWN 6 | ||
| 25 | #define SM_CRY 7 | ||
| 26 | #define SM_KISS 8 | ||
| 27 | #define SM_HEART 9 | ||
| 28 | #define SM_LAUGH 10 | ||
| 29 | #define SM_SAD 11 | ||
| 30 | 24 | ||
| 25 | #define M_CTRL_CMDV 0 | ||
| 26 | #define M_CTRL_CMDC 1 | ||
| 27 | #define M_MEH_SH_ACUT 2 | ||
| 28 | #define M_LGUI_SHFT 3 | ||
| 29 | #define M_CTL_SFT_HASH 4 | ||
| 30 | #define M_DE_OSX_CIRC_CTRLCMD 5 | ||
| 31 | #define M_DE_OSX_PLUS_CTRLALT 6 | ||
| 32 | #define SM_SMILE 7 | ||
| 33 | #define SM_SMIRK 8 | ||
| 34 | #define SM_CRY 9 | ||
| 35 | #define SM_SAD 10 | ||
| 36 | #define SM_HEART 11 | ||
| 37 | #define SM_LAUGH 12 | ||
| 38 | #define SM_KISS 13 | ||
| 39 | #define SM_FROWN 14 | ||
| 40 | #define M_TOGGLE_5 15 | ||
| 31 | 41 | ||
| 42 | //Layout keymap.c generated with ErgodoxLayoutGenerator V1.0BETA1 | ||
| 32 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 43 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 33 | /* Keymap 0: Basic layer | 44 | [BASE]=KEYMAP( |
| 34 | * | 45 | //left half |
| 35 | * ,-----------------------------------------------------. ,--------------------------------------------------. | 46 | KC_ESC, DE_OSX_1, DE_OSX_2, DE_OSX_3, DE_OSX_4, DE_OSX_5, M(M_CTL_SFT_HASH), |
| 36 | * | ESC | 1 | 2 | 3 | 4 | 5 |CTL_SFT/#| |CTL_SFT/#| 6 | 7 | 8 | 9 | 0 | ß | | 47 | KC_TAB, DE_OSX_Q, DE_OSX_W, DE_OSX_E, DE_OSX_R, DE_OSX_T, KC_LGUI, |
| 37 | * |--------+------+------+------+------+----------------| |---------+------+------+------+------+------+--------| | 48 | KC_LALT, DE_OSX_A, DE_OSX_S, DE_OSX_D, DE_OSX_F, DE_OSX_G, |
| 38 | * | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü | | 49 | KC_LSFT, CTL_T(DE_OSX_Y), DE_OSX_X, DE_OSX_C, DE_OSX_V, DE_OSX_B, KC_LALT, |
| 39 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | 50 | LT(SYMB,DE_OSX_LESS), M(M_DE_OSX_CIRC_CTRLCMD), M(M_DE_OSX_PLUS_CTRLALT), KC_UP, KC_DOWN, |
| 40 | * | LALT | A | S | D | F | G |---------| |---------| H | J | K | L | ö | ä/RALT| | 51 | M(M_MEH_SH_ACUT), TG(MDIA), |
| 41 | * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------| | 52 | KC_HOME, |
| 42 | * | LShift |Y/Ctrl| X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift | | 53 | KC_BSPC, KC_DEL, LT(SMLY,KC_END), |
| 43 | * `--------+------+------+------+------+----------------' `-------------+------+------+------+------+--------' | 54 | //right half |
| 44 | * |</L1| ^°/CTRL_CMD | +/CTRL_ALT | UP | DOWN| | Left | Right | CMD-SHFT| ALT-SHIFT | +/L1 | | 55 | M(M_CTL_SFT_HASH), DE_OSX_6, DE_OSX_7, DE_OSX_8, DE_OSX_9, DE_OSX_0, DE_OSX_SS, |
| 45 | * `------------------------------------------' `---------------------------------------------' | 56 | KC_RGUI, DE_OSX_Z, DE_OSX_U, DE_OSX_I, DE_OSX_O, DE_OSX_P, DE_OSX_UE, |
| 46 | * ,-------------. ,---------------. | 57 | DE_OSX_H, DE_OSX_J, DE_OSX_K, DE_OSX_L, DE_OSX_OE, ALT_T(DE_OSX_AE), |
| 47 | * |`/Meh | Media| | NUM | ´/Hyper | | 58 | KC_RALT, DE_OSX_N, DE_OSX_M, DE_OSX_COMM, DE_OSX_DOT, CTL_T(DE_OSX_MINS), KC_RSFT, |
| 48 | * ,------|------|------| |------+--------+------. | 59 | KC_LEFT, KC_RIGHT, LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_OSX_PLUS), |
| 49 | * | | | Home | | PgUp | | | | 60 | TG(NUMB), ALL_T(DE_OSX_ACUT), |
| 50 | * | Back-| Del |------| |------| Enter | Space| | 61 | KC_PGUP, |
| 51 | * | Space| | End | | PgDn | | | | 62 | KC_PGDN, KC_ENT, KC_SPC), |
| 52 | * `--------------------' `----------------------' | 63 | [SYMB]=KEYMAP( |
| 53 | */ | 64 | //left half |
| 54 | // If it accepts an argument (i.e, is a function), it doesn't need KC_. | 65 | KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, |
| 55 | // Otherwise, it needs KC_* | 66 | KC_TRNS, DE_OSX_LESS, DE_OSX_MORE, DE_OSX_EXLM, DE_OSX_QST, KC_TRNS, KC_TRNS, |
| 56 | [BASE] = KEYMAP( // layer 0 : default | 67 | KC_TRNS, DE_OSX_HASH, DE_OSX_DLR, DE_OSX_BSLS, DE_OSX_SLSH, KC_DOT, |
| 57 | // left hand | 68 | KC_TRNS, KC_TRNS, DE_OSX_LESS, DE_OSX_PERC, DE_OSX_PIPE, DE_OSX_TILD, KC_TRNS, |
| 58 | KC_ESC, DE_OSX_1, DE_OSX_2, DE_OSX_3, DE_OSX_4, DE_OSX_5, M(M_CTL_SFT_HASH), | 69 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 59 | KC_TAB, DE_OSX_Q, DE_OSX_W, DE_OSX_E, DE_OSX_R, DE_OSX_T, KC_LGUI, | 70 | KC_TRNS, KC_TRNS, |
| 60 | KC_LALT, DE_OSX_A, DE_OSX_S, DE_OSX_D, DE_OSX_F, DE_OSX_G, | 71 | KC_TRNS, |
| 61 | KC_LSFT, CTL_T(DE_OSX_Y), DE_OSX_X, DE_OSX_C, DE_OSX_V, DE_OSX_B, KC_LALT, | 72 | KC_TRNS, KC_DEL, KC_TRNS, |
| 62 | LT(SYMB,DE_OSX_LESS), M(M_DE_OSX_CIRC_CTRLCMD), M(M_DE_OSX_PLUS_CTRLALT), KC_UP, KC_DOWN, | 73 | //right half |
| 63 | M(M_MEH_SH_ACUT), TG(MDIA), | 74 | M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, |
| 64 | KC_HOME, | 75 | KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), DE_OSX_LESS, DE_OSX_MORE, DE_OSX_EXLM, |
| 65 | KC_BSPC,KC_DEL, LT(SMLY,KC_END), | 76 | DE_OSX_SLSH, DE_OSX_LPRN, DE_OSX_RPRN, LALT(KC_8), LALT(KC_9), DE_OSX_HASH, |
| 66 | // right hand | 77 | KC_TRNS, DE_OSX_PIPE, DE_OSX_TILD, DE_OSX_CIRC, KC_UP, DE_OSX_MINS, LSFT(KC_4), |
| 67 | M(M_CTL_SFT_HASH), DE_OSX_6, DE_OSX_7, DE_OSX_8, DE_OSX_9, DE_OSX_0, DE_OSX_SS, | 78 | DE_OSX_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, |
| 68 | KC_RGUI, DE_OSX_Z, DE_OSX_U, DE_OSX_I, DE_OSX_O, DE_OSX_P, DE_OSX_UE, | 79 | KC_F13, KC_F12, |
| 69 | DE_OSX_H, DE_OSX_J, DE_OSX_K, DE_OSX_L, DE_OSX_OE, ALT_T(DE_OSX_AE), | 80 | KC_F14, |
| 70 | KC_RALT, DE_OSX_N, DE_OSX_M, DE_OSX_COMM,DE_OSX_DOT, CTL_T(DE_OSX_MINS), KC_RSFT, | 81 | KC_F15, KC_TRNS, KC_TRNS), |
| 71 | KC_LEFT, KC_RIGHT,LGUI(KC_LSFT),LALT(KC_LSFT), LT(SYMB,DE_OSX_PLUS), | 82 | [MDIA]=KEYMAP( |
| 72 | TG(NUMB), ALL_T(DE_OSX_ACUT), | 83 | //left half |
| 73 | KC_PGUP, | 84 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 74 | KC_PGDN,KC_ENT, KC_SPC | 85 | KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, |
| 75 | ), | 86 | KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, |
| 76 | /* Keymap 1: Symbol Layer | 87 | KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, |
| 77 | * | 88 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 78 | * ,--------------------------------------------------. ,--------------------------------------------------. | 89 | KC_TRNS, KC_TRNS, |
| 79 | * | | F1 | F2 | F3 | F4 | F5 | | | L5 | F6 | F7 | F8 | F9 | F10 | F11 | | 90 | KC_TRNS, |
| 80 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | 91 | KC_TRNS, KC_TRNS, KC_TRNS, |
| 81 | * | | < | > | ! | ? | | | | | \ | [ | ] | < | > | ! | | 92 | //right half |
| 82 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | 93 | KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, |
| 83 | * | | # | $ | \ | / | . |------| |------| / | ( | ) | { | } | # | | 94 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 84 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | 95 | KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 85 | * | | | ^ | % | | | ~ | | | | | | ~ | ^ | UP | | $ | | 96 | KC_TRNS, KC_VOLD, KC_TRNS, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, |
| 86 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | 97 | KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, |
| 87 | * | | | | | | | ' | LEFT| DOWN | RIGHT | | | 98 | KC_TRNS, KC_TRNS, |
| 88 | * `----------------------------------' `----------------------------------' | 99 | KC_TRNS, |
| 89 | * ,-------------. ,-------------. | 100 | KC_TRNS, KC_TRNS, KC_WBAK), |
| 90 | * | | | | F13 | F12 | | 101 | [SMLY]=KEYMAP( |
| 91 | * ,------|------|------| |------+------+------. | 102 | //left half |
| 92 | * | | | | | F14 | | | | 103 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 93 | * | | |------| |------| | | | 104 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 94 | * | | | | | F15 | | | | 105 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 95 | * `--------------------' `--------------------' | 106 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 96 | */ | 107 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 97 | // SYMBOLS | 108 | KC_TRNS, KC_TRNS, |
| 98 | [SYMB] = KEYMAP( | 109 | KC_TRNS, |
| 99 | // left hand | 110 | KC_TRNS, KC_TRNS, KC_TRNS, |
| 100 | KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, | 111 | //right half |
| 101 | KC_TRNS,DE_OSX_LESS,DE_OSX_MORE,DE_OSX_EXLM,DE_OSX_QST, KC_TRNS,KC_TRNS, | 112 | M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 102 | KC_TRNS,DE_OSX_HASH,DE_OSX_DLR, DE_OSX_BSLS,DE_OSX_SLSH,KC_DOT, | 113 | KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS, |
| 103 | KC_TRNS,KC_TRNS,DE_OSX_LESS,DE_OSX_PERC,DE_OSX_PIPE,DE_OSX_TILD,KC_TRNS, | 114 | M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 104 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 115 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 105 | KC_TRNS,KC_TRNS, | 116 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 106 | KC_TRNS, | 117 | KC_TRNS, KC_TRNS, |
| 107 | KC_TRNS,KC_DEL,KC_TRNS, | 118 | KC_TRNS, |
| 108 | // right hand | 119 | KC_TRNS, KC_TRNS, KC_TRNS), |
| 109 | M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, | 120 | [NUMB]=KEYMAP( |
| 110 | KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), DE_OSX_LESS, DE_OSX_MORE, DE_OSX_EXLM, | 121 | //left half |
| 111 | DE_OSX_SLSH, DE_OSX_LPRN, DE_OSX_RPRN, LALT(KC_8), LALT(KC_9), DE_OSX_HASH, | 122 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 112 | KC_TRNS, DE_OSX_PIPE, DE_OSX_TILD, DE_OSX_CIRC, KC_UP, DE_OSX_MINS, LSFT(KC_4), | 123 | KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, |
| 113 | DE_OSX_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, | 124 | KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, |
| 114 | KC_F13, KC_F12, | 125 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 115 | KC_F14, | 126 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 116 | KC_F15, KC_TRNS, KC_TRNS | 127 | KC_TRNS, KC_TRNS, |
| 117 | ), | 128 | KC_TRNS, |
| 118 | /* Keymap 2: Media and mouse keys | 129 | KC_TRNS, KC_TRNS, KC_TRNS, |
| 119 | * | 130 | //right half |
| 120 | * ,--------------------------------------------------. ,--------------------------------------------------. | 131 | KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, |
| 121 | * | | | | | | | | | Mute | | | | | | EGOS | | 132 | KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, |
| 122 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | 133 | KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_OSX_MINS, |
| 123 | * | | | Lclk | MsUp | Rclk | WlUp | | | | | | | | | | | 134 | KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, |
| 124 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | 135 | KC_0, KC_DOT, KC_COMM, DE_OSX_EQL, KC_TRNS, |
| 125 | * | | |MsLeft|MsDown|MsRght| WlDw |------| |------|VolUp | | | | | | | 136 | KC_TRNS, KC_TRNS, |
| 126 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | 137 | KC_TRNS, |
| 127 | * | | | | | | MClk | | | |VolDn | | Prev | Next | Up | | | 138 | KC_TRNS, KC_TRNS, KC_TRNS), |
| 128 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | 139 | [EGOS]=KEYMAP( |
| 129 | * | | | | | | | | | Left | Down | Right | | 140 | //left half |
| 130 | * `----------------------------------' `----------------------------------' | 141 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 131 | * ,-------------. ,-------------. | 142 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 132 | * | | | | | | | 143 | KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 133 | * ,------|------|------| |------+------+------. | 144 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 134 | * | | | | | | |Brwser| | 145 | KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 135 | * | | |------| |------| |Back | | 146 | KC_F1, KC_F2, |
| 136 | * | | | | | | | | | 147 | KC_F3, |
| 137 | * `--------------------' `--------------------' | 148 | KC_SPC, KC_LCTL, KC_F4, |
| 138 | */ | 149 | //right half |
| 139 | // MEDIA AND MOUSE | 150 | M(M_TOGGLE_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 140 | [MDIA] = KEYMAP( | 151 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 141 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 152 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 142 | KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, | 153 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 143 | KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, | 154 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 144 | KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, | 155 | KC_TRNS, KC_TRNS, |
| 145 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | 156 | KC_TRNS, |
| 146 | KC_TRNS, KC_TRNS, | 157 | KC_TRNS, KC_TRNS, KC_TRNS), |
| 147 | KC_TRNS, | ||
| 148 | KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 149 | // right hand | ||
| 150 | KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, | ||
| 151 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 152 | KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 153 | KC_TRNS, KC_VOLD, KC_TRNS, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, | ||
| 154 | KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, | ||
| 155 | KC_TRNS, KC_TRNS, | ||
| 156 | KC_TRNS, | ||
| 157 | KC_TRNS, KC_TRNS, KC_WBAK | ||
| 158 | ), | ||
| 159 | /* Keymap 3: Smiley layer | ||
| 160 | * making it easier to type smileys... tipp: on osx you can easily replace those smileys with the UTF-8 character using | ||
| 161 | * keyboard short commands... | ||
| 162 | * | ||
| 163 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 164 | * | | | | | | | | | :-) | ;-) | :-D | | | | | | ||
| 165 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 166 | * | | | | | | | | | | :-{ | :-( | | | | | | ||
| 167 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 168 | * | | | | | | |------| |------| <3 | :-* | | | | | | ||
| 169 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 170 | * | | | | | | | | | | | | | | | | | ||
| 171 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 172 | * | | | | | | | | | | | r| | ||
| 173 | * `----------------------------------' `----------------------------------' | ||
| 174 | * ,-------------. ,-------------. | ||
| 175 | * | | | | | | | ||
| 176 | * ,------|------|------| |------+--------+------. | ||
| 177 | * | | | | | | | | | ||
| 178 | * | | |------| |------| | | | ||
| 179 | * | | | | | | | | | ||
| 180 | * `--------------------' `----------------------' | ||
| 181 | */ | ||
| 182 | [SMLY] = KEYMAP( | ||
| 183 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 184 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 185 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 186 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 187 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 188 | KC_TRNS, KC_TRNS, | ||
| 189 | KC_TRNS, | ||
| 190 | KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 191 | // right hand | ||
| 192 | M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 193 | KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 194 | M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 195 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 196 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 197 | KC_TRNS, KC_TRNS, | ||
| 198 | KC_TRNS, | ||
| 199 | KC_TRNS, KC_TRNS, KC_TRNS | ||
| 200 | ), | ||
| 201 | //number pad | ||
| 202 | [NUMB] = KEYMAP( | ||
| 203 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 204 | KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 205 | KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, | ||
| 206 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 207 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 208 | KC_TRNS, KC_TRNS, | ||
| 209 | KC_TRNS, | ||
| 210 | KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 211 | // right hand | ||
| 212 | KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, | ||
| 213 | KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, | ||
| 214 | KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_OSX_MINS, | ||
| 215 | KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, | ||
| 216 | KC_0,KC_DOT, KC_COMM, DE_OSX_EQL, KC_TRNS, | ||
| 217 | KC_TRNS, KC_TRNS, | ||
| 218 | KC_TRNS, | ||
| 219 | KC_TRNS, KC_TRNS, KC_TRNS | ||
| 220 | ), | ||
| 221 | |||
| 222 | /* Keymap 3: Egoshooter layer | ||
| 223 | * | ||
| 224 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 225 | * | | | | | | | | | L5 | | | | | | | | ||
| 226 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 227 | * | | | | | | | | | | | | | | | | | ||
| 228 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 229 | * | SHIFT | | | | | |------| |------| | | | | | | | ||
| 230 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 231 | * | | | | | | | | | | | | | | | | | ||
| 232 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 233 | * | CTRL | | | | | | | | | | | | ||
| 234 | * `----------------------------------' `----------------------------------' | ||
| 235 | * ,-------------. ,-------------. | ||
| 236 | * | F1 | F2 | | | | | ||
| 237 | * ,------|------|------| |------+--------+------. | ||
| 238 | * | | | F3 | | | | | | ||
| 239 | * | SPACE| CTRL|------| |------| | | | ||
| 240 | * | | | F4 | | | | | | ||
| 241 | * `--------------------' `----------------------' | ||
| 242 | */ | ||
| 243 | [EGOS] = KEYMAP( | ||
| 244 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 245 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 246 | KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 247 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 248 | KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 249 | KC_F1, KC_F2, | ||
| 250 | KC_F3, | ||
| 251 | KC_SPC, KC_LCTL, KC_F4, | ||
| 252 | // right hand | ||
| 253 | M(M_TOGGLE_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 254 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 255 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 256 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 257 | KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 258 | KC_TRNS, KC_TRNS, | ||
| 259 | KC_TRNS, | ||
| 260 | KC_TRNS, KC_TRNS, KC_TRNS | ||
| 261 | ), | ||
| 262 | }; | 158 | }; |
| 263 | 159 | ||
| 264 | const uint16_t PROGMEM fn_actions[] = { | 160 | const uint16_t PROGMEM fn_actions[] = { |
| 265 | [1] = ACTION_LAYER_TAP_TOGGLE(SYMB), // FN1 - Momentary Layer 1 (Symbols) | 161 | |
| 266 | [2] = ACTION_LAYER_TAP_TOGGLE(SMLY) // FN2 - Momentary Layer 2 (Smiley) | ||
| 267 | }; | 162 | }; |
| 268 | 163 | ||
| 269 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | 164 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) |
| 270 | { | 165 | { |
| 271 | static uint16_t start; | 166 | static uint16_t start; |
| 272 | // MACRODOWN only works in this function | 167 | switch(id) { |
| 273 | switch(id) { | 168 | case M_TOGGLE_5: |
| 274 | case M_CTRL_CMDV: | 169 | //Macro: M_TOGGLE_5//----------------------- |
| 275 | //Macro description: long press CTRL, type CMD-V | 170 | if (record->event.pressed){ |
| 276 | //Macro type: LT | 171 | layer_state ^= (1<<5); |
| 277 | if (record->event.pressed) { | 172 | layer_state &= (1<<5); |
| 278 | start = timer_read(); | 173 | } |
| 279 | return MACRO(D(LCTRL), END); | 174 | |
| 280 | } else { | 175 | break; |
| 281 | if (timer_elapsed(start) > 150) { | 176 | case M_CTRL_CMDC: |
| 282 | return MACRO(U(LCTRL), END); | 177 | //Macro: M_CTRL_CMDC//----------------------- |
| 283 | } else { | 178 | if (record->event.pressed) { |
| 284 | return MACRO(U(LCTRL), D(LGUI), T(V), U(LGUI), END); | ||
| 285 | } | ||
| 286 | } | ||
| 287 | break; | ||
| 288 | //End Macro | ||
| 289 | case M_CTRL_CMDC: | ||
| 290 | //Macro description: | ||
| 291 | //Macro type: LT | ||
| 292 | if (record->event.pressed) { | ||
| 293 | start = timer_read(); | 179 | start = timer_read(); |
| 294 | return MACRO(D(LCTRL),END); | 180 | return MACRO(D(LCTRL),END); |
| 295 | } else { | 181 | } else { |
| 296 | if (timer_elapsed(start) > 150){ | 182 | if (timer_elapsed(start) >150) { |
| 297 | return MACRO(U(LCTRL),END); | 183 | return MACRO(U(LCTRL),END); |
| 298 | } else { | 184 | } else { |
| 299 | return MACRO(U(LCTRL),D(LGUI),T(C),U(LGUI),END); | 185 | return MACRO(U(LCTRL),D(LGUI),T(C),U(LGUI),END); |
| 300 | } | 186 | } |
| 301 | } | 187 | } |
| 302 | break; | 188 | |
| 303 | case M_MEH_SH_ACUT: | 189 | break; |
| 304 | if (record->event.pressed) { | 190 | case M_DE_OSX_PLUS_CTRLALT: |
| 191 | //Macro: M_DE_OSX_PLUS_CTRLALT//----------------------- | ||
| 192 | if (record->event.pressed) { | ||
| 305 | start = timer_read(); | 193 | start = timer_read(); |
| 306 | return MACRO(D(LCTRL),D(LSFT),D(LALT),END); | 194 | return MACRO(D(LCTRL),D(LALT),END); |
| 307 | } else { | 195 | } else { |
| 308 | if (timer_elapsed(start) > 150){ | 196 | if (timer_elapsed(start) >150) { |
| 309 | return MACRO(U(LCTRL),U(LSFT),U(LALT),END); | 197 | return MACRO(U(LCTRL),U(LALT),END); |
| 310 | } else { | 198 | } else { |
| 311 | return MACRO(U(LCTRL),U(LALT),T(EQL),U(LSFT),END); //cannot use DE_OSX_ACUT here, as macro needs KC_ prefix | 199 | return MACRO(U(LCTRL),U(LALT),T(RBRC),END); |
| 312 | } | 200 | } |
| 313 | } | 201 | } |
| 314 | break; | 202 | |
| 315 | 203 | break; | |
| 316 | case M_LGUI_SHFT: | 204 | case SM_KISS: |
| 317 | if (record->event.pressed){ | 205 | //Macro: SM_KISS//----------------------- |
| 206 | if (record->event.pressed) { | ||
| 207 | return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(RBRC),U(LSFT),END); | ||
| 208 | } | ||
| 209 | |||
| 210 | break; | ||
| 211 | case SM_FROWN: | ||
| 212 | //Macro: SM_FROWN//----------------------- | ||
| 213 | if (record->event.pressed) { | ||
| 214 | return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LALT),T(8),U(LALT),END); | ||
| 215 | } | ||
| 216 | |||
| 217 | break; | ||
| 218 | case SM_CRY: | ||
| 219 | //Macro: SM_CRY//----------------------- | ||
| 220 | if (record->event.pressed) { | ||
| 221 | return MACRO(D(LSFT),T(COMM),U(LSFT),T(SLSH),D(LSFT),T(8),U(LSFT),END); | ||
| 222 | } | ||
| 223 | |||
| 224 | break; | ||
| 225 | case SM_SMILE: | ||
| 226 | //Macro: SM_SMILE//----------------------- | ||
| 227 | if (record->event.pressed) { | ||
| 228 | return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(9),U(LSFT),END); | ||
| 229 | } | ||
| 230 | |||
| 231 | break; | ||
| 232 | case SM_SMIRK: | ||
| 233 | //Macro: SM_SMIRK//----------------------- | ||
| 234 | if (record->event.pressed) { | ||
| 235 | return MACRO(D(LSFT),T(COMM),U(LSFT),T(SLSH),D(LSFT),T(9),U(LSFT),END); | ||
| 236 | } | ||
| 237 | |||
| 238 | break; | ||
| 239 | case M_LGUI_SHFT: | ||
| 240 | //Macro: M_LGUI_SHFT//----------------------- | ||
| 241 | if (record->event.pressed){ | ||
| 318 | return MACRO(D(LGUI),D(LSFT),END); | 242 | return MACRO(D(LGUI),D(LSFT),END); |
| 319 | }else{ | 243 | }else{ |
| 320 | return MACRO(U(LGUI),U(LSFT),END); | 244 | return MACRO(U(LGUI),U(LSFT),END); |
| 321 | } | 245 | } |
| 322 | break; | 246 | |
| 323 | case M_CTL_SFT_HASH: | 247 | break; |
| 324 | if (record->event.pressed) { | 248 | case SM_HEART: |
| 325 | start=timer_read(); | 249 | //Macro: SM_HEART//----------------------- |
| 326 | return MACRO(D(LCTRL),D(LSFT),END); | 250 | if (record->event.pressed) { |
| 251 | return MACRO(T(GRV),T(3),END); | ||
| 252 | } | ||
| 253 | |||
| 254 | break; | ||
| 255 | case SM_LAUGH: | ||
| 256 | //Macro: SM_LAUGH//----------------------- | ||
| 257 | if (record->event.pressed) { | ||
| 258 | return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(D),U(LSFT),END); | ||
| 259 | } | ||
| 260 | |||
| 261 | break; | ||
| 262 | case M_CTL_SFT_HASH: | ||
| 263 | //Macro: M_CTL_SFT_HASH//----------------------- | ||
| 264 | if (record->event.pressed) { | ||
| 265 | start = timer_read(); | ||
| 266 | return MACRO(D(LCTRL),D(LSFT),END); | ||
| 327 | } else { | 267 | } else { |
| 328 | if (timer_elapsed(start) > 150){ | 268 | if (timer_elapsed(start) >150) { |
| 329 | return MACRO(U(LCTRL),U(LSFT),END); | 269 | return MACRO(U(LCTRL),U(LSFT),END); |
| 330 | } else { | 270 | } else { |
| 331 | return MACRO(U(LCTRL),U(LSFT),T(BSLS),END); | 271 | return MACRO(U(LCTRL),U(LSFT),T(BSLS),END); |
| 332 | } | 272 | } |
| 333 | } | 273 | } |
| 334 | break; | 274 | |
| 335 | case M_DE_OSX_CIRC_CTRLCMD: | 275 | break; |
| 336 | if (record->event.pressed) { | 276 | case SM_SAD: |
| 277 | //Macro: SM_SAD//----------------------- | ||
| 278 | if (record->event.pressed) { | ||
| 279 | return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(8),U(LSFT),END); | ||
| 280 | } | ||
| 281 | |||
| 282 | break; | ||
| 283 | case M_DE_OSX_CIRC_CTRLCMD: | ||
| 284 | //Macro: M_DE_OSX_CIRC_CTRLCMD//----------------------- | ||
| 285 | if (record->event.pressed) { | ||
| 337 | start = timer_read(); | 286 | start = timer_read(); |
| 338 | return MACRO(D(LCTRL),D(LGUI),END); | 287 | return MACRO(D(LCTRL),D(LGUI),END); |
| 339 | } else { | 288 | } else { |
| 340 | if (timer_elapsed(start) > 150){ | 289 | if (timer_elapsed(start) >150) { |
| 341 | return MACRO(U(LCTRL),U(LGUI),END); | 290 | return MACRO(U(LCTRL),U(LGUI),END); |
| 342 | } else { | 291 | } else { |
| 343 | return MACRO(U(LCTRL),U(LGUI),T(NUBS),END); | 292 | return MACRO(U(LCTRL),U(LGUI),T(NUBS),END); |
| 344 | } | 293 | } |
| 345 | } | 294 | } |
| 346 | break; | 295 | |
| 347 | case M_DE_OSX_PLUS_CTRLALT: | 296 | break; |
| 348 | if (record->event.pressed) { | 297 | case M_CTRL_CMDV: |
| 298 | //Macro: M_CTRL_CMDV//----------------------- | ||
| 299 | if (record->event.pressed) { | ||
| 349 | start = timer_read(); | 300 | start = timer_read(); |
| 350 | return MACRO(D(LCTRL),D(LALT),END); | 301 | return MACRO(D(LCTRL),END); |
| 351 | } else { | 302 | } else { |
| 352 | if (timer_elapsed(start) > 150){ | 303 | if (timer_elapsed(start) >150) { |
| 353 | return MACRO(U(LCTRL),U(LALT),END); | 304 | return MACRO(U(LCTRL),END); |
| 354 | } else { | 305 | } else { |
| 355 | return MACRO(U(LCTRL),U(LALT),T(RBRC),END); | 306 | return MACRO(U(LCTRL),D(LGUI),T(V),U(LGUI),END); |
| 356 | } | 307 | } |
| 357 | } | 308 | } |
| 358 | break; | ||
| 359 | case SM_SMILE: | ||
| 360 | //MAcro description: :-) | ||
| 361 | //Macro type: MACRO | ||
| 362 | if (record->event.pressed) { | ||
| 363 | return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(9),U(LSFT),END); | ||
| 364 | } | ||
| 365 | break; | ||
| 366 | 309 | ||
| 367 | case SM_SMIRK: | 310 | break; |
| 368 | if (record->event.pressed) { | 311 | case M_MEH_SH_ACUT: |
| 369 | return MACRO(D(LSFT),T(COMM),U(LSFT),T(SLSH),D(LSFT),T(9),U(LSFT),END); | 312 | //Macro: M_MEH_SH_ACUT//----------------------- |
| 370 | } | 313 | if (record->event.pressed) { |
| 371 | break; | 314 | start = timer_read(); |
| 372 | case SM_CRY: | 315 | return MACRO(D(LCTRL),D(LSFT),D(LALT),END); |
| 373 | if (record->event.pressed) { | 316 | } else { |
| 374 | return MACRO(D(LSFT),T(COMM),U(LSFT),T(SLSH),D(LSFT),T(8),U(LSFT),END); | 317 | if (timer_elapsed(start) >150) { |
| 375 | } | 318 | return MACRO(U(LCTRL),U(LSFT),U(LALT),END); |
| 376 | break; | 319 | } else { |
| 377 | 320 | return MACRO(U(LCTRL),U(LALT),T(EQL),U(LSFT),END); | |
| 378 | case SM_SAD: | 321 | } |
| 379 | if (record->event.pressed) { | ||
| 380 | return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(8),U(LSFT),END); | ||
| 381 | } | ||
| 382 | break; | ||
| 383 | |||
| 384 | case SM_HEART: | ||
| 385 | if (record->event.pressed) { | ||
| 386 | return MACRO(T(GRV),T(3),END); | ||
| 387 | } | ||
| 388 | break; | ||
| 389 | case SM_LAUGH: | ||
| 390 | if (record->event.pressed) { | ||
| 391 | return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(D),U(LSFT),END); | ||
| 392 | } | ||
| 393 | break; | ||
| 394 | case SM_KISS: | ||
| 395 | if (record->event.pressed) { | ||
| 396 | return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(RBRC),U(LSFT),END); | ||
| 397 | } | ||
| 398 | break; | ||
| 399 | case SM_FROWN: | ||
| 400 | if (record->event.pressed) { | ||
| 401 | return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LALT),T(8),U(LALT),END); | ||
| 402 | } | 322 | } |
| 403 | break; | 323 | |
| 404 | case M_TOGGLE_5: | 324 | break; |
| 405 | //Macro description: Toggle LAyer 5 (Egoshooter) | 325 | } |
| 406 | //Macro type: LToggle | 326 | return MACRO_NONE; |
| 407 | if (record->event.pressed){ | ||
| 408 | layer_state ^= (1<<5); | ||
| 409 | layer_state &= (1<<5); | ||
| 410 | } | ||
| 411 | break; | ||
| 412 | //Macro End | ||
| 413 | } | ||
| 414 | return MACRO_NONE; | ||
| 415 | }; | 327 | }; |
| 416 | 328 | ||
| 417 | // Runs just one time when the keyboard initializes. | 329 | // Runs just one time when the keyboard initializes. |
| @@ -422,36 +334,43 @@ void matrix_init_user(void) { | |||
| 422 | // Runs constantly in the background, in a loop. | 334 | // Runs constantly in the background, in a loop. |
| 423 | void matrix_scan_user(void) { | 335 | void matrix_scan_user(void) { |
| 424 | 336 | ||
| 425 | uint8_t layer = biton32(layer_state); | 337 | uint8_t layer = biton32(layer_state); |
| 426 | 338 | ||
| 427 | ergodox_board_led_off(); | 339 | ergodox_board_led_off(); |
| 428 | ergodox_right_led_1_off(); | 340 | ergodox_right_led_1_off(); |
| 429 | ergodox_right_led_2_off(); | 341 | ergodox_right_led_2_off(); |
| 430 | ergodox_right_led_3_off(); | 342 | ergodox_right_led_3_off(); |
| 431 | switch (layer) { | 343 | switch (layer) { |
| 432 | // TODO: Make this relevant to the ErgoDox EZ. | 344 | |
| 433 | case SYMB: | 345 | case SYMB: |
| 434 | ergodox_right_led_1_on(); | 346 | ergodox_right_led_1_on(); |
| 435 | break; | 347 | |
| 436 | case MDIA: | 348 | |
| 437 | ergodox_right_led_2_on(); | 349 | break; |
| 438 | break; | 350 | case MDIA: |
| 439 | case SMLY: | 351 | |
| 440 | ergodox_right_led_3_on(); | 352 | ergodox_right_led_2_on(); |
| 441 | break; | 353 | |
| 442 | case NUMB: | 354 | break; |
| 443 | ergodox_right_led_1_on(); | 355 | case SMLY: |
| 444 | ergodox_right_led_3_on(); | 356 | |
| 445 | //ergodox_board_led_on(); | 357 | |
| 446 | break; | 358 | ergodox_right_led_3_on(); |
| 447 | case EGOS: | 359 | break; |
| 448 | ergodox_right_led_1_on(); | 360 | case NUMB: |
| 449 | ergodox_right_led_2_on(); | 361 | ergodox_right_led_1_on(); |
| 450 | ergodox_right_led_3_on(); | 362 | |
| 451 | break; | 363 | ergodox_right_led_3_on(); |
| 452 | default: | 364 | break; |
| 453 | // none | 365 | case EGOS: |
| 454 | break; | 366 | ergodox_right_led_1_on(); |
| 455 | } | 367 | ergodox_right_led_2_on(); |
| 368 | ergodox_right_led_3_on(); | ||
| 369 | break; | ||
| 370 | default: | ||
| 371 | // none | ||
| 372 | break; | ||
| 373 | } | ||
| 456 | 374 | ||
| 457 | }; | 375 | }; |
| 376 | |||
diff --git a/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png b/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png index 30355c55a..9249f3d2d 100644 --- a/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png +++ b/keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.png | |||
| Binary files differ | |||
diff --git a/keyboard/ergodox_ez/keymaps/osx_de_experimental/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de_experimental/keymap.c new file mode 100644 index 000000000..dbc3eb990 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/osx_de_experimental/keymap.c | |||
| @@ -0,0 +1,376 @@ | |||
| 1 | #include "ergodox_ez.h" | ||
| 2 | #include "debug.h" | ||
| 3 | #include "action_layer.h" | ||
| 4 | #include "keymap_extras/keymap_french.h" | ||
| 5 | #include "keymap_extras/keymap_neo2.h" | ||
| 6 | #include "keymap_extras/keymap_uk.h" | ||
| 7 | #include "keymap_extras/keymap_colemak.h" | ||
| 8 | #include "keymap_extras/keymap_french_osx.h" | ||
| 9 | #include "keymap_extras/keymap_nordic.h" | ||
| 10 | #include "keymap_extras/keymap_dvorak.h" | ||
| 11 | #include "keymap_extras/keymap_german.h" | ||
| 12 | #include "keymap_extras/keymap_norwegian.c" | ||
| 13 | #include "keymap_extras/keymap_fr_ch.h" | ||
| 14 | #include "keymap_extras/keymap_german_osx.h" | ||
| 15 | #include "keymap_extras/keymap_spanish.h" | ||
| 16 | #include "keymap_extras/keymap_bepo.h" | ||
| 17 | |||
| 18 | #define BASE 0 | ||
| 19 | #define SYMB 1 | ||
| 20 | #define MDIA 2 | ||
| 21 | #define SMLY 3 | ||
| 22 | #define NUMB 4 | ||
| 23 | #define EGOS 5 | ||
| 24 | |||
| 25 | #define M_TOGGLE_5 0 | ||
| 26 | #define M_CTRL_CMDC 1 | ||
| 27 | #define M_DE_OSX_PLUS_CTRLALT 2 | ||
| 28 | #define SM_KISS 3 | ||
| 29 | #define SM_FROWN 4 | ||
| 30 | #define SM_CRY 5 | ||
| 31 | #define SM_SMILE 6 | ||
| 32 | #define SM_SMIRK 7 | ||
| 33 | #define M_LGUI_SHFT 8 | ||
| 34 | #define SM_HEART 9 | ||
| 35 | #define SM_LAUGH 10 | ||
| 36 | #define M_CTL_SFT_HASH 11 | ||
| 37 | #define SM_SAD 12 | ||
| 38 | #define M_DE_OSX_CIRC_CTRLCMD 13 | ||
| 39 | #define M_CTRL_CMDV 14 | ||
| 40 | #define M_MEH_SH_ACUT 15 | ||
| 41 | |||
| 42 | //Layout keymap.c generated with ErgodoxLayoutGenerator V1.0BETA1 | ||
| 43 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 44 | [BASE]=KEYMAP( | ||
| 45 | //left half | ||
| 46 | KC_ESC, DE_OSX_1, DE_OSX_2, DE_OSX_3, DE_OSX_4, DE_OSX_5, TG(NUMB), | ||
| 47 | KC_TAB, DE_OSX_Q, DE_OSX_W, DE_OSX_E, DE_OSX_R, DE_OSX_T, KC_LGUI, | ||
| 48 | KC_LALT, DE_OSX_A, DE_OSX_S, DE_OSX_D, DE_OSX_F, DE_OSX_G, | ||
| 49 | KC_LSFT, CTL_T(DE_OSX_Y), DE_OSX_X, DE_OSX_C, DE_OSX_V, DE_OSX_B, KC_LALT, | ||
| 50 | LT(SYMB,DE_OSX_LESS), M(M_DE_OSX_CIRC_CTRLCMD), M(M_DE_OSX_PLUS_CTRLALT), M(M_CTL_SFT_HASH), KC_LCTRL, | ||
| 51 | KC_HOME, KC_END, | ||
| 52 | KC_PGUP, | ||
| 53 | KC_BSPC, KC_DEL, KC_PGDN, | ||
| 54 | //right half | ||
| 55 | TG(MDIA), DE_OSX_6, DE_OSX_7, DE_OSX_8, DE_OSX_9, DE_OSX_0, DE_OSX_SS, | ||
| 56 | KC_RGUI, DE_OSX_Z, DE_OSX_U, DE_OSX_I, DE_OSX_O, DE_OSX_P, DE_OSX_UE, | ||
| 57 | DE_OSX_H, DE_OSX_J, DE_OSX_K, DE_OSX_L, DE_OSX_OE, ALT_T(DE_OSX_AE), | ||
| 58 | KC_RALT, DE_OSX_N, DE_OSX_M, DE_OSX_COMM, DE_OSX_DOT, CTL_T(DE_OSX_MINS), KC_RSFT, | ||
| 59 | M(M_MEH_SH_ACUT), ALL_T(DE_OSX_ACUT), LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_OSX_PLUS), | ||
| 60 | KC_LEFT, KC_RIGHT, | ||
| 61 | KC_UP, | ||
| 62 | KC_DOWN, KC_ENT, KC_SPC), | ||
| 63 | [SYMB]=KEYMAP( | ||
| 64 | //left half | ||
| 65 | KC_APPLICATION, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F5, | ||
| 66 | KC_TRNS, DE_OSX_LESS, DE_OSX_MORE, DE_OSX_EXLM, DE_OSX_QST, KC_TRNS, KC_TRNS, | ||
| 67 | KC_TRNS, DE_OSX_HASH, DE_OSX_DLR, DE_OSX_BSLS, DE_OSX_SLSH, KC_DOT, | ||
| 68 | KC_TRNS, KC_TRNS, DE_OSX_LESS, DE_OSX_PERC, DE_OSX_PIPE, DE_OSX_TILD, KC_TRNS, | ||
| 69 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 70 | KC_TRNS, KC_TRNS, | ||
| 71 | KC_TRNS, | ||
| 72 | KC_TRNS, KC_DEL, KC_TRNS, | ||
| 73 | //right half | ||
| 74 | KC_F6, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, | ||
| 75 | KC_TRNS, DE_OSX_BSLS, DE_OSX_LBRC, DE_OSX_RBRC, DE_OSX_LESS, DE_OSX_MORE, DE_OSX_EXLM, | ||
| 76 | DE_OSX_SLSH, DE_OSX_LPRN, DE_OSX_RPRN, DE_OSX_LCBR, DE_OSX_RCBR, DE_OSX_HASH, | ||
| 77 | KC_TRNS, DE_OSX_PIPE, DE_OSX_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 78 | DE_OSX_QUOT, DE_OSX_DQOT, KC_TRNS, M(M_TOGGLE_5), KC_TRNS, | ||
| 79 | KC_F13, KC_F12, | ||
| 80 | KC_F14, | ||
| 81 | KC_F15, KC_TRNS, KC_TRNS), | ||
| 82 | [MDIA]=KEYMAP( | ||
| 83 | //left half | ||
| 84 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 85 | KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, | ||
| 86 | KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, | ||
| 87 | KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, | ||
| 88 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 89 | KC_TRNS, KC_TRNS, | ||
| 90 | KC_TRNS, | ||
| 91 | KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 92 | //right half | ||
| 93 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, | ||
| 94 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 95 | KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 96 | KC_TRNS, KC_VOLD, KC_TRNS, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, | ||
| 97 | KC_MUTE, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, | ||
| 98 | KC_TRNS, KC_TRNS, | ||
| 99 | KC_TRNS, | ||
| 100 | KC_TRNS, KC_TRNS, KC_WBAK), | ||
| 101 | [SMLY]=KEYMAP( | ||
| 102 | //left half | ||
| 103 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 104 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 105 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 106 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 107 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 108 | KC_TRNS, KC_TRNS, | ||
| 109 | KC_TRNS, | ||
| 110 | KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 111 | //right half | ||
| 112 | M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 113 | KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 114 | M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 115 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 116 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 117 | KC_TRNS, KC_TRNS, | ||
| 118 | KC_TRNS, | ||
| 119 | KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 120 | [NUMB]=KEYMAP( | ||
| 121 | //left half | ||
| 122 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 123 | KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 124 | KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, | ||
| 125 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 126 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 127 | KC_TRNS, KC_TRNS, | ||
| 128 | KC_TRNS, | ||
| 129 | KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 130 | //right half | ||
| 131 | KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, | ||
| 132 | KC_TRNS, DE_OSX_SLSH, KC_7, KC_8, KC_9, DE_OSX_ASTR, KC_F12, | ||
| 133 | DE_OSX_SLSH, KC_4, KC_5, KC_6, DE_OSX_PLUS, DE_OSX_MINS, | ||
| 134 | KC_TRNS, DE_OSX_PERC, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, | ||
| 135 | KC_0, KC_DOT, KC_COMM, DE_OSX_EQL, KC_TRNS, | ||
| 136 | KC_TRNS, KC_TRNS, | ||
| 137 | KC_TRNS, | ||
| 138 | KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 139 | [EGOS]=KEYMAP( | ||
| 140 | //left half | ||
| 141 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 142 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 143 | KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 144 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 145 | KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 146 | KC_F1, KC_F2, | ||
| 147 | KC_F3, | ||
| 148 | KC_SPC, KC_LCTL, KC_F4, | ||
| 149 | //right half | ||
| 150 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 151 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 152 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 153 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 154 | KC_TRNS, KC_TRNS, KC_TRNS, M(M_TOGGLE_5), KC_TRNS, | ||
| 155 | KC_TRNS, KC_TRNS, | ||
| 156 | KC_TRNS, | ||
| 157 | KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 158 | }; | ||
| 159 | |||
| 160 | const uint16_t PROGMEM fn_actions[] = { | ||
| 161 | |||
| 162 | }; | ||
| 163 | |||
| 164 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | ||
| 165 | { | ||
| 166 | static uint16_t start; | ||
| 167 | switch(id) { | ||
| 168 | case M_TOGGLE_5: | ||
| 169 | //Macro: M_TOGGLE_5//----------------------- | ||
| 170 | if (record->event.pressed){ | ||
| 171 | layer_state ^= (1<<5); | ||
| 172 | layer_state &= (1<<5); | ||
| 173 | } | ||
| 174 | |||
| 175 | break; | ||
| 176 | case M_CTRL_CMDC: | ||
| 177 | //Macro: M_CTRL_CMDC//----------------------- | ||
| 178 | if (record->event.pressed) { | ||
| 179 | start = timer_read(); | ||
| 180 | return MACRO(D(LCTRL),END); | ||
| 181 | } else { | ||
| 182 | if (timer_elapsed(start) >150) { | ||
| 183 | return MACRO(U(LCTRL),END); | ||
| 184 | } else { | ||
| 185 | return MACRO(U(LCTRL),D(LGUI),T(C),U(LGUI),END); | ||
| 186 | } | ||
| 187 | } | ||
| 188 | |||
| 189 | break; | ||
| 190 | case M_DE_OSX_PLUS_CTRLALT: | ||
| 191 | //Macro: M_DE_OSX_PLUS_CTRLALT//----------------------- | ||
| 192 | if (record->event.pressed) { | ||
| 193 | start = timer_read(); | ||
| 194 | return MACRO(D(LCTRL),D(LALT),END); | ||
| 195 | } else { | ||
| 196 | if (timer_elapsed(start) >150) { | ||
| 197 | return MACRO(U(LCTRL),U(LALT),END); | ||
| 198 | } else { | ||
| 199 | return MACRO(U(LCTRL),U(LALT),T(RBRC),END); | ||
| 200 | } | ||
| 201 | } | ||
| 202 | |||
| 203 | break; | ||
| 204 | case SM_KISS: | ||
| 205 | //Macro: SM_KISS//----------------------- | ||
| 206 | if (record->event.pressed) { | ||
| 207 | return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(RBRC),U(LSFT),END); | ||
| 208 | } | ||
| 209 | |||
| 210 | break; | ||
| 211 | case SM_FROWN: | ||
| 212 | //Macro: SM_FROWN//----------------------- | ||
| 213 | if (record->event.pressed) { | ||
| 214 | return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LALT),T(8),U(LALT),END); | ||
| 215 | } | ||
| 216 | |||
| 217 | break; | ||
| 218 | case SM_CRY: | ||
| 219 | //Macro: SM_CRY//----------------------- | ||
| 220 | if (record->event.pressed) { | ||
| 221 | return MACRO(D(LSFT),T(COMM),U(LSFT),T(SLSH),D(LSFT),T(8),U(LSFT),END); | ||
| 222 | } | ||
| 223 | |||
| 224 | break; | ||
| 225 | case SM_SMILE: | ||
| 226 | //Macro: SM_SMILE//----------------------- | ||
| 227 | if (record->event.pressed) { | ||
| 228 | return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(9),U(LSFT),END); | ||
| 229 | } | ||
| 230 | |||
| 231 | break; | ||
| 232 | case SM_SMIRK: | ||
| 233 | //Macro: SM_SMIRK//----------------------- | ||
| 234 | if (record->event.pressed) { | ||
| 235 | return MACRO(D(LSFT),T(COMM),U(LSFT),T(SLSH),D(LSFT),T(9),U(LSFT),END); | ||
| 236 | } | ||
| 237 | |||
| 238 | break; | ||
| 239 | case M_LGUI_SHFT: | ||
| 240 | //Macro: M_LGUI_SHFT//----------------------- | ||
| 241 | if (record->event.pressed){ | ||
| 242 | return MACRO(D(LGUI),D(LSFT),END); | ||
| 243 | }else{ | ||
| 244 | return MACRO(U(LGUI),U(LSFT),U(LGUI),U(LSFT),U(LGUI),U(LSFT),U(LGUI),U(LSFT),U(LGUI),U(LSFT),U(LGUI),U(LSFT),U(LGUI),U(LSFT),END); | ||
| 245 | } | ||
| 246 | |||
| 247 | break; | ||
| 248 | case SM_HEART: | ||
| 249 | //Macro: SM_HEART//----------------------- | ||
| 250 | if (record->event.pressed) { | ||
| 251 | return MACRO(T(GRV),T(3),END); | ||
| 252 | } | ||
| 253 | |||
| 254 | break; | ||
| 255 | case SM_LAUGH: | ||
| 256 | //Macro: SM_LAUGH//----------------------- | ||
| 257 | if (record->event.pressed) { | ||
| 258 | return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(D),U(LSFT),END); | ||
| 259 | } | ||
| 260 | |||
| 261 | break; | ||
| 262 | case M_CTL_SFT_HASH: | ||
| 263 | //Macro: M_CTL_SFT_HASH//----------------------- | ||
| 264 | if (record->event.pressed) { | ||
| 265 | start = timer_read(); | ||
| 266 | return MACRO(D(LCTRL),D(LSFT),END); | ||
| 267 | } else { | ||
| 268 | if (timer_elapsed(start) >150) { | ||
| 269 | return MACRO(U(LCTRL),U(LSFT),END); | ||
| 270 | } else { | ||
| 271 | return MACRO(U(LCTRL),U(LSFT),T(BSLS),END); | ||
| 272 | } | ||
| 273 | } | ||
| 274 | |||
| 275 | break; | ||
| 276 | case SM_SAD: | ||
| 277 | //Macro: SM_SAD//----------------------- | ||
| 278 | if (record->event.pressed) { | ||
| 279 | return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(8),U(LSFT),END); | ||
| 280 | } | ||
| 281 | |||
| 282 | break; | ||
| 283 | case M_DE_OSX_CIRC_CTRLCMD: | ||
| 284 | //Macro: M_DE_OSX_CIRC_CTRLCMD//----------------------- | ||
| 285 | if (record->event.pressed) { | ||
| 286 | start = timer_read(); | ||
| 287 | return MACRO(D(LCTRL),D(LGUI),END); | ||
| 288 | } else { | ||
| 289 | if (timer_elapsed(start) >150) { | ||
| 290 | return MACRO(U(LCTRL),U(LGUI),END); | ||
| 291 | } else { | ||
| 292 | return MACRO(U(LCTRL),U(LGUI),T(NUBS),END); | ||
| 293 | } | ||
| 294 | } | ||
| 295 | |||
| 296 | break; | ||
| 297 | case M_CTRL_CMDV: | ||
| 298 | //Macro: M_CTRL_CMDV//----------------------- | ||
| 299 | if (record->event.pressed) { | ||
| 300 | start = timer_read(); | ||
| 301 | return MACRO(D(LCTRL),END); | ||
| 302 | } else { | ||
| 303 | if (timer_elapsed(start) >150) { | ||
| 304 | return MACRO(U(LCTRL),END); | ||
| 305 | } else { | ||
| 306 | return MACRO(U(LCTRL),D(LGUI),T(V),U(LGUI),END); | ||
| 307 | } | ||
| 308 | } | ||
| 309 | |||
| 310 | break; | ||
| 311 | case M_MEH_SH_ACUT: | ||
| 312 | //Macro: M_MEH_SH_ACUT//----------------------- | ||
| 313 | if (record->event.pressed) { | ||
| 314 | start = timer_read(); | ||
| 315 | return MACRO(D(LCTRL),D(LSFT),D(LALT),END); | ||
| 316 | } else { | ||
| 317 | if (timer_elapsed(start) >150) { | ||
| 318 | return MACRO(U(LCTRL),U(LSFT),U(LALT),END); | ||
| 319 | } else { | ||
| 320 | return MACRO(U(LCTRL),U(LALT),T(EQL),U(LSFT),END); | ||
| 321 | } | ||
| 322 | } | ||
| 323 | |||
| 324 | break; | ||
| 325 | } | ||
| 326 | return MACRO_NONE; | ||
| 327 | }; | ||
| 328 | |||
| 329 | // Runs just one time when the keyboard initializes. | ||
| 330 | void matrix_init_user(void) { | ||
| 331 | |||
| 332 | }; | ||
| 333 | |||
| 334 | // Runs constantly in the background, in a loop. | ||
| 335 | void matrix_scan_user(void) { | ||
| 336 | |||
| 337 | uint8_t layer = biton32(layer_state); | ||
| 338 | |||
| 339 | ergodox_board_led_off(); | ||
| 340 | ergodox_right_led_1_off(); | ||
| 341 | ergodox_right_led_2_off(); | ||
| 342 | ergodox_right_led_3_off(); | ||
| 343 | switch (layer) { | ||
| 344 | |||
| 345 | case SYMB: | ||
| 346 | ergodox_right_led_1_on(); | ||
| 347 | |||
| 348 | |||
| 349 | break; | ||
| 350 | case MDIA: | ||
| 351 | |||
| 352 | ergodox_right_led_2_on(); | ||
| 353 | |||
| 354 | break; | ||
| 355 | case SMLY: | ||
| 356 | |||
| 357 | |||
| 358 | ergodox_right_led_3_on(); | ||
| 359 | break; | ||
| 360 | case NUMB: | ||
| 361 | ergodox_right_led_1_on(); | ||
| 362 | |||
| 363 | ergodox_right_led_3_on(); | ||
| 364 | break; | ||
| 365 | case EGOS: | ||
| 366 | ergodox_right_led_1_on(); | ||
| 367 | ergodox_right_led_2_on(); | ||
| 368 | ergodox_right_led_3_on(); | ||
| 369 | break; | ||
| 370 | default: | ||
| 371 | // none | ||
| 372 | break; | ||
| 373 | } | ||
| 374 | |||
| 375 | }; | ||
| 376 | |||
diff --git a/keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png b/keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png new file mode 100644 index 000000000..4ae517d8d --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/osx_de_experimental/osx_de_experimental_highres.png | |||
| Binary files differ | |||
diff --git a/quantum/keymap_extras/keymap_german_osx.h b/quantum/keymap_extras/keymap_german_osx.h index d0b77fb80..ee725bad5 100644 --- a/quantum/keymap_extras/keymap_german_osx.h +++ b/quantum/keymap_extras/keymap_german_osx.h | |||
| @@ -85,8 +85,8 @@ | |||
| 85 | #define DE_OSX_UNDS LSFT(DE_OSX_MINS) // _ | 85 | #define DE_OSX_UNDS LSFT(DE_OSX_MINS) // _ |
| 86 | 86 | ||
| 87 | // Alt-ed characters | 87 | // Alt-ed characters |
| 88 | #define DE_OSX_SQ2 LALT(KC_2) // ² | 88 | //#define DE_OSX_SQ2 LALT(KC_2) // ² |
| 89 | #define DE_OSX_SQ3 LALT(KC_3) // ³ | 89 | //#define DE_OSX_SQ3 LALT(KC_3) // ³ |
| 90 | #define DE_OSX_LCBR LALT(KC_8) // { | 90 | #define DE_OSX_LCBR LALT(KC_8) // { |
| 91 | #define DE_OSX_LBRC LALT(KC_5) // [ | 91 | #define DE_OSX_LBRC LALT(KC_5) // [ |
| 92 | #define DE_OSX_RBRC LALT(KC_6) // ] | 92 | #define DE_OSX_RBRC LALT(KC_6) // ] |
