From 977c316eb1bdca7f0e13026936322cb9a9fcd0d2 Mon Sep 17 00:00:00 2001 From: imchipwood Date: Tue, 20 Aug 2019 22:08:30 -0700 Subject: [Keymap] dumbpad updates, new keymap (#6481) * removed some debug prints * removed unnecessary files, tweaked some things * rotary encoder button now connected into column 0, row 3 * tweaked keymap and moved encoder control into keymap * tweaks * added test keymap * updated some things to make it easier to work with QMK configurator * updates after merging latest master in * fixed a few things * removed test keymap and all related #ifdefs * changed some dumbpad default keys, added KC_LOCK * added image to readme * added link to PCB github repo * moved lock key to the rotary encoder pushbutton * making suggested changes from @fauxpark in https://github.com/qmk/qmk_firmware/pull/6452 * adding bootmagic lite since i'm lazy and haven't soldered on the reset button... * renamed to * using 7 underscores for KC_TRNS * adding my layout (default is for wife) * updated my own layout, tweaked default keymap to use cleaner switch for encoder control * removed commented out import from imchipwood keymap, removed unnecessary comment from default layout * added LED layer control * flash the layer indicator LEDs at startup * change layer_state_set_user to layer_state_set_kb Co-Authored-By: Joel Challis * in layer_state_set_kb, return layer_state_set_user Co-Authored-By: Drashna Jaelre * remove include of upper level config.h, add pragma once Co-Authored-By: Drashna Jaelre * changing default keymap slightly, added config.h for default layout * change _delay_ms to wait_ms * replaced locking numlock with numlock * Update keyboards/dumbpad/dumbpad.c change `keyboard_pre_init_user` to `keyboard_pre_init_kb` Co-Authored-By: Joel Challis * Update keyboards/dumbpad/dumbpad.c adding `keyboard_pre_init_user()` to `keyboard_pre_init_kb()` Co-Authored-By: Joel Challis * fixed some comments about the layer key (MO to TT) and the SUB layer rotary encoder control --- keyboards/dumbpad/dumbpad.c | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) (limited to 'keyboards/dumbpad/dumbpad.c') diff --git a/keyboards/dumbpad/dumbpad.c b/keyboards/dumbpad/dumbpad.c index b53856237c..d9b649c715 100644 --- a/keyboards/dumbpad/dumbpad.c +++ b/keyboards/dumbpad/dumbpad.c @@ -15,15 +15,49 @@ */ #include "dumbpad.h" +void keyboard_pre_init_kb(void) { + // Set the layer LED IO as outputs + setPinOutput(LAYER_INDICATOR_LED_0); + setPinOutput(LAYER_INDICATOR_LED_1); + + keyboard_pre_init_user(); +} + +void shutdown_user() { + // Shutdown the layer LEDs + writePinLow(LAYER_INDICATOR_LED_0); + writePinLow(LAYER_INDICATOR_LED_1); +} + +layer_state_t layer_state_set_kb(layer_state_t state) { + // Layer LEDs act as binary indication of current layer + uint8_t layer = biton32(state); + writePin(LAYER_INDICATOR_LED_0, layer & 0b1); + writePin(LAYER_INDICATOR_LED_1, (layer >> 1) & 0b1); + return layer_state_set_user(state); +} + // Optional override functions below. // You can leave any or all of these undefined. // These are only required if you want to perform custom actions. -/* - void matrix_init_kb(void) { // put your keyboard start-up code here // runs once when the firmware starts up + for (int i = 0; i < 2; i++) { + writePin(LAYER_INDICATOR_LED_0, true); + writePin(LAYER_INDICATOR_LED_1, false); + wait_ms(100); + writePin(LAYER_INDICATOR_LED_0, true); + writePin(LAYER_INDICATOR_LED_1, true); + wait_ms(100); + writePin(LAYER_INDICATOR_LED_0, false); + writePin(LAYER_INDICATOR_LED_1, true); + wait_ms(100); + writePin(LAYER_INDICATOR_LED_0, false); + writePin(LAYER_INDICATOR_LED_1, false); + wait_ms(100); + } matrix_init_user(); } @@ -47,5 +81,3 @@ void led_set_kb(uint8_t usb_led) { led_set_user(usb_led); } - -*/ -- cgit v1.2.3