summaryrefslogtreecommitdiff
path: root/keyboards/dumbpad/dumbpad.c
diff options
context:
space:
mode:
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);
}
-
-*/