96fd0c5c658f4c931ea9901d0b39ab0c221f360c
[jackhill/qmk/firmware.git] / quantum / keymap_extras / keymap_swedish.h
1 /* Copyright 2017 Andreas Lindhé
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 #ifndef KEYMAP_SWEDISH_H
18 #define KEYMAP_SWEDISH_H
19
20 #include "keymap.h"
21
22 // Normal characters
23 #define SE_HALF KC_GRV
24 #define SE_PLUS KC_MINS
25 #define SE_ACUT KC_EQL
26
27 #define SE_AM KC_LBRC
28 #define SE_QUOT KC_RBRC // this is the "umlaut" char on Nordic keyboards, Apple layout
29 #define SE_AE KC_QUOT // ä
30 #define SE_OSLH KC_SCLN // ö
31 #define SE_APOS KC_NUHS
32
33 #define SE_LESS KC_NUBS
34 #define SE_MINS KC_SLSH
35
36 // Shifted characters
37 #define SE_SECT LSFT(SE_HALF)
38 #define SE_QUO2 LSFT(KC_2)
39 #define SE_BULT LSFT(KC_4)
40 #define SE_AMPR LSFT(KC_6)
41 #define SE_SLSH LSFT(KC_7)
42 #define SE_LPRN LSFT(KC_8)
43 #define SE_RPRN LSFT(KC_9)
44 #define SE_EQL LSFT(KC_0)
45 #define SE_QUES LSFT(SE_PLUS)
46 #define SE_GRV LSFT(SE_ACUT)
47
48 #define SE_CIRC LSFT(KC_RBRC) // ^
49
50 #define SE_GRTR LSFT(SE_LESS)
51 #define SE_SCLN LSFT(KC_COMM)
52 #define SE_COLN LSFT(KC_DOT)
53 #define SE_UNDS LSFT(SE_MINS)
54
55 // Alt Gr-ed characters
56 #define SE_AT ALGR(KC_2)
57 #define SE_PND ALGR(KC_3)
58 #define SE_DLR ALGR(KC_4)
59 #define SE_LCBR ALGR(KC_7)
60 #define SE_LBRC ALGR(KC_8)
61 #define SE_RBRC ALGR(KC_9)
62 #define SE_RCBR ALGR(KC_0)
63 #define SE_PIPE ALGR(KC_NUBS)
64
65 #define SE_EURO ALGR(KC_E)
66 #define SE_TILD ALGR(SE_QUOT)
67
68 #define SE_BSLS ALGR(KC_MINS)
69 #define SE_MU ALGR(KC_M)
70
71 #define SE_AA KC_LBRC // å
72 #define SE_ASTR LSFT(KC_BSLS) // *
73
74 // Norwegian unique MAC characters (not vetted for Swedish)
75 #define SE_ACUT_MAC KC_EQL // =
76 #define SE_APOS_MAC KC_NUBS // '
77 #define SE_AT_MAC KC_BSLS // @
78 #define SE_BSLS_MAC ALGR(LSFT(KC_7)) // '\'
79 #define SE_DLR_MAC ALGR(KC_4) // $
80 #define SE_GRV_MAC ALGR(SE_BSLS) // `
81 #define SE_GRTR_MAC LSFT(KC_GRV) // >
82 #define SE_LCBR_MAC ALGR(LSFT(KC_8)) // {
83 #define SE_LESS_MAC KC_GRV // <
84 #define SE_PIPE_MAC ALGR(KC_7) // |
85 #define SE_RCBR_MAC ALGR(LSFT(KC_9)) // }
86
87 #endif