summaryrefslogtreecommitdiff
path: root/keyboards/dumbpad/dumbpad.c
diff options
context:
space:
mode:
authorimchipwood <imchipwood@gmail.com>2019-08-20 22:08:30 -0700
committerDrashna Jaelre <drashna@live.com>2019-08-20 22:08:30 -0700
commit977c316eb1bdca7f0e13026936322cb9a9fcd0d2 (patch)
tree5b6bb40c251833b6c6e75632b374552960364d81 /keyboards/dumbpad/dumbpad.c
parent367eac22293ac148e19e545e110d5a591de1eb6e (diff)
[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 <git@zvecr.com> * in layer_state_set_kb, return layer_state_set_user Co-Authored-By: Drashna Jaelre <drashna@live.com> * remove include of upper level config.h, add pragma once Co-Authored-By: Drashna Jaelre <drashna@live.com> * 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 <git@zvecr.com> * Update keyboards/dumbpad/dumbpad.c adding `keyboard_pre_init_user()` to `keyboard_pre_init_kb()` Co-Authored-By: Joel Challis <git@zvecr.com> * fixed some comments about the layer key (MO to TT) and the SUB layer rotary encoder control
Diffstat (limited to 'keyboards/dumbpad/dumbpad.c')
-rw-r--r--keyboards/dumbpad/dumbpad.c40
1 files changed, 36 insertions, 4 deletions
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);
}
-
-*/