mirror of
https://github.com/qmk/qmk_userspace.git
synced 2026-03-10 10:20:23 -04:00
Création couche symboles
This commit is contained in:
parent
419e0af59b
commit
ff8115ed28
8 changed files with 65 additions and 50 deletions
|
|
@ -7,7 +7,7 @@ bool clever_key_finder(uint16_t next_keycode, keyrecord_t* record) {
|
|||
|
||||
uint16_t prev_keycode = recent[RECENT_SIZE - 1];
|
||||
const uint8_t mods = get_mods();
|
||||
const bool isCaps = is_caps_lock_on() || is_caps_word_on();
|
||||
//const bool isCaps = is_caps_lock_on() || is_caps_word_on();
|
||||
|
||||
if (isLetter(next_keycode) || next_keycode == E_CIRC) {
|
||||
switch (prev_keycode) {
|
||||
|
|
@ -195,7 +195,8 @@ bool clever_key_finder(uint16_t next_keycode, keyrecord_t* record) {
|
|||
break;
|
||||
|
||||
case FR_A:
|
||||
if (prev_keycode == FR_O && !isCaps) {
|
||||
//if (prev_keycode == FR_O && !isCaps) {
|
||||
if (prev_keycode == FR_O) {
|
||||
// "oa" -> "oi"
|
||||
clear_recent_keys(); // To prevent infinite loop
|
||||
return replace_next_key(FR_I, record);
|
||||
|
|
@ -203,7 +204,8 @@ bool clever_key_finder(uint16_t next_keycode, keyrecord_t* record) {
|
|||
break;
|
||||
|
||||
case FR_I:
|
||||
if (prev_keycode == FR_O && !isCaps && recent[RECENT_SIZE - 3] != FR_Q) {
|
||||
//if (prev_keycode == FR_O && !isCaps && recent[RECENT_SIZE - 3] != FR_Q) {
|
||||
if (prev_keycode == FR_O && recent[RECENT_SIZE - 3] != FR_Q) {
|
||||
// "oi" -> "oa", for "keyboard"
|
||||
clear_recent_keys(); // To prevent infinite loop
|
||||
return replace_next_key(FR_A, record);
|
||||
|
|
@ -243,6 +245,15 @@ bool clever_key_finder(uint16_t next_keycode, keyrecord_t* record) {
|
|||
|
||||
case I_TREM:
|
||||
return process_accent(FR_TREM, FR_I, record);
|
||||
|
||||
case CIRC:
|
||||
return process_accent(FR_ACIR, KC_SPC, record);
|
||||
|
||||
case TILDE:
|
||||
return process_accent(FR_TILD, KC_SPC, record);
|
||||
|
||||
case GRAVE:
|
||||
return process_accent(FR_GRV, KC_SPC, record);
|
||||
}
|
||||
|
||||
return false; // Process next keycode normally
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ bool process_macros(uint16_t keycode, keyrecord_t *record) {
|
|||
case _BASE:
|
||||
tap_code(KC_F13);
|
||||
return false;
|
||||
case _SYMNUM:
|
||||
case _SYMBOLS:
|
||||
tap_code(KC_F14);
|
||||
return false;
|
||||
case _SHORTNAV:
|
||||
|
|
|
|||
|
|
@ -28,13 +28,13 @@ bool is_num_word_enabled(void) {
|
|||
void enable_num_word(void) {
|
||||
//if (is_num_word_on) return;
|
||||
is_num_word_on = true;
|
||||
layer_on(_SYMNUM);
|
||||
layer_on(_NUMBERS);
|
||||
}
|
||||
|
||||
void disable_num_word(void) {
|
||||
//if (!is_num_word_on) return;
|
||||
is_num_word_on = false;
|
||||
layer_off(_SYMNUM);
|
||||
layer_off(_NUMBERS);
|
||||
exit_num_word = false;
|
||||
}
|
||||
|
||||
|
|
@ -53,20 +53,22 @@ bool should_terminate_num_word(uint16_t keycode, const keyrecord_t *record) {
|
|||
// Keycodes which should not disable num word mode.
|
||||
|
||||
// Numpad keycodes
|
||||
/* case KC_P1 ... KC_P0:
|
||||
case KC_PDOT:
|
||||
case FR_SLSH: */
|
||||
case KC_P1 ... KC_P0:
|
||||
case KC_PDOT:
|
||||
case FR_VIRG:
|
||||
case FR_MOIN:
|
||||
case FR_ASTX:
|
||||
case FR_PLUS:
|
||||
case FR_SLSH:
|
||||
case FR_ACIR:
|
||||
case FR_CARN:
|
||||
|
||||
// Misc
|
||||
case KC_BSPC:
|
||||
case NUMWORD: // For the combo NUMWORD to work
|
||||
|
||||
/* case FR_MOIN:
|
||||
/*
|
||||
case FR_EGAL:
|
||||
case FR_ACIR:
|
||||
case FR_VIRG:
|
||||
case FR_ASTX:
|
||||
case FR_PLUS:
|
||||
case FR_BSLS:
|
||||
|
||||
// Misc
|
||||
|
|
@ -79,7 +81,7 @@ bool should_terminate_num_word(uint16_t keycode, const keyrecord_t *record) {
|
|||
return false; */
|
||||
}
|
||||
|
||||
if (!on_left_hand(record->event.key)) { return false; }
|
||||
//if (!on_left_hand(record->event.key)) { return false; }
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ const custom_altgr_key_t custom_altgr_keys[] = {
|
|||
//{FR_I, FR_LDAQ},
|
||||
//{FR_T, FR_RDAQ},
|
||||
{FR_J, FR_CURR},
|
||||
{FR_H, FR_HASH},
|
||||
//{FR_H, FR_HASH},
|
||||
{FR_Q, FR_SECT},
|
||||
{KC_KP_8, FR_INFN},
|
||||
{FR_F, FR_DEG}
|
||||
|
|
@ -95,6 +95,7 @@ bool os4a_layer_changer(uint16_t keycode) {
|
|||
case OS_FA:
|
||||
case NUMWORD:
|
||||
case TT_FA:
|
||||
case OS_SN:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
|
@ -143,6 +144,7 @@ bool is_oneshot_ignored_key(uint16_t keycode) {
|
|||
case OS_LALT:
|
||||
case OS_WIN:
|
||||
case OS_FA:
|
||||
case OS_SN:
|
||||
case NUMWORD:
|
||||
case TT_FA:
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -237,7 +237,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
KC_ESC, FR_AGRV, FR_B, FR_EACU, FR_POIN, FR_MOIN, FR_ACIR, FR_V, FR_L, FR_M, FR_X, FR_W,
|
||||
KC_ENT, ALT_T(FR_O), SFT_T(FR_U), ALGR_T(FR_A), LCTL_T(FR_I), FR_J, FR_G, RCTL_T(FR_T), ALGR_T(FR_S), RSFT_T(FR_N), ALT_T(FR_R), FR_F,
|
||||
LT_TAB, FR_Q, FR_Y, FR_EGRV, LWIN_T(FR_P), FR_DQUO, KC_BSPC, KC_END, KC_HOME, KC_DEL, FR_K, RWIN_T(FR_D), FR_Z, FR_H, FR_C, LT_CCED,
|
||||
TG(_SYMNUM), KC_SPC, OSM(MOD_LSFT), LT(_SYMNUM,FR_E), LT_VIRG, LT_APOS, LT(_SYMNUM,KC_SPC), OSM(MOD_RSFT), KC_RGUI, KC_MUTE
|
||||
TG(_SYMBOLS), KC_SPC, OSM(MOD_LSFT), LT(_SYMBOLS,FR_E), LT_VIRG, LT_APOS, LT(_SYMBOLS,KC_SPC), OSM(MOD_RSFT), KC_RGUI, KC_MUTE
|
||||
),
|
||||
|
||||
|
||||
|
|
@ -255,7 +255,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
* | | | | | | | , | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
*/
|
||||
[_SYMNUM] = LAYOUT(
|
||||
[_SYMBOLS] = LAYOUT(
|
||||
KC_ESC, FR_EXLM, FR_QUES, FR_ESPR, FR_PVIR, FR_PIPE, FR_MOIN, KC_P7, KC_P8, KC_P9, FR_ASTX, KC_NUM,
|
||||
_______, FR_LACL, SFT_T(FR_RACL), ALGR_T(FR_LPRN), FR_RPRN, LAYER_LCK, FR_EGAL, RCTL_T(KC_P4), ALGR_T(KC_P5), KC_P6, FR_SLSH, FR_BSLS,
|
||||
_______, FR_LBKT, FR_RBKT, FR_INF, FR_SUP, FR_CARN, _______, _______, _______, _______, FR_ACIR, KC_P1, KC_P2, KC_P3, FR_PLUS, FR_PERC,
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ uint16_t global_quick_tap_timer = 0;
|
|||
|
||||
bool forbidden_chord(uint16_t tap_hold_keycode, keyrecord_t* tap_hold_record, uint16_t other_keycode, keyrecord_t* other_record) {
|
||||
switch (tap_hold_keycode) {
|
||||
case LT_REPT:
|
||||
case LT_MGC:
|
||||
return false;
|
||||
}
|
||||
|
|
@ -156,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
* `----------------------------------' `----------------------------------'
|
||||
*/
|
||||
[_L_MODS] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, OS_WIN, KC_RGUI, KC_NO, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, KC_NO, OS_SN, OS_WIN, KC_RGUI, KC_NO, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, OS_RALT, OS_FA, OS_CTRL, OS_SHFT, KC_NO, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, OS_LALT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, KC_NO, _______, _______, _______, CAPSWORD, _______, KC_CAPS, _______, _______
|
||||
|
|
@ -197,11 +198,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
* | | | | | | | , | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
*/
|
||||
[_SYMNUM] = LAYOUT(
|
||||
KC_NO, FR_PIPE, FR_ESPR, FR_UNDS, FR_PVIR, FR_ACIR, FR_MOIN, KC_P7, KC_P8, KC_P9, FR_ASTX, _______,
|
||||
_______, ALGR_T(FR_LACL), FR_RACL, FR_LPRN, SFT_T(FR_RPRN), FR_CARN, FR_EGAL, KC_P4, KC_P5, KC_P6, ALGR_T(FR_SLSH), _______,
|
||||
_______, FR_LBKT, FR_RBKT, FR_INF, FR_SUP, KC_NO, _______, _______, _______, _______, KC_NO, KC_P1, KC_P2, KC_P3, FR_PLUS, _______,
|
||||
_______, _______, _______, KC_SPC, LT_VIRG, NUMWORD, KC_P0, KC_PDOT, _______, _______
|
||||
[_SYMBOLS] = LAYOUT(
|
||||
_______, CIRC, FR_EXLM, FR_EGAL, FR_DLR, FR_AROB, FR_HASH, FR_INF, FR_SUP, FR_QUES, FR_2PTS, _______,
|
||||
_______, FR_ASTX, FR_PLUS, FR_MOIN, FR_SLSH, FR_BSLS, GRAVE, FR_LPRN, FR_RPRN, FR_PVIR, FR_DQUO, _______,
|
||||
_______, FR_PERC, TILDE, FR_PIPE, FR_ESPR, KC_NO, _______, _______, _______, _______, KC_NO, FR_LACL, FR_RACL, FR_LBKT, FR_RBKT, _______,
|
||||
_______, _______, _______, FR_UNDS, _______, _______, FR_UNDS, KC_PDOT, _______, _______
|
||||
),
|
||||
|
||||
/*
|
||||
|
|
@ -218,12 +219,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
* | | | | | | | , | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
*/
|
||||
/* [_NUMPAD] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, FR_ACIR, FR_MOIN, KC_P7, KC_P8, KC_P9, FR_ASTX, _______,
|
||||
OSM(MOD_LGUI), OSM(MOD_LALT), OSM(MOD_RSFT), OSM(MOD_RALT), OSM(MOD_LCTL), FR_CARN, FR_EGAL, KC_P4, KC_P5, KC_P6, FR_SLSH, FR_BSLS,
|
||||
_______, KC_SPC, _______, _______, _______, KC_NO, _______, _______, _______, _______, KC_NO , KC_P1, KC_P2, KC_P3, FR_PLUS, _______,
|
||||
_______, _______, _______, KC_SPC , FR_VIRG, NUMWORD, KC_P0, KC_PDOT, _______, _______
|
||||
), */
|
||||
[_NUMBERS] = LAYOUT(
|
||||
_______, _______, _______, FR_ASTX, _______, FR_ACIR, _______, _______, FR_PLUS, FR_MOIN, _______, _______,
|
||||
_______, KC_P8, KC_P6, KC_P4, KC_P2, FR_CARN, _______, KC_KP_1, KC_P3, KC_P5, KC_P7, _______,
|
||||
_______, _______, _______, _______, FR_SLSH, _______, _______, _______, _______, _______, _______, KC_P9, _______, _______, _______, _______,
|
||||
_______, _______, FR_VIRG, KC_P0 , NUMWORD, LT_REPT, KC_SPC, KC_PDOT, _______, _______
|
||||
),
|
||||
|
||||
/*
|
||||
* Layer 2 : Symbols
|
||||
|
|
@ -261,18 +262,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
* `----------------------------------' `----------------------------------'
|
||||
*/
|
||||
[_ACCENTS] = LAYOUT(
|
||||
_______, O_CIRC, A_CIRC, I_CIRC, U_CIRC, FR_LDAQ , FR_RDAQ, FR_TREM, FR_GRV, FR_ACIR, FR_CEDL, _______,
|
||||
_______, OU_GRV, FR_AGRV, FR_DQUO, FR_MOIN, ALGR(FR_G), _______, FR_J, _______, FR_AROB, _______, _______,
|
||||
_______, O_CIRC, A_CIRC, I_CIRC, U_CIRC, FR_LDAQ , FR_RDAQ, FR_3PTS, FR_MOIN, FR_APOS, FR_POIN, _______,
|
||||
_______, OU_GRV, FR_AGRV, FR_MOIN, FR_DQUO, ALGR(FR_G), FR_SS, FR_J, TILDE, FR_AROB, _______, _______,
|
||||
_______, FR_OE, FR_AE, I_TREM, CA_CED, _______ , _______, _______, _______, _______, _______, FR_CCED, FR_TREM, FR_K, TG_ACC, _______,
|
||||
_______, _______, _______ , FR_EGRV, E_CIRC, _______, AGRV_SPC, _______, _______, _______
|
||||
),
|
||||
|
||||
/* [_ACCENTS] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, FR_LDAQ , FR_RDAQ, U_CIRC, I_CIRC, A_CIRC, O_CIRC, _______,
|
||||
_______, _______, FR_DQUO, _______, FR_J, ALGR(FR_G), _______, FR_AROB, FR_MOIN, FR_K, OU_GRV, _______,
|
||||
_______, _______, FR_AGRV, I_TREM, CA_CED, _______ , _______, _______, _______, _______, _______, FR_CCED, FR_UNDS, FR_AE, FR_OE, _______,
|
||||
_______, _______, _______ , FR_EGRV, E_CIRC, _______, AGRV_SPC, _______, _______, _______
|
||||
), */
|
||||
|
||||
/*
|
||||
* Layer 3 : Symbols + function keys
|
||||
|
|
@ -289,10 +284,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
* `----------------------------------' `----------------------------------'
|
||||
*/
|
||||
[_SHORTNAV] = LAYOUT(
|
||||
_______, KC_BSPC, LWIN(KC_TAB), LWIN(FR_V), RCS(FR_V), _______, KC_PGUP, C(KC_LEFT), KC_UP, C(KC_RGHT), _______, _______,
|
||||
_______, C(FR_A), C(FR_X), C(FR_V), SFT_T(COPY), _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, KC_F2 , _______,
|
||||
_______, KC_SPC, KC_SPC, KC_SPC, C(FR_Z), C(FR_Y), _______, S(KC_END), S(KC_HOME), _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
_______, KC_BSPC, LWIN(KC_TAB), LWIN(FR_V), RCS(FR_V), _______, KC_PGUP, C(KC_LEFT), KC_UP, C(KC_RGHT), _______, _______,
|
||||
_______, C(FR_A), C(FR_X), C(FR_V), SFT_T(COPY), _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, KC_F2 , _______,
|
||||
_______, KC_SPC, KC_SPC, KC_SPC, C(FR_Z), C(FR_Y), _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -34,7 +34,8 @@ enum layers {
|
|||
// OS4A layers should be as closed as base layer as possible
|
||||
_L_MODS,
|
||||
_R_MODS,
|
||||
_SYMNUM,
|
||||
_SYMBOLS,
|
||||
_NUMBERS,
|
||||
_ACCENTS,
|
||||
_SHORTNAV,
|
||||
_FUNCAPPS,
|
||||
|
|
@ -60,6 +61,9 @@ enum custom_keycodes {
|
|||
U_CIRC,
|
||||
I_TREM,
|
||||
CA_CED,
|
||||
CIRC,
|
||||
TILDE,
|
||||
GRAVE,
|
||||
MAGIC,
|
||||
OS_SHFT,
|
||||
OS_CTRL,
|
||||
|
|
@ -69,15 +73,16 @@ enum custom_keycodes {
|
|||
};
|
||||
|
||||
// Layer taps
|
||||
#define LT_SPC LT(_SYMNUM,KC_SPC)
|
||||
#define LT_E LT(_SYMNUM,FR_E)
|
||||
#define LT_REPT LT(_SHORTNAV, KC_0)
|
||||
#define LT_MGC LT(_SHORTNAV, KC_1)
|
||||
#define LT_D LT(_FUNCAPPS, FR_D)
|
||||
#define LT_C LT(_FUNCAPPS, FR_C)
|
||||
#define LT_SPC LT(_SYMBOLS,KC_SPC)
|
||||
#define LT_E LT(_SYMBOLS,FR_E)
|
||||
#define LT_REPT LT(_NUMBERS, KC_0)
|
||||
#define LT_MGC LT(_SHORTNAV, KC_0)
|
||||
#define LT_D FR_D
|
||||
#define LT_C FR_C
|
||||
#define LT_VIRG LT(_SHORTNAV, FR_VIRG)
|
||||
#define OS_ACC OSL(_ACCENTS)
|
||||
#define OS_FA OSL(_FUNCAPPS)
|
||||
#define OS_SN OSL(_SHORTNAV)
|
||||
#define TT_FA TT(_FUNCAPPS)
|
||||
#define TG_ACC TG(_ACCENTS)
|
||||
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ bool oled_task_user(void) {
|
|||
case _R_MODS:
|
||||
oled_write_P(PSTR("Mods D\n"), false);
|
||||
break;
|
||||
case _SYMNUM:
|
||||
case _SYMBOLS:
|
||||
oled_write_P(PSTR("SymNum\n"), false);
|
||||
break;
|
||||
case _SHORTNAV:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue