diff options
| author | Jack Humbert <jack.humb@gmail.com> | 2016-11-16 14:54:18 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-16 14:54:18 -0500 |
| commit | 9f1b27c5bad5ba36afaa32f986fd662053215d8b (patch) | |
| tree | 6a778dfb78af47b067feef053adeacceea778f33 | |
| parent | e025a94bc26db60948923b2683d195db9e068866 (diff) | |
| parent | 162f603b1c36c63aa170170998b361a86413767f (diff) | |
| download | qmk_firmware-9f1b27c5bad5ba36afaa32f986fd662053215d8b.tar.gz qmk_firmware-9f1b27c5bad5ba36afaa32f986fd662053215d8b.zip | |
Merge pull request #880 from psyill/master
Added keymap "videck", an ErgoDox keymap for Vi(m) users.
| -rw-r--r-- | keyboards/ergodox/keymaps/videck/Makefile | 19 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/videck/config.h | 13 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/videck/keymap.c | 179 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/videck/readme.md | 24 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/videck/videck.json | 443 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/videck/videck.png | bin | 0 -> 106851 bytes |
6 files changed, 678 insertions, 0 deletions
diff --git a/keyboards/ergodox/keymaps/videck/Makefile b/keyboards/ergodox/keymaps/videck/Makefile new file mode 100644 index 000000000..5c7d21f2c --- /dev/null +++ b/keyboards/ergodox/keymaps/videck/Makefile | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | AUDIO_ENABLE:=no | ||
| 2 | BACKLIGHT_ENABLE:=no | ||
| 3 | BLUETOOTH_ENABLE:=no | ||
| 4 | BOOTMAGIC_ENABLE:=no | ||
| 5 | COMMAND_ENABLE:=no | ||
| 6 | CONSOLE_ENABLE:=no | ||
| 7 | EXTRAKEY_ENABLE:=yes | ||
| 8 | MIDI_ENABLE:=no | ||
| 9 | MOUSEKEY_ENABLE:=yes | ||
| 10 | NKRO_ENABLE:=no | ||
| 11 | RGBLIGHT_ENABLE:=no | ||
| 12 | SLEEP_LED_ENABLE:=no | ||
| 13 | TAP_DANCE_ENABLE:=yes | ||
| 14 | UNICODEMAP_ENABLE:=no | ||
| 15 | UNICODE_ENABLE:=no | ||
| 16 | |||
| 17 | ifndef QUANTUM_DIR | ||
| 18 | include ../../../../Makefile | ||
| 19 | endif | ||
diff --git a/keyboards/ergodox/keymaps/videck/config.h b/keyboards/ergodox/keymaps/videck/config.h new file mode 100644 index 000000000..d89aabe77 --- /dev/null +++ b/keyboards/ergodox/keymaps/videck/config.h | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | #ifndef CONFIG_USER_H | ||
| 2 | #define CONFIG_USER_H | ||
| 3 | |||
| 4 | #include "../../config.h" | ||
| 5 | |||
| 6 | #ifndef NO_DEBUG | ||
| 7 | #define NO_DEBUG | ||
| 8 | #endif | ||
| 9 | #ifndef NO_PRINT | ||
| 10 | #define NO_PRINT | ||
| 11 | #endif | ||
| 12 | |||
| 13 | #endif | ||
diff --git a/keyboards/ergodox/keymaps/videck/keymap.c b/keyboards/ergodox/keymaps/videck/keymap.c new file mode 100644 index 000000000..7bd6274e9 --- /dev/null +++ b/keyboards/ergodox/keymaps/videck/keymap.c | |||
| @@ -0,0 +1,179 @@ | |||
| 1 | #include <stdbool.h> | ||
| 2 | |||
| 3 | #include "ergodox.h" | ||
| 4 | #include "action_layer.h" | ||
| 5 | |||
| 6 | enum { | ||
| 7 | BASE = 0, // Default layer | ||
| 8 | ARROWS = 1, // Arrows and Fx keys layer | ||
| 9 | MOUSE = 2, // Mouse movement and buttons layer | ||
| 10 | PARENS = 3, // Parenthesis easy access layer | ||
| 11 | |||
| 12 | TD_L = 0, // Tap dance index for left shift | ||
| 13 | TD_R = 1 // Tap dance index for right shift | ||
| 14 | }; | ||
| 15 | |||
| 16 | // See the videck.png image for a visualization of the layout. | ||
| 17 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 18 | [BASE] = KEYMAP( | ||
| 19 | // left hand | ||
| 20 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_HOME, | ||
| 21 | KC_EQL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_END, | ||
| 22 | MO(PARENS), KC_A, KC_S, KC_D, KC_F, KC_G, | ||
| 23 | TD(TD_L), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_BSPC, | ||
| 24 | KC_LCTL, KC_LALT, KC_VOLD, KC_VOLU, KC_MUTE, | ||
| 25 | KC_ESC, KC_LGUI, | ||
| 26 | TG(MOUSE), | ||
| 27 | KC_SPC, KC_TAB, TG(ARROWS), | ||
| 28 | // right hand | ||
| 29 | KC_PGUP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, | ||
| 30 | KC_PGDN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, | ||
| 31 | KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
| 32 | KC_DELT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD(TD_R), | ||
| 33 | KC_LBRC, KC_RBRC, KC_EQL, KC_RALT, KC_RCTL, | ||
| 34 | KC_APP, KC_ESC, | ||
| 35 | KC_INS, | ||
| 36 | KC_SLCK, KC_ENT, KC_SPC | ||
| 37 | ), | ||
| 38 | [ARROWS] = KEYMAP( | ||
| 39 | // left hand | ||
| 40 | KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, | ||
| 41 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 42 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 43 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 44 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 45 | KC_TRNS, KC_TRNS, | ||
| 46 | KC_NO, | ||
| 47 | KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 48 | // right hand | ||
| 49 | KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, | ||
| 50 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F12, | ||
| 51 | KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, | ||
| 52 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 53 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 54 | KC_TRNS, KC_TRNS, | ||
| 55 | KC_TRNS, | ||
| 56 | KC_TRNS, KC_TRNS, KC_TRNS | ||
| 57 | ), | ||
| 58 | [MOUSE] = KEYMAP( | ||
| 59 | // left hand | ||
| 60 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 61 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 62 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 63 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 64 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 65 | KC_BTN3, KC_TRNS, | ||
| 66 | KC_TRNS, | ||
| 67 | KC_BTN1, KC_BTN2, KC_NO, | ||
| 68 | // right hand | ||
| 69 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 70 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 71 | KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_TRNS, KC_TRNS, | ||
| 72 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 73 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 74 | KC_TRNS, KC_TRNS, | ||
| 75 | KC_TRNS, | ||
| 76 | KC_TRNS, KC_TRNS, KC_TRNS | ||
| 77 | ), | ||
| 78 | [PARENS] = KEYMAP( | ||
| 79 | // left hand | ||
| 80 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 81 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 82 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 83 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 84 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 85 | KC_TRNS, KC_TRNS, | ||
| 86 | KC_NO, | ||
| 87 | KC_TRNS, KC_TRNS, KC_NO, | ||
| 88 | // right hand | ||
| 89 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 90 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_TRNS, | ||
| 91 | KC_TRNS, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_TRNS, | ||
| 92 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, | ||
| 93 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 94 | KC_TRNS, KC_TRNS, | ||
| 95 | KC_TRNS, | ||
| 96 | KC_TRNS, KC_TRNS, KC_TRNS | ||
| 97 | ) | ||
| 98 | }; | ||
| 99 | |||
| 100 | typedef void (*videck_tap_dance_trigger_t) (const uint16_t kc); | ||
| 101 | |||
| 102 | typedef struct | ||
| 103 | { | ||
| 104 | uint16_t kc1; | ||
| 105 | uint16_t kc2; | ||
| 106 | videck_tap_dance_trigger_t trigger; | ||
| 107 | } videck_tap_dance_tuple_t; | ||
| 108 | |||
| 109 | static void videck_tap_dance_finished (qk_tap_dance_state_t *state, void *user_data) { | ||
| 110 | videck_tap_dance_tuple_t *const tuple = (videck_tap_dance_tuple_t *)user_data; | ||
| 111 | |||
| 112 | if (state->count == 1) { | ||
| 113 | register_code16 (tuple->kc1); | ||
| 114 | } else if (state->count == 2) { | ||
| 115 | register_code16 (tuple->kc2); | ||
| 116 | } | ||
| 117 | } | ||
| 118 | |||
| 119 | static void videck_tap_dance_reset (qk_tap_dance_state_t *state, void *user_data) { | ||
| 120 | videck_tap_dance_tuple_t *const tuple = (videck_tap_dance_tuple_t *)user_data; | ||
| 121 | |||
| 122 | if (state->count == 1) { | ||
| 123 | unregister_code16 (tuple->kc1); | ||
| 124 | } else if (state->count == 2) { | ||
| 125 | unregister_code16 (tuple->kc2); | ||
| 126 | tuple->trigger(tuple->kc2); | ||
| 127 | } | ||
| 128 | } | ||
| 129 | |||
| 130 | static bool caps_lock_is_on; | ||
| 131 | |||
| 132 | // Toggles caps lock status. | ||
| 133 | static void videck_caps_trigger (const uint16_t kc) { | ||
| 134 | caps_lock_is_on ^= true; | ||
| 135 | } | ||
| 136 | |||
| 137 | #define ACTION_TAP_DANCE_DOUBLE_TRIGGER(kc1, kc2, double_trigger) { \ | ||
| 138 | .fn = { NULL, videck_tap_dance_finished, videck_tap_dance_reset }, \ | ||
| 139 | .user_data = (void *)&((videck_tap_dance_tuple_t) { kc1, kc2, double_trigger }), \ | ||
| 140 | } | ||
| 141 | |||
| 142 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
| 143 | [TD_L] = ACTION_TAP_DANCE_DOUBLE_TRIGGER(KC_LSFT, KC_CAPS, videck_caps_trigger), | ||
| 144 | [TD_R] = ACTION_TAP_DANCE_DOUBLE_TRIGGER(KC_RSFT, KC_CAPS, videck_caps_trigger) | ||
| 145 | }; | ||
| 146 | |||
| 147 | // Runs just one time when the keyboard initializes. | ||
| 148 | void matrix_init_user(void) { | ||
| 149 | ergodox_led_all_set(LED_BRIGHTNESS_LO); | ||
| 150 | caps_lock_is_on = false; | ||
| 151 | }; | ||
| 152 | |||
| 153 | static void indicate_using_led(const uint8_t led, const bool enabled) { | ||
| 154 | if (enabled) { | ||
| 155 | ergodox_right_led_on(led); | ||
| 156 | } else { | ||
| 157 | ergodox_right_led_off(led); | ||
| 158 | } | ||
| 159 | } | ||
| 160 | |||
| 161 | static inline void indicate_caps_lock_state(const bool enabled) { | ||
| 162 | indicate_using_led(1, enabled); | ||
| 163 | } | ||
| 164 | |||
| 165 | static inline void indicate_arrows_layer_state(const bool enabled) { | ||
| 166 | indicate_using_led(2, enabled); | ||
| 167 | } | ||
| 168 | |||
| 169 | static inline void indicate_mouse_layer_state(const bool enabled) { | ||
| 170 | indicate_using_led(3, enabled); | ||
| 171 | } | ||
| 172 | |||
| 173 | // Runs constantly in the background, in a loop. | ||
| 174 | void matrix_scan_user(void) { | ||
| 175 | // Check if we have shift locked. | ||
| 176 | indicate_caps_lock_state(caps_lock_is_on); | ||
| 177 | indicate_arrows_layer_state(IS_LAYER_ON(ARROWS)); | ||
| 178 | indicate_mouse_layer_state(IS_LAYER_ON(MOUSE)); | ||
| 179 | }; | ||
diff --git a/keyboards/ergodox/keymaps/videck/readme.md b/keyboards/ergodox/keymaps/videck/readme.md new file mode 100644 index 000000000..759e81bac --- /dev/null +++ b/keyboards/ergodox/keymaps/videck/readme.md | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | ViDeck keymap for ErgoDox | ||
| 2 | ========================= | ||
| 3 | |||
| 4 | This is a QWERTY layout based on the US layout, where Vi functionality has been | ||
| 5 | especially considered. | ||
| 6 | |||
| 7 | # Features | ||
| 8 | * Mouse movements using the Vi movement keys. | ||
| 9 | * Vi movement keys doubling as arrow keys. | ||
| 10 | * Shift lock using double tap. | ||
| 11 | * A coder's modifier key for easy input of parenthesis. | ||
| 12 | * Acess to the escape key using either thumb. | ||
| 13 | * Reasonably accessible Scroll Lock key (useful if you, like me, want to switch | ||
| 14 | to a non-US layout once in a while in X). | ||
| 15 | |||
| 16 | # Missing keys | ||
| 17 | * Caps Lock (shift lock is used instead). | ||
| 18 | * Pause/Break. | ||
| 19 | * Print Screen. | ||
| 20 | |||
| 21 | # LEDs | ||
| 22 | * Shift lock is indicated using first LED. | ||
| 23 | * Arrow keys layer is indicated using second LED. | ||
| 24 | * Mouse keys layer is indicated using third LED. | ||
diff --git a/keyboards/ergodox/keymaps/videck/videck.json b/keyboards/ergodox/keymaps/videck/videck.json new file mode 100644 index 000000000..7068cf548 --- /dev/null +++ b/keyboards/ergodox/keymaps/videck/videck.json | |||
| @@ -0,0 +1,443 @@ | |||
| 1 | [ | ||
| 2 | { | ||
| 3 | "backcolor": "#333333", | ||
| 4 | "background": { | ||
| 5 | "name": "PBT Black", | ||
| 6 | "style": "background-image: url('/bg/plastic/pbt-black.png');" | ||
| 7 | }, | ||
| 8 | "switchMount": "cherry", | ||
| 9 | "switchBrand": "gateron", | ||
| 10 | "switchType": "KS-3-Red" | ||
| 11 | }, | ||
| 12 | [ | ||
| 13 | { | ||
| 14 | "x": 3.5, | ||
| 15 | "c": "#323232", | ||
| 16 | "t": "#ffffff\n\n\n#ac97d8" | ||
| 17 | }, | ||
| 18 | "#\n3\n\nF3", | ||
| 19 | { | ||
| 20 | "x": 10.5 | ||
| 21 | }, | ||
| 22 | "*\n8\n\nF8" | ||
| 23 | ], | ||
| 24 | [ | ||
| 25 | { | ||
| 26 | "y": -0.875, | ||
| 27 | "x": 2.5 | ||
| 28 | }, | ||
| 29 | "@\n2\n\nF2", | ||
| 30 | { | ||
| 31 | "x": 1 | ||
| 32 | }, | ||
| 33 | "$\n4\n\nF4", | ||
| 34 | { | ||
| 35 | "x": 8.5 | ||
| 36 | }, | ||
| 37 | "&\n7\n\nF7", | ||
| 38 | { | ||
| 39 | "x": 1, | ||
| 40 | "t": "#ffffff\n\n\n#ac97d8\n\n\n\n#555454" | ||
| 41 | }, | ||
| 42 | "(\n9\n\nF9" | ||
| 43 | ], | ||
| 44 | [ | ||
| 45 | { | ||
| 46 | "y": -0.875, | ||
| 47 | "x": 5.5, | ||
| 48 | "t": "#ffffff\n\n\n#ac97d8" | ||
| 49 | }, | ||
| 50 | "%\n5\n\nF5", | ||
| 51 | { | ||
| 52 | "t": "#ffffff" | ||
| 53 | }, | ||
| 54 | "home", | ||
| 55 | { | ||
| 56 | "x": 4.5 | ||
| 57 | }, | ||
| 58 | "pgup", | ||
| 59 | { | ||
| 60 | "t": "#ffffff\n\n\n#ac97d8" | ||
| 61 | }, | ||
| 62 | "^\n6\n\nF6" | ||
| 63 | ], | ||
| 64 | [ | ||
| 65 | { | ||
| 66 | "y": -0.875, | ||
| 67 | "t": "#ffffff", | ||
| 68 | "w": 1.5 | ||
| 69 | }, | ||
| 70 | "~\n`", | ||
| 71 | { | ||
| 72 | "t": "#ffffff\n\n\n#ac97d8" | ||
| 73 | }, | ||
| 74 | "!\n1\n\nF1", | ||
| 75 | { | ||
| 76 | "x": 14.5 | ||
| 77 | }, | ||
| 78 | ")\n0\n\nF10", | ||
| 79 | { | ||
| 80 | "w": 1.5 | ||
| 81 | }, | ||
| 82 | "_\n-\n\nF11" | ||
| 83 | ], | ||
| 84 | [ | ||
| 85 | { | ||
| 86 | "y": -0.375, | ||
| 87 | "x": 3.5, | ||
| 88 | "t": "#ffffff" | ||
| 89 | }, | ||
| 90 | "E", | ||
| 91 | { | ||
| 92 | "x": 10.5 | ||
| 93 | }, | ||
| 94 | "I" | ||
| 95 | ], | ||
| 96 | [ | ||
| 97 | { | ||
| 98 | "y": -0.875, | ||
| 99 | "x": 2.5 | ||
| 100 | }, | ||
| 101 | "W", | ||
| 102 | { | ||
| 103 | "x": 1 | ||
| 104 | }, | ||
| 105 | "R", | ||
| 106 | { | ||
| 107 | "x": 8.5 | ||
| 108 | }, | ||
| 109 | "U", | ||
| 110 | { | ||
| 111 | "x": 1, | ||
| 112 | "t": "#ffffff\n\n\n\n\n\n\n\n\n#f8d615" | ||
| 113 | }, | ||
| 114 | "O\n\n\n\n\n\n\n\n\n{" | ||
| 115 | ], | ||
| 116 | [ | ||
| 117 | { | ||
| 118 | "y": -0.875, | ||
| 119 | "x": 5.5, | ||
| 120 | "t": "#ffffff" | ||
| 121 | }, | ||
| 122 | "T", | ||
| 123 | { | ||
| 124 | "h": 1.5 | ||
| 125 | }, | ||
| 126 | "end", | ||
| 127 | { | ||
| 128 | "x": 4.5, | ||
| 129 | "h": 1.5 | ||
| 130 | }, | ||
| 131 | "pgdn", | ||
| 132 | "Y" | ||
| 133 | ], | ||
| 134 | [ | ||
| 135 | { | ||
| 136 | "y": -0.875, | ||
| 137 | "w": 1.5 | ||
| 138 | }, | ||
| 139 | "+\n=", | ||
| 140 | "Q", | ||
| 141 | { | ||
| 142 | "x": 14.5, | ||
| 143 | "t": "#ffffff\n\n\n\n\n\n\n\n\n#f8d615" | ||
| 144 | }, | ||
| 145 | "P\n\n\n\n\n\n\n\n\n}", | ||
| 146 | { | ||
| 147 | "t": "#ffffff\n\n\n#ac97d8", | ||
| 148 | "w": 1.5 | ||
| 149 | }, | ||
| 150 | "|\n\\\n\nF12" | ||
| 151 | ], | ||
| 152 | [ | ||
| 153 | { | ||
| 154 | "y": -0.375, | ||
| 155 | "x": 3.5, | ||
| 156 | "t": "#ffffff" | ||
| 157 | }, | ||
| 158 | "D", | ||
| 159 | { | ||
| 160 | "x": 10.5, | ||
| 161 | "t": "#ffffff\n\n#5eb1e7\n#ac97d8" | ||
| 162 | }, | ||
| 163 | "K\n\n<i class='fa fa-caret-up'></i>\n<i class='kb kb-Arrows-Up'></i>" | ||
| 164 | ], | ||
| 165 | [ | ||
| 166 | { | ||
| 167 | "y": -0.875, | ||
| 168 | "x": 2.5, | ||
| 169 | "t": "#ffffff" | ||
| 170 | }, | ||
| 171 | "S", | ||
| 172 | { | ||
| 173 | "x": 1, | ||
| 174 | "n": true | ||
| 175 | }, | ||
| 176 | "F", | ||
| 177 | { | ||
| 178 | "x": 8.5, | ||
| 179 | "t": "#ffffff\n\n#5eb1e7\n#ac97d8", | ||
| 180 | "n": true | ||
| 181 | }, | ||
| 182 | "J\n\n<i class='fa fa-caret-down'></i>\n<i class='kb kb-Arrows-Down'></i>", | ||
| 183 | { | ||
| 184 | "x": 1, | ||
| 185 | "t": "#ffffff\n\n#5eb1e7\n#ac97d8\n\n\n\n\n\n#f8d615" | ||
| 186 | }, | ||
| 187 | "L\n\n<i class='fa fa-caret-right'></i>\n<i class='kb kb-Arrows-Right'></i>\n\n\n\n\n\n(" | ||
| 188 | ], | ||
| 189 | [ | ||
| 190 | { | ||
| 191 | "y": -0.875, | ||
| 192 | "x": 5.5, | ||
| 193 | "t": "#ffffff" | ||
| 194 | }, | ||
| 195 | "G", | ||
| 196 | { | ||
| 197 | "x": 6.5, | ||
| 198 | "t": "#ffffff\n\n#5eb1e7\n#ac97d8" | ||
| 199 | }, | ||
| 200 | "H\n\n<i class='fa fa-caret-left'></i>\n<i class='kb kb-Arrows-Left'></i>" | ||
| 201 | ], | ||
| 202 | [ | ||
| 203 | { | ||
| 204 | "y": -0.875, | ||
| 205 | "t": "#f8d615", | ||
| 206 | "a": 6, | ||
| 207 | "w": 1.5 | ||
| 208 | }, | ||
| 209 | "( ) [ ] { }", | ||
| 210 | { | ||
| 211 | "t": "#ffffff", | ||
| 212 | "a": 4 | ||
| 213 | }, | ||
| 214 | "A", | ||
| 215 | { | ||
| 216 | "x": 14.5, | ||
| 217 | "t": "#ffffff\n\n\n\n\n\n\n#60605b\n\n#f8d615" | ||
| 218 | }, | ||
| 219 | ":\n;\n\n\n\n\n\nÖ\n\n)", | ||
| 220 | { | ||
| 221 | "t": "#ffffff\n\n\n\n\n\n\n#60605b", | ||
| 222 | "w": 1.5 | ||
| 223 | }, | ||
| 224 | "\"\n'\n\n\n\n\n\nÄ" | ||
| 225 | ], | ||
| 226 | [ | ||
| 227 | { | ||
| 228 | "y": -0.625, | ||
| 229 | "x": 6.5, | ||
| 230 | "t": "#ffffff", | ||
| 231 | "h": 1.5 | ||
| 232 | }, | ||
| 233 | "<i class='kb kb-Unicode-BackSpace-DeleteLeft-Big'></i>", | ||
| 234 | { | ||
| 235 | "x": 4.5, | ||
| 236 | "h": 1.5 | ||
| 237 | }, | ||
| 238 | "<i class='kb kb-Unicode-DeleteRight-Big'></i>" | ||
| 239 | ], | ||
| 240 | [ | ||
| 241 | { | ||
| 242 | "y": -0.75, | ||
| 243 | "x": 3.5 | ||
| 244 | }, | ||
| 245 | "C", | ||
| 246 | { | ||
| 247 | "x": 10.5 | ||
| 248 | }, | ||
| 249 | "<\n," | ||
| 250 | ], | ||
| 251 | [ | ||
| 252 | { | ||
| 253 | "y": -0.875, | ||
| 254 | "x": 2.5 | ||
| 255 | }, | ||
| 256 | "X", | ||
| 257 | { | ||
| 258 | "x": 1 | ||
| 259 | }, | ||
| 260 | "V", | ||
| 261 | { | ||
| 262 | "x": 8.5 | ||
| 263 | }, | ||
| 264 | "M", | ||
| 265 | { | ||
| 266 | "x": 1, | ||
| 267 | "t": "#ffffff\n\n\n\n\n\n\n\n\n#f8d615" | ||
| 268 | }, | ||
| 269 | ">\n.\n\n\n\n\n\n\n\n[" | ||
| 270 | ], | ||
| 271 | [ | ||
| 272 | { | ||
| 273 | "y": -0.875, | ||
| 274 | "x": 5.5, | ||
| 275 | "t": "#ffffff" | ||
| 276 | }, | ||
| 277 | "B", | ||
| 278 | { | ||
| 279 | "x": 6.5 | ||
| 280 | }, | ||
| 281 | "N" | ||
| 282 | ], | ||
| 283 | [ | ||
| 284 | { | ||
| 285 | "y": -0.875, | ||
| 286 | "t": "#ffffff\n\n#f67f00", | ||
| 287 | "a": 6, | ||
| 288 | "fa": [ | ||
| 289 | 5 | ||
| 290 | ], | ||
| 291 | "w": 1.5 | ||
| 292 | }, | ||
| 293 | "⇑\n\n2-tap<br/>locks", | ||
| 294 | { | ||
| 295 | "t": "#ffffff", | ||
| 296 | "a": 4, | ||
| 297 | "f": 3 | ||
| 298 | }, | ||
| 299 | "Z", | ||
| 300 | { | ||
| 301 | "x": 14.5, | ||
| 302 | "t": "#ffffff\n\n\n\n\n\n\n\n\n#f8d615", | ||
| 303 | "f": 3 | ||
| 304 | }, | ||
| 305 | "?\n/\n\n\n\n\n\n\n\n]", | ||
| 306 | { | ||
| 307 | "t": "#ffffff\n\n#f67f00", | ||
| 308 | "a": 6, | ||
| 309 | "f": 3, | ||
| 310 | "w": 1.5 | ||
| 311 | }, | ||
| 312 | "⇑\n\n2-tap<br/>locks" | ||
| 313 | ], | ||
| 314 | [ | ||
| 315 | { | ||
| 316 | "y": -0.375, | ||
| 317 | "x": 3.5, | ||
| 318 | "t": "#ffffff", | ||
| 319 | "a": 4 | ||
| 320 | }, | ||
| 321 | "\n<i class='kb kb-Multimedia-Volume-Up-2'></i>", | ||
| 322 | { | ||
| 323 | "x": 10.5, | ||
| 324 | "f": 3 | ||
| 325 | }, | ||
| 326 | "}\n]" | ||
| 327 | ], | ||
| 328 | [ | ||
| 329 | { | ||
| 330 | "y": -0.875, | ||
| 331 | "x": 2.5 | ||
| 332 | }, | ||
| 333 | "\n<i class='kb kb-Multimedia-Volume-Down-1'></i>", | ||
| 334 | { | ||
| 335 | "x": 1 | ||
| 336 | }, | ||
| 337 | "\n<i class='kb kb-Multimedia-Mute-1'></i>", | ||
| 338 | { | ||
| 339 | "x": 8.5, | ||
| 340 | "t": "#ffffff\n\n\n\n\n\n\n#60605b", | ||
| 341 | "f": 3 | ||
| 342 | }, | ||
| 343 | "{\n[\n\n\n\n\n\nÅ", | ||
| 344 | { | ||
| 345 | "x": 1, | ||
| 346 | "t": "#ffffff", | ||
| 347 | "f": 3 | ||
| 348 | }, | ||
| 349 | "+\n=" | ||
| 350 | ], | ||
| 351 | [ | ||
| 352 | { | ||
| 353 | "y": -0.75, | ||
| 354 | "x": 0.5, | ||
| 355 | "f": 3 | ||
| 356 | }, | ||
| 357 | "ctrl", | ||
| 358 | { | ||
| 359 | "f": 3 | ||
| 360 | }, | ||
| 361 | "alt", | ||
| 362 | { | ||
| 363 | "x": 14.5, | ||
| 364 | "f": 3 | ||
| 365 | }, | ||
| 366 | "altgr", | ||
| 367 | { | ||
| 368 | "f": 3 | ||
| 369 | }, | ||
| 370 | "ctrl" | ||
| 371 | ], | ||
| 372 | [ | ||
| 373 | { | ||
| 374 | "r": 30, | ||
| 375 | "rx": 6.5, | ||
| 376 | "ry": 4.25, | ||
| 377 | "y": -1, | ||
| 378 | "x": 1, | ||
| 379 | "t": "#ffffff\n\n\n\n\n\n\n\n\n\n#5eb1e7", | ||
| 380 | "f": 3 | ||
| 381 | }, | ||
| 382 | "esc\n\n\n\n\n\n\n\n\n\n<i class='fa fa-mouse-pointer'></i>M", | ||
| 383 | { | ||
| 384 | "t": "#ffffff", | ||
| 385 | "f": 7 | ||
| 386 | }, | ||
| 387 | "<i class='kb kb-logo-linux-tux'></i>" | ||
| 388 | ], | ||
| 389 | [ | ||
| 390 | { | ||
| 391 | "t": "#ffffff\n\n\n\n\n\n\n\n\n\n#5eb1e7", | ||
| 392 | "f": 3, | ||
| 393 | "h": 2 | ||
| 394 | }, | ||
| 395 | "space\n\n\n\n\n\n\n\n\n\n<i class='fa fa-mouse-pointer'></i>L", | ||
| 396 | { | ||
| 397 | "h": 2 | ||
| 398 | }, | ||
| 399 | "<i class='kb kb-Tab-1'></i>\n\n\n\n\n\n\n\n\n\n<i class='fa fa-mouse-pointer'></i>R", | ||
| 400 | { | ||
| 401 | "t": "#5eb1e7" | ||
| 402 | }, | ||
| 403 | "<i class='fa fa-mouse-pointer'></i>" | ||
| 404 | ], | ||
| 405 | [ | ||
| 406 | { | ||
| 407 | "x": 2, | ||
| 408 | "t": "#ac97d8" | ||
| 409 | }, | ||
| 410 | "<i class='fa fa-arrows'></i>" | ||
| 411 | ], | ||
| 412 | [ | ||
| 413 | { | ||
| 414 | "r": -30, | ||
| 415 | "rx": 13, | ||
| 416 | "y": -1, | ||
| 417 | "x": -3, | ||
| 418 | "t": "#ffffff" | ||
| 419 | }, | ||
| 420 | "<i class='kb kb-Hamburger-Menu'></i>", | ||
| 421 | "esc" | ||
| 422 | ], | ||
| 423 | [ | ||
| 424 | { | ||
| 425 | "x": -3 | ||
| 426 | }, | ||
| 427 | "ins", | ||
| 428 | { | ||
| 429 | "h": 2 | ||
| 430 | }, | ||
| 431 | "<i class='kb kb-Return-2'></i>", | ||
| 432 | { | ||
| 433 | "h": 2 | ||
| 434 | }, | ||
| 435 | "space" | ||
| 436 | ], | ||
| 437 | [ | ||
| 438 | { | ||
| 439 | "x": -3 | ||
| 440 | }, | ||
| 441 | "scroll<br/>lock" | ||
| 442 | ] | ||
| 443 | ] \ No newline at end of file | ||
diff --git a/keyboards/ergodox/keymaps/videck/videck.png b/keyboards/ergodox/keymaps/videck/videck.png new file mode 100644 index 000000000..c99323f53 --- /dev/null +++ b/keyboards/ergodox/keymaps/videck/videck.png | |||
| Binary files differ | |||
