From 314d21c74676e3c13f0331b0d675070b9fb72b68 Mon Sep 17 00:00:00 2001 From: jorge Date: Sat, 28 May 2016 09:57:25 +0200 Subject: [PATCH] ergodox_ez: added dvorak_spanish layout --- .../keymaps/dvorak_spanish/README.md | 99 ++++++ .../keymaps/dvorak_spanish/dvorak_spanish.hex | Bin 0 -> 310995 bytes .../keymaps/dvorak_spanish/keymap.c | 284 ++++++++++++++++++ 3 files changed, 383 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/dvorak_spanish/README.md create mode 100644 keyboard/ergodox_ez/keymaps/dvorak_spanish/dvorak_spanish.hex create mode 100755 keyboard/ergodox_ez/keymaps/dvorak_spanish/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/dvorak_spanish/README.md b/keyboard/ergodox_ez/keymaps/dvorak_spanish/README.md new file mode 100644 index 0000000000..e075e3cd7d --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/dvorak_spanish/README.md @@ -0,0 +1,99 @@ +# Ergodox Spanish Dvorak Layout + * See spanish dvorak layout [here](http://djelibeibi.unex.es/dvorak/) + * Software layout must be set to SPANISH QWERTY to work properly + +## Keymap Layers + - L0: spanish dvorak with some customizations (see layout below) + - L1: auxiliary keys (includes qwerty shortcuts, numpad...) + - L2: qwerty layout with customizations + + +### Keymap 0: Base layer +Keys with double values (like Esc/Ctrl) correspond to the 'tapped' key and the 'held' key, respectively + +

+
+,--------------------------------------------------.           ,--------------------------------------------------.
+|   \    |   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/keyboard/ergodox_ez/keymaps/dvorak_spanish/dvorak_spanish.hex b/keyboard/ergodox_ez/keymaps/dvorak_spanish/dvorak_spanish.hex new file mode 100644 index 0000000000000000000000000000000000000000..9d417780920c198a1cf3863e4af493006eedcff4 GIT binary patch literal 310995 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 kr%c}Cru=`m | | ¡ | 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 + * + */ +[BASE] = KEYMAP( + // left hand + KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NONUS_BSLASH, + LT(AUX, KC_F1), KC_DOT, KC_COMM,KC_SCLN,KC_P, KC_Y, MEH_T(KC_DEL), + CTL_T(KC_ESC), KC_A, KC_O, KC_E, KC_U, KC_I, + M(OBRACE), KC_SLSH,KC_Q, KC_J, KC_K, KC_X, KC_LGUI, + M(OBRACK), KC_HOME,KC_PGDN,KC_PGUP,KC_END, + LCAG_T(KC_F5), LT(AUX, KC_F6), + MT(MOD_LALT | MOD_LCTL, KC_F4), + KC_ENT,KC_TAB,MT((MOD_LALT | MOD_LSFT), KC_F3), + // right hand + KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, + KC_FN1, KC_F, KC_G, KC_C, KC_H, KC_L, ALL_T(KC_RBRACKET), + KC_D, KC_R, KC_T, KC_N, KC_S, CTL_T(KC_QUOTE), + KC_RALT, KC_B, KC_M, KC_W, KC_V, KC_Z, M(CBRACE), + KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,M(CBRACK), + LT(AUX, KC_F7), LCAG_T(KC_F8), + MT(MOD_LALT | MOD_LCTL, KC_F11), + MT(MOD_LALT | MOD_LSFT, KC_F12),KC_BSPC, KC_SPC + ), +/* 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| | | + * `--------------------' `--------------------' + */ +[AUX] = KEYMAP( + // left hand + KC_NO , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_SLEP, + KC_TRNS, KC_NONUS_BSLASH, LSFT(KC_NONUS_BSLASH), KC_MS_U, KC_NO, KC_NO, KC_NO, + KC_NO , KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO , + M(CAPS), KC_NO, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO, + LCTL(KC_S), LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), + KC_NO , KC_TRNS, + KC_NO, + KC_BTN1, KC_BTN2, TG(QWERTY), + // right hand + KC_PWR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_NO, KC_7, KC_8, KC_9, KC_PAST, KC_LBRACKET, + KC_NO, KC_4, KC_5, KC_6, KC_PPLS, KC_BSLASH, + KC_PSCR, KC_NO, KC_1, KC_2, KC_3, KC_PSLS, KC_NO, + KC_NO ,KC_DOT, KC_0, KC_PEQL, KC_NO, + KC_TRNS, KC_MPLY, + KC_VOLU, + KC_VOLD, KC_MPRV, KC_MNXT +), +/* 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 + * + */ +[QWERTY] = KEYMAP( + // left hand + KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NONUS_BSLASH, + KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, MEH_T(KC_DEL), + CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, + M(OBRACE), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, + M(OBRACK), KC_HOME,KC_PGDN,KC_PGUP,KC_END, + LCAG_T(KC_F5), KC_TRNS, + MT(MOD_LALT | MOD_LCTL, KC_F4), + KC_ENT,KC_TAB,KC_TRNS, + // right hand + KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, + KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, ALL_T(KC_RBRACKET), + KC_H, KC_J, KC_K, KC_L, KC_SCLN,CTL_T(KC_QUOTE), + KC_RALT, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,M(CBRACE), + KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,M(CBRACK), + KC_TRNS, LCAG_T(KC_F8), + MT(MOD_LALT | MOD_LCTL, KC_F11), + MT(MOD_LALT | MOD_LSFT, KC_F12),KC_BSPC, KC_SPC +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(AUX) // FN1 - Momentary Layer 1 (Aux) +}; + +static uint16_t key_timer; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case OBRACE: { + if (record->event.pressed) { + key_timer = timer_read(); + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { + register_code(KC_RALT); + register_code(KC_QUOTE); + unregister_code(KC_QUOTE); + unregister_code(KC_RALT); + } + } + break; + } + case CBRACE: { + if (record->event.pressed) { + key_timer = timer_read(); + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { + register_code(KC_RALT); + register_code(KC_BSLS); + unregister_code(KC_BSLS); + unregister_code(KC_RALT); + } + } + break; + } + case OBRACK: { + if (record->event.pressed) { + key_timer = timer_read(); + register_code(KC_LALT); + } else { + unregister_code(KC_LALT); + if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { + register_code(KC_RALT); + register_code(KC_LBRACKET); + unregister_code(KC_LBRACKET); + unregister_code(KC_RALT); + } + } + break; + } + case CBRACK: { + if (record->event.pressed) { + key_timer = timer_read(); + register_code(KC_LALT); + } else { + unregister_code(KC_LALT); + if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { + register_code(KC_RALT); + register_code(KC_RBRACKET); + unregister_code(KC_RBRACKET); + unregister_code(KC_RALT); + } + } + break; + } + case CAPS: { + if (record->event.pressed) { + register_code(KC_CAPSLOCK); + } else { + unregister_code(KC_CAPSLOCK); + } + break; + } + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + case 1: + ergodox_right_led_3_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + + // Turn the caps lock led on + if (host_keyboard_leds() & (1<