aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/cheshire/curiosity/keymaps/madhatter/keymap.c3
-rw-r--r--keyboards/cheshire/curiosity/keymaps/madhatter/rules.mk3
-rw-r--r--keyboards/cheshire/curiosity/keymaps/via/keymap.c56
-rw-r--r--keyboards/cheshire/curiosity/keymaps/via/rules.mk1
-rw-r--r--keyboards/crkbd/keymaps/madhatter/config.h50
-rw-r--r--keyboards/crkbd/keymaps/madhatter/keymap.c131
-rw-r--r--keyboards/crkbd/keymaps/madhatter/rules.mk9
-rw-r--r--keyboards/ferris/keymaps/madhatter/config.h22
-rw-r--r--keyboards/ferris/keymaps/madhatter/keymap.c57
-rw-r--r--keyboards/ferris/keymaps/madhatter/rules.mk2
-rw-r--r--keyboards/primekb/prime_e/keymaps/madhatter/keymap.c72
-rw-r--r--keyboards/wilba_tech/wt60_d/keymaps/madhatter/keymap.c16
12 files changed, 272 insertions, 150 deletions
diff --git a/keyboards/cheshire/curiosity/keymaps/madhatter/keymap.c b/keyboards/cheshire/curiosity/keymaps/madhatter/keymap.c
index b0649d37a..2273ad938 100644
--- a/keyboards/cheshire/curiosity/keymaps/madhatter/keymap.c
+++ b/keyboards/cheshire/curiosity/keymaps/madhatter/keymap.c
@@ -25,6 +25,7 @@ enum my_layers {
25#define FNMS MO(_FNMS) 25#define FNMS MO(_FNMS)
26#define NAVMED MO(_NAVMED) 26#define NAVMED MO(_NAVMED)
27#define CAP_CTL CTL_T(KC_CAPS) 27#define CAP_CTL CTL_T(KC_CAPS)
28#define GUI_BSPC LCMD_T(KC_BSPC)
28 29
29const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30 [_QWERTY] = LAYOUT_default( 31 [_QWERTY] = LAYOUT_default(
@@ -32,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32 KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, 33 KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
33 KC_PGDN, CAP_CTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, 34 KC_PGDN, CAP_CTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
34 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FNMS, 35 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FNMS,
35 KC_LCTL, KC_LALT, KC_LCMD, NAVMED, KC_SPC, KC_RALT, KC_RCTL 36 KC_LCTL, KC_LALT, GUI_BSPC, NAVMED, KC_SPC, KC_RALT, KC_RCTL
36 ), 37 ),
37 38
38 [_FNMS] = LAYOUT_default( 39 [_FNMS] = LAYOUT_default(
diff --git a/keyboards/cheshire/curiosity/keymaps/madhatter/rules.mk b/keyboards/cheshire/curiosity/keymaps/madhatter/rules.mk
index 1b0f198d0..41fcf0326 100644
--- a/keyboards/cheshire/curiosity/keymaps/madhatter/rules.mk
+++ b/keyboards/cheshire/curiosity/keymaps/madhatter/rules.mk
@@ -1 +1,2 @@
1VELOCIKEY_ENABLE = yes 1VIA_ENABLE = yes
2VELOCIKEY_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/cheshire/curiosity/keymaps/via/keymap.c b/keyboards/cheshire/curiosity/keymaps/via/keymap.c
new file mode 100644
index 000000000..2425474a1
--- /dev/null
+++ b/keyboards/cheshire/curiosity/keymaps/via/keymap.c
@@ -0,0 +1,56 @@
1/*
2Copyright 2019 Khader Syed
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#include QMK_KEYBOARD_H
18
19
20// Each layer gets a name for readability, which is then used in the keymap matrix below.
21// The underscores don't mean anything - you can have a layer called STUFF or any other name.
22// Layer names don't all need to be of the same length, obviously, and you can also skip them
23// entirely and just use numbers.
24
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [0] = LAYOUT_default(
28 KC_ESC, KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
29 KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
30 KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
31 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGUI,
32 KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL
33 ),
34 [1] = LAYOUT_default(
35 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
39 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
40 ),
41 [2] = LAYOUT_default(
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
43 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
46 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
47 ),
48 [3] = LAYOUT_default(
49 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
52 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
54 )
55
56}; \ No newline at end of file
diff --git a/keyboards/cheshire/curiosity/keymaps/via/rules.mk b/keyboards/cheshire/curiosity/keymaps/via/rules.mk
new file mode 100644
index 000000000..40bded399
--- /dev/null
+++ b/keyboards/cheshire/curiosity/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE=yes \ No newline at end of file
diff --git a/keyboards/crkbd/keymaps/madhatter/config.h b/keyboards/crkbd/keymaps/madhatter/config.h
index 9a4d85dfc..899fde008 100644
--- a/keyboards/crkbd/keymaps/madhatter/config.h
+++ b/keyboards/crkbd/keymaps/madhatter/config.h
@@ -1,18 +1,46 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
1#pragma once 21#pragma once
2 22
3#define EE_HANDS 23//#define USE_MATRIX_I2C
24
25/* Select hand configuration */
26
27#define MASTER_LEFT
28// #define MASTER_RIGHT
29// #define EE_HANDS
4 30
5#define SSD1306OLED 31#define SSD1306OLED
6 32
33#define USE_SERIAL_PD2
34
35#define TAPPING_FORCE_HOLD
36#define TAPPING_TERM 100
37
7#ifdef RGBLIGHT_ENABLE 38#ifdef RGBLIGHT_ENABLE
8# undef RGBLED_NUM 39 #undef RGBLED_NUM
9# define RGBLIGHT_ANIMATIONS 40 #define RGBLIGHT_ANIMATIONS
10# define RGBLED_NUM 27 41 #define RGBLED_NUM 27
11# define RGBLIGHT_LIMIT_VAL 120 42 #define RGBLIGHT_LIMIT_VAL 120
12# define RGBLIGHT_HUE_STEP 10 43 #define RGBLIGHT_HUE_STEP 10
13# define RGBLIGHT_SAT_STEP 17 44 #define RGBLIGHT_SAT_STEP 17
14# define RGBLIGHT_VAL_STEP 17 45 #define RGBLIGHT_VAL_STEP 17
15#endif 46#endif
16
17#undef PRODUCT
18#define PRODUCT MadHatter Hacked Corne Keyboard
diff --git a/keyboards/crkbd/keymaps/madhatter/keymap.c b/keyboards/crkbd/keymaps/madhatter/keymap.c
index 9f52d3b54..57a522deb 100644
--- a/keyboards/crkbd/keymaps/madhatter/keymap.c
+++ b/keyboards/crkbd/keymaps/madhatter/keymap.c
@@ -1,112 +1,96 @@
1#include QMK_KEYBOARD_H 1/*
2Copyright 2019 @foostan
3Copyright 2020 Drashna Jaelre <@drashna>
2 4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
3 9
4#ifdef OLED_DRIVER_ENABLE 10This program is distributed in the hope that it will be useful,
5# define KEYLOGGER_LENGTH 5 11but WITHOUT ANY WARRANTY; without even the implied warranty of
6static uint32_t oled_timer = 0; 12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7static char keylog_str[KEYLOGGER_LENGTH + 1] = {"\n"}; 13GNU General Public License for more details.
8static uint16_t log_timer = 0;
9// clang-format off
10static const char PROGMEM code_to_name[0xFF] = {
11// 0 1 2 3 4 5 6 7 8 9 A B c D E F
12 ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', // 0x
13 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', // 1x
14 '3', '4', '5', '6', '7', '8', '9', '0', 20, 19, 27, 26, 22, '-', '=', '[', // 2x
15 ']','\\', '#', ';','\'', '`', ',', '.', '/', 128, ' ', ' ', ' ', ' ', ' ', ' ', // 3x
16 ' ', ' ', ' ', ' ', ' ', ' ', 'P', 'S', ' ', ' ', ' ', ' ', 16, ' ', ' ', ' ', // 4x
17 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 5x
18 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 6x
19 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 7x
20 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 8x
21 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 9x
22 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Ax
23 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Bx
24 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Cx
25 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Dx
26 'C', 'S', 'A', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // Ex
27 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' // Fx
28};
29 14
30void add_keylog(uint16_t keycode); 15You should have received a copy of the GNU General Public License
31#endif 16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#include QMK_KEYBOARD_H
32 20
33extern uint8_t is_master; 21extern uint8_t is_master;
34 22
35enum corny_layers { 23enum corny_layers {
36 _QWERTY, 24 _QWERTY,
37 _LOWER, 25 _LOWER,
38 _RAISE, 26 _RAISE,
39 _ADJUST, 27 _ADJUST
40}; 28};
41 29
42enum custom_keycodes { 30enum corny_keycodes {
43 QWERTY = SAFE_RANGE, 31 QWERTY = SAFE_RANGE,
44 LOWER, 32 LOWER,
45 RAISE, 33 RAISE,
46 ADJUST, 34 ADJUST,
35 BACKLIT,
47 RGBRST 36 RGBRST
48}; 37};
49 38
50#define LY_LWR MO(_LOWER) 39enum macro_keycodes {
51#define LY_RSE MO(_RAISE) 40 KC_SAMPLEMACRO,
52 41};
53#define KY_CESC LCTL_T(KC_ESC)
54 42
55const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 43const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
56 [_QWERTY] = LAYOUT( 44 [_QWERTY] = LAYOUT_split_3x6_3(
57 //,-----------------------------------------------------. ,-----------------------------------------------------. 45 //,-----------------------------------------------------. ,-----------------------------------------------------.
58 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, 46 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
59 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 47 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
60 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 48 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,\
61 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 49 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
62 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, 50 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
63 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| 51 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
64 KC_LALT, LY_LWR, KC_LCMD, KC_SPC, LY_RSE, KC_ENT 52 KC_LCTL, LOWER, KC_BSPC, KC_SPC, RAISE, KC_RCMD
65 //`--------------------------' `--------------------------' 53 //`--------------------------' `--------------------------'
66 54
67 ), 55 ),
68 56
69 [_LOWER] = LAYOUT( 57 [_LOWER] = LAYOUT_split_3x6_3(
70 //,-----------------------------------------------------. ,-----------------------------------------------------. 58 //,-----------------------------------------------------. ,-----------------------------------------------------.
71 KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, 59 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
72 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 60 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
73 KC_LCTL, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, 61 KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, XXXXXXX,
74 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 62 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
75 KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, 63 KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
76 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| 64 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
77 KC_LALT, LY_LWR, KC_LCMD, KC_SPC, LY_RSE, KC_ENT 65 KC_TRNS, LOWER, KC_TRNS, KC_TRNS, RAISE, KC_TRNS
78 //`--------------------------' `--------------------------' 66 //`--------------------------' `--------------------------'
79 ), 67 ),
80 68
81 [_RAISE] = LAYOUT( 69 [_RAISE] = LAYOUT_split_3x6_3(
82 //,-----------------------------------------------------. ,-----------------------------------------------------. 70 //,-----------------------------------------------------. ,-----------------------------------------------------.
83 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, 71 KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
84 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 72 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
85 KC_LCTL, XXXXXXX, KC_PGUP, KC_HOME, KC_END,KC_PGDN, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, 73 KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV,
86 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 74 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
87 KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, 75 KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD,
88 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| 76 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
89 KC_LALT, LY_LWR, KC_LCMD, KC_SPC, LY_RSE, KC_ENT 77 KC_TRNS, LOWER, KC_BSPC, KC_TRNS, RAISE, KC_TRNS
90 //`--------------------------' `--------------------------' 78 //`--------------------------' `--------------------------'
91 ), 79 ),
92 80
93 [_ADJUST] = LAYOUT( 81 [_ADJUST] = LAYOUT_split_3x6_3(
94 //,-----------------------------------------------------. ,-----------------------------------------------------. 82 //,-----------------------------------------------------. ,-----------------------------------------------------.
95 RESET, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 83 XXXXXXX, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
96 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 84 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
97 XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, 85 RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
98 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 86 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
99 XXXXXXX, RGBRST, EEP_RST, AG_TOGG, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, 87 RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
100 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| 88 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
101 KC_LALT, LY_LWR, KC_LCMD, KC_SPC, LY_RSE, KC_ENT 89 KC_TRNS, LOWER, KC_TRNS, KC_TRNS, RAISE, KC_TRNS
102 //`--------------------------' `--------------------------' 90 //`--------------------------' `--------------------------'
103 ) 91 )
104}; 92};
105 93
106layer_state_t layer_state_set_user(layer_state_t state) {
107 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
108}
109
110int RGB_current_mode; 94int RGB_current_mode;
111 95
112// Setting ADJUST layer RGB back to default 96// Setting ADJUST layer RGB back to default
@@ -185,6 +169,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
185 } 169 }
186 170
187 switch (keycode) { 171 switch (keycode) {
172 case QWERTY:
173 if (record->event.pressed) {
174 set_single_persistent_default_layer(_QWERTY);
175 }
176 break;
188 case LOWER: 177 case LOWER:
189 if (record->event.pressed) { 178 if (record->event.pressed) {
190 layer_on(_LOWER); 179 layer_on(_LOWER);
@@ -210,6 +199,24 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
210 layer_off(_ADJUST); 199 layer_off(_ADJUST);
211 } 200 }
212 return false; 201 return false;
202 case RGB_MOD:
203 #ifdef RGBLIGHT_ENABLE
204 if (record->event.pressed) {
205 rgblight_mode(RGB_current_mode);
206 rgblight_step();
207 RGB_current_mode = rgblight_get_mode();
208 }
209 #endif
210 return false;
211 case RGBRST:
212 #ifdef RGBLIGHT_ENABLE
213 if (record->event.pressed) {
214 eeconfig_update_rgblight_default();
215 rgblight_enable();
216 RGB_current_mode = rgblight_get_mode();
217 }
218 #endif
219 break;
213 } 220 }
214 return true; 221 return true;
215} 222}
diff --git a/keyboards/crkbd/keymaps/madhatter/rules.mk b/keyboards/crkbd/keymaps/madhatter/rules.mk
index dfee5a0bf..f84e5b2af 100644
--- a/keyboards/crkbd/keymaps/madhatter/rules.mk
+++ b/keyboards/crkbd/keymaps/madhatter/rules.mk
@@ -1,11 +1,10 @@
1BOOTLOADER = atmel-dfu # Elite-C
2
3MOUSEKEY_ENABLE = yes
4RGBLIGHT_ENABLE = yes
5 1
6# If you want to change the display of OLED, you need to change here 2# If you want to change the display of OLED, you need to change here
7SRC += ./lib/glcdfont.c \ 3SRC += ./lib/glcdfont.c \
8 ./lib/rgb_state_reader.c \ 4 ./lib/rgb_state_reader.c \
9 ./lib/layer_state_reader.c \ 5 ./lib/layer_state_reader.c \
10 ./lib/logo_reader.c \ 6 ./lib/logo_reader.c \
11 ./lib/keylogger.c 7 ./lib/keylogger.c \
8 # ./lib/mode_icon_reader.c \
9 # ./lib/host_led_state_reader.c \
10 # ./lib/timelogger.c \
diff --git a/keyboards/ferris/keymaps/madhatter/config.h b/keyboards/ferris/keymaps/madhatter/config.h
new file mode 100644
index 000000000..79496ae75
--- /dev/null
+++ b/keyboards/ferris/keymaps/madhatter/config.h
@@ -0,0 +1,22 @@
1/*
2Copyright 2020 Pierre Chevalier <pierrechevalier83@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20// Pick good defaults for enabling homerow modifiers
21#define TAPPING_TERM 200
22#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/ferris/keymaps/madhatter/keymap.c b/keyboards/ferris/keymaps/madhatter/keymap.c
new file mode 100644
index 000000000..5a3f416e7
--- /dev/null
+++ b/keyboards/ferris/keymaps/madhatter/keymap.c
@@ -0,0 +1,57 @@
1// this is the style you want to emulate.
2// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
3
4#include QMK_KEYBOARD_H
5
6// Each layer gets a name for readability, which is then used in the keymap matrix below.
7// The underscores don't mean anything - you can have a layer called STUFF or any other name.
8// Layer names don't all need to be of the same length, obviously, and you can also skip them
9// entirely and just use numbers.
10
11enum ferris_layers {
12 _QWERTY,
13 _LOWER,
14 _RAISE
15};
16
17enum ferris_tap_dances {
18 TD_Q_ESC
19};
20
21#define KC_CTSC RCTL_T(KC_SCLN)
22#define KC_CTLA LCTL_T(KC_A)
23#define KC_LSHZ LSFT_T(KC_Z)
24#define KC_RLSH RSFT_T(KC_SLSH)
25#define KC_SPM2 LT(2, KC_SPC)
26#define KC_BSM1 LT(1, KC_BSPC)
27#define KC_GUTA GUI_T(KC_TAB)
28#define KC_CLGV CTL_T(KC_GRV)
29
30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
31 [_QWERTY] = LAYOUT( /* QWERTY */
32 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
33 KC_CTLA, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
34 KC_LSHZ, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RLSH,
35 KC_CLGV, KC_BSM1, KC_SPM2, KC_GUTA
36 ),
37
38 [_LOWER] = LAYOUT( /* [> LOWER <] */
39 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
40 KC_GESC, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT,
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_ENT,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
43 ),
44
45 [_RAISE] = LAYOUT( /* [> RAISE <] */
46 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
47 KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_PIPE,
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, RESET,
49 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
50 )
51};
52
53// Tap Dance Definitions
54qk_tap_dance_action_t tap_dance_actions[] = {
55 // Tap once for Q, twice for ESC
56 [TD_Q_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC)
57};
diff --git a/keyboards/ferris/keymaps/madhatter/rules.mk b/keyboards/ferris/keymaps/madhatter/rules.mk
new file mode 100644
index 000000000..2631761ce
--- /dev/null
+++ b/keyboards/ferris/keymaps/madhatter/rules.mk
@@ -0,0 +1,2 @@
1BOOTMAGIC_ENABLE = lite
2TAP_DANCE_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/primekb/prime_e/keymaps/madhatter/keymap.c b/keyboards/primekb/prime_e/keymaps/madhatter/keymap.c
index 0a85aee1d..099d6e032 100644
--- a/keyboards/primekb/prime_e/keymaps/madhatter/keymap.c
+++ b/keyboards/primekb/prime_e/keymaps/madhatter/keymap.c
@@ -30,44 +30,33 @@ static void togg_indicator(uint8_t *state, uint8_t pin);
30enum ilpse_layers { 30enum ilpse_layers {
31 _QWERTY, 31 _QWERTY,
32 _LOWER, 32 _LOWER,
33 _RAISE, 33 _RAISE
34 _ADJUST
35}; 34};
36 35
37enum ilpse_keycodes { 36#define LOWER MO(_LOWER)
38 QWERTY = SAFE_RANGE, 37#define RAISE MO(_RAISE)
39 LOWER, 38#define GUBS RGUI_T(KC_BSPC)
40 RAISE,
41 ADJUST
42};
43 39
44const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 40const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
45 [_QWERTY] = LAYOUT( 41 [_QWERTY] = LAYOUT(
46 KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_BSPC, 42 KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_BSPC,
47 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, 43 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
48 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, 44 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
49 KC_LCTL, KC_LALT, LOWER, KC_LCMD, KC_SPC, RAISE, KC_RGUI, KC_RCTL 45 KC_LCTL, KC_LALT, LOWER, GUBS, KC_SPC, RAISE, KC_RGUI, KC_RCTL
50 ), 46 ),
51 47
52 [_LOWER] = LAYOUT( 48 [_LOWER] = LAYOUT(
53 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, 49 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC,
54 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_QUOT, 50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_QUOT,
55 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_TRNS, 51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_TRNS,
56 KC_TRNS, KC_TRNS, LOWER, KC_TRNS, KC_TRNS, RAISE, KC_TRNS, KC_TRNS 52 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
57 ), 53 ),
58 54
59 [_RAISE] = LAYOUT( 55 [_RAISE] = LAYOUT(
60 KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, KC_DEL, 56 KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, KC_DEL,
61 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_ENT, 57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_ENT,
62 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
63 KC_TRNS, KC_TRNS, LOWER, KC_TRNS, KC_TRNS, RAISE, KC_TRNS, KC_TRNS 59 RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
64 ),
65
66 [_ADJUST] = LAYOUT(
67 RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
68 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
69 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
70 AG_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
71 ) 60 )
72}; 61};
73 62
@@ -96,21 +85,9 @@ void matrix_scan_user(void) {
96 85
97//function for layer indicator LED 86//function for layer indicator LED
98layer_state_t layer_state_set_user(layer_state_t state) { 87layer_state_t layer_state_set_user(layer_state_t state) {
99 if (layer_state_cmp(state, 1)) { 88 writePin(CAPS_LED_PIN, layer_state_cmp(state, 0));
100 writePinHigh(CAPS_LED_PIN); 89 writePin(NUM_LED_PIN, layer_state_cmp(state, 1));
101 } else { 90 writePin(SCROLL_LED_PIN, layer_state_cmp(state, 2));
102 writePinLow(CAPS_LED_PIN);
103 }
104 if (layer_state_cmp(state, 2)) {
105 writePinHigh(NUM_LED_PIN);
106 } else {
107 writePinLow(NUM_LED_PIN);
108 }
109 if (layer_state_cmp(state, 3)) {
110 writePinHigh(SCROLL_LED_PIN);
111 } else {
112 writePinLow(SCROLL_LED_PIN);
113 }
114 return state; 91 return state;
115} 92}
116 93
@@ -129,32 +106,3 @@ void togg_indicator(uint8_t *state, uint8_t pin) {
129 writePinLow(pin); 106 writePinLow(pin);
130 } 107 }
131} 108}
132
133bool process_record_user(uint16_t keycode, keyrecord_t *record) {
134 switch (keycode) {
135 case QWERTY:
136 if (record->event.pressed) {
137 set_single_persistent_default_layer(_QWERTY);
138 }
139 return false;
140 case LOWER:
141 if (record->event.pressed) {
142 layer_on(_LOWER);
143 update_tri_layer(_LOWER, _RAISE, _ADJUST);
144 } else {
145 layer_off(_LOWER);
146 update_tri_layer(_LOWER, _RAISE, _ADJUST);
147 }
148 return false;
149 case RAISE:
150 if (record->event.pressed) {
151 layer_on(_RAISE);
152 update_tri_layer(_LOWER, _RAISE, _ADJUST);
153 } else {
154 layer_off(_RAISE);
155 update_tri_layer(_LOWER, _RAISE, _ADJUST);
156 }
157 return false;
158 }
159 return true;
160}
diff --git a/keyboards/wilba_tech/wt60_d/keymaps/madhatter/keymap.c b/keyboards/wilba_tech/wt60_d/keymaps/madhatter/keymap.c
index a46c9777f..b97474f23 100644
--- a/keyboards/wilba_tech/wt60_d/keymaps/madhatter/keymap.c
+++ b/keyboards/wilba_tech/wt60_d/keymaps/madhatter/keymap.c
@@ -12,18 +12,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
12 12
13// Default layer 13// Default layer
14[_QWERTY] = LAYOUT_all( 14[_QWERTY] = LAYOUT_all(
15 KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, 15 KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
16 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, 16 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
17 KC_GRV, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, 17 KC_GRV, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
18 KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FNMS, 18 KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FNMS,
19 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RGUI, FNMS, KC_RCTL), 19 KC_LCTL, KC_LALT, KC_LCMD, KC_SPC, KC_SPC, FNMS, KC_RALT, KC_RCTL),
20 20
21// Fn1 Layer 21// Fn1 Layer
22[_FNMS] = LAYOUT_all( 22[_FNMS] = LAYOUT_all(
23 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSLS, KC_TRNS, 23 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSLS, KC_TRNS,
24 KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, 24 KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RESET,
25 AG_TOGG, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_HOME, KC_PGUP, KC_TRNS, 25 AG_TOGG, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_RGHT, KC_TRNS,
26 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, 26 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS,
27 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), 27 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
28 28
29}; 29};