aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskullY <skullydazed@gmail.com>2017-08-16 01:07:48 -0700
committerskullY <skullydazed@gmail.com>2017-08-16 01:07:48 -0700
commit0cc15e117d1c9ce3dd6f44b6b8556273bd0e245b (patch)
tree11d7a2430c5e038f388b6fe8a588e222d1e90f34
parent5bff9d61818c5dd692c505896aee287168af80cc (diff)
downloadqmk_firmware-0cc15e117d1c9ce3dd6f44b6b8556273bd0e245b.tar.gz
qmk_firmware-0cc15e117d1c9ce3dd6f44b6b8556273bd0e245b.zip
Cleanup the clueboard keymaps
-rw-r--r--keyboards/clueboard/keymaps/bloodlvst/Makefile2
-rw-r--r--keyboards/clueboard/keymaps/bloodlvst/config.h8
-rw-r--r--keyboards/clueboard/keymaps/bloodlvst/keymap.c41
-rw-r--r--keyboards/clueboard/keymaps/bloodlvst/readme.md17
-rw-r--r--keyboards/clueboard/keymaps/caps_fn/keymap.c47
-rw-r--r--keyboards/clueboard/keymaps/colemak/keymap.c59
-rw-r--r--keyboards/clueboard/keymaps/default/keymap.c75
-rw-r--r--keyboards/clueboard/keymaps/jokrik/keymap.c45
-rw-r--r--keyboards/clueboard/keymaps/mac_optimized/keymap.c68
-rw-r--r--keyboards/clueboard/keymaps/magicmonty/keymap.c41
-rw-r--r--keyboards/clueboard/keymaps/maximised/keymap.c6
-rw-r--r--keyboards/clueboard/keymaps/mouse_keys/keymap.c47
-rw-r--r--keyboards/clueboard/keymaps/serubin/keymap.c51
-rw-r--r--keyboards/clueboard/keymaps/shift_fn/keymap.c47
-rw-r--r--keyboards/clueboard/keymaps/skully/keymap.c47
-rw-r--r--keyboards/clueboard/keymaps/smt/keymap.c53
-rw-r--r--keyboards/clueboard/keymaps/unix_optimized/keymap.c47
-rw-r--r--keyboards/clueboard/keymaps/win_optimized/keymap.c47
-rw-r--r--keyboards/clueboard/keymaps/xyverz/keymap.c35
-rw-r--r--keyboards/clueboard/rules.mk2
20 files changed, 119 insertions, 666 deletions
diff --git a/keyboards/clueboard/keymaps/bloodlvst/Makefile b/keyboards/clueboard/keymaps/bloodlvst/Makefile
new file mode 100644
index 000000000..b1c2f32f6
--- /dev/null
+++ b/keyboards/clueboard/keymaps/bloodlvst/Makefile
@@ -0,0 +1,2 @@
1EXTRAKEY_ENABLE = yes
2COMMAND_ENABLE = no
diff --git a/keyboards/clueboard/keymaps/bloodlvst/config.h b/keyboards/clueboard/keymaps/bloodlvst/config.h
new file mode 100644
index 000000000..320401dbd
--- /dev/null
+++ b/keyboards/clueboard/keymaps/bloodlvst/config.h
@@ -0,0 +1,8 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6#define PREVENT_STUCK_MODIFIERS
7#define DISABLE_SPACE_CADET_ROLLOVER
8#endif
diff --git a/keyboards/clueboard/keymaps/bloodlvst/keymap.c b/keyboards/clueboard/keymaps/bloodlvst/keymap.c
new file mode 100644
index 000000000..bedb658ea
--- /dev/null
+++ b/keyboards/clueboard/keymaps/bloodlvst/keymap.c
@@ -0,0 +1,41 @@
1#include "clueboard.h"
2
3// Helpful defines
4#define _______ KC_TRNS
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#define _BL 0
11#define _FL 1
12#define _CL 2
13
14const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
15 /* Keymap _BL: Base Layer (Default Layer)
16 */
17[_BL] = KEYMAP(
18 KC_ESC, 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_INS, KC_DEL, KC_PGUP, \
19 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, KC_PGDN, \
20 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_NUHS, KC_ENT, \
21 KC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSPC, KC_UP, \
22 KC_LCTL, KC_LGUI, MO(_FL), KC_LALT, KC_BSPC,KC_SPC, KC_RALT, KC_APP, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
23
24 /* Keymap _FL: Function Layer
25 */
26[_FL] = KEYMAP(
27 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_HOME, KC_END, KC_VOLU, \
28 _______, _______, _______,_______,_______,_______,_______,_______,_______,KC_SLCK, KC_PAUS, _______, _______, KC_MUTE, KC_VOLD, \
29 _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, KC_PSCR, \
30 _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_MPLY, \
31 _______, KC_MYCM, MO(_FL), _______, _______,_______, _______, KC_CALC, MO(_FL), _______, KC_MPRV, KC_MSTP, KC_MNXT),
32
33 /* Keymap _CL: Control layer
34 */
35[_CL] = KEYMAP(
36 KC_PWR, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
37 _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
38 _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, RGB_MOD, \
39 _______, _______, _______,_______,_______,_______,_______,_______,_______,RGB_HUD, RGB_HUI, _______, _______, _______, KC_WAKE, \
40 _______, _______, MO(_FL), _______, RGB_SAD,RGB_SAI, _______, _______, MO(_FL), _______, _______, KC_SLEP, _______),
41};
diff --git a/keyboards/clueboard/keymaps/bloodlvst/readme.md b/keyboards/clueboard/keymaps/bloodlvst/readme.md
new file mode 100644
index 000000000..ee287ca47
--- /dev/null
+++ b/keyboards/clueboard/keymaps/bloodlvst/readme.md
@@ -0,0 +1,17 @@
1```
2 ___ _____ _ _ _ __ __ _ __
3|__ \ / ____| | | | | | / / / /(_) / /
4 ||) | | | | |_ _ ___| |__ ___ __ _ _ __ __| | / /_ / /_ / /
5 |/ / | | | | | | |/ _ \ '_ \ / _ \ / _` | '__/ _` | | '_ \| '_ \ / /
6 |_| | |____| | |_| | __/ |_) | (_) | (_| | | | (_| | | (_) | (_) / / _
7 (_) \_____|_|\__,_|\___|_.__/ \___/ \__,_|_| \__,_| \___/ \___/_/ (_)
8```
9
10![Clueboard Layout Image](http://i.imgur.com/7Capi8W.png)
11
12# Default Clueboard Layout
13
14This is the default layout that comes flashed on every Clueboard. For the most
15part it's a straightforward and easy to follow layout. The only unusual key is
16the key in the upper left, which sends Escape normally, but Grave when any of
17the Ctrl, Alt, or GUI modifiers are held down.
diff --git a/keyboards/clueboard/keymaps/caps_fn/keymap.c b/keyboards/clueboard/keymaps/caps_fn/keymap.c
index 7fad9c1b2..2e54fdba8 100644
--- a/keyboards/clueboard/keymaps/caps_fn/keymap.c
+++ b/keyboards/clueboard/keymaps/caps_fn/keymap.c
@@ -1,7 +1,6 @@
1#include "clueboard.h" 1#include "clueboard.h"
2 2
3// Helpful defines 3// Helpful defines
4#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
5#define _______ KC_TRNS 4#define _______ KC_TRNS
6 5
7// Each layer gets a name for readability, which is then used in the keymap matrix below. 6// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -16,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16 /* Keymap _BL: Base Layer (Default Layer) 15 /* Keymap _BL: Base Layer (Default Layer)
17 */ 16 */
18[_BL] = KEYMAP( 17[_BL] = KEYMAP(
19 F(0), 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_GRV, KC_BSPC, KC_PGUP, \ 18 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_GRV, KC_BSPC, KC_PGUP, \
20 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, KC_PGDN, \ 19 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, KC_PGDN, \
21 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_NUHS, KC_ENT, \ 20 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_NUHS, KC_ENT, \
22 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ 21 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
@@ -40,47 +39,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \ 39 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
41 _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), 40 _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
42}; 41};
43
44/* This is a list of user defined functions. F(N) corresponds to item N
45 of this list.
46 */
47const uint16_t PROGMEM fn_actions[] = {
48 [0] = ACTION_FUNCTION(0), // Calls action_function()
49};
50
51void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
52 static uint8_t mods_pressed;
53 static bool mod_flag;
54
55 switch (id) {
56 case 0:
57 /* Handle the combined Grave/Esc key
58 */
59 mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
60
61 if (record->event.pressed) {
62 /* The key is being pressed.
63 */
64 if (mods_pressed) {
65 mod_flag = true;
66 add_key(KC_GRV);
67 send_keyboard_report();
68 } else {
69 add_key(KC_ESC);
70 send_keyboard_report();
71 }
72 } else {
73 /* The key is being released.
74 */
75 if (mod_flag) {
76 mod_flag = false;
77 del_key(KC_GRV);
78 send_keyboard_report();
79 } else {
80 del_key(KC_ESC);
81 send_keyboard_report();
82 }
83 }
84 break;
85 }
86}
diff --git a/keyboards/clueboard/keymaps/colemak/keymap.c b/keyboards/clueboard/keymaps/colemak/keymap.c
index 42c85ff9d..2ed354186 100644
--- a/keyboards/clueboard/keymaps/colemak/keymap.c
+++ b/keyboards/clueboard/keymaps/colemak/keymap.c
@@ -1,7 +1,6 @@
1#include "clueboard.h" 1#include "clueboard.h"
2 2
3// Helpful defines 3// Helpful defines
4#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
5#define _______ KC_TRNS 4#define _______ KC_TRNS
6 5
7// Each layer gets a name for readability, which is then used in the keymap matrix below. 6// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -16,71 +15,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16 /* Keymap _BL: Base Layer (Default Layer) 15 /* Keymap _BL: Base Layer (Default Layer)
17 */ 16 */
18[_BL] = KEYMAP( 17[_BL] = KEYMAP(
19 F(0), 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_GRV, KC_BSPC, KC_PGUP, \ 18 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_GRV, KC_BSPC, KC_PGUP, \
20 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN, \ 19 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN, \
21 KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_NUHS, KC_ENT, \ 20 KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_NUHS, KC_ENT, \
22 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ 21 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
23 KC_LCTL, MO(_FL), KC_LGUI,KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, KC_RCTL, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT), 22 KC_LCTL, KC_LGUI, KC_LALT,KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
24 23
25 /* Keymap _FL: Function Layer 24 /* Keymap _FL: Function Layer
26 */ 25 */
27[_FL] = KEYMAP( 26[_FL] = KEYMAP(
28 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_CAPS, BL_STEP, \ 27 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_CAPS, KC_VOLU, \
29 _______, _______, _______,_______,_______,_______,_______,KC_HOME,KC_PGDN,KC_PGUP, KC_END, _______, _______, _______, _______, \ 28 _______, _______, _______,_______,_______,_______,_______,KC_HOME,KC_PGDN,KC_PGUP, KC_END, _______, _______, _______, KC_VOLD, \
30 KC_DEL, _______, MO(_CL),_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP, KC_RGHT, _______, _______, _______, \ 29 KC_DEL, _______, MO(_CL),_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP, KC_RGHT, _______, _______, _______, \
31 _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \ 30 _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \
32 _______, _______, _______,_______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END), 31 _______, _______, _______,_______, _______,_______, _______, _______, MO(_FL), _______, KC_HOME, KC_PGDN, KC_END),
33 32
34 /* Keymap _CL: Control layer 33 /* Keymap _CL: Control layer
35 */ 34 */
36[_CL] = KEYMAP( 35[_CL] = KEYMAP(
37 _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \ 36 BL_STEP, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
38 _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \ 37 _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
39 _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \ 38 _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
40 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \ 39 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI, \
41 _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), 40 _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
42}; 41};
43
44/* This is a list of user defined functions. F(N) corresponds to item N
45 of this list.
46 */
47const uint16_t PROGMEM fn_actions[] = {
48 [0] = ACTION_FUNCTION(0), // Calls action_function()
49};
50
51void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
52 static uint8_t mods_pressed;
53 static bool mod_flag;
54
55 switch (id) {
56 case 0:
57 /* Handle the combined Grave/Esc key
58 */
59 mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
60
61 if (record->event.pressed) {
62 /* The key is being pressed.
63 */
64 if (mods_pressed) {
65 mod_flag = true;
66 add_key(KC_GRV);
67 send_keyboard_report();
68 } else {
69 add_key(KC_ESC);
70 send_keyboard_report();
71 }
72 } else {
73 /* The key is being released.
74 */
75 if (mod_flag) {
76 mod_flag = false;
77 del_key(KC_GRV);
78 send_keyboard_report();
79 } else {
80 del_key(KC_ESC);
81 send_keyboard_report();
82 }
83 }
84 break;
85 }
86}
diff --git a/keyboards/clueboard/keymaps/default/keymap.c b/keyboards/clueboard/keymaps/default/keymap.c
index 7fad9c1b2..c4da561fe 100644
--- a/keyboards/clueboard/keymaps/default/keymap.c
+++ b/keyboards/clueboard/keymaps/default/keymap.c
@@ -1,7 +1,6 @@
1#include "clueboard.h" 1#include "clueboard.h"
2 2
3// Helpful defines 3// Helpful defines
4#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
5#define _______ KC_TRNS 4#define _______ KC_TRNS
6 5
7// Each layer gets a name for readability, which is then used in the keymap matrix below. 6// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -16,71 +15,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16 /* Keymap _BL: Base Layer (Default Layer) 15 /* Keymap _BL: Base Layer (Default Layer)
17 */ 16 */
18[_BL] = KEYMAP( 17[_BL] = KEYMAP(
19 F(0), 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_GRV, KC_BSPC, KC_PGUP, \ 18 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_GRV, KC_BSPC, KC_PGUP, \
20 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, KC_PGDN, \ 19 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, KC_PGDN, \
21 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_NUHS, KC_ENT, \ 20 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_NUHS,KC_ENT, \
22 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ 21 KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RO, KC_RSFT, KC_UP, \
23 KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), 22 KC_LCTL,KC_LGUI,KC_LALT,KC_MHEN, KC_SPC, KC_SPC, KC_HENK,KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
24 23
25 /* Keymap _FL: Function Layer 24 /* Keymap _FL: Function Layer
26 */ 25 */
27[_FL] = KEYMAP( 26[_FL] = KEYMAP(
28 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_DEL, BL_STEP, \ 27 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_DEL, KC_VOLU, \
29 _______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, _______, \ 28 _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD, \
30 _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \ 29 _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
31 _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \ 30 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_PGUP, \
32 _______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END), 31 _______,_______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
33 32
34 /* Keymap _CL: Control layer 33 /* Keymap _CL: Control layer
35 */ 34 */
36[_CL] = KEYMAP( 35[_CL] = KEYMAP(
37 _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \ 36 BL_STEP,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI, \
38 _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \ 37 _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, \
39 _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \ 38 _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
40 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \ 39 MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI, \
41 _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), 40 _______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
42}; 41};
43
44/* This is a list of user defined functions. F(N) corresponds to item N
45 of this list.
46 */
47const uint16_t PROGMEM fn_actions[] = {
48 [0] = ACTION_FUNCTION(0), // Calls action_function()
49};
50
51void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
52 static uint8_t mods_pressed;
53 static bool mod_flag;
54
55 switch (id) {
56 case 0:
57 /* Handle the combined Grave/Esc key
58 */
59 mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
60
61 if (record->event.pressed) {
62 /* The key is being pressed.
63 */
64 if (mods_pressed) {
65 mod_flag = true;
66 add_key(KC_GRV);
67 send_keyboard_report();
68 } else {
69 add_key(KC_ESC);
70 send_keyboard_report();
71 }
72 } else {
73 /* The key is being released.
74 */
75 if (mod_flag) {
76 mod_flag = false;
77 del_key(KC_GRV);
78 send_keyboard_report();
79 } else {
80 del_key(KC_ESC);
81 send_keyboard_report();
82 }
83 }
84 break;
85 }
86}
diff --git a/keyboards/clueboard/keymaps/jokrik/keymap.c b/keyboards/clueboard/keymaps/jokrik/keymap.c
index acde4d9e1..dda6a8b90 100644
--- a/keyboards/clueboard/keymaps/jokrik/keymap.c
+++ b/keyboards/clueboard/keymaps/jokrik/keymap.c
@@ -1,7 +1,6 @@
1#include "clueboard.h" 1#include "clueboard.h"
2 2
3// Helpful defines 3// Helpful defines
4#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
5#define _______ KC_TRNS 4#define _______ KC_TRNS
6 5
7// Each layer gets a name for readability, which is then used in the keymap matrix below. 6// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -40,47 +39,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI, \ 39 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI, \
41 _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, MO(_FL), _______, RGB_HUD, RGB_SAD, RGB_HUI), 40 _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, MO(_FL), _______, RGB_HUD, RGB_SAD, RGB_HUI),
42}; 41};
43
44/* This is a list of user defined functions. F(N) corresponds to item N
45 of this list.
46 */
47const uint16_t PROGMEM fn_actions[] = {
48 [0] = ACTION_FUNCTION(0), // Calls action_function()
49};
50
51void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
52 static uint8_t mods_pressed;
53 static bool mod_flag;
54
55 switch (id) {
56 case 0:
57 /* Handle the combined Grave/Esc key
58 */
59 mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
60
61 if (record->event.pressed) {
62 /* The key is being pressed.
63 */
64 if (mods_pressed) {
65 mod_flag = true;
66 add_key(KC_GRV);
67 send_keyboard_report();
68 } else {
69 add_key(KC_ESC);
70 send_keyboard_report();
71 }
72 } else {
73 /* The key is being released.
74 */
75 if (mod_flag) {
76 mod_flag = false;
77 del_key(KC_GRV);
78 send_keyboard_report();
79 } else {
80 del_key(KC_ESC);
81 send_keyboard_report();
82 }
83 }
84 break;
85 }
86}
diff --git a/keyboards/clueboard/keymaps/mac_optimized/keymap.c b/keyboards/clueboard/keymaps/mac_optimized/keymap.c
index e72733092..e39edb4d6 100644
--- a/keyboards/clueboard/keymaps/mac_optimized/keymap.c
+++ b/keyboards/clueboard/keymaps/mac_optimized/keymap.c
@@ -1,7 +1,6 @@
1#include "clueboard.h" 1#include "clueboard.h"
2 2
3// Helpful defines 3// Helpful defines
4#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
5#define _______ KC_TRNS 4#define _______ KC_TRNS
6 5
7// Each layer gets a name for readability, which is then used in the keymap matrix below. 6// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -16,64 +15,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16 /* Keymap _BL: Base Layer (Default Layer) 15 /* Keymap _BL: Base Layer (Default Layer)
17 */ 16 */
18[_BL] = KEYMAP( 17[_BL] = KEYMAP(
19 F(0), 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_GRV, KC_BSPC, KC_PGUP, \ 18 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_GRV, KC_BSPC, KC_PGUP, \
20 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, KC_PGDN, \ 19 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, KC_PGDN, \
21 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_NUHS, KC_ENT, \ 20 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_NUHS,KC_ENT, \
22 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ 21 KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RO, KC_RSFT, KC_UP, \
23 KC_LCTL, KC_LALT, KC_LGUI,KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RGUI, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), 22 KC_LCTL,KC_LALT,KC_LGUI,KC_MHEN, KC_SPC, KC_SPC, KC_HENK,KC_RGUI,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
24 23
25 /* Keymap _FL: Function Layer 24 /* Keymap _FL: Function Layer
26 */ 25 */
27[_FL] = KEYMAP( 26[_FL] = KEYMAP(
28 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_DEL, BL_STEP, \ 27 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_DEL, KC_VOLU, \
29 _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, \ 28 _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MRWD,KC_MPLY,KC_MFFD,_______,KC_MUTE, KC_VOLD, \
30 _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \ 29 _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
31 _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \ 30 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_PGUP, \
32 _______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END), 31 _______,_______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
33 32
34 /* Keymap _CL: Control layer 33 /* Keymap _CL: Control layer
35 */ 34 */
36[_CL] = KEYMAP( 35[_CL] = KEYMAP(
37 _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \ 36 BL_STEP,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI, \
38 _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \ 37 _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, \
39 _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \ 38 _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
40 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \ 39 MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI, \
41 _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), 40 _______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
42}; 41};
43
44/* This is a list of user defined functions. F(N) corresponds to item N
45 of this list.
46 */
47const uint16_t PROGMEM fn_actions[] = {
48 [0] = ACTION_FUNCTION(0), // Calls action_function()
49};
50
51void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
52 static uint8_t mods_pressed;
53
54 switch (id) {
55 case 0:
56 /* Handle the combined Grave/Esc key
57 */
58 if (record->event.pressed) {
59 /* The key is being pressed.
60 */
61 mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
62 if (mods_pressed) {
63 register_code(KC_GRV);
64 } else {
65 register_code(KC_ESC);
66 }
67 } else {
68 /* The key is being released.
69 */
70 if (mods_pressed) {
71 mods_pressed = false;
72 unregister_code(KC_GRV);
73 } else {
74 unregister_code(KC_ESC);
75 }
76 }
77 break;
78 }
79}
diff --git a/keyboards/clueboard/keymaps/magicmonty/keymap.c b/keyboards/clueboard/keymaps/magicmonty/keymap.c
index 3d00332b0..feef00e7a 100644
--- a/keyboards/clueboard/keymaps/magicmonty/keymap.c
+++ b/keyboards/clueboard/keymaps/magicmonty/keymap.c
@@ -1,7 +1,6 @@
1#include "clueboard.h" 1#include "clueboard.h"
2 2
3// Helpful defines 3// Helpful defines
4#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
5#define _______ KC_TRNS 4#define _______ KC_TRNS
6#define xxxxxxx KC_NO 5#define xxxxxxx KC_NO
7 6
@@ -45,16 +44,13 @@
45// CTRL when held, ESC when tapped 44// CTRL when held, ESC when tapped
46#define CTL_ESC CTL_T(KC_ESC) 45#define CTL_ESC CTL_T(KC_ESC)
47 46
48// ESC/Grave mode
49#define ESC_GRV F(0)
50
51// Reset RGB mode to layer signalling 47// Reset RGB mode to layer signalling
52#define RGB_RST F(1) 48#define RGB_RST F(0)
53 49
54const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 50const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
55 /* Keymap _BL: Base Layer (Default Layer) */ 51 /* Keymap _BL: Base Layer (Default Layer) */
56 [_BL] = KEYMAP( 52 [_BL] = KEYMAP(
57 ESC_GRV, 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_BSPC, KC_INS, \ 53 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_BSPC, KC_INS, \
58 HPR_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, KC_DEL, \ 54 HPR_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, KC_DEL, \
59 ESC_FUN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \ 55 ESC_FUN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
60 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, KC_RSFT, KC_UP, \ 56 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, KC_RSFT, KC_UP, \
@@ -116,44 +112,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
116 */ 112 */
117const uint16_t PROGMEM fn_actions[] = { 113const uint16_t PROGMEM fn_actions[] = {
118 [0] = ACTION_FUNCTION(0), // Calls action_function() 114 [0] = ACTION_FUNCTION(0), // Calls action_function()
119 [1] = ACTION_FUNCTION(1), // Calls action_function()
120}; 115};
121 116
122void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { 117void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
123 static uint8_t mods_pressed;
124 static bool mod_flag;
125
126 switch (id) { 118 switch (id) {
127 case 0: 119 case 0:
128 /* Handle the combined Grave/Esc key
129 */
130 mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
131
132 if (record->event.pressed) {
133 /* The key is being pressed.
134 */
135 if (mods_pressed) {
136 mod_flag = true;
137 add_key(KC_GRV);
138 send_keyboard_report();
139 } else {
140 add_key(KC_ESC);
141 send_keyboard_report();
142 }
143 } else {
144 /* The key is being released.
145 */
146 if (mod_flag) {
147 mod_flag = false;
148 del_key(KC_GRV);
149 send_keyboard_report();
150 } else {
151 del_key(KC_ESC);
152 send_keyboard_report();
153 }
154 }
155 break;
156 case 1:
157 if (record->event.pressed) { 120 if (record->event.pressed) {
158 rgblight_mode(1); 121 rgblight_mode(1);
159 rgblight_sethsv(206, 255, 255); 122 rgblight_sethsv(206, 255, 255);
diff --git a/keyboards/clueboard/keymaps/maximised/keymap.c b/keyboards/clueboard/keymaps/maximised/keymap.c
index ebaefa669..583c52091 100644
--- a/keyboards/clueboard/keymaps/maximised/keymap.c
+++ b/keyboards/clueboard/keymaps/maximised/keymap.c
@@ -39,9 +39,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
39 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \ 39 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
40 _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), 40 _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
41}; 41};
42
43const uint16_t PROGMEM fn_actions[] = {
44};
45
46void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
47};
diff --git a/keyboards/clueboard/keymaps/mouse_keys/keymap.c b/keyboards/clueboard/keymaps/mouse_keys/keymap.c
index d3108d1e2..259fa29b7 100644
--- a/keyboards/clueboard/keymaps/mouse_keys/keymap.c
+++ b/keyboards/clueboard/keymaps/mouse_keys/keymap.c
@@ -1,7 +1,6 @@
1#include "clueboard.h" 1#include "clueboard.h"
2 2
3// Helpful defines 3// Helpful defines
4#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
5#define _______ KC_TRNS 4#define _______ KC_TRNS
6 5
7// Each layer gets a name for readability, which is then used in the keymap matrix below. 6// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -17,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
17 /* Keymap _BL: Base Layer (Default Layer) 16 /* Keymap _BL: Base Layer (Default Layer)
18 */ 17 */
19[_BL] = KEYMAP( 18[_BL] = KEYMAP(
20 F(0), 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_GRV, KC_BSPC, KC_PGUP, \ 19 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_GRV, KC_BSPC, KC_PGUP, \
21 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, KC_PGDN, \ 20 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, KC_PGDN, \
22 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_NUHS, KC_ENT, \ 21 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_NUHS, KC_ENT, \
23 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ 22 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
@@ -50,47 +49,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
50 _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_MS_U, \ 49 _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_MS_U, \
51 _______, _______, _______,_______, LT(_ML, KC_SPC),LT(_ML, KC_SPC), _______, KC_BTN1, KC_BTN2, KC_BTN3, KC_MS_L, KC_MS_D,KC_MS_R), 50 _______, _______, _______,_______, LT(_ML, KC_SPC),LT(_ML, KC_SPC), _______, KC_BTN1, KC_BTN2, KC_BTN3, KC_MS_L, KC_MS_D,KC_MS_R),
52}; 51};
53
54/* This is a list of user defined functions. F(N) corresponds to item N
55 of this list.
56 */
57const uint16_t PROGMEM fn_actions[] = {
58 [0] = ACTION_FUNCTION(0), // Calls action_function()
59};
60
61void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
62 static uint8_t mods_pressed;
63 static bool mod_flag;
64
65 switch (id) {
66 case 0:
67 /* Handle the combined Grave/Esc key
68 */
69 mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
70
71 if (record->event.pressed) {
72 /* The key is being pressed.
73 */
74 if (mods_pressed) {
75 mod_flag = true;
76 add_key(KC_GRV);
77 send_keyboard_report();
78 } else {
79 add_key(KC_ESC);
80 send_keyboard_report();
81 }
82 } else {
83 /* The key is being released.
84 */
85 if (mod_flag) {
86 mod_flag = false;
87 del_key(KC_GRV);
88 send_keyboard_report();
89 } else {
90 del_key(KC_ESC);
91 send_keyboard_report();
92 }
93 }
94 break;
95 }
96}
diff --git a/keyboards/clueboard/keymaps/serubin/keymap.c b/keyboards/clueboard/keymaps/serubin/keymap.c
index 18446eb31..4212e6a52 100644
--- a/keyboards/clueboard/keymaps/serubin/keymap.c
+++ b/keyboards/clueboard/keymaps/serubin/keymap.c
@@ -1,7 +1,6 @@
1#include "clueboard.h" 1#include "clueboard.h"
2 2
3// Helpful defines 3// Helpful defines
4#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
5#define _______ KC_TRNS 4#define _______ KC_TRNS
6 5
7// Each layer gets a name for readability, which is then used in the keymap matrix below. 6// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -51,53 +50,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
51 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, MO(_FL), _______, RGB_SAI, \ 50 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, MO(_FL), _______, RGB_SAI, \
52 _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), 51 _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
53}; 52};
54
55/* This is a list of user defined functions. F(N) corresponds to item N
56 of this list.
57 */
58const uint16_t PROGMEM fn_actions[] = {
59 [0] = ACTION_FUNCTION(0), // Calls action_function()
60 [1] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_ESC),
61};
62
63void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
64 static uint8_t mods_pressed;
65 static bool mod_flag;
66
67 switch (id) {
68 case 0:
69 /* Handle the combined Grave/Esc key
70 */
71 mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
72
73 if (record->event.pressed) {
74 /* The key is being pressed.
75 */
76 if (mods_pressed) {
77 mod_flag = true;
78 add_key(KC_GRV);
79 send_keyboard_report();
80 } else {
81 add_key(KC_ESC);
82 send_keyboard_report();
83 }
84 } else {
85 /* The key is being released.
86 */
87 if (mod_flag) {
88 mod_flag = false;
89 del_key(KC_GRV);
90 send_keyboard_report();
91 } else {
92 del_key(KC_ESC);
93 send_keyboard_report();
94 }
95 }
96 break;
97 case 1:
98 if(record->event.pressed) {
99 del_key(KC_ESC);
100 }
101 break;
102 }
103}
diff --git a/keyboards/clueboard/keymaps/shift_fn/keymap.c b/keyboards/clueboard/keymaps/shift_fn/keymap.c
index 83ae1d615..be29a0a17 100644
--- a/keyboards/clueboard/keymaps/shift_fn/keymap.c
+++ b/keyboards/clueboard/keymaps/shift_fn/keymap.c
@@ -1,7 +1,6 @@
1#include "clueboard.h" 1#include "clueboard.h"
2 2
3// Helpful defines 3// Helpful defines
4#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
5#define _______ KC_TRNS 4#define _______ KC_TRNS
6 5
7// Each layer gets a name for readability, which is then used in the keymap matrix below. 6// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -16,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16 /* Keymap _BL: Base Layer (Default Layer) 15 /* Keymap _BL: Base Layer (Default Layer)
17 */ 16 */
18[_BL] = KEYMAP( 17[_BL] = KEYMAP(
19 F(0), 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_GRV, KC_BSPC, KC_PGUP, \ 18 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_GRV, KC_BSPC, KC_PGUP, \
20 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, KC_PGDN, \ 19 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, KC_PGDN, \
21 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_NUHS, KC_ENT, \ 20 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_NUHS, KC_ENT, \
22 MO(_FL), KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ 21 MO(_FL), KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
@@ -40,47 +39,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \ 39 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
41 _______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD,RGB_SAD,RGB_HUI), 40 _______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD,RGB_SAD,RGB_HUI),
42}; 41};
43
44/* This is a list of user defined functions. F(N) corresponds to item N
45 of this list.
46 */
47const uint16_t PROGMEM fn_actions[] = {
48 [0] = ACTION_FUNCTION(0), // Calls action_function()
49};
50
51void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
52 static uint8_t mods_pressed;
53 static bool mod_flag;
54
55 switch (id) {
56 case 0:
57 /* Handle the combined Grave/Esc key
58 */
59 mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
60
61 if (record->event.pressed) {
62 /* The key is being pressed.
63 */
64 if (mods_pressed) {
65 mod_flag = true;
66 add_key(KC_GRV);
67 send_keyboard_report();
68 } else {
69 add_key(KC_ESC);
70 send_keyboard_report();
71 }
72 } else {
73 /* The key is being released.
74 */
75 if (mod_flag) {
76 mod_flag = false;
77 del_key(KC_GRV);
78 send_keyboard_report();
79 } else {
80 del_key(KC_ESC);
81 send_keyboard_report();
82 }
83 }
84 break;
85 }
86}
diff --git a/keyboards/clueboard/keymaps/skully/keymap.c b/keyboards/clueboard/keymaps/skully/keymap.c
index 47dee8e6d..81e47811f 100644
--- a/keyboards/clueboard/keymaps/skully/keymap.c
+++ b/keyboards/clueboard/keymaps/skully/keymap.c
@@ -1,7 +1,6 @@
1#include "clueboard.h" 1#include "clueboard.h"
2 2
3// Helpful defines 3// Helpful defines
4#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
5#define _______ KC_TRNS 4#define _______ KC_TRNS
6 5
7// Each layer gets a name for readability, which is then used in the keymap matrix below. 6// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -16,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16 /* Keymap _BL: Base Layer (Default Layer) 15 /* Keymap _BL: Base Layer (Default Layer)
17 */ 16 */
18[_BL] = KEYMAP( 17[_BL] = KEYMAP(
19 F(0), 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_GRV, KC_BSPC, KC_PGUP, \ 18 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_GRV, KC_BSPC, KC_PGUP, \
20 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, KC_PGDN, \ 19 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, KC_PGDN, \
21 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \ 20 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
22 MO(_FL), KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ 21 MO(_FL), KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
@@ -40,47 +39,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \ 39 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
41 _______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD,RGB_SAD,RGB_HUI), 40 _______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD,RGB_SAD,RGB_HUI),
42}; 41};
43
44/* This is a list of user defined functions. F(N) corresponds to item N
45 of this list.
46 */
47const uint16_t PROGMEM fn_actions[] = {
48 [0] = ACTION_FUNCTION(0), // Calls action_function()
49};
50
51void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
52 static uint8_t mods_pressed;
53 static bool mod_flag;
54
55 switch (id) {
56 case 0:
57 /* Handle the combined Grave/Esc key
58 */
59 mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
60
61 if (record->event.pressed) {
62 /* The key is being pressed.
63 */
64 if (mods_pressed) {
65 mod_flag = true;
66 add_key(KC_GRV);
67 send_keyboard_report();
68 } else {
69 add_key(KC_ESC);
70 send_keyboard_report();
71 }
72 } else {
73 /* The key is being released.
74 */
75 if (mod_flag) {
76 mod_flag = false;
77 del_key(KC_GRV);
78 send_keyboard_report();
79 } else {
80 del_key(KC_ESC);
81 send_keyboard_report();
82 }
83 }
84 break;
85 }
86}
diff --git a/keyboards/clueboard/keymaps/smt/keymap.c b/keyboards/clueboard/keymaps/smt/keymap.c
index f097afaa8..6797faaa3 100644
--- a/keyboards/clueboard/keymaps/smt/keymap.c
+++ b/keyboards/clueboard/keymaps/smt/keymap.c
@@ -19,7 +19,6 @@ enum planck_keycodes {
19// Helpful defines 19// Helpful defines
20#define _______ KC_TRNS 20#define _______ KC_TRNS
21#define XXXXXXX KC_NO 21#define XXXXXXX KC_NO
22#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
23 22
24// Custom macros 23// Custom macros
25#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl 24#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl
@@ -42,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
42 * `------------------------------------------------------------------' 41 * `------------------------------------------------------------------'
43 */ 42 */
44[_QWERTY] = KEYMAP( 43[_QWERTY] = KEYMAP(
45 F(0), 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_GRV, KC_PGUP, \ 44 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_GRV, KC_PGUP, \
46 HPR_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, KC_PGDN, \ 45 HPR_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, KC_PGDN, \
47 CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, \ 46 CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, \
48 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, MO(_FL), KC_UP, \ 47 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, MO(_FL), KC_UP, \
@@ -62,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
62 * `------------------------------------------------------------------' 61 * `------------------------------------------------------------------'
63 */ 62 */
64[_COLEMAK] = KEYMAP( 63[_COLEMAK] = KEYMAP(
65 F(0), 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_GRV, KC_PGUP, \ 64 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_GRV, KC_PGUP, \
66 HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGDN, \ 65 HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGDN, \
67 CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, XXXXXXX, KC_ENT, \ 66 CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, XXXXXXX, KC_ENT, \
68 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, MO(_FL), KC_UP, \ 67 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, MO(_FL), KC_UP, \
@@ -82,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
82 * `------------------------------------------------------------------' 81 * `------------------------------------------------------------------'
83 */ 82 */
84[_DVORAK] = KEYMAP( 83[_DVORAK] = KEYMAP(
85 F(0), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, KC_PGUP, \ 84 KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, KC_PGUP, \
86 HPR_TAB, KC_QUOT, KC_COMM,KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC, KC_PGDN, \ 85 HPR_TAB, KC_QUOT, KC_COMM,KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC, KC_PGDN, \
87 CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, XXXXXXX, KC_ENT, \ 86 CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, XXXXXXX, KC_ENT, \
88 KC_LSFT, XXXXXXX, KC_SCLN,KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT, MO(_FL), KC_UP, \ 87 KC_LSFT, XXXXXXX, KC_SCLN,KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT, MO(_FL), KC_UP, \
@@ -107,50 +106,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
107 _______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), 106 _______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
108}; 107};
109 108
110/* This is a list of user defined functions. F(N) corresponds to item N
111 of this list.
112 */
113const uint16_t PROGMEM fn_actions[] = {
114 [0] = ACTION_FUNCTION(0), // Calls action_function()
115};
116
117void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
118 static uint8_t mods_pressed;
119 static bool mod_flag;
120
121 switch (id) {
122 case 0:
123 /* Handle the combined Grave/Esc key
124 */
125 mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
126
127 if (record->event.pressed) {
128 /* The key is being pressed.
129 */
130 if (mods_pressed) {
131 mod_flag = true;
132 add_key(KC_GRV);
133 send_keyboard_report();
134 } else {
135 add_key(KC_ESC);
136 send_keyboard_report();
137 }
138 } else {
139 /* The key is being released.
140 */
141 if (mod_flag) {
142 mod_flag = false;
143 del_key(KC_GRV);
144 send_keyboard_report();
145 } else {
146 del_key(KC_ESC);
147 send_keyboard_report();
148 }
149 }
150 break;
151 }
152}
153
154void persistent_default_layer_set(uint16_t default_layer) { 109void persistent_default_layer_set(uint16_t default_layer) {
155 eeconfig_update_default_layer(default_layer); 110 eeconfig_update_default_layer(default_layer);
156 default_layer_set(default_layer); 111 default_layer_set(default_layer);
@@ -178,4 +133,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
178 break; 133 break;
179 } 134 }
180 return true; 135 return true;
181} \ No newline at end of file 136}
diff --git a/keyboards/clueboard/keymaps/unix_optimized/keymap.c b/keyboards/clueboard/keymaps/unix_optimized/keymap.c
index 7c1359954..0de247ca0 100644
--- a/keyboards/clueboard/keymaps/unix_optimized/keymap.c
+++ b/keyboards/clueboard/keymaps/unix_optimized/keymap.c
@@ -1,7 +1,6 @@
1#include "clueboard.h" 1#include "clueboard.h"
2 2
3// Helpful defines 3// Helpful defines
4#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
5#define _______ KC_TRNS 4#define _______ KC_TRNS
6 5
7// Each layer gets a name for readability, which is then used in the keymap matrix below. 6// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -16,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16 /* Keymap _BL: Base Layer (Default Layer) 15 /* Keymap _BL: Base Layer (Default Layer)
17 */ 16 */
18[_BL] = KEYMAP( 17[_BL] = KEYMAP(
19 F(0), 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_GRV, KC_BSPC, KC_PGUP, \ 18 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_GRV, KC_BSPC, KC_PGUP, \
20 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, KC_PGDN, \ 19 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, KC_PGDN, \
21 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \ 20 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
22 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ 21 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
@@ -40,47 +39,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \ 39 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
41 _______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD,RGB_HUI), 40 _______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD,RGB_HUI),
42}; 41};
43
44/* This is a list of user defined functions. F(N) corresponds to item N
45 of this list.
46 */
47const uint16_t PROGMEM fn_actions[] = {
48 [0] = ACTION_FUNCTION(0), // Calls action_function()
49};
50
51void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
52 static uint8_t mods_pressed;
53 static bool mod_flag;
54
55 switch (id) {
56 case 0:
57 /* Handle the combined Grave/Esc key
58 */
59 mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
60
61 if (record->event.pressed) {
62 /* The key is being pressed.
63 */
64 if (mods_pressed) {
65 mod_flag = true;
66 add_key(KC_GRV);
67 send_keyboard_report();
68 } else {
69 add_key(KC_ESC);
70 send_keyboard_report();
71 }
72 } else {
73 /* The key is being released.
74 */
75 if (mod_flag) {
76 mod_flag = false;
77 del_key(KC_GRV);
78 send_keyboard_report();
79 } else {
80 del_key(KC_ESC);
81 send_keyboard_report();
82 }
83 }
84 break;
85 }
86}
diff --git a/keyboards/clueboard/keymaps/win_optimized/keymap.c b/keyboards/clueboard/keymaps/win_optimized/keymap.c
index c5553ff1f..ad02fd59f 100644
--- a/keyboards/clueboard/keymaps/win_optimized/keymap.c
+++ b/keyboards/clueboard/keymaps/win_optimized/keymap.c
@@ -1,7 +1,6 @@
1#include "clueboard.h" 1#include "clueboard.h"
2 2
3// Helpful defines 3// Helpful defines
4#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
5#define _______ KC_TRNS 4#define _______ KC_TRNS
6 5
7// Each layer gets a name for readability, which is then used in the keymap matrix below. 6// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -16,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16 /* Keymap _BL: Base Layer (Default Layer) 15 /* Keymap _BL: Base Layer (Default Layer)
17 */ 16 */
18[_BL] = KEYMAP( 17[_BL] = KEYMAP(
19 F(0), 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_GRV, KC_BSPC, KC_INS, \ 18 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_GRV, KC_BSPC, KC_INS, \
20 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, KC_DEL, \ 19 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, KC_DEL, \
21 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_NUHS, KC_ENT, \ 20 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_NUHS, KC_ENT, \
22 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ 21 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
@@ -40,47 +39,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \ 39 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
41 _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), 40 _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
42}; 41};
43
44/* This is a list of user defined functions. F(N) corresponds to item N
45 of this list.
46 */
47const uint16_t PROGMEM fn_actions[] = {
48 [0] = ACTION_FUNCTION(0), // Calls action_function()
49};
50
51void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
52 static uint8_t mods_pressed;
53 static bool mod_flag;
54
55 switch (id) {
56 case 0:
57 /* Handle the combined Grave/Esc key
58 */
59 mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
60
61 if (record->event.pressed) {
62 /* The key is being pressed.
63 */
64 if (mods_pressed) {
65 mod_flag = true;
66 add_key(KC_GRV);
67 send_keyboard_report();
68 } else {
69 add_key(KC_ESC);
70 send_keyboard_report();
71 }
72 } else {
73 /* The key is being released.
74 */
75 if (mod_flag) {
76 mod_flag = false;
77 del_key(KC_GRV);
78 send_keyboard_report();
79 } else {
80 del_key(KC_ESC);
81 send_keyboard_report();
82 }
83 }
84 break;
85 }
86}
diff --git a/keyboards/clueboard/keymaps/xyverz/keymap.c b/keyboards/clueboard/keymaps/xyverz/keymap.c
index 453911973..540cd7983 100644
--- a/keyboards/clueboard/keymaps/xyverz/keymap.c
+++ b/keyboards/clueboard/keymaps/xyverz/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
29 * `----------------------------------------------------------------------------------' 29 * `----------------------------------------------------------------------------------'
30 */ 30 */
31[_BL] = KEYMAP( 31[_BL] = KEYMAP(
32 F(0), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_GRV, KC_BSPC, KC_PGUP, \ 32 KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_GRV, KC_BSPC, KC_PGUP, \
33 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_PGDN, \ 33 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_PGDN, \
34 LT(_FL, KC_CAPS), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_NUHS, KC_ENT, \ 34 LT(_FL, KC_CAPS), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_NUHS, KC_ENT, \
35 KC_LSFT, KC_RO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_SLSH, KC_RSFT, KC_UP, \ 35 KC_LSFT, KC_RO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_SLSH, KC_RSFT, KC_UP, \
@@ -76,36 +76,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
76 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI), 76 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI),
77}; 77};
78 78
79enum function_id {
80 SHIFT_ESC,
81};
82
83const uint16_t PROGMEM fn_actions[] = {
84 [0] = ACTION_FUNCTION(SHIFT_ESC),
85};
86
87void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
88 static uint8_t shift_esc_shift_mask;
89 switch (id) {
90 case SHIFT_ESC:
91 shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
92 if (record->event.pressed) {
93 if (shift_esc_shift_mask) {
94 add_key(KC_GRV);
95 send_keyboard_report();
96 } else {
97 add_key(KC_ESC);
98 send_keyboard_report();
99 }
100 } else {
101 if (shift_esc_shift_mask) {
102 del_key(KC_GRV);
103 send_keyboard_report();
104 } else {
105 del_key(KC_ESC);
106 send_keyboard_report();
107 }
108 }
109 break;
110 }
111}
diff --git a/keyboards/clueboard/rules.mk b/keyboards/clueboard/rules.mk
index f852a0184..74bfcfe74 100644
--- a/keyboards/clueboard/rules.mk
+++ b/keyboards/clueboard/rules.mk
@@ -92,7 +92,7 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
92# 92#
93BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 93BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
94MOUSEKEY_ENABLE = no # Mouse keys(+4700) 94MOUSEKEY_ENABLE = no # Mouse keys(+4700)
95EXTRAKEY_ENABLE = no # Audio control and System control(+450) 95EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
96CONSOLE_ENABLE = yes # Console for debug(+400) 96CONSOLE_ENABLE = yes # Console for debug(+400)
97COMMAND_ENABLE = yes # Commands for debug and configuration 97COMMAND_ENABLE = yes # Commands for debug and configuration
98NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 98NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work