summaryrefslogtreecommitdiff
path: root/quantum/process_keycode
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2025-03-21 23:38:34 +1100
committerGitHub <noreply@github.com>2025-03-21 23:38:34 +1100
commit2b00b846dce1d1267dfdb2a3c2972a367cc0dd44 (patch)
tree6d801a8d83c58ee646b789bfa9ab912857ee7d8c /quantum/process_keycode
parentc9d62ddc78e879053241202b288d0129073b07dc (diff)
Non-volatile memory data repository pattern (#24356)
* First batch of eeconfig conversions. * Offset and length for datablocks. * `via`, `dynamic_keymap`. * Fix filename. * Commentary. * wilba leds * satisfaction75 * satisfaction75 * more keyboard whack-a-mole * satisfaction75 * omnikeyish * more whack-a-mole * `generic_features.mk` to automatically pick up nvm repositories * thievery * deferred variable resolve * whitespace * convert api to structs/unions * convert api to structs/unions * convert api to structs/unions * fixups * code-side docs * code size fix * rollback * nvm_xxxxx_erase * Updated location of eeconfig magic numbers so non-EEPROM nvm drivers can use them too. * Fixup build. * Fixup compilation error with encoders. * Build fixes. * Add `via_ci` keymap to onekey to exercise VIA bindings (and thus dynamic keymap et.al.), fixup compilation errors based on preprocessor+sizeof. * Build failure rectification.
Diffstat (limited to 'quantum/process_keycode')
-rw-r--r--quantum/process_keycode/process_autocorrect.c6
-rw-r--r--quantum/process_keycode/process_clicky.c6
-rw-r--r--quantum/process_keycode/process_magic.c4
-rw-r--r--quantum/process_keycode/process_steno.c7
4 files changed, 10 insertions, 13 deletions
diff --git a/quantum/process_keycode/process_autocorrect.c b/quantum/process_keycode/process_autocorrect.c
index b7f9132acf..0cde520778 100644
--- a/quantum/process_keycode/process_autocorrect.c
+++ b/quantum/process_keycode/process_autocorrect.c
@@ -38,7 +38,7 @@ bool autocorrect_is_enabled(void) {
38 */ 38 */
39void autocorrect_enable(void) { 39void autocorrect_enable(void) {
40 keymap_config.autocorrect_enable = true; 40 keymap_config.autocorrect_enable = true;
41 eeconfig_update_keymap(keymap_config.raw); 41 eeconfig_update_keymap(&keymap_config);
42} 42}
43 43
44/** 44/**
@@ -48,7 +48,7 @@ void autocorrect_enable(void) {
48void autocorrect_disable(void) { 48void autocorrect_disable(void) {
49 keymap_config.autocorrect_enable = false; 49 keymap_config.autocorrect_enable = false;
50 typo_buffer_size = 0; 50 typo_buffer_size = 0;
51 eeconfig_update_keymap(keymap_config.raw); 51 eeconfig_update_keymap(&keymap_config);
52} 52}
53 53
54/** 54/**
@@ -58,7 +58,7 @@ void autocorrect_disable(void) {
58void autocorrect_toggle(void) { 58void autocorrect_toggle(void) {
59 keymap_config.autocorrect_enable = !keymap_config.autocorrect_enable; 59 keymap_config.autocorrect_enable = !keymap_config.autocorrect_enable;
60 typo_buffer_size = 0; 60 typo_buffer_size = 0;
61 eeconfig_update_keymap(keymap_config.raw); 61 eeconfig_update_keymap(&keymap_config);
62} 62}
63 63
64/** 64/**
diff --git a/quantum/process_keycode/process_clicky.c b/quantum/process_keycode/process_clicky.c
index 82000db9b3..f50761268a 100644
--- a/quantum/process_keycode/process_clicky.c
+++ b/quantum/process_keycode/process_clicky.c
@@ -66,17 +66,17 @@ void clicky_freq_reset(void) {
66 66
67void clicky_toggle(void) { 67void clicky_toggle(void) {
68 audio_config.clicky_enable ^= 1; 68 audio_config.clicky_enable ^= 1;
69 eeconfig_update_audio(audio_config.raw); 69 eeconfig_update_audio(&audio_config);
70} 70}
71 71
72void clicky_on(void) { 72void clicky_on(void) {
73 audio_config.clicky_enable = 1; 73 audio_config.clicky_enable = 1;
74 eeconfig_update_audio(audio_config.raw); 74 eeconfig_update_audio(&audio_config);
75} 75}
76 76
77void clicky_off(void) { 77void clicky_off(void) {
78 audio_config.clicky_enable = 0; 78 audio_config.clicky_enable = 0;
79 eeconfig_update_audio(audio_config.raw); 79 eeconfig_update_audio(&audio_config);
80} 80}
81 81
82bool is_clicky_on(void) { 82bool is_clicky_on(void) {
diff --git a/quantum/process_keycode/process_magic.c b/quantum/process_keycode/process_magic.c
index 3b35884d68..d5280105de 100644
--- a/quantum/process_keycode/process_magic.c
+++ b/quantum/process_keycode/process_magic.c
@@ -47,7 +47,7 @@ bool process_magic(uint16_t keycode, keyrecord_t *record) {
47 if (record->event.pressed) { 47 if (record->event.pressed) {
48 if (IS_MAGIC_KEYCODE(keycode)) { 48 if (IS_MAGIC_KEYCODE(keycode)) {
49 /* keymap config */ 49 /* keymap config */
50 keymap_config.raw = eeconfig_read_keymap(); 50 eeconfig_read_keymap(&keymap_config);
51 switch (keycode) { 51 switch (keycode) {
52 case QK_MAGIC_SWAP_CONTROL_CAPS_LOCK: 52 case QK_MAGIC_SWAP_CONTROL_CAPS_LOCK:
53 keymap_config.swap_control_capslock = true; 53 keymap_config.swap_control_capslock = true;
@@ -187,7 +187,7 @@ bool process_magic(uint16_t keycode, keyrecord_t *record) {
187 break; 187 break;
188 } 188 }
189 189
190 eeconfig_update_keymap(keymap_config.raw); 190 eeconfig_update_keymap(&keymap_config);
191 clear_keyboard(); // clear to prevent stuck keys 191 clear_keyboard(); // clear to prevent stuck keys
192 192
193 return false; 193 return false;
diff --git a/quantum/process_keycode/process_steno.c b/quantum/process_keycode/process_steno.c
index c491d6f1d8..4789461352 100644
--- a/quantum/process_keycode/process_steno.c
+++ b/quantum/process_keycode/process_steno.c
@@ -20,9 +20,6 @@
20#ifdef VIRTSER_ENABLE 20#ifdef VIRTSER_ENABLE
21# include "virtser.h" 21# include "virtser.h"
22#endif 22#endif
23#ifdef STENO_ENABLE_ALL
24# include "eeprom.h"
25#endif
26 23
27// All steno keys that have been pressed to form this chord, 24// All steno keys that have been pressed to form this chord,
28// stored in MAX_STROKE_SIZE groups of 8-bit arrays. 25// stored in MAX_STROKE_SIZE groups of 8-bit arrays.
@@ -128,13 +125,13 @@ static const uint16_t combinedmap_second[] PROGMEM = {STN_S2, STN_KL, STN_WL, ST
128 125
129#ifdef STENO_ENABLE_ALL 126#ifdef STENO_ENABLE_ALL
130void steno_init(void) { 127void steno_init(void) {
131 mode = eeprom_read_byte(EECONFIG_STENOMODE); 128 mode = eeconfig_read_steno_mode();
132} 129}
133 130
134void steno_set_mode(steno_mode_t new_mode) { 131void steno_set_mode(steno_mode_t new_mode) {
135 steno_clear_chord(); 132 steno_clear_chord();
136 mode = new_mode; 133 mode = new_mode;
137 eeprom_update_byte(EECONFIG_STENOMODE, mode); 134 eeconfig_update_steno_mode(mode);
138} 135}
139#endif // STENO_ENABLE_ALL 136#endif // STENO_ENABLE_ALL
140 137