summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--keyboards/ergodox_ez/keymaps/algernon/Makefile3
-rw-r--r--keyboards/ergodox_ez/keymaps/algernon/images/adore-layer.pngbin0 -> 95615 bytes
-rw-r--r--keyboards/ergodox_ez/keymaps/algernon/images/base-layer.pngbin105162 -> 95654 bytes
-rw-r--r--keyboards/ergodox_ez/keymaps/algernon/images/experimental-layer.pngbin105172 -> 0 bytes
-rw-r--r--keyboards/ergodox_ez/keymaps/algernon/images/heatmap.pngbin0 -> 137912 bytes
-rw-r--r--keyboards/ergodox_ez/keymaps/algernon/keymap.c181
-rw-r--r--keyboards/ergodox_ez/keymaps/algernon/readme.md207
-rw-r--r--keyboards/ergodox_ez/keymaps/algernon/tools/heatmap-base-layout.json533
-rwxr-xr-xkeyboards/ergodox_ez/keymaps/algernon/tools/log-to-heatmap.py145
-rw-r--r--keyboards/ergodox_ez/keymaps/teckinesis/keymap.c455
-rw-r--r--keyboards/ergodox_ez/keymaps/teckinesis/ordinary-special.pngbin0 -> 63065 bytes
-rw-r--r--keyboards/ergodox_ez/keymaps/teckinesis/ordinary-special.txt27
-rw-r--r--keyboards/ergodox_ez/keymaps/teckinesis/readme.md45
-rw-r--r--keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.json434
-rw-r--r--keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.pngbin0 -> 93743 bytes
-rw-r--r--keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-media.json436
-rw-r--r--keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-media.pngbin0 -> 112216 bytes
-rw-r--r--keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.json422
-rw-r--r--keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.pngbin0 -> 97350 bytes
-rw-r--r--keyboards/preonic/keymaps/CMD-Preonic/README.md77
-rw-r--r--keyboards/preonic/keymaps/CMD-Preonic/keymap.c332
-rw-r--r--keyboards/preonic/keymaps/CMD-Preonic/makefile23
-rw-r--r--keyboards/satan/keymaps/default/Makefile21
-rw-r--r--keyboards/satan/keymaps/default/keymap.c32
-rw-r--r--keyboards/satan/keymaps/default/readme.md1
-rw-r--r--keyboards/satan/keymaps/sethbc/keymap.c23
-rw-r--r--keyboards/satan/keymaps/sethbc/readme.md3
-rw-r--r--keyboards/satan/readme.md2
-rw-r--r--keyboards/satan/satan.h2
-rw-r--r--quantum/keymap_extras/keymap_bepo.h4
-rw-r--r--quantum/process_keycode/process_music.c7
-rw-r--r--quantum/process_keycode/process_tap_dance.c111
-rw-r--r--quantum/process_keycode/process_tap_dance.h43
-rw-r--r--readme.md31
35 files changed, 3261 insertions, 340 deletions
diff --git a/.gitignore b/.gitignore
index 7c1e434e31..8491433524 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,3 +26,4 @@ CMakeLists.txt
.project
.settings/
.idea
+.browse.VC.db* \ No newline at end of file
diff --git a/keyboards/ergodox_ez/keymaps/algernon/Makefile b/keyboards/ergodox_ez/keymaps/algernon/Makefile
index cd7e9e9d2a..005f9750c3 100644
--- a/keyboards/ergodox_ez/keymaps/algernon/Makefile
+++ b/keyboards/ergodox_ez/keymaps/algernon/Makefile
@@ -3,6 +3,9 @@ COMMAND_ENABLE=no
SLEEP_LED_ENABLE=no
UNICODE_ENABLE=no
FORCE_NKRO ?= yes
+DEBUG_ENABLE = no
+CONSOLE_ENABLE = yes
+TAP_DANCE_ENABLE = yes
ifeq (${FORCE_NKRO},yes)
OPT_DEFS += -DFORCE_NKRO
diff --git a/keyboards/ergodox_ez/keymaps/algernon/images/adore-layer.png b/keyboards/ergodox_ez/keymaps/algernon/images/adore-layer.png
new file mode 100644
index 0000000000..3df68ea53d
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/algernon/images/adore-layer.png
Binary files differ
diff --git a/keyboards/ergodox_ez/keymaps/algernon/images/base-layer.png b/keyboards/ergodox_ez/keymaps/algernon/images/base-layer.png
index c4e298b6b7..7b25a05b3a 100644
--- a/keyboards/ergodox_ez/keymaps/algernon/images/base-layer.png
+++ b/keyboards/ergodox_ez/keymaps/algernon/images/base-layer.png
Binary files differ
diff --git a/keyboards/ergodox_ez/keymaps/algernon/images/experimental-layer.png b/keyboards/ergodox_ez/keymaps/algernon/images/experimental-layer.png
deleted file mode 100644
index 81155851b5..0000000000
--- a/keyboards/ergodox_ez/keymaps/algernon/images/experimental-layer.png
+++ /dev/null
Binary files differ
diff --git a/keyboards/ergodox_ez/keymaps/algernon/images/heatmap.png b/keyboards/ergodox_ez/keymaps/algernon/images/heatmap.png
new file mode 100644
index 0000000000..356035e0a6
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/algernon/images/heatmap.png
Binary files differ
diff --git a/keyboards/ergodox_ez/keymaps/algernon/keymap.c b/keyboards/ergodox_ez/keymaps/algernon/keymap.c
index 2af3d5f8cd..09d8dffd59 100644
--- a/keyboards/ergodox_ez/keymaps/algernon/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/algernon/keymap.c
@@ -10,12 +10,13 @@
#include "mousekey.h"
#include "timer.h"
#include "keymap_plover.h"
+#include "eeconfig.h"
/* Layers */
enum {
BASE = 0,
- EXPRM,
+ ADORE,
ARRW,
APPSEL,
HUN,
@@ -94,7 +95,7 @@ enum {
/* Custom keycodes */
enum {
- CT_CLN = 0x7101
+ CT_CLN = 0
};
/* States & timers */
@@ -114,8 +115,7 @@ uint16_t oh_left_blink_timer = 0;
uint8_t oh_right_blink = 0;
uint16_t oh_right_blink_timer = 0;
-uint8_t ct_cln_count = 0;
-uint16_t ct_cln_timer = 0;
+bool log_enable = false;
/* The Keymap */
@@ -124,18 +124,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Base Layer
*
* ,-----------------------------------------------------. ,-----------------------------------------------------.
- * | `~ | 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | 1HND | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 |
+ * | `~ | 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | Apps | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 |
* |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
* | Next/Prev | ' | , | . | P | Y | [ | | ] | F | G | C | R | L | \ |
* |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
- * | Tab | A | O | E | U | I |------| |------| D | H | T | N | S | = |
+ * | Tab/ARROW | A | O | E | U | I |------| |------| D | H | T | N | S | = / Arrow |
* |-----------+------+------+------+------+------| ( | | ) |------+------+------+------+------+-----------|
* | Play/Pause| / | Q | J | K | X | | | | B | M | W | V | Z | Stop |
* `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
- * | | | Left | Up | : | | - | Down | Rght | | |
+ * | | | | | : | | - | | | | |
* `-----------------------------------' `-----------------------------------'
* ,-------------. ,-------------.
- * | LAlt | GUI | | MDIA | ARRW |
+ * | LAlt | GUI | | MDIA | 1HND |
* ,------|------|------| |------+------+------.
* | | | Ctrl | | LEAD | | |
* |Backsp|LShift|------| |------| Enter| Space|
@@ -146,67 +146,67 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// left hand
KC_GRV ,M(KF_1) ,M(KF_2) ,M(KF_3),M(KF_4),M(KF_5),M(A_PLVR)
,M(A_MPN) ,KC_QUOT ,KC_COMM ,KC_DOT ,KC_P ,KC_Y ,KC_LBRC
-,KC_TAB ,KC_A ,KC_O ,KC_E ,KC_U ,KC_I
+,LT(ARRW,KC_TAB) ,KC_A ,KC_O ,KC_E ,KC_U ,KC_I
,KC_MPLY ,KC_SLSH ,KC_Q ,KC_J ,KC_K ,KC_X ,KC_LPRN
-,KC_NO ,KC_NO ,KC_LEFT ,KC_UP ,CT_CLN
+,KC_NO ,KC_NO ,KC_NO ,KC_NO ,TD(CT_CLN)
,F(F_ALT),F(F_GUI)
,F(F_CTRL)
,KC_BSPC,F(F_SFT),M(A_ESC)
// right hand
- ,M(OH_LEFT),M(KF_6),M(KF_7),M(KF_8),M(KF_9) ,M(KF_10) ,KC_F11
- ,KC_RBRC ,KC_F ,KC_G ,KC_C ,KC_R ,KC_L ,KC_BSLS
- ,KC_D ,KC_H ,KC_T ,KC_N ,KC_S ,KC_EQL
- ,KC_RPRN ,KC_B ,KC_M ,KC_W ,KC_V ,KC_Z ,KC_MSTP
- ,KC_MINS,KC_DOWN,KC_RGHT ,KC_NO ,KC_NO
+ ,KC_APP ,M(KF_6),M(KF_7),M(KF_8),M(KF_9) ,M(KF_10) ,KC_F11
+ ,KC_RBRC ,KC_F ,KC_G ,KC_C ,KC_R ,KC_L ,KC_BSLS
+ ,KC_D ,KC_H ,KC_T ,KC_N ,KC_S ,LT(ARRW, KC_EQL)
+ ,KC_RPRN ,KC_B ,KC_M ,KC_W ,KC_V ,KC_Z ,KC_MSTP
+ ,KC_MINS,KC_NO ,KC_NO ,KC_NO ,KC_NO
- ,OSL(NMDIA),OSL(ARRW)
+ ,OSL(NMDIA),M(OH_LEFT)
,KC_LEAD
,F(F_HUN) ,KC_ENT ,KC_SPC
),
-/* Keymap 1: Experimental layer
+/* Keymap 1: Adore layer
*
* ,-----------------------------------------------------. ,-----------------------------------------------------.
- * | `~ | 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | 1HND | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 |
+ * | `~ | 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | Apps | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 |
* |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
- * | Next/Prev | ' | , | . | P | Y | [ | | ] | L | F | C | R | J | = |
+ * | Next/Prev | , | . | L | W | M | [ | | ] | F | H | C | P | Y | \ |
* |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
- * | Tab | A | O | E | U | I |------| |------| D | H | T | N | S | \ |
+ * | Tab/Arrow | A | O | E | I | U |------| |------| D | R | T | N | S | = / Arrow |
* |-----------+------+------+------+------+------| ( | | ) |------+------+------+------+------+-----------|
- * | Play/Pause| Z | G | V | K | X | | | | Q | M | W | B | / | Stop |
+ * | Play/Pause| / | Z | ' | K | X | | | | B | G | V | J | Q | Stop |
* `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
- * | | | Left | Up | : | | - | Down | Rght | | |
+ * | | | | | : | | - | | | | |
* `-----------------------------------' `-----------------------------------'
* ,-------------. ,-------------.
- * | LAlt | GUI | | MDIA | ARRW |
+ * | LAlt | GUI | | MDIA | 1HND |
* ,------|------|------| |------+------+------.
* | | | Ctrl | | LEAD | | |
* |Backsp|LShift|------| |------| Enter| Space|
* | | | ESC | | HUN | | |
* `--------------------' `--------------------'
*/
-[EXPRM] = KEYMAP(
+[ADORE] = KEYMAP(
// left hand
KC_GRV ,M(KF_1) ,M(KF_2) ,M(KF_3),M(KF_4),M(KF_5),M(A_PLVR)
-,M(A_MPN) ,KC_QUOT ,KC_COMM ,KC_DOT ,KC_P ,KC_Y ,KC_LBRC
-,KC_TAB ,KC_A ,KC_O ,KC_E ,KC_U ,KC_I
-,KC_MPLY ,KC_Z ,KC_G ,KC_V ,KC_K ,KC_X ,KC_LPRN
-,KC_NO ,KC_NO ,KC_LEFT ,KC_UP ,CT_CLN
+,M(A_MPN) ,KC_COMM ,KC_DOT ,KC_L ,KC_W ,KC_M ,KC_LBRC
+,LT(ARRW, KC_TAB) ,KC_A ,KC_O ,KC_E ,KC_I ,KC_U
+,KC_MPLY ,KC_SLSH ,KC_Z ,KC_QUOT,KC_K ,KC_X ,KC_LPRN
+,KC_NO ,KC_NO ,KC_NO ,KC_NO ,TD(CT_CLN)
,F(F_ALT),F(F_GUI)
,F(F_CTRL)
,KC_BSPC,F(F_SFT),M(A_ESC)
// right hand
- ,M(OH_LEFT),M(KF_6),M(KF_7),M(KF_8),M(KF_9) ,M(KF_10) ,KC_F11
- ,KC_RBRC ,KC_L ,KC_F ,KC_C ,KC_R ,KC_J ,KC_BSLS
- ,KC_D ,KC_H ,KC_T ,KC_N ,KC_S ,KC_EQL
- ,KC_RPRN ,KC_Q ,KC_M ,KC_W ,KC_B ,KC_SLSH ,KC_MSTP
- ,KC_MINS,KC_DOWN,KC_RGHT ,KC_NO ,KC_NO
+ ,KC_APP ,M(KF_6),M(KF_7),M(KF_8),M(KF_9) ,M(KF_10) ,KC_F11
+ ,KC_RBRC ,KC_F ,KC_H ,KC_C ,KC_P ,KC_Y ,KC_BSLS
+ ,KC_D ,KC_R ,KC_T ,KC_N ,KC_S ,LT(ARRW, KC_EQL)
+ ,KC_RPRN ,KC_B ,KC_G ,KC_V ,KC_J ,KC_Q ,KC_MSTP
+ ,KC_MINS,KC_NO ,KC_NO ,KC_NO ,KC_NO
- ,OSL(NMDIA),OSL(ARRW)
+ ,OSL(NMDIA),M(OH_LEFT)
,KC_LEAD
,F(F_HUN) ,KC_ENT ,KC_SPC
),
@@ -216,19 +216,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------------------. ,-----------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
- * | | | | | | | | | | | | | | | |
+ * | | | | | | | | | | | Home | Up | End | | |
* |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
- * | | | | | | |------| |------| | | | | | |
+ * | | | | | | |------| |------| | Left | Down | Rght | | |
* |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
* | | | | | | | | | | | | | | | |
* `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
- * | | | Home | PgUp | | | | PgDn | End | | |
+ * | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | | |
- * | | |------| |------| | |
+ * | | |------| |------| PgUp | PgDn |
* | | | | | | | |
* `--------------------' `--------------------'
*/
@@ -239,7 +239,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
,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 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,KC_TRNS ,KC_TRNS ,KC_HOME ,KC_PGUP ,KC_TRNS
+,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
,KC_TRNS ,KC_TRNS
,KC_TRNS
@@ -247,14 +247,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// right hand
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_TRNS ,KC_HOME ,KC_UP ,KC_END ,KC_TRNS ,KC_TRNS
+ ,KC_TRNS ,KC_LEFT ,KC_DOWN ,KC_RGHT ,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 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
- ,KC_TRNS ,KC_PGDN ,KC_END ,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_PGUP ,KC_PGDN
),
/* Keymap 3: Application select layer
@@ -843,8 +843,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
return MACRO_NONE;
};
+uint8_t is_adore = 0;
+
// Runs just one time when the keyboard initializes.
void matrix_init_user(void) {
+ uint8_t dl;
+
ergodox_led_all_on();
for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) {
ergodox_led_all_set (i);
@@ -856,6 +860,12 @@ void matrix_init_user(void) {
_delay_ms (10);
}
ergodox_led_all_off();
+
+ if (!eeconfig_is_enabled())
+ eeconfig_init();
+ dl = eeconfig_read_default_layer ();
+ if (dl == (1UL << ADORE))
+ is_adore = 1;
};
LEADER_EXTERNS();
@@ -882,29 +892,32 @@ void ang_tap (uint16_t codes[]) {
register_code (code); \
unregister_code (code)
-uint8_t is_exp = 0;
-
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
-
- if (gui_timer && timer_elapsed (gui_timer) > TAPPING_TERM)
- unregister_code (KC_LGUI);
-
- if (ct_cln_timer && timer_elapsed (ct_cln_timer) > TAPPING_TERM) {
- if (ct_cln_count == 1) {
+void ang_tap_dance (qk_tap_dance_state_t *state) {
+ switch (state->keycode) {
+ case TD(CT_CLN):
+ if (state->count == 1) {
register_code (KC_RSFT);
register_code (KC_SCLN);
unregister_code (KC_SCLN);
unregister_code (KC_RSFT);
- } else if (ct_cln_count == 2) {
+ } else if (state->count == 2) {
register_code (KC_SCLN);
unregister_code (KC_SCLN);
+ reset_tap_dance (state);
}
-
- ct_cln_count = 0;
- ct_cln_timer = 0;
}
+}
+
+const qk_tap_dance_action_t tap_dance_actions[] = {
+ [CT_CLN] = ACTION_TAP_DANCE_FN (ang_tap_dance)
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+ uint8_t layer = biton32(layer_state);
+
+ if (gui_timer && timer_elapsed (gui_timer) > TAPPING_TERM)
+ unregister_code (KC_LGUI);
if (layer != OHLFT)
oh_left_blink = 0;
@@ -921,7 +934,7 @@ void matrix_scan_user(void) {
ergodox_right_led_1_on ();
ergodox_right_led_2_on ();
ergodox_right_led_3_on ();
- } else if (layer == EXPRM) {
+ } else if (layer == ADORE) {
ergodox_right_led_1_on ();
ergodox_right_led_2_on ();
ergodox_right_led_3_on ();
@@ -961,7 +974,7 @@ void matrix_scan_user(void) {
ergodox_right_led_1_on ();
} else {
ergodox_right_led_1_set (LED_BRIGHTNESS_LO);
- if (layer != OHLFT && layer != NMDIA && layer != PLVR && layer != EXPRM)
+ if (layer != OHLFT && layer != NMDIA && layer != PLVR && layer != ADORE)
ergodox_right_led_1_off ();
}
@@ -971,7 +984,7 @@ void matrix_scan_user(void) {
ergodox_right_led_2_on ();
} else {
ergodox_right_led_2_set (LED_BRIGHTNESS_LO);
- if (layer != OHRGT && layer != HUN && layer != OHLFT && layer != NMDIA && layer != PLVR && layer != EXPRM)
+ if (layer != OHRGT && layer != HUN && layer != OHLFT && layer != NMDIA && layer != PLVR && layer != ADORE)
ergodox_right_led_2_off ();
}
@@ -981,7 +994,7 @@ void matrix_scan_user(void) {
ergodox_right_led_3_on ();
} else {
ergodox_right_led_3_set (LED_BRIGHTNESS_LO);
- if (layer != OHRGT && layer != HUN && layer != PLVR && layer != EXPRM)
+ if (layer != OHRGT && layer != HUN && layer != PLVR && layer != ADORE)
ergodox_right_led_3_off ();
}
@@ -989,6 +1002,10 @@ void matrix_scan_user(void) {
leading = false;
leader_end ();
+ SEQ_ONE_KEY (KC_D) {
+ log_enable = !log_enable;
+ }
+
SEQ_ONE_KEY (KC_U) {
ang_do_unicode ();
}
@@ -1036,11 +1053,12 @@ void matrix_scan_user(void) {
unregister_code (KC_LGUI);
}
- SEQ_ONE_KEY (KC_E) {
- if (is_exp == 0) {
+ SEQ_ONE_KEY (KC_A) {
+ if (is_adore == 0) {
default_layer_and (0);
- default_layer_or ((1 << EXPRM));
- is_exp = 1;
+ default_layer_or ((1UL << ADORE));
+ eeconfig_update_default_layer ((1UL << ADORE));
+ is_adore = 1;
ergodox_led_all_off ();
ergodox_right_led_3_on ();
@@ -1054,9 +1072,10 @@ void matrix_scan_user(void) {
_delay_ms (100);
ergodox_right_led_1_off ();
} else {
- is_exp = 0;
+ is_adore = 0;
default_layer_and (0);
- default_layer_or (1 << BASE);
+ default_layer_or (1UL << BASE);
+ eeconfig_update_default_layer ((1UL << BASE));
ergodox_led_all_off ();
ergodox_right_led_1_on ();
@@ -1075,29 +1094,11 @@ void matrix_scan_user(void) {
}
bool process_record_user (uint16_t keycode, keyrecord_t *record) {
- switch(keycode) {
- case CT_CLN:
- if (record->event.pressed) {
- ct_cln_count++;
- ct_cln_timer = timer_read ();
- } else {
- }
- return false;
- break;
+ uint8_t layer = biton32(layer_state);
- default:
- if (ct_cln_count == 1) {
- register_code (KC_RSFT);
- register_code (KC_SCLN);
- unregister_code (KC_SCLN);
- unregister_code (KC_RSFT);
- } else if (ct_cln_count == 2) {
- register_code (KC_SCLN);
- unregister_code (KC_SCLN);
- }
- ct_cln_count = 0;
- ct_cln_timer = 0;
- break;
+ if (log_enable && layer == BASE) {
+ xprintf ("KL: col=%d, row=%d\n", record->event.key.col,
+ record->event.key.row);
}
return true;
diff --git a/keyboards/ergodox_ez/keymaps/algernon/readme.md b/keyboards/ergodox_ez/keymaps/algernon/readme.md
index 6b7e8fa2e1..2312dc59e2 100644
--- a/keyboards/ergodox_ez/keymaps/algernon/readme.md
+++ b/keyboards/ergodox_ez/keymaps/algernon/readme.md
@@ -1,27 +1,28 @@
+<!-- -*- mode: markdown; fill-column: 8192 -*- -->
+
algernon's layout
=======================
-This is an unconventional layout for the ErgoDox EZ. For more details about the
-history of the layout, see my
-[blog posts about my ErgoDox journey][blog-ergodox].
+This is an unconventional layout for the ErgoDox EZ. For more details about the history of the layout, see my [blog posts about my ErgoDox journey][blog-ergodox].
[blog-ergodox]: https://asylum.madhouse-project.org/blog/tags/ergodox/
-Some of the things in the layout only work when one uses Spacemacs and GNOME
-under Linux. Your mileage may vary.
+Some of the things in the layout only work when one uses Spacemacs and GNOME under Linux. Your mileage may vary.
## Table of Contents
* [Layouts](#layouts)
- - [Base layer](#base-layer)
- - [Experimental layer](#experimental-layer)
- - [Hungarian layer](#hungarian-layer)
- - [Navigation and media layer](#navigation-and-media-layer)
- - [One-handed layer](#one-handed-layer)
- - [Steno layer](#steno-layer)
- - [LED states](#led-states)
+ - [Base layer](#base-layer)
+ - [ADORE layer](#adore-layer)
+ - [Hungarian layer](#hungarian-layer)
+ - [Navigation and media layer](#navigation-and-media-layer)
+ - [One-handed layer](#one-handed-layer)
+ - [Steno layer](#steno-layer)
+ - [LED states](#led-states)
+* [Tools](#tools)
+ - [Heatmap](#heatmap)
* [Building](#building)
- - [Using on Windows](#using-on-windows)
+ - [Using on Windows](#using-on-windows)
* [Changelog](#changelog)
* [License](#license)
@@ -31,133 +32,98 @@ under Linux. Your mileage may vary.
[![Base layer](images/base-layer.png)](http://www.keyboard-layout-editor.com/#/gists/28f7eb305fdbff943613e1dc7aa9e82b)
-At its core, this is a Dvorak layout, with some minor changes. The more
-interesting parts are how certain keys behave:
-
-* The keys on the number row double as function keys, when held for a bit longer
- than an usual tap. This allows me to use the function keys without having to
- switch layers.
-* The `Shift`, `Alt`, and `Control` modifiers are one-shot. When tapped, they
- are considered active for the next key press only. When double tapped, they
- toggle on, until a third, single tap sometime later. When held, they act as
- expected. My usual pattern is that I use these for the next keypress only, so
- this behaviour is perfect. If I need them held, I'll just double-tap.
-* The `GUI` key is special, because when I double-tap it, it sends `GUI + w`,
- which pops up an application selector. It also switches to a one-shot layer,
- where the number row on the left half turns into app selector macros, for the
- most common things I usually want to switch to. Otherwise it behaves as on a
- normal layout.
-* The `ESC` key also doubles as a one-shot cancel key: if tapped while any of
- the one-shot modifiers are in-flight (as in, single-tapped, and not expired
- yet), it cancels all one-shot modifiers. It also cancels the **Hun** layer, if
- active. Otherwise it sends the usual keycode.
-* The **Media**, **Arrow**, and **Hun** layer keys are one-shot, the **1Hand**
- and **STENO** keys are toggles.
-* Toggling the **Arrow** layer toggles between the cursor arrows and the paging
- keys on the bottom row.
+At its core, this is a Dvorak layout, with some minor changes. The more interesting parts are how certain keys behave:
+
+* The keys on the number row double as function keys, when held for a bit longer than an usual tap. This allows me to use the function keys without having to switch layers.
+* The `Shift`, `Alt`, and `Control` modifiers are one-shot. When tapped, they are considered active for the next key press only. When double tapped, they toggle on, until a third, single tap sometime later. When held, they act as expected. My usual pattern is that I use these for the next keypress only, so this behaviour is perfect. If I need them held, I'll just double-tap.
+* The `GUI` key is special, because when I double-tap it, it sends `GUI + w`, which pops up an application selector. It also switches to a one-shot layer, where the number row on the left half turns into app selector macros, for the most common things I usually want to switch to. Otherwise it behaves as on a normal layout.
+* The `ESC` key also doubles as a one-shot cancel key: if tapped while any of the one-shot modifiers are in-flight (as in, single-tapped, and not expired yet), it cancels all one-shot modifiers. It also cancels the **Hun** layer, if active. Otherwise it sends the usual keycode.
+* The **Media** and **Hun** layer keys are one-shot, the **1Hand** and **STENO** keys are toggles.
+* When holding any of the **Arrow** layer keys, the arrow layer activates while the layer key is held. Tapping the key produces the normal key.
* Tapping the `:` key once yields `:`, tapping it twice yields `;`.
-* The **Lead** key allows me to type in a sequence of keys, and trigger some
- actions:
- - `LEAD u` enters unicode input mode, by sending the GTK+ key sequence that
- does this.
+* The **Lead** key allows me to type in a sequence of keys, and trigger some actions:
+ - `LEAD u` enters unicode input mode, by sending the GTK+ key sequence that does this.
- `LEAD l` uses the unicode input method to enter a `λ`.
- `LEAD s` does a lot of magic to type in a shruggie: `¯\_(ツ)_/¯`
- `LEAD y` types `\o/`.
- `LEAD w m` maximises the currently focused window.
- - `LEAD e` makes the [experimental layer](#experimental-layer) the default.
+ - `LEAD a` makes the [ADORE layer](#adore-layer) the default.
- `LEAD v` prints the firmware version, the keyboard and the keymap.
+ - `LEAD d` toggles logging keypress positions to the HID console.
-## Experimental layer
+## ADORE layer
-[![Experimental layer](images/experimental-layer.png)](http://www.keyboard-layout-editor.com/#/gists/6ff50bf71248e05aab5b3fec4fae3d08)
+[![ADORE layer](images/adore-layer.png)](http://www.keyboard-layout-editor.com/#/gists/45681a17453d235925b6028dd83bf12a)
-While using the standard Dvorak layout, I encountered a number of
-inconveniences, and on this layer, I am playing with ideas to make the layout
-feel better. Initially, it was based on [Capewell-Dvorak][cpd], but that too,
-had shortcomings I was not happy with. So now this is something inbetween, with
-own observations thrown in. How it works out in the long run remains to be seen.
+While using the standard Dvorak layout, I encountered a number of inconveniences, and on this layer, I am playing with ideas to make the layout feel better. Initially, it was based on [Capewell-Dvorak][cpd], but that too, had shortcomings I was not happy with. So now this is something inbetween, with own observations thrown in. How it works out in the long run remains to be seen.
[cpd]: http://www.michaelcapewell.com/projects/keyboard/layout_capewell-dvorak.htm
+
+Based on a week and a half of typing, the keys were rearranged, and the home row neatly spelled out **ADORE**, that gave the layout its