Skip to content

Commit

Permalink
Allow for keymaps to be implemented in a file other than $(KEYMAP_C)
Browse files Browse the repository at this point in the history
  • Loading branch information
tzarc committed Jul 4, 2022
1 parent d37db0c commit c29da06
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 3 deletions.
6 changes: 6 additions & 0 deletions builddefs/build_keyboard.mk
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,12 @@ endif

OPT_DEFS += -DKEYMAP_C=\"$(KEYMAP_C)\"

# If a keymap or userspace places their keymap array in another file instead, allow for it to be included
# !!NOTE!! -- For this to work, the source file cannot be part of $(SRC), so users should not add it via `SRC += <file>`
ifneq ($(strip $(INTROSPECTION_KEYMAP_C)),)
OPT_DEFS += -DINTROSPECTION_KEYMAP_C=\"$(strip $(INTROSPECTION_KEYMAP_C))\"
endif

# project specific files
SRC += \
$(KEYBOARD_SRC) \
Expand Down
5 changes: 5 additions & 0 deletions quantum/keymap_introspection.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@
// Pull the actual keymap code so that we can inspect stuff from it
#include KEYMAP_C

// Allow for keymap or userspace rules.mk to specify an alternate location for the keymap array
#ifdef INTROSPECTION_KEYMAP_C
# include INTROSPECTION_KEYMAP_C
#endif // INTROSPECTION_KEYMAP_C

#include "keymap_introspection.h"

#define NUM_KEYMAP_LAYERS ((uint8_t)(sizeof(keymaps) / ((MATRIX_ROWS) * (MATRIX_COLS) * sizeof(uint16_t))))
Expand Down
2 changes: 0 additions & 2 deletions users/manna-harbour_miryoku/post_rules.mk
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# Copyright 2019 Manna Harbour
# https://github.com/manna-harbour/miryoku

SRC += manna-harbour_miryoku.c # keymaps

# alternative layouts:

# alphas
Expand Down
2 changes: 1 addition & 1 deletion users/manna-harbour_miryoku/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
AUTO_SHIFT_ENABLE = yes # Auto Shift

SRC += manna-harbour_miryoku.c # keymaps
INTROSPECTION_KEYMAP_C = manna-harbour_miryoku.c # keymaps

include users/manna-harbour_miryoku/custom_rules.mk

Expand Down

0 comments on commit c29da06

Please sign in to comment.