1 #include "keymap_common.h"
2 // use ____ or TODO as keyboard keys in KEYMAP
8 * single apostrophe has not been placed (best on layer2)
12 * define bottom row Fn keys
14 * you can only have 32 Fn keys -- migrate shift+key and AltGr+key to actionmap
15 * see: https://github.com/tmk/tmk_keyboard/wiki/FAQ-Keymap#actionmap
17 * currently not placed due to shortage: ctrl-left, ctrl-right, µ
20 const uint8_t PROGMEM keymaps
[][MATRIX_ROWS
][MATRIX_COLS
] = {
22 * ,-------------------------------------------------.
23 * |Esc| Q| W| E| R| T| Z| U| I| O| P| BSp |
24 * |-------------------------------------------------|
25 * |C/^I| A| S| D| F| G| H| J| K| L| /|Fn2 |
26 * |-------------------------------------------------|
27 * |Shift| Y| X| C| V| B| N| M| ,| .| -|Sft|
28 * |-------------------------------------------------|
29 * |Alt | XXX |XXX |Enter| Space |XXX |XXX | Fn3 | TODO: where to put Fn1
30 * `-------------------------------------------------'
33 ESC
, Q
, W
, E
, R
, T
, Y
, U
, I
, O
, P
, BSPC
, \
34 FN0
, A
, S
, D
, F
, G
, H
, J
, K
, L
,FN11
, FN2
, \
35 LSHIFT
, Z
, X
, C
, V
, B
, N
, M
,COMM
, DOT
,SLSH
, RSHIFT
, \
36 LALT
, FN1
, LGUI
, ENT
, SPC
, RALT
, RSFT
, FN3
),
38 /* Layer: Movement Layer (wrd=ctrl-right, bck=crtl-left) TOGGLE
39 * ,-------------------------------------------------.
40 * |Esc| |wrd| |END| | |PUp| |Hom| | Del | TODO: move Home?
41 * |-------------------------------------------------| TODO: ctrl-right: use actionmap
42 * | | | |PDn| | |Lft| Up| Dn| Rt| | |
43 * |-------------------------------------------------|
44 * | |Psc| | | |bck| | | | | | | TODO: where NUM, CAPS, SCROLL, PAUSE
45 * |-------------------------------------------------| TODO: ctrl-left: use actionmap
46 * | | Gui | | | | | | |
47 * `-------------------------------------------------'
50 ESC
,____
,TODO
,____
, END
,____
,____
,PGUP
,____
,HOME
,____
, DEL
, \
51 TRNS
,____
,____
,PGDN
,____
,TRNS
,LEFT
,DOWN
, UP
,RGHT
,____
, TRNS
, \
52 TRNS
,PSCR
,____
,____
,____
,TODO
,____
,____
,____
,____
,____
,____
, \
53 TRNS
, TRNS
, TRNS
, TRNS
, TRNS
, TRNS
, TRNS
, TRNS
),
55 /* Layer: Numbers and ASCII-Symbols Layer MOMENTARY+TOGGLE
56 * ,-------------------------------------------------.
57 * | ^| !| "| §| $| %| &| /| (| )| =| ? |
58 * |-------------------------------------------------|
59 * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0|Fn2 | TODO: where to put FN15='
60 * |-------------------------------------------------|
61 * | #| <| || >| +| *| {| [| ]| }| \| ~|
62 * |-------------------------------------------------|
64 * `-------------------------------------------------'
67 GRV
, FN5
, FN6
, FN7
, FN8
, FN9
,FN10
,FN11
,FN12
,FN13
,FN14
, FN17
, \
68 FN18
, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, TRNS
, \
69 BSLS
,NUBS
,FN30
,FN31
,RBRC
,FN20
,FN24
,FN25
,FN26
,FN27
,FN28
,FN29
, \
70 TRNS
, TRNS
, TRNS
, TRNS
, TRNS
, TRNS
, TRNS
, TRNS
),
72 /* Layer: Layer for Function keys and Unicode Symbols MOMENTARY
73 * ,-------------------------------------------------.
74 * | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11| F12|
75 * |-------------------------------------------------|
76 * | | | | | | | | | Ä| Ö| Ü|Entr| Ä=" Ö=: Ü={
77 * |-------------------------------------------------|
78 * | | | | °| ²| ³| µ| ä| ö| ü| ß| | ä=' ö=; ü=[ ß=-
79 * |-------------------------------------------------| TODO: µ
80 * | | | |Space| Enter | | | |
81 * `-------------------------------------------------'
84 F1
, F2
, F3
, F4
, F5
, F6
, F7
, F8
, F9
, F10
, F11
, F12
, \
85 TRNS
,____
,____
,____
,____
,____
,____
,____
,FN16
,FN21
,FN19
, ENT
, \
86 TRNS
,____
,____
, FN4
,FN22
,FN23
,TODO
,QUOT
,SCLN
,LBRC
,MINS
,RSFT
, \
87 TRNS
, TRNS
, TRNS
, SPC
, ENT
, TRNS
, TRNS
, TRNS
),
90 const action_t PROGMEM fn_actions
[] = {
91 [0] = ACTION_MODS_TAP_KEY(MOD_LCTL
, KC_TAB
),
92 [1] = ACTION_LAYER_MOMENTARY(1),
93 [2] = ACTION_LAYER_MOMENTARY(2),
94 [3] = ACTION_LAYER_MOMENTARY(3),
95 [4] = ACTION_MODS_KEY(MOD_LSFT
, KC_GRV
),
96 [5] = ACTION_MODS_KEY(MOD_LSFT
, KC_1
),
97 [6] = ACTION_MODS_KEY(MOD_LSFT
, KC_2
),
98 [7] = ACTION_MODS_KEY(MOD_LSFT
, KC_3
),
99 [8] = ACTION_MODS_KEY(MOD_LSFT
, KC_4
),
100 [9] = ACTION_MODS_KEY(MOD_LSFT
, KC_5
),
101 [10] = ACTION_MODS_KEY(MOD_LSFT
, KC_6
),
102 [11] = ACTION_MODS_KEY(MOD_LSFT
, KC_7
),
103 [12] = ACTION_MODS_KEY(MOD_LSFT
, KC_8
),
104 [13] = ACTION_MODS_KEY(MOD_LSFT
, KC_9
),
105 [14] = ACTION_MODS_KEY(MOD_LSFT
, KC_0
),
106 [15] = ACTION_MODS_KEY(MOD_LSFT
, KC_BSLS
), // #' key
107 [16] = ACTION_MODS_KEY(MOD_LSFT
, KC_QUOT
), // ä key
108 [17] = ACTION_MODS_KEY(MOD_LSFT
, KC_MINS
), // ß?\ key
109 [18] = ACTION_MODS_KEY(MOD_LSFT
, KC_EQL
), // ´` key
110 [19] = ACTION_MODS_KEY(MOD_LSFT
, KC_LBRC
), // ü key
111 [20] = ACTION_MODS_KEY(MOD_LSFT
, KC_RBRC
), // +*~ key
112 [21] = ACTION_MODS_KEY(MOD_LSFT
, KC_SCLN
), // ö key
113 [22] = ACTION_MODS_KEY(MOD_RALT
, KC_2
), // ²
114 [23] = ACTION_MODS_KEY(MOD_RALT
, KC_3
), // ³
115 [24] = ACTION_MODS_KEY(MOD_RALT
, KC_7
), // {
116 [25] = ACTION_MODS_KEY(MOD_RALT
, KC_8
), // [
117 [26] = ACTION_MODS_KEY(MOD_RALT
, KC_9
), // ]
118 [27] = ACTION_MODS_KEY(MOD_RALT
, KC_0
), // }
119 [28] = ACTION_MODS_KEY(MOD_RALT
, KC_MINS
), // "\"
120 [29] = ACTION_MODS_KEY(MOD_RALT
, KC_RBRC
), // ~
121 [30] = ACTION_MODS_KEY(MOD_RALT
, KC_NUBS
), // <|>
122 [31] = ACTION_MODS_KEY(MOD_LSFT
, KC_NUBS
), // <|>
123 //[32] = ACTION_MODS_KEY(MOD_RALT, KC_M), // µ TODO: use actionmap