]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
led
authorJack Humbert <jack.humb@gmail.com>
Thu, 11 Dec 2014 22:36:42 +0000 (17:36 -0500)
committerJack Humbert <jack.humb@gmail.com>
Thu, 11 Dec 2014 22:36:42 +0000 (17:36 -0500)
common/action.c
common/led.h
keyboard/gh60/keymap_common.h
keyboard/gh60/keymap_planck.c
keyboard/gh60/led.c
keyboard/gh60/matrix.c

index ec8eeae7bc8b7bfb6f8e372ce9acc097b4351948..220de0f8a003b65c6530f60ad0997ec0ce9d11f7 100644 (file)
@@ -348,7 +348,7 @@ void register_code(uint8_t code)
         return;
     }
 
-#ifdef LOCKING_SUPPORT_ENABLE
+#ifdef LOCKING_SUPPORT_ENABLE    
     else if (KC_LOCKING_CAPS == code) {
 #ifdef LOCKING_RESYNC_ENABLE
         // Resync: ignore if caps lock already is on
index 402a247b9a45ba76f800e6cdc1ca45ab88d9e436..b84a3ff943c772f11e768b74222a9cd453efe3b2 100644 (file)
@@ -26,6 +26,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define USB_LED_SCROLL_LOCK             2
 #define USB_LED_COMPOSE                 3
 #define USB_LED_KANA                    4
+#define USB_LED_FUNCTION                5
 
 
 void led_set(uint8_t usb_led);
index 896badd7481a1765abcf3908e6f36b6a348db0b8..738741815fc30ae99126e1c42c3f5440a017b006 100644 (file)
@@ -38,47 +38,15 @@ extern const uint16_t fn_actions[];
  * K2C, K31 and  K3C are extra keys for ISO
  */
 #define KEYMAP( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
-    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
-    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
-    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
-    K40, K41, K42,           K45,                K49, K4A, K4B, K4C, K4D  \
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
+    K30, K31, K32, K33, K34,    K35,   K37, K38, K39, K3A, K3B  \
 ) { \
-    { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K0C, KC_##K0D }, \
-    { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K1C, KC_##K1D }, \
-    { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D }, \
-    { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K3C, KC_##K3D }, \
-    { KC_##K40, KC_##K41, KC_##K42, KC_NO,    KC_NO,    KC_##K45, KC_NO,    KC_NO,    KC_NO,    KC_##K49, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D }  \
+    { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B }, \
+    { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B }, \
+    { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B }, \
+    { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_NO,    KC_##K35, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B }  \
 }
 
-/* ANSI valiant. No extra keys for ISO */
-#define KEYMAP_ANSI( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
-    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
-    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
-    K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,           K3D, \
-    K40, K41, K42,           K45,                     K4A, K4B, K4C, K4D  \
-) KEYMAP( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
-    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
-    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, NO,  K2D, \
-    K30, NO,  K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, NO,  K3D, \
-    K40, K41, K42,           K45,                NO,  K4A, K4B, K4C, K4D  \
-)
-
-
-#define KEYMAP_HHKB( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49,\
-    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
-    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
-    K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, K3C, \
-    K40, K41, K42,           K45,                     K4A, K4B, K4C, K4D  \
-) KEYMAP( \
-    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
-    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
-    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, NO,  K2D, \
-    K30, NO,  K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
-    K40, K41, K42,           K45,                K49, K4A, K4B, K4C, K4D  \
-)
-
 #endif
index 636589d1ed386893da3ce7b9e33cf9dcfb80aa5a..ab167a73475d40c5d98e7911339e93c807b7cb34 100644 (file)
@@ -22,7 +22,7 @@ const uint16_t PROGMEM fn_actions[] = {
     [1] = ACTION_DEFAULT_LAYER_SET(0),                             // set Qwerty layout
     [2] = ACTION_DEFAULT_LAYER_SET(1),                             // set Photoshop presets
     [3] = ACTION_LAYER_ON_OFF(2),                                  // Photoshop function layer
-
     [4] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL | MOD_LALT, KC_F9),   // photo folder AHK
     [5] = ACTION_MODS_KEY(MOD_LSFT | MOD_LCTL, KC_I),              // select inverse
     [6] = ACTION_MODS_KEY(MOD_LSFT, KC_M),                         // marquee select
index 62abcd79da979962d48f928feb5624098ef716db..7c985108010c6e2deaeea7bedb6f02bef4bba830 100644 (file)
@@ -22,13 +22,13 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 void led_set(uint8_t usb_led)
 {
-    if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
-        // output low
-        DDRB |= (1<<2);
-        PORTB &= ~(1<<2);
+    if (usb_led & (1<<USB_LED_FUNCTION)) {
+        // Output high.
+        DDRF |= (1<<0);
+        PORTF |= (1<<0);
     } else {
-        // Hi-Z
-        DDRB &= ~(1<<2);
-        PORTB &= ~(1<<2);
+        // Output low.
+        DDRF &= ~(1<<0);
+        PORTF &= ~(1<<0);
     }
 }
index 508b1afbc86a4442eed88931eef7e04102f11948..83016b77ae5c0fbe7982a18f6e6ef1c5936b1e00 100644 (file)
@@ -22,6 +22,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include <stdbool.h>
 #include <avr/io.h>
 #include <util/delay.h>
+#include "action_layer.h"
 #include "print.h"
 #include "debug.h"
 #include "util.h"
@@ -55,12 +56,21 @@ uint8_t matrix_cols(void)
     return MATRIX_COLS;
 }
 
+static
+void setup_leds(void) {
+  DDRF  |=  0x00;
+  PORTF |=  0x00;
+}
+
+
 void matrix_init(void)
 {
     // initialize row and col
     unselect_rows();
     init_cols();
 
+    setup_leds();
+
     // initialize matrix state: all keys off
     for (uint8_t i=0; i < MATRIX_ROWS; i++) {
         matrix[i] = 0;
@@ -94,6 +104,18 @@ uint8_t matrix_scan(void)
         }
     }
 
+    // uint8_t layer = biton32(default_layer_state);
+    switch (default_layer_state) {
+        case 1:
+            DDRF &= ~(1<<0);
+            PORTF &= ~(1<<0);
+            break;
+        case 2:
+            DDRF |= (1<<0);
+            PORTF |= (1<<0);
+            break;
+    }
+
     return 1;
 }