1
+ /*
2
+ Copyright 2012 Jun Wako <wakojun@gmail.com>
3
+ Copyright 2015 Jack Humbert
4
+
5
+ This program is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU General Public License as published by
7
+ the Free Software Foundation, either version 2 of the License, or
8
+ (at your option) any later version.
9
+
10
+ This program is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU General Public License for more details.
14
+
15
+ You should have received a copy of the GNU General Public License
16
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+
1
19
#include QMK_KEYBOARD_H
2
20
3
21
#include "keymap_colemak.h"
7
25
enum layer_names {
8
26
_QWERTY , // OS-side Colemak. Default.
9
27
_COLEMAK , // Keyboard-side Colemak. Portability, emergency.
10
- _NUMERIC
28
+ _NUMERIC ,
11
29
};
12
30
13
31
// Shorthand:
@@ -23,66 +41,41 @@ enum layer_names {
23
41
// https://github.com/qmk/qmk_firmware/pull/2055
24
42
25
43
const uint16_t PROGMEM keymaps [][MATRIX_ROWS ][MATRIX_COLS ] = {
26
- [_QWERTY ] = LAYOUT_62key (
27
- KC_VOLD , KC_VOLU , CM_W , CM_F , CM_P , CM_G ,
28
- KC_TAB , CM_Q , CM_R , CM_S , CM_T , CM_D ,
29
- KC_BSPC , CM_A , CM_X , CM_C , CM_V , CM_B ,
30
- SLQ , CM_Z , KC_HOME , KC_PGUP , KC_END ,
31
- KC_PGDN , KC_ENT , KC_SPC ,
32
- SC_LSPO , KC_LGUI , KC_MINS ,
33
- BK_LCTL , KC_LALT ,
34
-
35
- CM_J , CM_L , CM_U , CM_Y , KC_MPLY , KC_MUTE ,
36
- CM_H , CM_N , CM_E , CM_I , CM_SCLN , KC_BSLS ,
37
- CM_K , CM_M , KC_COMM , KC_DOT , CM_O , KC_QUOT ,
38
- KC_LEFT , KC_UP , KC_RGHT , KC_SLSH , SRQ ,
39
- KC_DEL , KC_ESC , KC_DOWN ,
40
- KC_EQL , LAYER_N , SC_RSPC ,
41
- KC_RALT , BK_RCTL
44
+ [_QWERTY ] = LAYOUT (
45
+ KC_VOLD , KC_VOLU , CM_W , CM_F , CM_P , CM_G , CM_J , CM_L , CM_U , CM_Y , KC_MPLY , KC_MUTE ,
46
+ KC_TAB , CM_Q , CM_R , CM_S , CM_T , CM_D , CM_H , CM_N , CM_E , CM_I , CM_SCLN , KC_BSLS ,
47
+ KC_BSPC , CM_A , CM_X , CM_C , CM_V , CM_B , CM_K , CM_M , KC_COMM , KC_DOT , CM_O , KC_QUOT ,
48
+ SLQ , CM_Z , KC_HOME , KC_PGUP , KC_END , KC_LEFT , KC_UP , KC_RGHT , KC_SLSH , SRQ ,
49
+ KC_PGDN , KC_ENT , KC_SPC , KC_DEL , KC_ESC , KC_DOWN ,
50
+ SC_LSPO , KC_LGUI , KC_MINS , KC_EQL , LAYER_N , SC_RSPC ,
51
+ BK_LCTL , KC_LALT , KC_RALT , BK_RCTL
42
52
),
43
53
44
- [_COLEMAK ] = LAYOUT_62key (
45
- _______ , _______ , KC_W , KC_F , KC_P , KC_G ,
46
- _______ , KC_Q , KC_R , KC_S , KC_T , KC_D ,
47
- _______ , KC_A , KC_X , KC_C , KC_V , KC_B ,
48
- _______ , KC_Z , _______ , _______ , _______ ,
49
- _______ , _______ , _______ ,
50
- _______ , _______ , _______ ,
51
- _______ , _______ ,
52
-
53
- KC_J , KC_L , KC_U , KC_Y , _______ , _______ ,
54
- KC_H , KC_N , KC_E , KC_I , KC_SCLN , _______ ,
55
- KC_K , KC_M , _______ , _______ , KC_O , _______ ,
56
- _______ , _______ , _______ , _______ , _______ ,
57
- _______ , _______ , _______ ,
58
- _______ , _______ , _______ ,
59
- _______ , _______
54
+ [_COLEMAK ] = LAYOUT (
55
+ _______ , _______ , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , _______ , _______ ,
56
+ _______ , KC_Q , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_SCLN , _______ ,
57
+ _______ , KC_A , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , _______ , _______ , KC_O , _______ ,
58
+ _______ , KC_Z , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
59
+ _______ , _______ , _______ , _______ , _______ , _______ ,
60
+ _______ , _______ , _______ , _______ , _______ , _______ ,
61
+ _______ , _______ , _______ , _______
60
62
),
61
63
62
- [_NUMERIC ] = LAYOUT_62key (
63
- LAYER_C , KC_INS , KC_F2 , KC_F3 , KC_F4 , KC_F5 ,
64
- KC_F12 , KC_F1 , KC_2 , KC_3 , KC_4 , KC_5 ,
65
- _______ , KC_1 , KC_AT , KC_HASH , KC_DLR , KC_PERC ,
66
- KC_GRV , KC_EXLM , KC_BTN1 , KC_WH_U , KC_BTN2 ,
67
- KC_WH_D , RGB_MOD , _______ ,
68
- _______ , _______ , EMDASH ,
69
- _______ , _______ ,
70
-
71
- KC_F6 , KC_F7 , KC_F8 , KC_F9 , QK_BOOT , KC_WAKE , // *
72
- KC_6 , KC_7 , KC_8 , KC_9 , KC_F10 , KC_F11 ,
73
- KC_CIRC , KC_AMPR , KC_ASTR , KC_APP , KC_0 , PASTE ,
74
- KC_MS_L , KC_MS_U , KC_MS_R , KC_PSCR , RGB_TOG ,
75
- KC_ACL1 , KC_ACL2 , KC_MS_D ,
76
- KC_ACL0 , _______ , _______ ,
77
- _______ , _______
64
+ [_NUMERIC ] = LAYOUT (
65
+ LAYER_C , KC_INS , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , QK_BOOT , KC_WAKE , // *
66
+ KC_F12 , KC_F1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_F10 , KC_F11 ,
67
+ _______ , KC_1 , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_APP , KC_0 , PASTE ,
68
+ KC_GRV , KC_EXLM , KC_BTN1 , KC_WH_U , KC_BTN2 , KC_MS_L , KC_MS_U , KC_MS_R , KC_PSCR , RGB_TOG ,
69
+ KC_WH_D , RGB_MOD , _______ , KC_ACL1 , KC_ACL2 , KC_MS_D ,
70
+ _______ , _______ , EMDASH , KC_ACL0 , _______ , _______ ,
71
+ _______ , _______ , _______ , _______
78
72
)
79
73
};
80
74
81
75
// *KC_WAKE: Used in place of KC_SLEP because X11 with i3 on prerelease
82
76
// Debian 10 was seeing duplicate keypress and release events for sleep
83
77
// (regardless of i3 binding), which ruined the function.
84
78
85
-
86
79
/*
87
80
The rest is all about lighting control.
88
81
The logic here represents a pretty poor compromise solution between the
0 commit comments