diff options
| author | Ryan <fauxpark@gmail.com> | 2020-03-19 05:11:57 +1100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-18 11:11:57 -0700 |
| commit | fc4ef6934dc8596882428d11877d065ca6272129 (patch) | |
| tree | a4c4e2b4d8bdfcf550fac135a314043b88686327 /quantum/keymap_extras | |
| parent | 0dff26b5509e91f6b6f5a9eed2762513d69ce567 (diff) | |
| download | qmk_firmware-fc4ef6934dc8596882428d11877d065ca6272129.tar.gz qmk_firmware-fc4ef6934dc8596882428d11877d065ca6272129.zip | |
Update Programmer Dvorak keymap and add sendstring LUT (#8456)
* Update Programmer Dvorak keymap and add sendstring LUT
* Include quantum.h
Diffstat (limited to 'quantum/keymap_extras')
| -rw-r--r-- | quantum/keymap_extras/keymap_dvp.h | 181 | ||||
| -rw-r--r-- | quantum/keymap_extras/sendstring_dvp.h | 80 |
2 files changed, 184 insertions, 77 deletions
diff --git a/quantum/keymap_extras/keymap_dvp.h b/quantum/keymap_extras/keymap_dvp.h index 4b60a67d4..99c69a4af 100644 --- a/quantum/keymap_extras/keymap_dvp.h +++ b/quantum/keymap_extras/keymap_dvp.h | |||
| @@ -14,85 +14,112 @@ | |||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 15 | */ | 15 | */ |
| 16 | 16 | ||
| 17 | #ifndef KEYMAP_DVP_H | 17 | #pragma once |
| 18 | #define KEYMAP_DVP_H | ||
| 19 | 18 | ||
| 20 | #include "keymap.h" | 19 | #include "keymap.h" |
| 21 | 20 | ||
| 22 | // Normal characters | 21 | // clang-format off |
| 23 | #define DP_DLR KC_GRV | ||
| 24 | #define DP_AMPR KC_1 | ||
| 25 | #define DP_LBRC KC_2 | ||
| 26 | #define DP_LCBR KC_3 | ||
| 27 | #define DP_RCBR KC_4 | ||
| 28 | #define DP_LPRN KC_5 | ||
| 29 | #define DP_EQL KC_6 | ||
| 30 | #define DP_ASTR KC_7 | ||
| 31 | #define DP_RPRN KC_8 | ||
| 32 | #define DP_PLUS KC_9 | ||
| 33 | #define DP_RBRC KC_0 | ||
| 34 | #define DP_EXLM KC_MINS | ||
| 35 | #define DP_HASH KC_EQL | ||
| 36 | 22 | ||
| 37 | #define DP_SCLN KC_Q | 23 | /* |
| 38 | #define DP_COMM KC_W | 24 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
| 39 | #define DP_DOT KC_E | 25 | * │ $ │ & │ [ │ { │ } │ ( │ = │ * │ ) │ + │ ] │ ! │ # │ │ |
| 40 | #define DP_P KC_R | 26 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
| 41 | #define DP_Y KC_T | 27 | * │ │ ; │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ @ │ \ │ |
| 42 | #define DP_F KC_Y | 28 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ |
| 43 | #define DP_G KC_U | 29 | * │ │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │ │ |
| 44 | #define DP_C KC_I | 30 | * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ |
| 45 | #define DP_R KC_O | 31 | * │ │ ' │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │ |
| 46 | #define DP_L KC_P | 32 | * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ |
| 47 | #define DP_SLSH KC_LBRC | 33 | * │ │ │ │ │ │ │ │ │ |
| 48 | #define DP_AT KC_RBRC | 34 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ |
| 49 | #define DP_BSLS KC_BSLS | 35 | */ |
| 50 | 36 | // Row 1 | |
| 51 | #define DP_A KC_A | 37 | #define DP_DLR KC_GRV // $ |
| 52 | #define DP_O KC_S | 38 | #define DP_AMPR KC_1 // & |
| 53 | #define DP_E KC_D | 39 | #define DP_LBRC KC_2 // [ |
| 54 | #define DP_U KC_F | 40 | #define DP_LCBR KC_3 // { |
| 55 | #define DP_I KC_G | 41 | #define DP_RCBR KC_4 // } |
| 56 | #define DP_D KC_H | 42 | #define DP_LPRN KC_5 // ( |
| 57 | #define DP_H KC_J | 43 | #define DP_EQL KC_6 // = |
| 58 | #define DP_T KC_K | 44 | #define DP_ASTR KC_7 // * |
| 59 | #define DP_N KC_L | 45 | #define DP_RPRN KC_8 // ) |
| 60 | #define DP_S KC_SCLN | 46 | #define DP_PLUS KC_9 // + |
| 61 | #define DP_MINS KC_QUOT | 47 | #define DP_RBRC KC_0 // ] |
| 62 | 48 | #define DP_EXLM KC_MINS // ! | |
| 63 | #define DP_QUOT KC_Z | 49 | #define DP_HASH KC_EQL // # |
| 64 | #define DP_Q KC_X | 50 | // Row 2 |
| 65 | #define DP_J KC_C | 51 | #define DP_SCLN KC_Q // ; |
| 66 | #define DP_K KC_V | 52 | #define DP_COMM KC_W // , |
| 67 | #define DP_X KC_B | 53 | #define DP_DOT KC_E // . |
| 68 | #define DP_B KC_N | 54 | #define DP_P KC_R // P |
| 69 | #define DP_M KC_M | 55 | #define DP_Y KC_T // Y |
| 70 | #define DP_W KC_COMM | 56 | #define DP_F KC_Y // F |
| 71 | #define DP_V KC_DOT | 57 | #define DP_G KC_U // G |
| 72 | #define DP_Z KC_SLSH | 58 | #define DP_C KC_I // C |
| 73 | 59 | #define DP_R KC_O // R | |
| 74 | // Shifted characters | 60 | #define DP_L KC_P // L |
| 75 | #define DP_TILD LSFT(DP_DLR) | 61 | #define DP_SLSH KC_LBRC // / |
| 76 | #define DP_PERC LSFT(DP_AMPR) | 62 | #define DP_AT KC_RBRC // @ |
| 77 | #define DP_7 LSFT(DP_LBRC) | 63 | #define DP_BSLS KC_BSLS // (backslash) |
| 78 | #define DP_5 LSFT(DP_LCBR) | 64 | // Row 3 |
| 79 | #define DP_3 LSFT(DP_RCBR) | 65 | #define DP_A KC_A // A |
| 80 | #define DP_1 LSFT(DP_LPRN) | 66 | #define DP_O KC_S // O |
| 81 | #define DP_9 LSFT(DP_EQL) | 67 | #define DP_E KC_D // E |
| 82 | #define DP_0 LSFT(DP_ASTR) | 68 | #define DP_U KC_F // U |
| 83 | #define DP_2 LSFT(DP_RPRN) | 69 | #define DP_I KC_G // I |
| 84 | #define DP_4 LSFT(DP_PLUS) | 70 | #define DP_D KC_H // D |
| 85 | #define DP_6 LSFT(DP_RBRC) | 71 | #define DP_H KC_J // H |
| 86 | #define DP_8 LSFT(DP_EXLM) | 72 | #define DP_T KC_K // T |
| 87 | #define DP_GRV LSFT(DP_HASH) | 73 | #define DP_N KC_L // N |
| 88 | 74 | #define DP_S KC_SCLN // S | |
| 89 | #define DP_COLN LSFT(DP_SCLN) | 75 | #define DP_MINS KC_QUOT // - |
| 90 | #define DP_LABK LSFT(DP_COMM) | 76 | // Row 4 |
| 91 | #define DP_RABK LSFT(DP_DOT) | 77 | #define DP_QUOT KC_Z // ' |
| 92 | #define DP_QUES LSFT(DP_SLSH) | 78 | #define DP_Q KC_X // Q |
| 93 | #define DP_CIRC LSFT(DP_AT) | 79 | #define DP_J KC_C // J |
| 94 | #define DP_PIPE LSFT(DP_BSLS) | 80 | #define DP_K KC_V // K |
| 95 | #define DP_UNDS LSFT(DP_MINS) | 81 | #define DP_X KC_B // X |
| 96 | #define DP_DQUO LSFT(DP_QUOT) | 82 | #define DP_B KC_N // B |
| 83 | #define DP_M KC_M // M | ||
| 84 | #define DP_W KC_COMM // W | ||
| 85 | #define DP_V KC_DOT // V | ||
| 86 | #define DP_Z KC_SLSH // Z | ||
| 97 | 87 | ||
| 98 | #endif | 88 | /* Shifted symbols |
| 89 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ | ||
| 90 | * │ ~ │ % │ 7 │ 5 │ 3 │ 1 │ 9 │ 0 │ 2 │ 4 │ 6 │ 8 │ ` │ │ | ||
| 91 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ | ||
| 92 | * │ │ : │ < │ > │ │ │ │ │ │ │ │ ? │ ^ │ | │ | ||
| 93 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ | ||
| 94 | * │ │ │ │ │ │ │ │ │ │ │ │ _ │ │ | ||
| 95 | * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ | ||
| 96 | * │ │ " │ │ │ │ │ │ │ │ │ │ │ | ||
| 97 | * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ | ||
| 98 | * │ │ │ │ │ │ │ │ │ | ||
| 99 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
| 100 | */ | ||
| 101 | // Row 1 | ||
| 102 | #define DP_TILD S(DP_DLR) // ~ | ||
| 103 | #define DP_PERC S(DP_AMPR) // % | ||
| 104 | #define DP_7 S(DP_LBRC) // 7 | ||
| 105 | #define DP_5 S(DP_LCBR) // 5 | ||
| 106 | #define DP_3 S(DP_RCBR) // 3 | ||
| 107 | #define DP_1 S(DP_LPRN) // 1 | ||
| 108 | #define DP_9 S(DP_EQL) // 9 | ||
| 109 | #define DP_0 S(DP_ASTR) // 0 | ||
| 110 | #define DP_2 S(DP_RPRN) // 2 | ||
| 111 | #define DP_4 S(DP_PLUS) // 4 | ||
| 112 | #define DP_6 S(DP_RBRC) // 6 | ||
| 113 | #define DP_8 S(DP_EXLM) // 8 | ||
| 114 | #define DP_GRV S(DP_HASH) // ` | ||
| 115 | // Row 2 | ||
| 116 | #define DP_COLN S(DP_SCLN) // : | ||
| 117 | #define DP_LABK S(DP_COMM) // < | ||
| 118 | #define DP_RABK S(DP_DOT) // > | ||
| 119 | #define DP_QUES S(DP_SLSH) // ? | ||
| 120 | #define DP_CIRC S(DP_AT) // ^ | ||
| 121 | #define DP_PIPE S(DP_BSLS) // | | ||
| 122 | // Row 3 | ||
| 123 | #define DP_UNDS S(DP_MINS) // _ | ||
| 124 | // Row 4 | ||
| 125 | #define DP_DQUO S(DP_QUOT) // " | ||
diff --git a/quantum/keymap_extras/sendstring_dvp.h b/quantum/keymap_extras/sendstring_dvp.h new file mode 100644 index 000000000..74b595524 --- /dev/null +++ b/quantum/keymap_extras/sendstring_dvp.h | |||
| @@ -0,0 +1,80 @@ | |||
| 1 | /* Copyright 2020 | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | // Sendstring lookup tables for Programmer Dvorak layouts | ||
| 18 | |||
| 19 | #pragma once | ||
| 20 | |||
| 21 | #include "keymap_dvp.h" | ||
| 22 | #include "quantum.h" | ||
| 23 | |||
| 24 | // clang-format off | ||
| 25 | |||
| 26 | const uint8_t ascii_to_shift_lut[16] PROGMEM = { | ||
| 27 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 28 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 29 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 30 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 31 | |||
| 32 | KCLUT_ENTRY(0, 0, 1, 0, 0, 1, 0, 0), | ||
| 33 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 34 | KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), | ||
| 35 | KCLUT_ENTRY(1, 1, 1, 0, 1, 0, 1, 1), | ||
| 36 | KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1), | ||
| 37 | KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), | ||
| 38 | KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), | ||
| 39 | KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 1, 1), | ||
| 40 | KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), | ||
| 41 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 42 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
| 43 | KCLUT_ENTRY(0, 0, 0, 0, 1, 0, 1, 0) | ||
| 44 | }; | ||
| 45 | |||
| 46 | const uint8_t ascii_to_keycode_lut[128] PROGMEM = { | ||
| 47 | // NUL SOH STX ETX EOT ENQ ACK BEL | ||
| 48 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 49 | // BS TAB LF VT FF CR SO SI | ||
| 50 | KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 51 | // DLE DC1 DC2 DC3 DC4 NAK SYN ETB | ||
| 52 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 53 | // CAN EM SUB ESC FS GS RS US | ||
| 54 | XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 55 | |||
| 56 | // ! " # $ % & ' | ||
| 57 | KC_SPC, DP_EXLM, DP_QUOT, DP_HASH, DP_DLR, DP_AMPR, DP_AMPR, DP_QUOT, | ||
| 58 | // ( ) * + , - . / | ||
| 59 | DP_LPRN, DP_RPRN, DP_ASTR, DP_PLUS, DP_COMM, DP_MINS, DP_DOT, DP_SLSH, | ||
| 60 | // 0 1 2 3 4 5 6 7 | ||
| 61 | DP_ASTR, DP_LPRN, DP_RPRN, DP_RCBR, DP_PLUS, DP_LCBR, DP_RBRC, DP_LBRC, | ||
| 62 | // 8 9 : ; < = > ? | ||
| 63 | DP_EXLM, DP_EQL, DP_SCLN, DP_SCLN, DP_COMM, DP_EQL, DP_DOT, DP_SLSH, | ||
| 64 | // @ A B C D E F G | ||
| 65 | DP_AT, DP_A, DP_B, DP_C, DP_D, DP_E, DP_F, DP_G, | ||
| 66 | // H I J K L M N O | ||
| 67 | DP_H, DP_I, DP_J, DP_K, DP_L, DP_M, DP_N, DP_O, | ||
| 68 | // P Q R S T U V W | ||
| 69 | DP_P, DP_Q, DP_R, DP_S, DP_T, DP_U, DP_V, DP_W, | ||
| 70 | // X Y Z [ \ ] ^ _ | ||
| 71 | DP_X, DP_Y, DP_Z, DP_LBRC, DP_BSLS, DP_RBRC, DP_AT, DP_MINS, | ||
| 72 | // ` a b c d e f g | ||
| 73 | DP_HASH, DP_A, DP_B, DP_C, DP_D, DP_E, DP_F, DP_G, | ||
| 74 | // h i j k l m n o | ||
| 75 | DP_H, DP_I, DP_J, DP_K, DP_L, DP_M, DP_N, DP_O, | ||
| 76 | // p q r s t u v w | ||
| 77 | DP_P, DP_Q, DP_R, DP_S, DP_T, DP_U, DP_V, DP_W, | ||
| 78 | // x y z { | } ~ DEL | ||
| 79 | DP_X, DP_Y, DP_Z, DP_LCBR, DP_BSLS, DP_RCBR, DP_DLR, KC_DEL | ||
| 80 | }; | ||
