diff options
| author | Drashna Jaelre <drashna@live.com> | 2025-05-04 17:21:47 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-05 10:21:47 +1000 |
| commit | 12caf0be4eab171ffeb041cc153f9addb68f404e (patch) | |
| tree | 0b89fa2aa4c5ce4a525d1385a10489844e413ee9 /quantum/action_layer.c | |
| parent | bb9dd05c6ae0a53ced5591c70a898feef037b31c (diff) | |
Add additional hooks for Community modules (#25050)
Diffstat (limited to 'quantum/action_layer.c')
| -rw-r--r-- | quantum/action_layer.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/quantum/action_layer.c b/quantum/action_layer.c index 7c09a5bd1e..5828dcb824 100644 --- a/quantum/action_layer.c +++ b/quantum/action_layer.c | |||
| @@ -27,11 +27,20 @@ __attribute__((weak)) layer_state_t default_layer_state_set_kb(layer_state_t sta | |||
| 27 | return default_layer_state_set_user(state); | 27 | return default_layer_state_set_user(state); |
| 28 | } | 28 | } |
| 29 | 29 | ||
| 30 | /** \brief Default Layer State Set At Module Level | ||
| 31 | * | ||
| 32 | * Run module code on default layer state change | ||
| 33 | */ | ||
| 34 | __attribute__((weak)) layer_state_t default_layer_state_set_modules(layer_state_t state) { | ||
| 35 | return state; | ||
| 36 | } | ||
| 37 | |||
| 30 | /** \brief Default Layer State Set | 38 | /** \brief Default Layer State Set |
| 31 | * | 39 | * |
| 32 | * Static function to set the default layer state, prints debug info and clears keys | 40 | * Static function to set the default layer state, prints debug info and clears keys |
| 33 | */ | 41 | */ |
| 34 | static void default_layer_state_set(layer_state_t state) { | 42 | static void default_layer_state_set(layer_state_t state) { |
| 43 | state = default_layer_state_set_modules(state); | ||
| 35 | state = default_layer_state_set_kb(state); | 44 | state = default_layer_state_set_kb(state); |
| 36 | ac_dprintf("default_layer_state: "); | 45 | ac_dprintf("default_layer_state: "); |
| 37 | default_layer_debug(); | 46 | default_layer_debug(); |
| @@ -107,11 +116,21 @@ __attribute__((weak)) layer_state_t layer_state_set_kb(layer_state_t state) { | |||
| 107 | return layer_state_set_user(state); | 116 | return layer_state_set_user(state); |
| 108 | } | 117 | } |
| 109 | 118 | ||
| 119 | /** \brief Layer state set modules | ||
| 120 | * | ||
| 121 | * Runs module code on layer state change | ||
| 122 | */ | ||
| 123 | |||
| 124 | __attribute__((weak)) layer_state_t layer_state_set_modules(layer_state_t state) { | ||
| 125 | return state; | ||
| 126 | } | ||
| 127 | |||
| 110 | /** \brief Layer state set | 128 | /** \brief Layer state set |
| 111 | * | 129 | * |
| 112 | * Sets the layer to match the specified state (a bitmask) | 130 | * Sets the layer to match the specified state (a bitmask) |
| 113 | */ | 131 | */ |
| 114 | void layer_state_set(layer_state_t state) { | 132 | void layer_state_set(layer_state_t state) { |
| 133 | state = layer_state_set_modules(state); | ||
| 115 | state = layer_state_set_kb(state); | 134 | state = layer_state_set_kb(state); |
| 116 | ac_dprintf("layer_state: "); | 135 | ac_dprintf("layer_state: "); |
| 117 | layer_debug(); | 136 | layer_debug(); |
