From e62ab7e259d4f33c639a9433264c1cbfb6381cb5 Mon Sep 17 00:00:00 2001 From: Yan-Fa Li Date: Fri, 22 Nov 2019 12:55:45 -0800 Subject: Allow overriding of all functions in wonderland.c (#7198) * f * Allow overriding of all functions in wonderland.c - needed for custom LED functions in keymap.c * Example of layer indication via LEDs optimize * Use newer led_update_kb and led_update_user hooks - these allow overriding without use of __attribute((weak))__ * Update led documentation a bit - clarify some of the wording around how to use led_update_user * Update led_update_user example * Update audio example to be complete * trailing spaces smh * spaces * spaces * smh * Less code is good * Update docs/custom_quantum_functions.md Co-Authored-By: fauxpark * Update docs/custom_quantum_functions.md Co-Authored-By: fauxpark * Update docs/custom_quantum_functions.md Co-Authored-By: fauxpark * Update docs/custom_quantum_functions.md Co-Authored-By: fauxpark * Update docs/custom_quantum_functions.md Co-Authored-By: fauxpark * Update docs/custom_quantum_functions.md Co-Authored-By: fauxpark --- .../maartenwut/wonderland/keymaps/default/keymap.c | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'keyboards/maartenwut/wonderland/keymaps/default') diff --git a/keyboards/maartenwut/wonderland/keymaps/default/keymap.c b/keyboards/maartenwut/wonderland/keymaps/default/keymap.c index ccb022f684..da03d7615e 100755 --- a/keyboards/maartenwut/wonderland/keymaps/default/keymap.c +++ b/keyboards/maartenwut/wonderland/keymaps/default/keymap.c @@ -22,3 +22,33 @@ RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX _______, KC_LALT, _______, _______, _______, KC_RALT, _______ \ ) }; + +#ifdef USE_LEDS_FOR_LAYERS +// example of how to use LEDs as layer indicators +static uint8_t top = 1; +static uint8_t middle = 0; +static uint8_t bottom = 0; + +layer_state_t layer_state_set_user(layer_state_t state) { + top = middle = bottom = 0; + switch (get_highest_layer(state)) { + case _BASE: + top = 1; + break; + case _FUNC: + middle = 1; + break; + default: // for any other layers, or the default layer + break; + } + return state; +} + +// override kb level function +bool led_update_user(led_t usb_led) { + writePin(B1, !top); + writePin(B2, !middle); + writePin(B3, !bottom); + return false; // we are using LEDs for something else override kb +} +#endif -- cgit v1.2.3