From 4b1430fd0944461bb9abcf688bfe8bf51fa3eb8a Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 16 Mar 2020 07:38:05 +1100 Subject: [PATCH] Update Norman keymap and sendstring LUT (#8404) --- quantum/keymap_extras/keymap_norman.h | 138 ++++++++++++++++------ quantum/keymap_extras/sendstring_norman.h | 16 +-- 2 files changed, 113 insertions(+), 41 deletions(-) diff --git a/quantum/keymap_extras/keymap_norman.h b/quantum/keymap_extras/keymap_norman.h index e0f246f823..45727467bc 100644 --- a/quantum/keymap_extras/keymap_norman.h +++ b/quantum/keymap_extras/keymap_norman.h @@ -1,4 +1,3 @@ - /* Copyright 2019 Torben Hoffmann * * This program is free software: you can redistribute it and/or modify @@ -14,40 +13,113 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #pragma once #include "keymap.h" -// For software implementation of norman -#define NM_Q KC_Q -#define NM_W KC_W -#define NM_D KC_E -#define NM_F KC_R -#define NM_K KC_T -#define NM_J KC_Y -#define NM_U KC_U -#define NM_R KC_I -#define NM_L KC_O -#define NM_SCLN KC_P -#define NM_COLN LSFT(NM_SCLN) -#define NM_A KC_A -#define NM_S KC_S -#define NM_E KC_D -#define NM_T KC_F -#define NM_G KC_G -#define NM_Y KC_H -#define NM_N KC_J -#define NM_I KC_K -#define NM_O KC_L -#define NM_H KC_SCLN +// clang-format off -#define NM_Z KC_Z -#define NM_X KC_X -#define NM_C KC_C -#define NM_V KC_V -#define NM_B KC_B -#define NM_P KC_N -#define NM_M KC_M -#define NM_COMM KC_COMM -#define NM_DOT KC_DOT -#define NM_SLSH KC_SLSH +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │       │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │     │ Q │ W │ D │ F │ K │ J │ U │ R │ L │ ; │ [ │ ] │  \  │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │      │ A │ S │ E │ T │ G │ Y │ N │ I │ O │ H │ ' │        │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │        │ Z │ X │ C │ V │ B │ P │ M │ , │ . │ / │          │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define NM_GRV KC_GRV // ` +#define NM_1 KC_1 // 1 +#define NM_2 KC_2 // 2 +#define NM_3 KC_3 // 3 +#define NM_4 KC_4 // 4 +#define NM_5 KC_5 // 5 +#define NM_6 KC_6 // 6 +#define NM_7 KC_7 // 7 +#define NM_8 KC_8 // 8 +#define NM_9 KC_9 // 9 +#define NM_0 KC_0 // 0 +#define NM_MINS KC_MINS // - +#define NM_EQL KC_EQL // = +// Row 2 +#define NM_Q KC_Q // Q +#define NM_W KC_W // W +#define NM_D KC_E // D +#define NM_F KC_R // F +#define NM_K KC_T // K +#define NM_J KC_Y // J +#define NM_U KC_U // U +#define NM_R KC_I // R +#define NM_L KC_O // L +#define NM_SCLN KC_P // ; +#define NM_LBRC KC_LBRC // [ +#define NM_RBRC KC_RBRC // ] +#define NM_BSLS KC_BSLS // (backslash) +// Row 3 +#define NM_A KC_A // A +#define NM_S KC_S // S +#define NM_E KC_D // E +#define NM_T KC_F // T +#define NM_G KC_G // G +#define NM_Y KC_H // Y +#define NM_N KC_J // N +#define NM_I KC_K // I +#define NM_O KC_L // O +#define NM_H KC_SCLN // H +#define NM_QUOT KC_QUOT // ' +// Row 4 +#define NM_Z KC_Z // Z +#define NM_X KC_X // X +#define NM_C KC_C // C +#define NM_V KC_V // V +#define NM_B KC_B // B +#define NM_P KC_N // P +#define NM_M KC_M // M +#define NM_COMM KC_COMM // , +#define NM_DOT KC_DOT // . +#define NM_SLSH KC_SLSH // / + +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │       │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │     │   │   │   │   │   │   │   │   │   │ ; │ { │ } │  |  │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │      │   │   │   │   │   │   │   │   │   │   │ " │        │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │        │   │   │   │   │   │   │   │ < │ > │ ? │          │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define NM_TILD S(NM_GRV) // ~ +#define NM_EXLM S(NM_1) // ! +#define NM_AT S(NM_2) // @ +#define NM_HASH S(NM_3) // # +#define NM_DLR S(NM_4) // $ +#define NM_PERC S(NM_5) // % +#define NM_CIRC S(NM_6) // ^ +#define NM_AMPR S(NM_7) // & +#define NM_ASTR S(NM_8) // * +#define NM_LPRN S(NM_9) // ( +#define NM_RPRN S(NM_0) // ) +#define NM_UNDS S(NM_MINS) // _ +#define NM_PLUS S(NM_EQL) // + +// Row 2 +#define NM_COLN S(NM_SCLN) // : +#define NM_LCBR S(NM_LBRC) // { +#define NM_RCBR S(NM_RBRC) // } +#define NM_PIPE S(NM_BSLS) // | +// Row 3 +#define NM_DQUO S(NM_QUOT) // " +// Row 4 +#define NM_LABK S(NM_COMM) // < +#define NM_RABK S(NM_DOT) // > +#define NM_QUES S(NM_SLSH) // ? diff --git a/quantum/keymap_extras/sendstring_norman.h b/quantum/keymap_extras/sendstring_norman.h index 4146e6ca7b..21dbbdd705 100644 --- a/quantum/keymap_extras/sendstring_norman.h +++ b/quantum/keymap_extras/sendstring_norman.h @@ -33,27 +33,27 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = { XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, // ! " # $ % & ' - KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT, + KC_SPC, NM_1, NM_QUOT, NM_3, NM_4, NM_5, NM_7, NM_QUOT, // ( ) * + , - . / - KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH, + NM_9, NM_0, NM_8, NM_EQL, NM_COMM, NM_MINS, NM_DOT, NM_SLSH, // 0 1 2 3 4 5 6 7 - KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, + NM_0, NM_1, NM_2, NM_3, NM_4, NM_5, NM_6, NM_7, // 8 9 : ; < = > ? - KC_8, KC_9, NM_SCLN, NM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH, + NM_8, NM_9, NM_SCLN, NM_SCLN, NM_COMM, NM_EQL, NM_DOT, NM_SLSH, // @ A B C D E F G - KC_2, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G, + NM_2, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G, // H I J K L M N O NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O, // P Q R S T U V W NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W, // X Y Z [ \ ] ^ _ - NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS, + NM_X, NM_Y, NM_Z, NM_LBRC, NM_BSLS, NM_RBRC, NM_6, NM_MINS, // ` a b c d e f g - KC_GRV, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G, + NM_GRV, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G, // h i j k l m n o NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O, // p q r s t u v w NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W, // x y z { | } ~ DEL - NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL + NM_X, NM_Y, NM_Z, NM_LBRC, NM_BSLS, NM_RBRC, NM_GRV, KC_DEL };