summaryrefslogtreecommitdiff
path: root/keyboards/clueboard
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/clueboard')
-rw-r--r--keyboards/clueboard/keymaps/caps_fn/keymap.c5
-rw-r--r--keyboards/clueboard/keymaps/colemak/keymap.c86
-rw-r--r--keyboards/clueboard/keymaps/default/keymap.c5
-rw-r--r--keyboards/clueboard/keymaps/mac_optimized/keymap.c5
-rw-r--r--keyboards/clueboard/keymaps/mouse_keys/keymap.c5
-rw-r--r--keyboards/clueboard/keymaps/shift_fn/keymap.c5
-rw-r--r--keyboards/clueboard/keymaps/skully/keymap.c5
-rw-r--r--keyboards/clueboard/keymaps/unix_optimized/keymap.c5
-rw-r--r--keyboards/clueboard/keymaps/win_optimized/keymap.c5
9 files changed, 118 insertions, 8 deletions
diff --git a/keyboards/clueboard/keymaps/caps_fn/keymap.c b/keyboards/clueboard/keymaps/caps_fn/keymap.c
index 37f00e8d80..7fad9c1b21 100644
--- a/keyboards/clueboard/keymaps/caps_fn/keymap.c
+++ b/keyboards/clueboard/keymaps/caps_fn/keymap.c
@@ -50,6 +50,7 @@ const uint16_t PROGMEM fn_actions[] = {
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
static uint8_t mods_pressed;
+ static bool mod_flag;
switch (id) {
case 0:
@@ -61,6 +62,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
/* The key is being pressed.
*/
if (mods_pressed) {
+ mod_flag = true;
add_key(KC_GRV);
send_keyboard_report();
} else {
@@ -70,7 +72,8 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
} else {
/* The key is being released.
*/
- if (mods_pressed) {
+ if (mod_flag) {
+ mod_flag = false;
del_key(KC_GRV);
send_keyboard_report();
} else {
diff --git a/keyboards/clueboard/keymaps/colemak/keymap.c b/keyboards/clueboard/keymaps/colemak/keymap.c
new file mode 100644
index 0000000000..42c85ff9d8
--- /dev/null
+++ b/keyboards/clueboard/keymaps/colemak/keymap.c
@@ -0,0 +1,86 @@
+#include "clueboard.h"
+
+// Helpful defines
+#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))
+#define _______ KC_TRNS
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _BL 0
+#define _FL 1
+#define _CL 2
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap _BL: Base Layer (Default Layer)
+ */
+[_BL] = KEYMAP(
+ 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, \
+ 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, \
+ 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, \
+ 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, \
+ 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),
+
+ /* Keymap _FL: Function Layer
+ */
+[_FL] = KEYMAP(
+ 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, \
+ _______, _______, _______,_______,_______,_______,_______,KC_HOME,KC_PGDN,KC_PGUP, KC_END, _______, _______, _______, _______, \
+ KC_DEL, _______, MO(_CL),_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP, KC_RGHT, _______, _______, _______, \
+ _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \
+ _______, _______, _______,_______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END),
+
+ /* Keymap _CL: Control layer
+ */
+[_CL] = KEYMAP(
+ _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
+ _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
+ _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
+ MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
+ _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
+};
+
+/* This is a list of user defined functions. F(N) corresponds to item N
+ of this list.
+ */
+const uint16_t PROGMEM fn_actions[] = {
+ [0] = ACTION_FUNCTION(0), // Calls action_function()
+};
+
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
+ static uint8_t mods_pressed;
+ static bool mod_flag;
+
+ switch (id) {
+ case 0:
+ /* Handle the combined Grave/Esc key
+ */
+ mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
+
+ if (record->event.pressed) {
+ /* The key is being pressed.
+ */
+ if (mods_pressed) {
+ mod_flag = true;
+ add_key(KC_GRV);
+ send_keyboard_report();
+ } else {
+ add_key(KC_ESC);
+ send_keyboard_report();
+ }
+ } else {
+ /* The key is being released.
+ */
+ if (mod_flag) {
+ mod_flag = false;
+ del_key(KC_GRV);
+ send_keyboard_report();
+ } else {
+ del_key(KC_ESC);
+ send_keyboard_report();
+ }
+ }
+ break;
+ }
+}
diff --git a/keyboards/clueboard/keymaps/default/keymap.c b/keyboards/clueboard/keymaps/default/keymap.c
index 37f00e8d80..7fad9c1b21 100644
--- a/keyboards/clueboard/keymaps/default/keymap.c
+++ b/keyboards/clueboard/keymaps/default/keymap.c
@@ -50,6 +50,7 @@ const uint16_t PROGMEM fn_actions[] = {
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
static uint8_t mods_pressed;
+ static bool mod_flag;
switch (id) {
case 0:
@@ -61,6 +62,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
/* The key is being pressed.
*/
if (mods_pressed) {
+ mod_flag = true;
add_key(KC_GRV);
send_keyboard_report();
} else {
@@ -70,7 +72,8 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
} else {
/* The key is being released.
*/
- if (mods_pressed) {
+ if (mod_flag) {
+ mod_flag = false;
del_key(KC_GRV);
send_keyboard_report();
} else {
diff --git a/keyboards/clueboard/keymaps/mac_optimized/keymap.c b/keyboards/clueboard/keymaps/mac_optimized/keymap.c
index 59f7ff2436..7ea02d27e8 100644
--- a/keyboards/clueboard/keymaps/mac_optimized/keymap.c
+++ b/keyboards/clueboard/keymaps/mac_optimized/keymap.c
@@ -50,6 +50,7 @@ const uint16_t PROGMEM fn_actions[] = {
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
static uint8_t mods_pressed;
+ static bool mod_flag;
switch (id) {
case 0:
@@ -61,6 +62,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
/* The key is being pressed.
*/
if (mods_pressed) {
+ mod_flag = true;
add_key(KC_GRV);
send_keyboard_report();
} else {
@@ -70,7 +72,8 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
} else {
/* The key is being released.
*/
- if (mods_pressed) {
+ if (mod_flag) {
+ mod_flag = false;
del_key(KC_GRV);
send_keyboard_report();
} else {
diff --git a/keyboards/clueboard/keymaps/mouse_keys/keymap.c b/keyboards/clueboard/keymaps/mouse_keys/keymap.c
index a9c5cebd0c..d3108d1e2b 100644
--- a/keyboards/clueboard/keymaps/mouse_keys/keymap.c
+++ b/keyboards/clueboard/keymaps/mouse_keys/keymap.c
@@ -60,6 +60,7 @@ const uint16_t PROGMEM fn_actions[] = {
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
static uint8_t mods_pressed;
+ static bool mod_flag;
switch (id) {
case 0:
@@ -71,6 +72,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
/* The key is being pressed.
*/
if (mods_pressed) {
+ mod_flag = true;
add_key(KC_GRV);
send_keyboard_report();
} else {
@@ -80,7 +82,8 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
} else {
/* The key is being released.
*/
- if (mods_pressed) {
+ if (mod_flag) {
+ mod_flag = false;
del_key(KC_GRV);
send_keyboard_report();
} else {
diff --git a/keyboards/clueboard/keymaps/shift_fn/keymap.c b/keyboards/clueboard/keymaps/shift_fn/keymap.c
index f21b9b5895..c4fae03698 100644
--- a/keyboards/clueboard/keymaps/shift_fn/keymap.c
+++ b/keyboards/clueboard/keymaps/shift_fn/keymap.c
@@ -50,6 +50,7 @@ const uint16_t PROGMEM fn_actions[] = {
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
static uint8_t mods_pressed;
+ static bool mod_flag;
switch (id) {
case 0:
@@ -61,6 +62,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
/* The key is being pressed.
*/
if (mods_pressed) {
+ mod_flag = true;
add_key(KC_GRV);
send_keyboard_report();
} else {
@@ -70,7 +72,8 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
} else {
/* The key is being released.
*/
- if (mods_pressed) {
+ if (mod_flag) {
+ mod_flag = false;
del_key(KC_GRV);
send_keyboard_report();
} else {
diff --git a/keyboards/clueboard/keymaps/skully/keymap.c b/keyboards/clueboard/keymaps/skully/keymap.c
index 295090352d..077d214fac 100644
--- a/keyboards/clueboard/keymaps/skully/keymap.c
+++ b/keyboards/clueboard/keymaps/skully/keymap.c
@@ -47,6 +47,7 @@ const uint16_t PROGMEM fn_actions[] = {
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
static uint8_t mods_pressed;
+ static bool mod_flag;
switch (id) {
case 0:
@@ -58,6 +59,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
/* The key is being pressed.
*/
if (mods_pressed) {
+ mod_flag = true;
add_key(KC_GRV);
send_keyboard_report();
} else {
@@ -67,7 +69,8 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
} else {
/* The key is being released.
*/
- if (mods_pressed) {
+ if (mod_flag) {
+ mod_flag = false;
del_key(KC_GRV);
send_keyboard_report();
} else {
diff --git a/keyboards/clueboard/keymaps/unix_optimized/keymap.c b/keyboards/clueboard/keymaps/unix_optimized/keymap.c
index 9fbd772405..7c1359954b 100644
--- a/keyboards/clueboard/keymaps/unix_optimized/keymap.c
+++ b/keyboards/clueboard/keymaps/unix_optimized/keymap.c
@@ -50,6 +50,7 @@ const uint16_t PROGMEM fn_actions[] = {
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
static uint8_t mods_pressed;
+ static bool mod_flag;
switch (id) {
case 0:
@@ -61,6 +62,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
/* The key is being pressed.
*/
if (mods_pressed) {
+ mod_flag = true;
add_key(KC_GRV);
send_keyboard_report();
} else {
@@ -70,7 +72,8 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
} else {
/* The key is being released.
*/
- if (mods_pressed) {
+ if (mod_flag) {
+ mod_flag = false;
del_key(KC_GRV);
send_keyboard_report();
} else {
diff --git a/keyboards/clueboard/keymaps/win_optimized/keymap.c b/keyboards/clueboard/keymaps/win_optimized/keymap.c
index a85f0824f1..c5553ff1fb 100644
--- a/keyboards/clueboard/keymaps/win_optimized/keymap.c
+++ b/keyboards/clueboard/keymaps/win_optimized/keymap.c
@@ -50,6 +50,7 @@ const uint16_t PROGMEM fn_actions[] = {
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
static uint8_t mods_pressed;
+ static bool mod_flag;
switch (id) {
case 0:
@@ -61,6 +62,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
/* The key is being pressed.
*/
if (mods_pressed) {
+ mod_flag = true;
add_key(KC_GRV);
send_keyboard_report();
} else {
@@ -70,7 +72,8 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
} else {
/* The key is being released.
*/
- if (mods_pressed) {
+ if (mod_flag) {
+ mod_flag = false;
del_key(KC_GRV);
send_keyboard_report();
} else {