aboutsummaryrefslogtreecommitdiff
path: root/quantum/keymap_extras/keymap_german.h
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/keymap_extras/keymap_german.h')
-rw-r--r--quantum/keymap_extras/keymap_german.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/quantum/keymap_extras/keymap_german.h b/quantum/keymap_extras/keymap_german.h
new file mode 100644
index 000000000..3f9ae8bad
--- /dev/null
+++ b/quantum/keymap_extras/keymap_german.h
@@ -0,0 +1,99 @@
1#ifndef KEYMAP_GERMAN
2#define KEYMAP_GERMAN
3
4#include "keymap.h"
5
6// Alt gr
7#define ALGR(kc) kc | 0x1400
8#define DE_ALGR KC_RALT
9
10// normal characters
11#define DE_Z KC_Y
12#define DE_Y KC_Z
13
14#define DE_A KC_A
15#define DE_B KC_B
16#define DE_C KC_C
17#define DE_D KC_D
18#define DE_E KC_E
19#define DE_F KC_F
20#define DE_G KC_G
21#define DE_H KC_H
22#define DE_I KC_I
23#define DE_J KC_J
24#define DE_K KC_K
25#define DE_L KC_L
26#define DE_M KC_M
27#define DE_N KC_N
28#define DE_O KC_O
29#define DE_P KC_P
30#define DE_Q KC_Q
31#define DE_R KC_R
32#define DE_S KC_S
33#define DE_T KC_T
34#define DE_U KC_U
35#define DE_V KC_V
36#define DE_W KC_W
37#define DE_X KC_X
38
39#define DE_0 KC_0
40#define DE_1 KC_1
41#define DE_2 KC_2
42#define DE_3 KC_3
43#define DE_4 KC_4
44#define DE_5 KC_5
45#define DE_6 KC_6
46#define DE_7 KC_7
47#define DE_8 KC_8
48#define DE_9 KC_9
49
50#define DE_DOT KC_DOT
51#define DE_COMM KC_COMM
52
53#define DE_SS KC_MINS
54#define DE_AE KC_QUOT
55#define DE_UE KC_LBRC
56#define DE_OE KC_SCLN
57
58#define DE_CIRC KC_GRAVE // accent circumflex ^ and ring °
59#define DE_ACUT KC_EQL // accent acute ´ and grave `
60#define DE_PLUS KC_RBRC // + and * and ~
61#define DE_HASH KC_BSLS // # and '
62#define DE_LESS KC_NUBS // < and > and |
63#define DE_MINS KC_SLSH // - and _
64
65// shifted characters
66#define DE_RING LSFT(DE_CIRC) // °
67#define DE_EXLM LSFT(KC_1) // !
68#define DE_DQOT LSFT(KC_2) // "
69#define DE_PARA LSFT(KC_3) // §
70#define DE_DLR LSFT(KC_4) // $
71#define DE_PERC LSFT(KC_5) // %
72#define DE_AMPR LSFT(KC_6) // &
73#define DE_SLSH LSFT(KC_7) // /
74#define DE_LPRN LSFT(KC_8) // (
75#define DE_RPRN LSFT(KC_9) // )
76#define DE_EQL LSFT(KC_0) // =
77#define DE_QST LSFT(DE_SS) // ?
78#define DE_GRV LSFT(DE_ACUT) // `
79#define DE_ASTR LSFT(DE_PLUS) // *
80#define DE_QUOT LSFT(DE_HASH) // '
81#define DE_MORE LSFT(DE_LESS) // >
82#define DE_COLN LSFT(KC_DOT) // :
83#define DE_SCLN LSFT(KC_COMM) // ;
84#define DE_UNDS LSFT(DE_MINS) // _
85
86// Alt Gr-ed characters
87#define DE_SQ2 ALGR(KC_2) // ²
88#define DE_SQ3 ALGR(KC_3) // ³
89#define DE_LCBR ALGR(KC_7) // {
90#define DE_LBRC ALGR(KC_8) // [
91#define DE_RBRC ALGR(KC_9) // ]
92#define DE_RCBR ALGR(KC_0) // }
93#define DE_BSLS ALGR(DE_SS) // backslash
94#define DE_AT ALGR(KC_Q) // @
95#define DE_EURO ALGR(KC_E) // €
96#define DE_TILD ALGR(DE_PLUS) // ~
97#define DE_PIPE ALGR(DE_LESS) // |
98
99#endif