diff options
| author | NoOne2246 <NoOne2246@users.noreply.github.com> | 2024-04-09 04:55:42 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-08 12:55:42 -0600 |
| commit | b99143fdd2637f573bb8c2632a38b84acc1945a0 (patch) | |
| tree | 017fde6c69fcb6866ce03cb778b0bca0b3027db9 /quantum/split_common | |
| parent | cd94664d1514cb7095b24f28574390498fb2c036 (diff) | |
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 | |||
| 419 | if (!mods_need_sync && new_mods.oneshot_mods != split_shmem->mods.oneshot_mods) { | 419 | if (!mods_need_sync && new_mods.oneshot_mods != split_shmem->mods.oneshot_mods) { |
| 420 | mods_need_sync = true; | 420 | mods_need_sync = true; |
| 421 | } | 421 | } |
| 422 | new_mods.oneshot_locked_mods = get_oneshot_locked_mods(); | ||
| 423 | if (!mods_need_sync && new_mods.oneshot_locked_mods != split_shmem->mods.oneshot_locked_mods) { | ||
| 424 | mods_need_sync = true; | ||
| 425 | } | ||
| 422 | # endif // NO_ACTION_ONESHOT | 426 | # endif // NO_ACTION_ONESHOT |
| 423 | 427 | ||
| 424 | bool okay = true; | 428 | bool okay = true; |
| @@ -442,6 +446,7 @@ static void mods_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave | |||
| 442 | set_weak_mods(mods.weak_mods); | 446 | set_weak_mods(mods.weak_mods); |
| 443 | # ifndef NO_ACTION_ONESHOT | 447 | # ifndef NO_ACTION_ONESHOT |
| 444 | set_oneshot_mods(mods.oneshot_mods); | 448 | set_oneshot_mods(mods.oneshot_mods); |
| 449 | set_oneshot_locked_mods(mods.oneshot_locked_mods); | ||
| 445 | # endif | 450 | # endif |
| 446 | } | 451 | } |
| 447 | 452 | ||
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 { | |||
| 101 | uint8_t weak_mods; | 101 | uint8_t weak_mods; |
| 102 | # ifndef NO_ACTION_ONESHOT | 102 | # ifndef NO_ACTION_ONESHOT |
| 103 | uint8_t oneshot_mods; | 103 | uint8_t oneshot_mods; |
| 104 | uint8_t oneshot_locked_mods; | ||
| 104 | # endif // NO_ACTION_ONESHOT | 105 | # endif // NO_ACTION_ONESHOT |
| 105 | } split_mods_sync_t; | 106 | } split_mods_sync_t; |
| 106 | #endif // SPLIT_MODS_ENABLE | 107 | #endif // SPLIT_MODS_ENABLE |
