]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Groundwork for dedicated color keycodes
authorErez Zukerman <ezukerman@godaddy.com>
Fri, 18 Nov 2016 01:56:36 +0000 (20:56 -0500)
committerErez Zukerman <ezukerman@godaddy.com>
Fri, 18 Nov 2016 01:56:36 +0000 (20:56 -0500)
keyboards/ergodox/keymaps/erez_experimental/keymap.c
quantum/rgblight.c
quantum/rgblight.h

index b867d36013b8fe0771f285f0a0306f6326fe6273..4a23c7ac587bd131bed0470048eef51f4815368c 100644 (file)
@@ -7,6 +7,12 @@
 #define SYMB 1 // symbols
 #define MDIA 2 // media keys
 
+enum custom_keycodes {
+  PLACEHOLDER = SAFE_RANGE, // can always be here
+  RGB_FF00BB // always start with RGB_
+};
+
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /* Keymap 0: Basic layer
  *
@@ -75,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // SYMBOLS
 [SYMB] = KEYMAP(
        // left hand
-       KC_TRNS, KC_F1,  KC_F2,  KC_F3,         KC_F4,        KC_F5,   KC_TRNS,
+       RGB_FF00BB, KC_F1,  KC_F2,  KC_F3,      KC_F4,        KC_F5,   KC_TRNS,
        KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,       KC_TRNS,      KC_TRNS, KC_TRNS,
        KC_TRNS, KC_1,   KC_2,   KC_3,          KC_4,         KC_5,
        KC_TRNS, KC_6,   KC_7,   KC_8,          KC_9,         KC_0,    KC_TRNS,
@@ -152,6 +158,22 @@ void matrix_init_user(void) {
 
 };
 
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  switch (keycode) {
+    // dynamically generate these.
+    case RGB_FF00BB:
+      if (record->event.pressed) {
+        rgblight_enable();
+        rgblight_mode(1);
+        rgblight_setrgb(0xff,0x00,0xbb);
+      }
+      return false;
+      break;
+  }
+  return true;
+}
+
 LEADER_EXTERNS();
 
 // Runs constantly in the background, in a loop.
index 6b58f665471634443712c54d3d7bd5512a47ac7e..00620da58ea51bdaf19be046102d36034d857dba 100644 (file)
@@ -253,6 +253,13 @@ void rgblight_toggle(void) {
   }
 }
 
+void rgblight_enable(void) {
+  rgblight_config.enable = 1;
+  eeconfig_update_rgblight(rgblight_config.raw);
+  xprintf("rgblight enable: rgblight_config.enable = %u\n", rgblight_config.enable);
+  rgblight_mode(rgblight_config.mode);
+}
+
 
 void rgblight_increase_hue(void) {
   uint16_t hue;
index 330c2fe1ba1a6cd69c0aa9c4ec81b241ffb77bd4..a3673348e75661e707280f3ff64d34bd1aa43307 100644 (file)
@@ -61,6 +61,7 @@ void rgblight_init(void);
 void rgblight_increase(void);
 void rgblight_decrease(void);
 void rgblight_toggle(void);
+void rgblight_enable(void);
 void rgblight_step(void);
 void rgblight_mode(uint8_t mode);
 void rgblight_set(void);