qmk-firmware/quantum/keymap_extras/keymap_norwegian.h

176 lines
9.2 KiB
C
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* Copyright 2016 Jack Humbert
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "keymap.h"
// 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 // -
/* 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) // _
/* 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) // µ
// 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)) // }