]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Fixup clueboard support and add rgb to clueboard1
authorskullY <skullydazed@gmail.com>
Tue, 29 Mar 2016 05:49:24 +0000 (22:49 -0700)
committerskullY <skullydazed@gmail.com>
Tue, 29 Mar 2016 05:49:24 +0000 (22:49 -0700)
keyboard/clueboard1/Makefile
keyboard/clueboard1/clueboard1.c
keyboard/clueboard1/clueboard1.h
keyboard/clueboard1/config.h
keyboard/clueboard1/keymaps/keymap_default.c
keyboard/clueboard1/led.c
keyboard/clueboard2/clueboard2.c
keyboard/clueboard2/clueboard2.h
keyboard/clueboard2/keymaps/keymap_default.c

index 767fc95efb3ff9e0980c35f7818837f6af5af64f..429ea6088b7d6539c917566ad7981903b5a29e5d 100644 (file)
@@ -51,7 +51,7 @@ TARGET_DIR = .
 
 # # project specific files
 SRC = clueboard1.c \
-                       led.c \
+                       led.c
 
 ifdef KEYMAP
     SRC := keymaps/keymap_$(KEYMAP).c $(SRC)
@@ -62,7 +62,6 @@ endif
 CONFIG_H = config.h
 
 # MCU name
-#MCU = at90usb1287
 MCU = atmega32u4
 
 # Processor frequency.
@@ -121,6 +120,7 @@ CONSOLE_ENABLE = yes        # Console for debug(+400)
 COMMAND_ENABLE = yes    # Commands for debug and configuration
 NKRO_ENABLE = yes              # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 # BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes   # Enable keyboard underlight functionality
 # MIDI_ENABLE = YES            # MIDI controls
 # UNICODE_ENABLE = YES                 # Unicode
 # BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
index 252c65fcc2ee034ab41541740f2d7f7bdf72a0a3..289e4644d35b7684a50729c839fc9fbfee4b5e87 100644 (file)
@@ -1,27 +1,23 @@
 #include "clueboard1.h"
 
 __attribute__ ((weak))
-void matrix_init_user(void) {
+void matrix_init_user(void) {
        // leave these blank
-};
+}
 
 __attribute__ ((weak))
-void matrix_scan_user(void) {
+void matrix_scan_user(void) {
        // leave these blank
-};
+}
 
-void * matrix_init_kb(void) {
-       // put your keyboard start-up code here
-       // runs once when the firmware starts up
-       if (matrix_init_user) {
-               (*matrix_init_user)();
-       }
-};
+void matrix_init_kb(void) {
+       #ifdef RGBLIGHT_ENABLE
+               rgblight_init();
+       #endif
 
-void * matrix_scan_kb(void) {
-       // put your looping keyboard code here
-       // runs every cycle (a lot)
-       if (matrix_scan_user) {
-               (*matrix_scan_user)();
-       }
-};
+       matrix_init_user();
+}
+
+void matrix_scan_kb(void) {
+       matrix_scan_user();
+}
index 1572ea2fdc7c1b0c405e8a7b5c3d6f7f1ec9aa1d..839a81a15039a569496a37b8f64df2cfc9ac643a 100644 (file)
@@ -46,7 +46,7 @@
     { k40, k41, k42, k43, KC_NO,    k45, k46, KC_NO,    KC_NO,    k49, k4A, k4B, k4C, k4D, k4E, k4F }  \
 }
 
-void matrix_init_user(void);
-void matrix_scan_user(void);
+void matrix_init_user(void);
+void matrix_scan_user(void);
 
 #endif
index 01212078f12ea6a57589152da13ffe1747c06aaf..1801e3d2cc4d99e33d98a15c3db4a9b1dcff33b9 100644 (file)
@@ -65,6 +65,16 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 )
 
+/* Underlight configuration
+ */
+ #define ws2812_PORTREG PORTF
+ #define ws2812_DDRREG DDRF
+ #define ws2812_pin 6
+ #define RGBLED_NUM 14     // Number of LEDs
+ #define RGBLIGHT_HUE_STEP 10
+ #define RGBLIGHT_SAT_STEP 17
+ #define RGBLIGHT_VAL_STEP 17
+
 /*
  * Feature disable options
  *  These options are also useful to firmware size reduction.
index bee7e35a07ebf442896e6db250ae69f0b6633431..33443f58259561caaa2fb307103ce2d91fa34963 100644 (file)
@@ -1,5 +1,9 @@
 #include "clueboard1.h"
 
+#ifdef ENABLE_RGBLIGHT
+#include "rgblight.h"
+#endif
+
 // Used for SHIFT_ESC
 #define MODS_CTRL_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
 
@@ -26,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    * `----------------------------------------------------------------------------------'
    */
 [_BL] = KEYMAP(
-  F(0),    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_BSPC,          KC_PGUP, \
+  F(0),    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_GRV,  KC_BSPC,          KC_PGUP, \
   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_BSLS,                   KC_PGDN, \
   KC_CAPS, KC_A,    KC_S,   KC_D,   KC_F,   KC_G,   KC_H,   KC_J,   KC_K,   KC_L,    KC_SCLN,  KC_QUOT,  KC_NUHS,  KC_ENT,                             \
   KC_LSFT, KC_NUBS, KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM, KC_DOT,   KC_SLSH,  KC_RO,    KC_RSFT,          KC_UP,            \
@@ -46,8 +50,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    * `----------------------------------------------------------------------------------'
    */
 [_FL] = KEYMAP(
-  KC_GRV,  KC_F1,   KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_F6,  KC_F7,  KC_F8,  KC_F9,   KC_F10,   KC_F11,   KC_F12,   KC_TRNS, KC_DEL,           BL_INC, \
-  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK, KC_PAUS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                   BL_DEC, \
+  KC_GRV,  KC_F1,   KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_F6,  KC_F7,  KC_F8,  KC_F9,   KC_F10,   KC_F11,   KC_F12,   KC_TRNS, KC_DEL,           BL_STEP, \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK, KC_PAUS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                   KC_TRNS, \
   KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                           \
   KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,          KC_PGUP,         \
   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,        KC_TRNS,KC_TRNS,                        KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(_FL), KC_HOME, KC_PGDN, KC_END),
@@ -66,19 +70,47 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    * `----------------------------------------------------------------------------------'
    */
 [_RS] = KEYMAP(
+  #ifdef ENABLE_RGBLIGHT
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, F(1),             F(7), \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,RESET,  KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                   F(8), \
+  KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                         \
+  MO(_FL), KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(_FL),          F(5),          \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,        F(2),   F(2),                            KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, F(4),    F(6),    F(3)),
+  #else
   KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS,          KC_TRNS, \
   KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,RESET,  KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                   KC_TRNS, \
   KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                            \
   KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,          KC_TRNS,          \
   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,        KC_TRNS,KC_TRNS,                        KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(_FL), KC_TRNS, KC_TRNS, KC_TRNS),
+  #endif
 };
 
 enum function_id {
     SHIFT_ESC,
+    #ifdef ENABLE_RGBLIGHT
+    RGBLED_TOGGLE,
+    RGBLED_STEP_MODE,
+    RGBLED_INCREASE_HUE,
+    RGBLED_DECREASE_HUE,
+    RGBLED_INCREASE_SAT,
+    RGBLED_DECREASE_SAT,
+    RGBLED_INCREASE_VAL,
+    RGBLED_DECREASE_VAL
+    #endif
 };
 
 const uint16_t PROGMEM fn_actions[] = {
   [0]  = ACTION_FUNCTION(SHIFT_ESC),
+  #ifdef ENABLE_RGBLIGHT
+  [1]  = ACTION_FUNCTION(RGBLED_TOGGLE),
+  [2]  = ACTION_FUNCTION(RGBLED_STEP_MODE),
+  [3]  = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
+  [4]  = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
+  [5]  = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
+  [6]  = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
+  [7]  = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
+  [8]  = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
+  #endif
 };
 
 void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
@@ -104,5 +136,49 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
         }
       }
       break;
+    //led operations
+    #ifdef ENABLE_RGBLIGHT
+    case RGBLED_TOGGLE:
+      if (record->event.pressed) {
+        rgblight_toggle();
+      }
+
+      break;
+    case RGBLED_INCREASE_HUE:
+      if (record->event.pressed) {
+        rgblight_increase_hue();
+      }
+      break;
+    case RGBLED_DECREASE_HUE:
+      if (record->event.pressed) {
+        rgblight_decrease_hue();
+      }
+      break;
+    case RGBLED_INCREASE_SAT:
+      if (record->event.pressed) {
+        rgblight_increase_sat();
+      }
+      break;
+    case RGBLED_DECREASE_SAT:
+      if (record->event.pressed) {
+        rgblight_decrease_sat();
+      }
+      break;
+    case RGBLED_INCREASE_VAL:
+      if (record->event.pressed) {
+        rgblight_increase_val();
+      }
+      break;
+    case RGBLED_DECREASE_VAL:
+      if (record->event.pressed) {
+        rgblight_decrease_val();
+      }
+      break;
+    case RGBLED_STEP_MODE:
+      if (record->event.pressed) {
+        rgblight_step();
+      }
+      break;
+    #endif
   }
 }
index deb7143eec7a789d729ac3fdfb41856408a0ca21..f0dd5662d504586c0187af7f0ec0bd0b7a794364 100644 (file)
@@ -20,15 +20,13 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "led.h"
 
 
-void led_set(uint8_t usb_led)
-{
+void led_set_kb(uint8_t usb_led) {
+    DDRF |= (1<<0);
     if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
-        // output low
-        DDRB |= (1<<2);
-        PORTB &= ~(1<<2);
+        // Turn capslock on
+        PORTF |= (1<<0);
     } else {
-        // Hi-Z
-        DDRB &= ~(1<<2);
-        PORTB &= ~(1<<2);
+        // Turn capslock off
+        PORTF &= ~(1<<0);
     }
 }
index 97d393d18d89e22dc3b9b4f9bfa52d71b1f8a392..437f8d1e495dd767acae356a4217a5bdd9bf321b 100644 (file)
@@ -5,16 +5,16 @@
 #endif
 
 __attribute__ ((weak))
-void matrix_init_user(void) {
+void matrix_init_user(void) {
        // leave these blank
 };
 
 __attribute__ ((weak))
-void matrix_scan_user(void) {
+void matrix_scan_user(void) {
        // leave these blank
 };
 
-void matrix_init_kb(void) {
+void matrix_init_kb(void) {
        // put your keyboard start-up code here
        // runs once when the firmware starts up
        if (matrix_init_user) {
@@ -35,7 +35,7 @@ void * matrix_init_kb(void) {
     MCUCR |= (1<<JTD);
 };
 
-void matrix_scan_kb(void) {
+void matrix_scan_kb(void) {
        // put your looping keyboard code here
        // runs every cycle (a lot)
        if (matrix_scan_user) {
index 822a7973519e143353d31634e087dde23fa75163..9f0d42d2b315fd243d279d60ac0b6fd4a1343a8f 100644 (file)
@@ -51,7 +51,7 @@
     { k90, KC_NO, k92, k93, k94, k95, k96, k97 }  \
 }
 
-void matrix_init_user(void);
-void matrix_scan_user(void);
+void matrix_init_user(void);
+void matrix_scan_user(void);
 
 #endif
index 5d52f27a72fe733a979f7f1f9d9b297dc2fc7f23..10fff7b9ac0d6ae4dd31af808c2a4104f5a2bce5 100644 (file)
@@ -70,15 +70,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    * `----------------------------------------------------------------------------------'
    */
 [_RS] = KEYMAP(
-  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, F(0),             F(6), \
-  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,RESET,  KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                   F(7), \
+  #ifdef ENABLE_RGBLIGHT
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, F(1),             F(7), \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,RESET,  KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                   F(8), \
   KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                         \
-  MO(_FL), KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(_FL),          F(4),          \
-  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,        F(1),   F(1),                            KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, F(3),    F(5),    F(2)),
+  MO(_FL), KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(_FL),          F(5),          \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,        F(2),   F(2),                            KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, F(4),    F(6),    F(3)),
+  #else
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_TRNS,          KC_TRNS, \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,RESET,  KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                   KC_TRNS, \
+  KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                            \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,          KC_TRNS,          \
+  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,        KC_TRNS,KC_TRNS,                        KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(_FL), KC_TRNS, KC_TRNS, KC_TRNS),
+  #endif
 };
 
 enum function_id {
     SHIFT_ESC,
+    #ifdef ENABLE_RGBLIGHT
     RGBLED_TOGGLE,
     RGBLED_STEP_MODE,
     RGBLED_INCREASE_HUE,
@@ -87,10 +96,12 @@ enum function_id {
     RGBLED_DECREASE_SAT,
     RGBLED_INCREASE_VAL,
     RGBLED_DECREASE_VAL
+    #endif
 };
 
 const uint16_t PROGMEM fn_actions[] = {
   [0]  = ACTION_FUNCTION(SHIFT_ESC),
+  #ifdef ENABLE_RGBLIGHT
   [1]  = ACTION_FUNCTION(RGBLED_TOGGLE),
   [2]  = ACTION_FUNCTION(RGBLED_STEP_MODE),
   [3]  = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
@@ -99,6 +110,7 @@ const uint16_t PROGMEM fn_actions[] = {
   [6]  = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
   [7]  = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
   [8]  = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
+  #endif
 };
 
 void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
@@ -125,6 +137,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
       }
       break;
     //led operations
+    #ifdef ENABLE_RGBLIGHT
     case RGBLED_TOGGLE:
       if (record->event.pressed) {
         rgblight_toggle();
@@ -166,5 +179,6 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
         rgblight_step();
       }
       break;
+    #endif
   }
 }