Oneshot locked mods split transaction (#23434)
This commit is contained in:
parent
cd94664d15
commit
b99143fdd2
@ -266,7 +266,7 @@ This enables syncing of the Host LED status (caps lock, num lock, etc) between b
|
|||||||
#define SPLIT_MODS_ENABLE
|
#define SPLIT_MODS_ENABLE
|
||||||
```
|
```
|
||||||
|
|
||||||
This enables transmitting modifier state (normal, weak and oneshot) to the non primary side of the split keyboard. The purpose of this feature is to support cosmetic use of modifer state (e.g. displaying status on an OLED screen).
|
This enables transmitting modifier state (normal, weak, oneshot and oneshot locked) to the non primary side of the split keyboard. The purpose of this feature is to support cosmetic use of modifer state (e.g. displaying status on an OLED screen).
|
||||||
|
|
||||||
```c
|
```c
|
||||||
#define SPLIT_WPM_ENABLE
|
#define SPLIT_WPM_ENABLE
|
||||||
|
@ -419,6 +419,10 @@ static bool mods_handlers_master(matrix_row_t master_matrix[], matrix_row_t slav
|
|||||||
if (!mods_need_sync && new_mods.oneshot_mods != split_shmem->mods.oneshot_mods) {
|
if (!mods_need_sync && new_mods.oneshot_mods != split_shmem->mods.oneshot_mods) {
|
||||||
mods_need_sync = true;
|
mods_need_sync = true;
|
||||||
}
|
}
|
||||||
|
new_mods.oneshot_locked_mods = get_oneshot_locked_mods();
|
||||||
|
if (!mods_need_sync && new_mods.oneshot_locked_mods != split_shmem->mods.oneshot_locked_mods) {
|
||||||
|
mods_need_sync = true;
|
||||||
|
}
|
||||||
# endif // NO_ACTION_ONESHOT
|
# endif // NO_ACTION_ONESHOT
|
||||||
|
|
||||||
bool okay = true;
|
bool okay = true;
|
||||||
@ -442,6 +446,7 @@ static void mods_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave
|
|||||||
set_weak_mods(mods.weak_mods);
|
set_weak_mods(mods.weak_mods);
|
||||||
# ifndef NO_ACTION_ONESHOT
|
# ifndef NO_ACTION_ONESHOT
|
||||||
set_oneshot_mods(mods.oneshot_mods);
|
set_oneshot_mods(mods.oneshot_mods);
|
||||||
|
set_oneshot_locked_mods(mods.oneshot_locked_mods);
|
||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -101,6 +101,7 @@ typedef struct _split_mods_sync_t {
|
|||||||
uint8_t weak_mods;
|
uint8_t weak_mods;
|
||||||
# ifndef NO_ACTION_ONESHOT
|
# ifndef NO_ACTION_ONESHOT
|
||||||
uint8_t oneshot_mods;
|
uint8_t oneshot_mods;
|
||||||
|
uint8_t oneshot_locked_mods;
|
||||||
# endif // NO_ACTION_ONESHOT
|
# endif // NO_ACTION_ONESHOT
|
||||||
} split_mods_sync_t;
|
} split_mods_sync_t;
|
||||||
#endif // SPLIT_MODS_ENABLE
|
#endif // SPLIT_MODS_ENABLE
|
||||||
|
Loading…
Reference in New Issue
Block a user