Merge remote-tracking branch 'origin/develop' into xap

This commit is contained in:
QMK Bot
2025-11-06 23:06:43 +00:00
2 changed files with 6 additions and 20 deletions
-20
View File
@@ -87,26 +87,6 @@ Or if you're not using layers at all, you can outright remove the functionality
#define NO_ACTION_LAYER
```
## Magic Functions
There are two `__attribute__ ((weak))` placeholder functions available to customize magic keycodes. If you are not using that feature to swap keycodes, such as backslash with backspace, add the following to your `keymap.c` or user space code:
```c
#ifndef MAGIC_ENABLE
uint16_t keycode_config(uint16_t keycode) {
return keycode;
}
#endif
```
Likewise, if you are not using magic keycodes to swap modifiers, such as Control with GUI, add the following to your `keymap.c` or user space code:
```c
#ifndef MAGIC_ENABLE
uint8_t mod_config(uint8_t mod) {
return mod;
}
#endif
```
Both of them will overwrite the placeholder functions with a simple return statement to reduce firmware size.
## OLED tweaks
One place you can save a bunch of space here is by not using `sprintf` or `snprintf`. This function call takes up ~1.5kB of firmware space, and can be rewritten. For instance, WPM uses this a lot.
+6
View File
@@ -24,6 +24,7 @@ keymap_config_t keymap_config;
* and will return the corrected keycode, when appropriate.
*/
__attribute__((weak)) uint16_t keycode_config(uint16_t keycode) {
#ifdef MAGIC_ENABLE
switch (keycode) {
case KC_CAPS_LOCK:
case KC_LOCKING_CAPS_LOCK:
@@ -115,6 +116,9 @@ __attribute__((weak)) uint16_t keycode_config(uint16_t keycode) {
default:
return keycode;
}
#else
return keycode;
#endif // MAGIC_ENABLE
}
/** \brief mod_config
@@ -124,6 +128,7 @@ __attribute__((weak)) uint16_t keycode_config(uint16_t keycode) {
*/
__attribute__((weak)) uint8_t mod_config(uint8_t mod) {
#ifdef MAGIC_ENABLE
/**
* Note: This function is for the 5-bit packed mods, NOT the full 8-bit mods.
* More info about the mods can be seen in modifiers.h.
@@ -161,5 +166,6 @@ __attribute__((weak)) uint8_t mod_config(uint8_t mod) {
mod &= ~MOD_RGUI;
}
#endif // MAGIC_ENABLE
return mod;
}