mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-16 04:41:28 +00:00
Fix linking error with custom names.
This commit is contained in:
parent
bee18247f5
commit
45f573f335
@ -78,7 +78,8 @@ Many common QMK keycodes are recognized by `get_keycode_string()`, but not all.
|
||||
Optionally, `keycode_string_names_user` may be defined to add names for additional keycodes. For example, supposing keymap.c defines `MYMACRO1` and `MYMACRO2` as custom keycodes, the following adds their names:
|
||||
|
||||
```c
|
||||
const keycode_string_name_t keycode_string_names_user[] = {
|
||||
const keycode_string_name_t *keycode_string_names_user =
|
||||
(keycode_string_name_t []){
|
||||
KEYCODE_STRING_NAME(MYMACRO1),
|
||||
KEYCODE_STRING_NAME(MYMACRO2),
|
||||
KEYCODE_STRING_NAMES_END // End of table sentinel.
|
||||
|
@ -92,10 +92,13 @@ static const keycode_string_name_t keycode_names[] = {
|
||||
KEYCODE_STRING_NAMES_END
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
__attribute__((weak)) const keycode_string_name_t empty_table[] = {KEYCODE_STRING_NAMES_END};
|
||||
|
||||
/** Users can override this to define names of additional keycodes. */
|
||||
__attribute__((weak)) const keycode_string_name_t keycode_string_names_user[] = {KEYCODE_STRING_NAMES_END};
|
||||
__attribute__((weak)) const keycode_string_name_t* keycode_string_names_user = empty_table;
|
||||
/** Keyboard vendors can override this to define names of additional keycodes. */
|
||||
__attribute__((weak)) const keycode_string_name_t keycode_string_names_kb[] = {KEYCODE_STRING_NAMES_END};
|
||||
__attribute__((weak)) const keycode_string_name_t* keycode_string_names_kb = empty_table;
|
||||
/** Names of the 4 mods on each hand. */
|
||||
static const char* mod_names[4] = {PSTR("CTL"), PSTR("SFT"), PSTR("ALT"), PSTR("GUI")};
|
||||
/** Internal buffer for holding a stringified keycode. */
|
||||
|
@ -90,9 +90,9 @@ typedef struct {
|
||||
* The above defines names for `MYMACRO1` and `MYMACRO2`, and overrides
|
||||
* `KC_EXLM` to format as "KC_EXLM" instead of the default "S(KC_1)".
|
||||
*/
|
||||
extern const keycode_string_name_t keycode_string_names_user[];
|
||||
extern const keycode_string_name_t* keycode_string_names_user;
|
||||
/** Same as `keycode_string_names_user`, but for use at the keyboard level. */
|
||||
extern const keycode_string_name_t keycode_string_names_kb[];
|
||||
extern const keycode_string_name_t* keycode_string_names_kb;
|
||||
|
||||
/** Helper to define a keycode_string_name_t. */
|
||||
# define KEYCODE_STRING_NAME(kc) \
|
||||
|
@ -22,11 +22,11 @@ enum {
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
extern "C" const keycode_string_name_t keycode_string_names_kb[] = {
|
||||
extern "C" const keycode_string_name_t *keycode_string_names_kb = (keycode_string_name_t []){
|
||||
KEYCODE_STRING_NAME(MYMACRO1),
|
||||
KEYCODE_STRING_NAMES_END // End of table sentinel.
|
||||
};
|
||||
extern "C" const keycode_string_name_t keycode_string_names_user[] = {
|
||||
extern "C" const keycode_string_name_t *keycode_string_names_user = (keycode_string_name_t []){
|
||||
KEYCODE_STRING_NAME(MYMACRO2),
|
||||
KEYCODE_STRING_NAME(KC_EXLM),
|
||||
KEYCODE_STRING_NAMES_END // End of table sentinel.
|
||||
|
Loading…
Reference in New Issue
Block a user