]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
- Added Capslock/Esc led
authorDamien Broqua <dbroqua@mousur.org>
Tue, 30 May 2017 20:13:34 +0000 (22:13 +0200)
committerDamien Broqua <dbroqua@mousur.org>
Tue, 30 May 2017 20:13:34 +0000 (22:13 +0200)
keyboards/dk60/dk60.c
keyboards/dk60/dk60.h
keyboards/dk60/keymaps/default/keymap.c

index 40f24c2877366e57e1caba7b464a1dc7ac3d526c..93aeb33b4a3caeb81f2aca0aa7b0bbc2debb7c48 100644 (file)
@@ -1,13 +1,34 @@
 #include "dk60.h"
 
-void led_set_kb(uint8_t usb_led) {
-       // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
+void dk60_blink_all_leds(void)
+{
+    dk60_led_all_off();
+    dk60_led_all_on();
+    _delay_ms(500);
+    dk60_led_all_off();
+}
+
+void matrix_init_kb(void) {
+    led_init_ports();
+    dk60_blink_all_leds();
+
+    matrix_init_user();
+}
+
+void led_init_ports(void) {
+    // * Set our LED pins as output
+    DDRE |= (1<<6);
+    DDRF |= (1<<0);
+}
 
-    if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
+void led_set_kb(uint8_t usb_led) {
+       if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
+               // Turn capslock on
                dk60_caps_led_on();
-               } else {
+       } else {
+               // Turn capslock off
                dk60_caps_led_off();
-    }
+       }
 
        led_set_user(usb_led);
 }
index 572100f3aa11493e25f6c9b2dd3c37ea53a68487..859e88e03fb32f5fdc02c2b54887fda05f00bbf4 100644 (file)
@@ -1,29 +1,42 @@
 #ifndef DK60_H
-#define DK60_H
-
-#include "quantum.h"
-#include "led.h"
-
-inline void dk60_caps_led_on(void)      { DDRE |=  (1<<6); PORTE &= ~(1<<6); }
-inline void dk60_esc_led_on(void)      { DDRF |=  (1<<0); PORTF &= ~(1<<0); }
-
-inline void dk60_caps_led_off(void)     { DDRE &= ~(1<<6); PORTE &= ~(1<<6); }
-inline void dk60_esc_led_off(void)     { DDRF &= ~(1<<0); PORTF &= ~(1<<0); }
-
-#define ___ KC_NO
-
-#define KEYMAP( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K4B, K4A, \
-    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K4C, \
-    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
-    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
-         K41, K42,           K45,           K48, K49  \
-) { \
-    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \
-    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \
-    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \
-    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C }, \
-    { ___, K41, K42, ___, ___, K45, ___, ___, K48, K49, K4A, K4B, K4C }  \
-}
+    #define DK60_H
+
+    #include "quantum.h"
+    #include <util/delay.h>
+//    #include "led.h"
+
+    inline void dk60_caps_led_on(void)      {  PORTE |= (1<<6); }
+    inline void dk60_esc_led_on(void)          {  PORTF |= (1<<0); }
+
+    inline void dk60_caps_led_off(void)     { PORTE &= ~(1<<6); }
+    inline void dk60_esc_led_off(void)         { PORTF &= ~(1<<0); }
+
+    inline void dk60_led_all_on(void)
+    {
+        dk60_caps_led_on();
+        dk60_esc_led_on();
+    }
+
+    inline void dk60_led_all_off(void)
+    {
+        dk60_caps_led_off();
+        dk60_esc_led_off();
+    }
+
+    #define ___ KC_NO
+
+    #define KEYMAP( \
+        K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K4B, K4A, \
+        K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K4C, \
+        K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
+        K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+             K41, K42,           K45,           K48, K49  \
+    ) { \
+        { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \
+        { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \
+        { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \
+        { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C }, \
+        { ___, K41, K42, ___, ___, K45, ___, ___, K48, K49, K4A, K4B, K4C }  \
+    }
 
 #endif
index e69ed982109c72f853641da310957c266166dd16..a6a3b83f0a0b18e49e3fc647e7e1296b427d207c 100644 (file)
@@ -1,8 +1,20 @@
 #include "dk60.h"
 #include "action_layer.h"
 
-#define _DEFAULT 0
-#define _FN 1
+enum planck_layers {
+  _QWERTY,
+  _FN,
+  _DVORAK,
+  _LOWER,
+  _RAISE,
+  _PLOVER,
+  _ADJUST
+};
+
+enum planck_keycodes {
+  QWERTY = SAFE_RANGE,
+  FN
+};
 
 // Fillers to make layering more clear
 #define ______ KC_TRNS
@@ -21,11 +33,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *         |LGUI | LAlt  |               Space                | RAlt   |RGUI |
  *         `-----------------------------------------------------------------'
  */
-  [_DEFAULT] = KEYMAP( /* Basic QWERTY */
+  [_QWERTY] = KEYMAP( /* Basic QWERTY */
       KC_ESC,   KC_1,   KC_2,   KC_3,   KC_4,   KC_5,   KC_6,   KC_7,   KC_8,    KC_9,   KC_0,       KC_MINS,    KC_EQL, KC_BSLS,    KC_GRV, \
       KC_TAB,   KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,   KC_Y,   KC_U,   KC_I,    KC_O,   KC_P,       KC_LBRC,    KC_RBRC,KC_BSPC,  \
       KC_LCTL,  KC_A,   KC_S,   KC_D,   KC_F,   KC_G,   KC_H,   KC_J,   KC_K,    KC_L,   KC_SCLN,    KC_QUOT,    KC_ENT,   \
-      KC_LSFT,  KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM, KC_DOT, KC_SLSH,    KC_RSFT,    MO(_FN), \
+      KC_LSFT,  KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM, KC_DOT, KC_SLSH,    KC_RSFT,    FN, \
                 KC_LGUI,KC_LALT,                KC_SPC,                          KC_RALT,KC_RGUI \
       ),
 
@@ -50,3 +62,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                 ______, ______,                 ______,                 KC_MSTP, ______ \
       )
 };
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  switch (keycode) {
+    case FN:
+      if (record->event.pressed) {
+        layer_on(_FN);
+        dk60_esc_led_on();
+      } else {
+        layer_off(_FN);
+        dk60_esc_led_off();
+      }
+      return false;
+      break;
+  }
+  return true;
+}