diff options
author | NoOne2246 <[email protected]> | 2024-04-09 04:55:42 +1000 |
---|---|---|
committer | GitHub <[email protected]> | 2024-04-08 12:55:42 -0600 |
commit | b99143fdd2637f573bb8c2632a38b84acc1945a0 (patch) | |
tree | 017fde6c69fcb6866ce03cb778b0bca0b3027db9 /quantum/split_common | |
parent | cd94664d1514cb7095b24f28574390498fb2c036 (diff) | |
download | qmk_firmware-b99143fdd2637f573bb8c2632a38b84acc1945a0.tar.gz qmk_firmware-b99143fdd2637f573bb8c2632a38b84acc1945a0.zip |
Oneshot locked mods split transaction (#23434)
Diffstat (limited to 'quantum/split_common')
-rw-r--r-- | quantum/split_common/transactions.c | 5 | ||||
-rw-r--r-- | quantum/split_common/transport.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index 33bc9e9f57..decf5e5ede 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -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) { 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 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); # ifndef NO_ACTION_ONESHOT set_oneshot_mods(mods.oneshot_mods); + set_oneshot_locked_mods(mods.oneshot_locked_mods); # endif } diff --git a/quantum/split_common/transport.h b/quantum/split_common/transport.h index 4f6b968fa8..fbd87ca312 100644 --- a/quantum/split_common/transport.h +++ b/quantum/split_common/transport.h @@ -101,6 +101,7 @@ typedef struct _split_mods_sync_t { uint8_t weak_mods; # ifndef NO_ACTION_ONESHOT uint8_t oneshot_mods; + uint8_t oneshot_locked_mods; # endif // NO_ACTION_ONESHOT } split_mods_sync_t; #endif // SPLIT_MODS_ENABLE |