From ebd211b7b096a299bffda17765e9704c997e5748 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 8 Mar 2020 15:43:05 +1100 Subject: Update Norwegian keymap and add sendstring LUT (#8300) --- quantum/keymap_extras/keymap_norwegian.h | 187 +++++++++++++++++++++++++------ 1 file changed, 153 insertions(+), 34 deletions(-) (limited to 'quantum/keymap_extras/keymap_norwegian.h') diff --git a/quantum/keymap_extras/keymap_norwegian.h b/quantum/keymap_extras/keymap_norwegian.h index eb3b0b040e..6eab4163b6 100644 --- a/quantum/keymap_extras/keymap_norwegian.h +++ b/quantum/keymap_extras/keymap_norwegian.h @@ -13,44 +13,163 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#ifndef KEYMAP_NORWEGIAN_H -#define KEYMAP_NORWEGIAN_H -#include "keymap_nordic.h" +#pragma once -// There are slight differrences in the keyboards in the nordic contries +#include "keymap.h" -// Norwegian redifinitions from the nordic keyset -#undef NO_ACUT -#define NO_ACUT ALGR(NO_BSLS) // ´ -#undef NO_AE -#define NO_AE KC_QUOT // æ -#undef NO_BSLS -#define NO_BSLS KC_EQL // '\' -#undef NO_CIRC -#define NO_CIRC LSFT(KC_RBRC) // ^ -#undef NO_GRV -#define NO_GRV LSFT(NO_BSLS) // -#undef NO_OSLH -#define NO_OSLH KC_SCLN // ø -#undef NO_PIPE +// clang-format off + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ | │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ \ │       │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │     │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │     │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │ + * │      │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ø │ Æ │ ' │    │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │    │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │          │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 #define NO_PIPE KC_GRV // | +#define NO_1 KC_1 // 1 +#define NO_2 KC_2 // 2 +#define NO_3 KC_3 // 3 +#define NO_4 KC_4 // 4 +#define NO_5 KC_5 // 5 +#define NO_6 KC_6 // 6 +#define NO_7 KC_7 // 7 +#define NO_8 KC_8 // 8 +#define NO_9 KC_9 // 9 +#define NO_0 KC_0 // 0 +#define NO_PLUS KC_MINS // + +#define NO_BSLS KC_EQL // (backslash) +// Row 2 +#define NO_Q KC_Q // Q +#define NO_W KC_W // W +#define NO_E KC_E // E +#define NO_R KC_R // R +#define NO_T KC_T // T +#define NO_Y KC_Y // Y +#define NO_U KC_U // U +#define NO_I KC_I // I +#define NO_O KC_O // O +#define NO_P KC_P // P +#define NO_ARNG KC_LBRC // Å +#define NO_DIAE KC_RBRC // ¨ (dead) +// Row 3 +#define NO_A KC_A // A +#define NO_S KC_S // S +#define NO_D KC_D // D +#define NO_F KC_F // F +#define NO_G KC_G // G +#define NO_H KC_H // H +#define NO_J KC_J // J +#define NO_K KC_K // K +#define NO_L KC_L // L +#define NO_OSTR KC_SCLN // Ø +#define NO_AE KC_QUOT // Æ +#define NO_QUOT KC_NUHS // ' +// Row 4 +#define NO_LABK KC_NUBS // < +#define NO_Z KC_Z // Z +#define NO_X KC_X // X +#define NO_C KC_C // C +#define NO_V KC_V // V +#define NO_B KC_B // B +#define NO_N KC_N // N +#define NO_M KC_M // M +#define NO_COMM KC_COMM // , +#define NO_DOT KC_DOT // . +#define NO_MINS KC_SLSH // - -// Additional norwegian keys not defined in the nordic keyset -#define NO_AA KC_LBRC // å -#define NO_ASTR LSFT(KC_BSLS) // * +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ § │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │       │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │     │   │   │   │   │   │   │   │   │   │   │   │ ^ │     │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │ + * │      │   │   │   │   │   │   │   │   │   │   │   │ * │    │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │    │ > │   │   │   │   │   │   │   │ ; │ : │ _ │          │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define NO_SECT S(NO_PIPE) // § +#define NO_EXLM S(NO_1) // ! +#define NO_DQUO S(NO_2) // " +#define NO_HASH S(NO_3) // # +#define NO_CURR S(NO_4) // ¤ +#define NO_PERC S(NO_5) // % +#define NO_AMPR S(NO_6) // & +#define NO_SLSH S(NO_7) // / +#define NO_LPRN S(NO_8) // ( +#define NO_RPRN S(NO_9) // ) +#define NO_EQL S(NO_0) // = +#define NO_QUES S(NO_PLUS) // ? +#define NO_GRV S(NO_BSLS) // ` (dead) +// Row 2 +#define NO_CIRC S(NO_DIAE) // ^ (dead) +// Row 3 +#define NO_ASTR S(NO_QUOT) // * +// Row 4 +#define NO_RABK S(NO_LABK) // > +#define NO_SCLN S(NO_COMM) // ; +#define NO_COLN S(NO_DOT) // : +#define NO_UNDS S(NO_MINS) // _ -// Norwegian unique MAC characters -#define NO_ACUT_MAC KC_EQL // = -#define NO_APOS_MAC KC_NUBS // ' -#define NO_AT_MAC KC_BSLS // @ -#define NO_BSLS_MAC ALGR(LSFT(KC_7)) // '\' -#define NO_DLR_MAC LSFT(KC_4) // $ -#define NO_GRV_MAC ALGR(NO_BSLS) // ` -#define NO_GRTR_MAC LSFT(KC_GRV) // > -#define NO_LCBR_MAC ALGR(LSFT(KC_8)) // } -#define NO_LESS_MAC KC_GRV // > -#define NO_PIPE_MAC ALGR(KC_7) // | -#define NO_RCBR_MAC ALGR(LSFT(KC_9)) // } +/* AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │   │   │ @ │ £ │ $ │ € │   │ { │ [ │ ] │ } │   │ ´ │       │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │     │   │   │   │   │   │   │   │   │   │   │   │ ~ │     │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │ + * │      │   │   │   │   │   │   │   │   │   │   │   │   │    │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │    │   │   │   │   │   │   │   │ µ │   │   │   │          │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define NO_AT ALGR(NO_2) // @ +#define NO_PND ALGR(NO_3) // £ +#define NO_DLR ALGR(NO_4) // $ +#define NO_EURO ALGR(NO_5) // € +#define NO_LCBR ALGR(NO_7) // { +#define NO_LBRC ALGR(NO_8) // [ +#define NO_RBRC ALGR(NO_9) // ] +#define NO_RCBR ALGR(NO_0) // } +#define NO_ACUT ALGR(NO_BSLS) // ´ (dead) +// Row 2 +#define NO_TILD ALGR(NO_DIAE) // ~ (dead) +// Row 4 +#define NO_MICR ALGR(NO_M) // µ -#endif +// DEPRECATED +#define NO_AM NO_ARNG +#define NO_AA NO_ARNG +#define NO_OSLH NO_OSTR +#define NO_APOS NO_QUOT +#define NO_LESS NO_LABK +#define NO_QUO2 NO_DQUO +#define NO_BULT NO_CURR +#define NO_GRTR NO_RABK +#define NO_MU NO_MICR +// Norwegian macOS symbols +#define NO_ACUT_MAC NO_BSLS // ´ +#define NO_APOS_MAC NO_LABK // ' +#define NO_AT_MAC NO_QUOT // @ +#define NO_BSLS_MAC S(ALGR(NO_7)) // (backslash) +#define NO_DLR_MAC S(NO_4) // $ +#define NO_GRV_MAC ALGR(NO_BSLS) // ` +#define NO_GRTR_MAC S(NO_PIPE) // > +#define NO_LCBR_MAC S(ALGR(NO_8)) // { +#define NO_LESS_MAC NO_PIPE // < +#define NO_PIPE_MAC ALGR(NO_7) // | +#define NO_RCBR_MAC S(ALGR(NO_9)) // } -- cgit v1.2.3