aboutsummaryrefslogtreecommitdiff
path: root/qmk/keyboards
diff options
context:
space:
mode:
Diffstat (limited to 'qmk/keyboards')
-rw-r--r--qmk/keyboards/sofle_choc/keymaps/custom/keycodes.c13
-rw-r--r--qmk/keyboards/sofle_choc/keymaps/custom/keycodes.h2
-rw-r--r--qmk/keyboards/sofle_choc/keymaps/custom/keymap.c39
-rw-r--r--qmk/keyboards/sofle_choc/keymaps/custom/lighting.c5
-rw-r--r--qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c39
-rw-r--r--qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.h4
6 files changed, 52 insertions, 50 deletions
diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.c b/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.c
index 1d9c017..802a97f 100644
--- a/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.c
+++ b/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.c
@@ -125,19 +125,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false;
}
return true;
- // Here, the key KC_BSPC become È when used inside a sequence, but we still
- // allow the repetition of KC_BSPC.
- case KC_BSPC:
- if (record->event.pressed \
- && timer_elapsed32(key_timer) < (TAPPING_TERM / 2) \
- && latest_key != keycode)
- {
- // I completely rewrite the key here, that’s why I’m using tap_code16
- // instead of register_code.
- tap_code16(BP_EGRV);
- return false;
- }
- return true;
// Override the key APP when hold into AltGR + Layer 1 when hold
case KEY_APP:
diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.h b/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.h
index 9bf6290..8ae3fc1 100644
--- a/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.h
+++ b/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.h
@@ -15,7 +15,7 @@ enum {
enum {
LAYER_BASE,
LAYER_SYMBOLS,
- RIGHT_CTRL,
+ LAYER_DIACRITIC,
};
#define MENU LGUI(BP_I)
diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c b/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c
index 72620c6..4c9dc13 100644
--- a/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c
+++ b/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c
@@ -25,6 +25,7 @@
#include QMK_KEYBOARD_H
// Declare the tapdance table here.
+// The functions for ACTION_TAP_DANCE_FN_ADVANCED or defined in "quand_dance"
tap_dance_action_t tap_dance_actions[] = {
[TD_C_CCED] = ACTION_TAP_DANCE_DOUBLE(BP_C, BP_CCED),
[TD_PRC] = ACTION_TAP_DANCE_DOUBLE(BP_EQL, BP_PERC),
@@ -35,18 +36,19 @@ tap_dance_action_t tap_dance_actions[] = {
-#define LY_SYMBOL TD(TD_LAYER_SYMB)
+#define LY_SYMB TD(TD_LAYER_SYMB)
+#define LY_DIACRITIC MO(LAYER_DIACRITIC)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* BÉPO
* ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | `% |
+ * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | `% |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ESC | B | É | P | O | È | | ! | V | D | L | J | Z |
+ * | $ | B | É | P | O | È | | ! | V | D | L | J | Z |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | A | U | I | E | ;È |-------. ,-------| CÇ | T | S | R | N | M |
+ * | Tab | A | U | I | E | ; |-------. ,-------| CÇ | T | S | R | N | M |
* |------+------+------+------+------+------| Mute | | Pause |------+------+------+------+------+------|
* |LShift| À | Y | X | : | K |-------| |-------| ? | Q | G | H | F | W |
* `-----------------------------------------/ / \ \-----------------------------------------'
@@ -57,10 +59,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[LAYER_BASE] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KEY_PRC,
- BP_DLR, BP_B, BP_EACU, BP_P, BP_O, KC_BSPC, BP_DCIR, BP_V, BP_D, KC_O, BP_J, BP_Z,
- KC_TAB, BP_A, BP_U, BP_I, KEY_E, KEY_EE, KEY_C, KEY_T, BP_S, BP_R, BP_N, BP_M,
+ BP_DLR, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, BP_DCIR, BP_V, BP_D, KC_O, BP_J, BP_Z,
+ KC_TAB, BP_A, BP_U, BP_I, KEY_E, BP_COMM, BP_C, KEY_T, BP_S, BP_R, BP_N, BP_M,
KC_LSFT, BP_AGRV,BP_Y, BP_X, BP_DOT, KC_B, KC_MUTE, KC_MPLY,BP_QUOT, BP_Q, BP_G, BP_H, BP_F, KEY_W,
- KC_LCTL, KC_DELETE,KC_LGUI,LY_SYMBOL,AL_SPC, AL_ENT, LY_SYMBOL,KEY_APP, KEY_INS, KC_RCTL
+ KC_LCTL, KC_DELETE,KC_LGUI,LY_SYMB, AL_SPC, AL_ENT, LY_SYMB, KEY_APP, KEY_INS, LY_DIACRITIC
),
// In the number layout, I keep the mod-tap modifiers applies to the middle letters :
@@ -71,17 +73,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// This layer is used to access to the numeric keypad, functions keys, and also provide some keys used with KC_LGUI
[LAYER_SYMBOLS] = LAYOUT(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_TRNS, KC_NO, KC_P7, KC_P8, KC_P9, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_TRNS, S(BP_EQL),
- KC_TRNS, KC_NO, KC_P4, KEY_5, KC_P6, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_PGUP,
- KC_LSFT, KC_NO, KC_P1, KC_P2, KC_P3, KC_NO, KC_MUTE, KC_MPLY,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KEY_PGDN,
- KC_P0, KC_PDOT, KC_TRNS, LY_SYMBOL,AL_SPC, AL_ENT, LY_SYMBOL,KC_TRNS, KC_RGUI, KC_TRNS
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_NO, KC_P7, KC_P8, KC_P9, KC_BSPC, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_TRNS, S(BP_EQL),
+ KC_TRNS, KC_NO, KC_P4, KEY_5, KC_P6, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_PGUP,
+ KC_LSFT, KC_NO, KC_P1, KC_P2, KC_P3, KC_NO, KC_MUTE, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KEY_PGDN,
+ KC_P0, KC_PDOT, KC_TRNS, KC_TRNS, AL_SPC, AL_ENT, KC_TRNS, KC_TRNS, KC_RGUI, KC_TRNS
+),
+
+[LAYER_DIACRITIC] = LAYOUT(
+ 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_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BP_CCED, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(QK_MOUSE_WHEEL_UP, QK_MOUSE_WHEEL_DOWN) },
- [LAYER_SYMBOLS] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(QK_MOUSE_WHEEL_UP, QK_MOUSE_WHEEL_DOWN) },
+ [LAYER_SYMBOLS] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [LAYER_DIACRITIC] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
};
#endif
diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c b/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c
index fd491e6..525d0c4 100644
--- a/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c
+++ b/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c
@@ -113,6 +113,10 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
case KEY_5:
rgb_matrix_set_color(index, 100, 100, 0);
break;
+ case KC_PDOT:
+ // Add a bit of red for the punction symbol
+ rgb_matrix_set_color(index, 150, 50, 0);
+ break;
case KC_RIGHT:
case KEY_DOWN:
case KC_LEFT ... KC_UP:
@@ -124,6 +128,7 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
case KC_END:
rgb_matrix_set_color(index, RGB_SPRINGGREEN);
break;
+ case KC_BSPC:
case AL_SPC:
case AL_ENT:
set_color(index, HSV_BLUE);
diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c b/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c
index 4a30d75..8c1e4e9 100644
--- a/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c
+++ b/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c
@@ -34,7 +34,7 @@
td_state_t cur_dance(tap_dance_state_t *state) {
if (state->count == 1) {
// The function can be called when the delay is over, or because of
- // another tap.
+ // another tap.
// I do not check here if the delay is over, as soon as another tap
// occurs, I check the state of the key and switch in hold mode if the
// key is still pressed.
@@ -77,16 +77,19 @@ static td_tap_t w_tap_state = {
void w_finished(tap_dance_state_t *state, void *user_data) {
w_tap_state.state = cur_dance(state);
switch (w_tap_state.state) {
- case TD_SINGLE_TAP:
+ case TD_SINGLE_TAP:
register_code(BP_W); break;
case TD_DOUBLE_TAP:
+ caps_word_on();
+ break;
case TD_DOUBLE_SINGLE_TAP:
- caps_word_on();
+ register_code(BP_W);
+ register_code(BP_W);
break;
- case TD_SINGLE_HOLD:
- case TD_DOUBLE_HOLD:
- caps_word_off();
- register_code(KC_RIGHT_SHIFT);
+ case TD_SINGLE_HOLD:
+ case TD_DOUBLE_HOLD:
+ caps_word_off();
+ register_code(KC_RIGHT_SHIFT);
break;
default: break;
}
@@ -96,7 +99,10 @@ void w_reset(tap_dance_state_t *state, void *user_data) {
switch (w_tap_state.state) {
case TD_SINGLE_TAP: unregister_code(BP_W); break;
case TD_SINGLE_HOLD: unregister_code(KC_RIGHT_SHIFT); break;
- case TD_DOUBLE_SINGLE_TAP: unregister_code(BP_W); break;
+ case TD_DOUBLE_SINGLE_TAP:
+ unregister_code(BP_W);
+ unregister_code(BP_W);
+ break;
default: break;
}
w_tap_state.state = TD_NONE;
@@ -108,9 +114,10 @@ void w_reset(tap_dance_state_t *state, void *user_data) {
// The only one usage is to activate the layer over the keyboard, but there is
// two way of doing it:
//
-// The first mode, when hold, is to activate the layer as long as the key is pressed.
-// The second one is to switch in the layer mode when double tapped, in this
-// mode, you can go back into the normal layer by a single press on the key.
+// The first mode, when hold, is to activate the layer as long as the key is
+// pressed.
+// The second one is to switch in the layer mode when tapped, in this mode,
+// you can go back into the normal layer by a single press on the key.
//
static td_tap_t ql_tap_state = {
.is_press_action = true,
@@ -121,11 +128,10 @@ static td_tap_t ql_tap_state = {
void ql_finished(tap_dance_state_t *state, void *user_data) {
ql_tap_state.state = cur_dance(state);
switch (ql_tap_state.state) {
- // Remove the layer with a single tap, this way I always have a key to remove the
- // the layer, without knowing the previous state I had.
- case TD_SINGLE_TAP: layer_off(LAYER_SYMBOLS); break;
+ // Remove the layer with a single tap, this way I always have a key to
+ // remove the the layer, without knowing the previous state I had.
+ case TD_SINGLE_TAP: layer_invert(LAYER_SYMBOLS); break;
case TD_SINGLE_HOLD: layer_on(LAYER_SYMBOLS); break;
- case TD_DOUBLE_TAP: layer_invert(LAYER_SYMBOLS); break;
default: break;
}
}
@@ -137,6 +143,3 @@ void ql_reset(tap_dance_state_t *state, void *user_data) {
}
ql_tap_state.state = TD_NONE;
}
-
-//
-//
diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.h b/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.h
index 92ce430..8d67282 100644
--- a/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.h
+++ b/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.h
@@ -28,7 +28,3 @@ void w_reset(tap_dance_state_t *state, void *user_data);
void ql_finished(tap_dance_state_t *state, void *user_data);
void ql_reset(tap_dance_state_t *state, void *user_data);
-
-void lshift_finished(tap_dance_state_t *state, void *user_data);
-void lshift_reset(tap_dance_state_t *state, void *user_data);
-