5f77acf91d2ba6dfd8d4a72a17249cd700e88cb7
2 #ifdef BACKLIGHT_ENABLE
5 #include "keymap_german.h"
7 // for intellisense, has to be commented for building
9 #include "..\..\..\..\quantum\keymap_extras\keymap_german.h"
10 #include "..\..\..\..\tmk_core\common\keycode.h"
14 #define _______ KC_TRNS
17 /* This Layout tries to emulate the Bone2 Variant of Neo2, and is intended to be used with a German QWERTZ Softwarelayout.
18 It has "üäöß" as it is optimized for a mix of German & English.
19 My favourite features are the placement of the special characters often used for programming right on the home row
20 and the number & navigation block combo, so you never have to move your hands from their home position.
22 Bone2 wiki page: http://wiki.neo-layout.org/wiki/Bone
25 const uint16_t PROGMEM keymaps
[][MATRIX_ROWS
][MATRIX_COLS
] = {
28 * ,-----------------------------------------------------------------------------------.
29 * | ß | J | D | U | A | X | P | H | L | M | W | Q |
30 * |------+------+------+------+------+-------------+------+------+------+------+------|
31 * | M1 | C | T | I | E | O | B | N | R | S | G |M1/Ent| //hold for M1, tap for Enter
32 * |------+------+------+------+------+------|------+------+------+------+------+------|
33 * | Shift| F | V | Ü | Ä | Ö | Y | Z | , | . | K |Shift |
34 * |------+------+------+------+------+------+------+------+------+------+------+------|
35 * | Ctrl | GUI | Alt | M4 | M2 | Space | M2 | M4 | Alt | Esc | Ctrl |
36 * `-----------------------------------------------------------------------------------'
39 { DE_SS
, DE_J
, DE_D
, DE_U
, DE_A
, DE_X
, DE_P
, DE_H
, DE_L
, DE_M
, DE_W
, DE_Q
},
40 //{ LT(1,KC_TAB), DE_C, DE_T, DE_I, DE_E, DE_O, DE_B, DE_N, DE_R, DE_S, DE_G, LT(1,KC_ENT) },
41 { MO(1), DE_C
, DE_T
, DE_I
, DE_E
, DE_O
, DE_B
, DE_N
, DE_R
, DE_S
, DE_G
, LT(1,KC_ENT
) },
42 { KC_LSFT
, DE_F
, DE_V
, DE_UE
, DE_AE
, DE_OE
, DE_Y
, DE_Z
, DE_COMM
, DE_DOT
, DE_K
, KC_LSFT
},
43 { KC_LCTL
, KC_RGUI
, KC_LALT
, MO(4), MO(2), KC_SPC
, KC_SPC
, MO(2), MO(4), KC_RALT
, KC_ESC
, KC_RCTL
}
46 /* M1 Special Characters
47 * very ergonomic placement for coding
48 * ,-----------------------------------------------------------------------------------.
49 * | ° | @ | _ | [ | ] | ^ | ! | < | > | = | & | ´ |
50 * |------+------+------+------+------+-------------+------+------+------+------+------|
51 * | M1 | \ | / | { | } | * | ? | ( | ) | - | : |M1/Ent| //hold for M1, tap for Enter
52 * |------+------+------+------+------+------|------+------+------+------+------+------|
53 * | Shift| # | ~ | | | $ | € | + | % | " | ' | ; |Shift |
54 * |------+------+------+------+------+------+------+------+------+------+------+------|
55 * | Ctrl | GUI | Alt | M4 | M2 | Space | M2 | M4 | Alt | Esc | Ctrl |
56 * `-----------------------------------------------------------------------------------'
59 { DE_RING
, DE_AT
, DE_UNDS
, DE_LBRC
, DE_RBRC
, DE_CIRC
, DE_EXLM
, DE_LESS
, DE_MORE
, DE_EQL
, DE_AMPR
, DE_ACUT
},
60 { _______
, DE_BSLS
, DE_SLSH
, DE_LCBR
, DE_RCBR
, DE_ASTR
, DE_QST
, DE_LPRN
, DE_RPRN
, DE_MINS
, DE_COLN
, _______
},
61 { _______
, DE_HASH
, DE_TILD
, DE_PIPE
, DE_DLR
, DE_EURO
, DE_PLUS
, DE_PERC
, DE_DQOT
, DE_QUOT
, DE_SCLN
, _______
},
62 { _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
}
65 /* M2 Navigation & Number Blocks
66 * very easy to get used to & intuituve placement
67 * ,-----------------------------------------------------------------------------------.
68 * | | PgUp | Bksp | Up | DEL | PgDn | | 7 | 8 | 9 | | Ins |
69 * |------+------+------+------+------+-------------+------+------+------+------+------|
70 * | Tab | Home | Lft | Down | Right| End | | 4 | 5 | 6 | . | Enter|
71 * |------+------+------+------+------+------|------+------+------+------+------+------|
72 * | Shift| | Tab | | Enter| | 0 | 1 | 2 | 3 | , |Shift |
73 * |------+------+------+------+------+------+------+------+------+------+------+------|
74 * | Ctrl | GUI | Alt | M3 | M2 | Space | M2 | M3 | Alt | Esc | Ctrl |
75 * `-----------------------------------------------------------------------------------'
78 { XXXXXXX
, KC_PGUP
, KC_BSPC
, KC_UP
, KC_DEL
, KC_PGDN
, XXXXXXX
, DE_7
, DE_8
, DE_9
, XXXXXXX
, KC_INS
},
79 { KC_TAB
, KC_HOME
, KC_LEFT
, KC_DOWN
, KC_RGHT
, KC_END
, XXXXXXX
, DE_4
, DE_5
, DE_6
, DE_DOT
, KC_ENT
},
80 { _______
, XXXXXXX
, KC_TAB
, XXXXXXX
, KC_ENT
, XXXXXXX
, DE_0
, DE_1
, DE_2
, DE_3
, DE_COMM
, _______
},
81 { _______
, _______
, _______
, MO(3), _______
, _______
, _______
, _______
, MO(3), _______
, _______
, _______
}
84 /* M3 Switched Navigation & Number Blocks for one handed use
85 * accessed by sliding from M2 to M3 with thumb
86 * ,-----------------------------------------------------------------------------------.
87 * | Ins | | 7 | 8 | 9 | | PgUp | Bksp | Up | DEL | PgDn | |
88 * |------+------+------+------+------+-------------+------+------+------+------+------|
89 * | Tab | | 4 | 5 | 6 | . | Home | Left | Down | Right| End | Enter|
90 * |------+------+------+------+------+------|------+------+------+------+------+------|
91 * | Shift| 0 | 1 | 2 | 3 | , | | Tab | | Enter| |Shift |
92 * |------+------+------+------+------+------+------+------+------+------+------+------|
93 * | Ctrl | GUI | Alt | M3 | | Space | | M3 | Alt | Esc | Ctrl |
94 * `-----------------------------------------------------------------------------------'
98 { KC_INS
, XXXXXXX
, DE_7
, DE_8
, DE_9
, XXXXXXX
, KC_PGUP
, KC_BSPC
, KC_UP
, KC_DEL
, KC_PGDN
, XXXXXXX
},
99 { _______
, XXXXXXX
, DE_4
, DE_5
, DE_6
, DE_DOT
, KC_HOME
, KC_LEFT
, KC_DOWN
, KC_RGHT
, KC_END
, _______
},
100 { _______
, DE_0
, DE_1
, DE_2
, DE_3
, DE_COMM
, XXXXXXX
, KC_TAB
, XXXXXXX
, KC_ENT
, XXXXXXX
, _______
},
101 { _______
, _______
, _______
, _______
, XXXXXXX
, _______
, _______
, XXXXXXX
, _______
, _______
, _______
, _______
}
105 /* M4 Function & Media Keys
106 * ,-----------------------------------------------------------------------------------.
107 * | | | Print|Scroll|Pause | | | F7 | F8 | F9 | F12 | |
108 * |------+------+------+------+------+-------------+------+------+------+------+------|
109 * | Tab | | Mute | Vol- | Vol+ | | ³ | F4 | F5 | F6 | F11 | Enter|
110 * |------+------+------+------+------+------|------+------+------+------+------+------|
111 * | Shift| | Prev | Play | Next | | ² | F1 | F2 | F3 | F10 |Shift |
112 * |------+------+------+------+------+------+------+------+------+------+------+------|
113 * | Ctrl | GUI | Alt | M4 | M5 | Space | M5 | M4 | Alt | Esc | Ctrl |
114 * `-----------------------------------------------------------------------------------'
117 { XXXXXXX
, XXXXXXX
, KC_PSCR
, KC_SLCK
, KC_PAUS
, XXXXXXX
, XXXXXXX
, KC_F7
, KC_F8
, KC_F9
, KC_F12
, XXXXXXX
},
118 { KC_TAB
, XXXXXXX
, KC_MUTE
, KC_VOLD
, KC_VOLU
, XXXXXXX
, DE_SQ3
, KC_F4
, KC_F5
, KC_F6
, KC_F11
, KC_ENT
},
119 { _______
, XXXXXXX
, KC_MPRV
, KC_MPLY
, KC_MNXT
, XXXXXXX
, DE_SQ2
, KC_F1
, KC_F2
, KC_F3
, KC_F10
, _______
},
120 { _______
, _______
, _______
, _______
, MO(5), _______
, _______
, MO(5), _______
, _______
, _______
, _______
}
124 /* M5 Switched Function & Media Keys|
125 * accessed by sliding from M4 to M5 with thumb
126 * ,-----------------------------------------------------------------------------------.
127 * | | | F7 | F8 | F9 | F12 | | Print|Scroll| Pause| | |
128 * |------+------+------+------+------+-------------+------+------+------+------+------|
129 * | Tab | ³ | F4 | F5 | F6 | F11 | | Mute | Vol- | Vol+ | | Enter|
130 * |------+------+------+------+------+------|------+------+------+------+------+------|
131 * | Shift| ² | F1 | F2 | F3 | F10 | | Prev | Play | Next | |Shift |
132 * |------+------+------+------+------+------+------+------+------+------+------+------|
133 * | Ctrl | GUI | Alt | | M5 | Space | M5 | | Alt | Esc | Ctrl |
134 * `-----------------------------------------------------------------------------------'
137 { XXXXXXX
, XXXXXXX
, KC_F7
, KC_F8
, KC_F9
, KC_F12
, XXXXXXX
, KC_PSCR
, KC_SLCK
, KC_PAUS
, XXXXXXX
, XXXXXXX
},
138 { _______
, DE_SQ3
, KC_F4
, KC_F5
, KC_F6
, KC_F11
, XXXXXXX
, KC_MUTE
, KC_VOLD
, KC_VOLU
, XXXXXXX
, _______
},
139 { _______
, DE_SQ2
, KC_F1
, KC_F2
, KC_F3
, KC_F10
, XXXXXXX
, KC_MPRV
, KC_MPLY
, KC_MNXT
, XXXXXXX
, _______
},
140 { _______
, _______
, _______
, XXXXXXX
, _______
, _______
, _______
, _______
, XXXXXXX
, _______
, _______
, _______
}
145 const uint16_t PROGMEM fn_actions
[] = {
149 const macro_t
*action_get_macro(keyrecord_t
*record
, uint8_t id
, uint8_t opt
)
151 // MACRODOWN only works in this function
154 if (record
->event
.pressed
) {
155 register_code(KC_RSFT
);
156 #ifdef BACKLIGHT_ENABLE
161 unregister_code(KC_RSFT
);