Corrections FW Propergol

This commit is contained in:
Kawamashi 2025-05-01 22:27:54 +02:00
commit c324b051f9
13 changed files with 84 additions and 67 deletions

View file

@ -0,0 +1,5 @@
{
"files.associations": {
"ppg.C": "cpp"
}
}

View file

@ -38,7 +38,7 @@ void get_clever_keycode(uint16_t* next_keycode, keyrecord_t* record) {
case PG_EXCL: case PG_EXCL:
case PG_QUES: case PG_QUES:
case PG_3PTS: case PG_3PTS:
case PG_X: case PG_POIN:
// Add OS shift at the beginning of sentences. // Add OS shift at the beginning of sentences.
if (!is_caps_lock_on()) { set_oneshot_mods(MOD_BIT(KC_LSFT)); } if (!is_caps_lock_on()) { set_oneshot_mods(MOD_BIT(KC_LSFT)); }
break; break;
@ -57,25 +57,25 @@ void get_clever_keycode(uint16_t* next_keycode, keyrecord_t* record) {
case PG_I: case PG_I:
case PG_A: case PG_A:
case PG_O: case PG_O:
case PG_U: case PG_EACU:
case PG_APOS: case PG_APOS:
invoke_key(PG_L, record); invoke_key(PG_U, record);
set_last_keycode(*next_keycode); set_last_keycode(*next_keycode);
break; break;
// Raccourci pour "quelq" // Raccourci pour "quelq"
case PG_Q: case PG_Q:
process_word((uint16_t[]) {PG_L, PG_E, PG_C}, 3, record); process_word((uint16_t[]) {PG_U, PG_E, PG_L}, 3, record);
break; break;
// Raccourci pour "quoi", ça évite un aller-retour sur la main gauche. // Raccourci pour "quoi", ça évite un aller-retour sur la main gauche.
case PG_Z: case PG_Z:
finish_word((uint16_t[]) {PG_L, PG_O, PG_I}, 3, next_keycode, record); finish_word((uint16_t[]) {PG_U, PG_O, PG_I}, 3, next_keycode, record);
break; break;
// Raccourci pour "quand" // Raccourci pour "quand"
case PG_H: case PG_D:
process_word((uint16_t[]) {PG_L, PG_A, PG_S}, 3, record); process_word((uint16_t[]) {PG_U, PG_A, PG_N}, 3, record);
set_last_keycode(*next_keycode); set_last_keycode(*next_keycode);
break; break;
} }
@ -153,6 +153,14 @@ void get_clever_keycode(uint16_t* next_keycode, keyrecord_t* record) {
bkspc_countdown = 0; bkspc_countdown = 0;
return replace_ongoing_key(PG_VIRG, next_keycode, record); return replace_ongoing_key(PG_VIRG, next_keycode, record);
case PG_P:
// ph SFB
bkspc_countdown = 0;
return replace_ongoing_key(PG_H, next_keycode, record);
case PG_Q:
return finish_word((uint16_t[]) {PG_U, PG_EACU}, 2, next_keycode, record);
case PG_T: case PG_T:
invoke_key(PG_I, record); invoke_key(PG_I, record);
case PG_I: case PG_I:
@ -207,17 +215,17 @@ void get_clever_keycode(uint16_t* next_keycode, keyrecord_t* record) {
case PG_P: case PG_P:
// "p@" -> "peut-être" // "p@" -> "peut-être"
layer_off(_ODK); layer_off(_ODK);
return finish_word((uint16_t[]) {PG_E, PG_L, PG_N, PG_MOIN, PG_ODK, PG_O, PG_N, PG_R, PG_E}, 9, next_keycode, record); return finish_word((uint16_t[]) {PG_E, PG_U, PG_T, PG_MOIN, PG_ODK, PG_O, PG_T, PG_R, PG_E}, 9, next_keycode, record);
case PG_A: case PG_A:
// "a@" -> "aujourd'hui" // "a@" -> "aujourd'hui"
layer_off(_ODK); layer_off(_ODK);
return finish_word((uint16_t[]) {PG_L, PG_J, PG_O, PG_L, PG_R, PG_H, PG_APOS, PG_F, PG_L, PG_I}, 10, next_keycode, record); return finish_word((uint16_t[]) {PG_U, PG_J, PG_O, PG_U, PG_R, PG_D, PG_APOS, PG_H, PG_U, PG_I}, 10, next_keycode, record);
case PG_B: case PG_B:
// "b@" -> "beaucoup" // "b@" -> "beaucoup"
layer_off(_ODK); layer_off(_ODK);
return finish_word((uint16_t[]) {PG_E, PG_A, PG_L, PG_D, PG_O, PG_L, PG_P}, 7, next_keycode, record); return finish_word((uint16_t[]) {PG_E, PG_A, PG_U, PG_C, PG_O, PG_U, PG_P}, 7, next_keycode, record);
/* case PG_E: /* case PG_E:
// "e@" -> "est-ce qu" // "e@" -> "est-ce qu"
@ -235,12 +243,20 @@ void get_clever_keycode(uint16_t* next_keycode, keyrecord_t* record) {
case PG_Q: case PG_Q:
if (prev_keycode == PG_J) { if (prev_keycode == PG_J) {
// "jq" -> "jusqu" // "jq" -> "jusqu"
process_word((uint16_t[]) {PG_L, PG_T}, 2, record); process_word((uint16_t[]) {PG_U, PG_S}, 2, record);
set_last_keycode(*next_keycode); set_last_keycode(*next_keycode);
return; return;
} }
break; break;
case PG_M:
if (prev_keycode == PG_C) {
// "cm" -> "ch"
bkspc_countdown = 0;
return replace_ongoing_key(PG_H, next_keycode, record);
}
break;
case PG_A: case PG_A:
//if (prev_keycode == PG_O && !isCaps) { //if (prev_keycode == PG_O && !isCaps) {
if (prev_keycode == PG_O) { if (prev_keycode == PG_O) {
@ -263,6 +279,10 @@ void get_clever_keycode(uint16_t* next_keycode, keyrecord_t* record) {
layer_off(_ODK); layer_off(_ODK);
return finish_word((uint16_t[]) {PG_O, PG_ODK, PG_N}, 3, next_keycode, record); return finish_word((uint16_t[]) {PG_O, PG_ODK, PG_N}, 3, next_keycode, record);
case PG_APOS:
if (is_apos_dr) { return replace_ongoing_key(PG_APOD, next_keycode, record); }
break;
/* case CA_CED: /* case CA_CED:
layer_off(_ODK); layer_off(_ODK);
return finish_word((uint16_t[]) {PG_CCED, PG_A}, 2, next_keycode, record); */ return finish_word((uint16_t[]) {PG_CCED, PG_A}, 2, next_keycode, record); */

View file

@ -81,7 +81,7 @@ uint16_t get_ongoing_keycode(uint16_t keycode, keyrecord_t* record) {
case PG_J: case PG_J:
case PG_AROB: case PG_AROB:
case PG_ECIR: case PG_ECIR:
case PG_CCED: //case PG_CCED:
case PG_3PTS: case PG_3PTS:
case KC_SPC: // In order to uppercase J after '?' for ex. case KC_SPC: // In order to uppercase J after '?' for ex.
return keycode; return keycode;

View file

@ -16,7 +16,7 @@
#include "macros.h" #include "macros.h"
bool is_odk_shifted = false; bool is_apos_dr = false;
bool process_macros(uint16_t keycode, keyrecord_t *record) { bool process_macros(uint16_t keycode, keyrecord_t *record) {
//const uint8_t mods = get_mods(); //const uint8_t mods = get_mods();
@ -66,6 +66,10 @@ bool process_macros(uint16_t keycode, keyrecord_t *record) {
if (is_caps_lock_on()) { tap_code(KC_CAPS); } if (is_caps_lock_on()) { tap_code(KC_CAPS); }
caps_word_toggle(); caps_word_toggle();
return false; return false;
case TG_APOS:
is_apos_dr = !is_apos_dr;
return false;
} }
} }
return true; // Process all other keycodes normally return true; // Process all other keycodes normally

View file

@ -22,7 +22,8 @@
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
extern bool is_odk_shifted;
extern bool is_apos_dr;
bool process_macros(uint16_t keycode, keyrecord_t *record); bool process_macros(uint16_t keycode, keyrecord_t *record);

View file

@ -60,7 +60,7 @@ bool should_exit_num_word(uint16_t keycode, const keyrecord_t *record) {
case PG_MOIN: case PG_MOIN:
case PG_ASTX: case PG_ASTX:
case PG_PLUS: case PG_PLUS:
case PG_TLSH: case PG_SLSH:
case PG_ACIR: case PG_ACIR:
case PG_CARN: case PG_CARN:

View file

@ -23,7 +23,7 @@ bool is_num_word_enabled(void);
extern bool is_num_word_on; extern bool is_num_word_on;
void enable_num_word(void); void enable_num_word(void);
extern void disable_num_word(void); void disable_num_word(void);
void toggle_num_word(void); void toggle_num_word(void);
bool process_numword(uint16_t keycode, const keyrecord_t *record); bool process_numword(uint16_t keycode, const keyrecord_t *record);

View file

@ -63,9 +63,9 @@ bool process_odk_layer(uint16_t keycode, keyrecord_t *record) {
case PG_AROB: case PG_AROB:
case PG_K: case PG_K:
case PG_J: case PG_J:
case PG_ECIR: //case PG_ECIR:
case OU_GRV: case OU_GRV:
case PG_CCED: //case PG_CCED:
//case CA_CED: //case CA_CED:
//case AGRV_SPC: //case AGRV_SPC:
case KC_SPC: // When space is added by Clever Keys case KC_SPC: // When space is added by Clever Keys
@ -82,7 +82,7 @@ bool process_odk_layer(uint16_t keycode, keyrecord_t *record) {
} */ } */
tap_code(PG_ODK); tap_code(PG_ODK);
} }
if (!IS_LAYER_ON(_APOS_DR)) { if (!is_apos_dr) {
switch (keycode) { switch (keycode) {
case PG_M: case PG_M:
case PG_C: case PG_C:

View file

@ -23,6 +23,7 @@ bool isLetter(uint16_t keycode) {
case KC_A ... KC_F: case KC_A ... KC_F:
case KC_H ... KC_N: case KC_H ... KC_N:
case KC_R ... KC_Z: case KC_R ... KC_Z:
case PG_L:
case PG_X: case PG_X:
case PG_E: case PG_E:
//case PG_AGR: //case PG_AGR:
@ -136,7 +137,7 @@ bool os4a_layer_changer(uint16_t keycode) {
case OS_FA: case OS_FA:
case NUMWORD: case NUMWORD:
case TT_FA: case TT_FA:
case TG_APOD: //case TG_APOD:
return true; return true;
default: default:
return false; return false;
@ -173,9 +174,9 @@ bool is_oneshot_ignored_key(uint16_t keycode) {
// Alt-gr et shift s'appliquent à la touche typo, pour permettre de faire les majuscules plus facilement ainsi que ] avec. // Alt-gr et shift s'appliquent à la touche typo, pour permettre de faire les majuscules plus facilement ainsi que ] avec.
// Autrement, la touche typo est ignorée par les Callum mods. // Autrement, la touche typo est ignorée par les Callum mods.
// Ça permet de transmettre les mods à la touche suivante, par ex pour faire Ctrl + K. // Ça permet de transmettre les mods à la touche suivante, par ex pour faire Ctrl + K.
//uint8_t mods = get_mods() | get_weak_mods() | get_oneshot_mods(); uint8_t mods = get_mods() | get_weak_mods() | get_oneshot_mods();
//if (keycode == OS_ODK && (mods & ~(MOD_MASK_SHIFT | MOD_BIT(KC_ALGR)))) { return true;} //if (keycode == OS_ODK && (mods & ~(MOD_MASK_SHIFT | MOD_BIT(KC_ALGR)))) { return true;}
//if (keycode == OS_ODK && (mods & ~MOD_BIT(KC_ALGR))) { return true;} if (keycode == OS_ODK && (mods & ~MOD_BIT(KC_ALGR))) { return true;}
switch (keycode) { switch (keycode) {
//case OS_ODK: /!\ A ne pas remettre, sous peine de ne pas pouvoir faire shift + typo + touche de l'autre côté //case OS_ODK: /!\ A ne pas remettre, sous peine de ne pas pouvoir faire shift + typo + touche de l'autre côté

View file

@ -144,26 +144,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NO, KC_SPC, L_OS4A, LT_E, LT_MGC, LT_REPT, LT_SPC, R_OS4A, KC_RGUI, KC_NO KC_NO, KC_SPC, L_OS4A, LT_E, LT_MGC, LT_REPT, LT_SPC, R_OS4A, KC_RGUI, KC_NO
), ),
// * Layer template
// *
// * ,-------------------------------------------. ,-------------------------------------------.
// * | | | | | | | | | | | | | |
// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
// * | | | | | | | | | | | | | |
// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
// * | | | | | | | | | | | | | | | | | |
// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
// * | | | | | | | | | | | |
// * | | | | | | | | | | | |
// * `----------------------------------' `----------------------------------'
// */
[_APOS_DR] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, PG_APOD, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* /*
* Layer 1 : Mods gauche * Layer 1 : Mods gauche
* *
@ -200,7 +180,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `----------------------------------' `----------------------------------' * `----------------------------------' `----------------------------------'
*/ */
[_R_MODS] = LAYOUT( [_R_MODS] = LAYOUT(
_______, _______, _______, _______, _______, _______, KC_NO, KC_RGUI, OS_WIN, TG_APOD, KC_NO, KC_NO, _______, _______, _______, _______, _______, _______, KC_NO, KC_RGUI, OS_WIN, TG_APOS, KC_NO, KC_NO,
_______, _______, _______, _______, _______, _______, TT_FA, OS_SHFT, OS_CTRL, NUMWORD, PG_ODK, KC_NO, _______, _______, _______, _______, _______, _______, TT_FA, OS_SHFT, OS_CTRL, NUMWORD, PG_ODK, KC_NO,
_______, _______, _______, _______, _______, _______, _______, _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, OS_FA, OS_LALT, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, OS_FA, OS_LALT, KC_NO,
_______, _______, _______, _______, _______, _______, _______, _______, KC_NO, KC_NO _______, _______, _______, _______, _______, _______, _______, _______, KC_NO, KC_NO
@ -223,7 +203,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `----------------------------------' `----------------------------------' * `----------------------------------' `----------------------------------'
*/ */
[_NUMBERS] = LAYOUT( [_NUMBERS] = LAYOUT(
_______, _______, PG_MOIN, PG_PLUS, KC_7, S(PG_ACIR), PG_PERC, _______, PG_EGAL, PG_ASTX, _______, _______, _______, PG_DLR, PG_MOIN, PG_PLUS, KC_7, S(PG_ACIR), PG_PERC, _______, PG_EGAL, PG_ASTX, _______, _______,
_______, KC_4, KC_3, KC_2, MT_1, PG_CARN, _______, MT_SLSH, KC_6, KC_7, KC_8, _______, _______, KC_4, KC_3, KC_2, MT_1, PG_CARN, _______, MT_SLSH, KC_6, KC_7, KC_8, _______,
_______, _______, _______, _______, KC_5, _______, _______, _______, _______, _______, _______, KC_9, KC_6, _______, PG_ODK, _______, _______, _______, _______, _______, KC_5, _______, _______, _______, _______, _______, _______, KC_9, KC_6, _______, PG_ODK, _______,
_______, _______, KC_PDOT, KC_0 , LT_NUMWORD, LT_REPT, KC_SPC, _______, _______, _______ _______, _______, KC_PDOT, KC_0 , LT_NUMWORD, LT_REPT, KC_SPC, _______, _______, _______
@ -246,9 +226,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/ */
[_ODK] = LAYOUT( [_ODK] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, OU_GRV, _______, _______, PG_3PTS, _______, _______, PG_J, PG_H, PG_AROB, _______, _______, _______, OU_GRV, _______, _______, PG_R, PG_3PTS, _______, PG_J, _______, PG_AROB, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, PG_K, CNL_ODK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, PG_K, CNL_ODK, _______,
_______, _______, _______, _______, PG_ECIR, _______, _______, _______, _______, _______ _______, _______, _______, _______, PG_O, _______, PG_T, _______, _______, _______
), ),

View file

@ -32,7 +32,7 @@
enum layers { enum layers {
_BASE = 0, _BASE = 0,
_APOS_DR, //_APOS_DR,
// OS4A layers should be as closed as base layer as possible // OS4A layers should be as closed as base layer as possible
_L_MODS, _L_MODS,
_R_MODS, _R_MODS,
@ -69,7 +69,8 @@ enum custom_keycodes {
OS_LALT, OS_LALT,
OS_WIN, OS_WIN,
//OS_ODK, //OS_ODK,
CNL_ODK CNL_ODK,
TG_APOS
}; };
// Layer taps // Layer taps
@ -79,8 +80,8 @@ enum custom_keycodes {
#define LT_MGC LT(_SHORTNAV, KC_1) #define LT_MGC LT(_SHORTNAV, KC_1)
#define OS_FA OSL(_FUNCAPPS) #define OS_FA OSL(_FUNCAPPS)
#define TT_FA TT(_FUNCAPPS) #define TT_FA TT(_FUNCAPPS)
#define TG_APOD TG(_APOS_DR) //#define TG_APOD TG(_APOS_DR)
#define MT_SLSH SFT_T(PG_TLSH) #define MT_SLSH SFT_T(PG_SLSH)
#define MT_1 SFT_T(KC_1) #define MT_1 SFT_T(KC_1)
#define LT_NUMWORD LT(_SHORTNAV, NUMWORD) #define LT_NUMWORD LT(_SHORTNAV, NUMWORD)
#define E_CIRC S(FG_0) #define E_CIRC S(FG_0)

View file

@ -24,7 +24,7 @@
/* /*
* *
*     1  2  3  4  5  6  7  8  9  0  /  *         *     1  2  3  4  5  6  7  8  9  0  /  '        
* *
*       .  É  U  P  B  V  M  C  '  X  =  +       *       .  É  U  P  B  V  M  C  '  X  =  +      
*      *     
@ -37,7 +37,7 @@
*/ */
// Row 1 // Row 1
#define PG_CCED KC_GRV // ç //#define PG_CCED KC_GRV // ç
#define FG_1 KC_1 // 1 #define FG_1 KC_1 // 1
#define FG_2 KC_2 // 2 #define FG_2 KC_2 // 2
#define FG_3 KC_3 // 3 #define FG_3 KC_3 // 3
@ -48,8 +48,8 @@
#define FG_8 KC_8 // 8 #define FG_8 KC_8 // 8
#define FG_9 KC_9 // 9 #define FG_9 KC_9 // 9
#define FG_0 KC_0 // 0 #define FG_0 KC_0 // 0
#define PG_TLSH KC_MINS // / #define PG_SLSH KC_MINS // /
#define PG_ASTX KC_EQL // * #define PG_APOD KC_EQL // *
// Row 2 // Row 2
#define PG_POIN KC_Q // . #define PG_POIN KC_Q // .
@ -77,7 +77,7 @@
#define PG_R KC_L // R #define PG_R KC_L // R
#define PG_L KC_SCLN // L #define PG_L KC_SCLN // L
#define PG_MOIN KC_QUOT // - #define PG_MOIN KC_QUOT // -
#define PG_APOD KC_NUHS // ' //#define PG_APOD KC_NUHS // '
// Row 4 // Row 4
#define PG_E KC_NUBS // E #define PG_E KC_NUBS // E
@ -107,8 +107,12 @@
* *
*/ */
// Row 1
#define PG_DLR S(KC_4) // $
#define PG_ASTX S(KC_MINS) // *
// Row 3 // Row 3
#define PG_3PTS S(FG_0) // … //#define PG_3PTS S(FG_0) // …
// Row 2 // Row 2
#define PG_EXCL S(PG_APOS) // ! #define PG_EXCL S(PG_APOS) // !
@ -127,7 +131,7 @@
/* AltGr symbols /* AltGr symbols
* *
*                         à  ê         *                        à  ê        
* *
*       ^  !  =  $  %  #  ;  '  ?  :             *       ^  !  =  $  %  #  ;  '  ?  :            
*      *     
@ -141,14 +145,15 @@
// Row 1 // Row 1
#define PG_AGR ALGR(PG_TLSH) #define PG_3PTS ALGR(KC_GRV) // …
#define PG_AGR ALGR(PG_SLSH)
#define PG_ECIR ALGR(PG_ASTX) #define PG_ECIR ALGR(PG_ASTX)
// Row 2 // Row 2
#define PG_ACIR ALGR(PG_POIN) // ^ #define PG_ACIR ALGR(PG_POIN) // ^
//#define PG_EXCL ALGR(PG_EACU) // ! //#define PG_EXCL ALGR(PG_EACU) // !
//#define PG_EGAL ALGR(PG_U) // = //#define PG_EGAL ALGR(PG_U) // =
#define PG_DLR ALGR(PG_P) // $ //#define PG_DLR ALGR(PG_P) // $
#define PG_PERC ALGR(PG_B) // % #define PG_PERC ALGR(PG_B) // %
#define PG_HASH ALGR(PG_V) // # #define PG_HASH ALGR(PG_V) // #
#define PG_PVIR ALGR(PG_M) // ; #define PG_PVIR ALGR(PG_M) // ;
@ -158,7 +163,7 @@
// Row 3 // Row 3
/* #define PG_ASTX ALGR(PG_O) // * /* #define PG_ASTX ALGR(PG_O) // *
#define PG_PLUS ALGR(PG_A) // + #define PG_PLUS ALGR(PG_A) // +
#define PG_TLSH ALGR(PG_N) // / #define PG_SLSH ALGR(PG_N) // /
#define PG_MOIN ALGR(PG_I) // - */ #define PG_MOIN ALGR(PG_I) // - */
#define PG_BSLS ALGR(PG_VIRG) // '\' #define PG_BSLS ALGR(PG_VIRG) // '\'
#define PG_GRV ALGR(PG_G) // ` #define PG_GRV ALGR(PG_G) // `
@ -212,7 +217,7 @@
#define PG_HDAG S(ALGR(PG_PLUS)) // ‡ #define PG_HDAG S(ALGR(PG_PLUS)) // ‡
// Row 3 // Row 3
#define PG_MACB S(ALGR(PG_F)) // ˍ (dead) #define PG_MACB S(ALGR(PG_F)) // ˍ (dead)
#define PG_TQRT S(ALGR(PG_TLSH)) // √ #define PG_TQRT S(ALGR(PG_SLSH)) // √
#define PG_QRTR S(ALGR(PG_ASTX)) // ¼ #define PG_QRTR S(ALGR(PG_ASTX)) // ¼
// Row 4 // Row 4
#define PG_VIRGEQL S(ALGR(PG_INF)) // ≥ #define PG_VIRGEQL S(ALGR(PG_INF)) // ≥

View file

@ -76,7 +76,7 @@ bool oled_task_user(void) {
oled_write_P(((mods & MOD_BIT(KC_LALT)) == MOD_BIT(KC_LALT)) ? PSTR("ALT ") : PSTR(" "), false); oled_write_P(((mods & MOD_BIT(KC_LALT)) == MOD_BIT(KC_LALT)) ? PSTR("ALT ") : PSTR(" "), false);
oled_write_P(is_caps_word_on() ? PSTR("CAPSWORD\n") : PSTR(" \n"), false); oled_write_P(is_caps_word_on() ? PSTR("CAPSWORD\n") : PSTR(" \n"), false);
//oled_write_P(is_num_word_on() ? PSTR("NUMWORD\n") : PSTR(" \n"), false); oled_write_P(is_num_word_on ? PSTR("NUMWORD\n") : PSTR(" \n"), false);
// Write host Keyboard LED Status to OLEDs // Write host Keyboard LED Status to OLEDs
led_t led_usb_state = host_keyboard_led_state(); led_t led_usb_state = host_keyboard_led_state();