aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkrusli <rusli.kenneth@gmail.com>2017-09-16 12:18:19 +1000
committerJack Humbert <jack.humb@gmail.com>2017-09-16 09:34:29 -0400
commit6cfb85f32f4789fbfbb0a12e0bf3ae8a26d86ce6 (patch)
tree3d4e4fd7a403c495353d290afba116320093cd08
parent0b7df9f2ef27b2bc26203e1d3ea027b80172b763 (diff)
downloadqmk_firmware-6cfb85f32f4789fbfbb0a12e0bf3ae8a26d86ce6.tar.gz
qmk_firmware-6cfb85f32f4789fbfbb0a12e0bf3ae8a26d86ce6.zip
Fixes for RGB, more colours
-rw-r--r--keyboards/mechmini/keymaps/default/keymap.c46
1 files changed, 37 insertions, 9 deletions
diff --git a/keyboards/mechmini/keymaps/default/keymap.c b/keyboards/mechmini/keymaps/default/keymap.c
index d9753d011..2a7c5f6c2 100644
--- a/keyboards/mechmini/keymaps/default/keymap.c
+++ b/keyboards/mechmini/keymaps/default/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
37 [_FN1] = KEYMAP( 37 [_FN1] = KEYMAP(
38 _____, _____, KC_UP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MRWD, KC_MPLY, KC_MFFD, KC_SLCK, KC_PAUS, KC_DEL, 38 _____, _____, KC_UP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MRWD, KC_MPLY, KC_MFFD, KC_SLCK, KC_PAUS, KC_DEL,
39 KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, _____, _____, _____, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, 39 KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, _____, _____, _____, KC_INS, KC_HOME, KC_PGUP, KC_PSCR,
40 _____, _____, M(0), M(1), M(2), _____, _____, KC_END, KC_PGDN, _____, _____, 40 _____, _____, M(0), M(1), M(2), _____, _____, KC_END, KC_PGDN, _____, _____,
41 _____, _____, _____, _____, _____, _____, _____, _____ 41 _____, _____, _____, _____, _____, _____, _____, _____
42 ), 42 ),
43 [_FN2] = KEYMAP( 43 [_FN2] = KEYMAP(
@@ -48,8 +48,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
48 ), 48 ),
49 [_FN3] = KEYMAP( 49 [_FN3] = KEYMAP(
50 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 50 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
51 _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, 51 _____, M(3), M(4), M(5), _____, _____, _____, _____, _____, _____, _____,
52 _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, 52 _____, M(6), _____, _____, _____, _____, _____, _____, _____, _____, _____,
53 _____, _____, _____, _____, _____, _____, _____, _____ 53 _____, _____, _____, _____, _____, _____, _____, _____
54 ) 54 )
55}; 55};
@@ -67,10 +67,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
67uint8_t current_level = 2; 67uint8_t current_level = 2;
68int is_on = 0; 68int is_on = 0;
69 69
70uint8_t r = 0xFF;
71uint8_t g = 0xFF;
72uint8_t b = 0xFF;
73
74uint8_t max_brightness = MAX_BRIGHTNESS_IOS;
75
70enum macro_id { 76enum macro_id {
71 TOGGLE_RGB, 77 TOGGLE_RGB,
72 RGB_LEVEL_DOWN, 78 RGB_LEVEL_DOWN,
73 RGB_LEVEL_UP 79 RGB_LEVEL_UP,
80 RGB_PURPLE,
81 RGB_CYAN,
82 RGB_WHITE,
83 ENABLE_MAX_BRIGHTNESS
74}; 84};
75 85
76const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { 86const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
@@ -80,6 +90,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
80 case TOGGLE_RGB: 90 case TOGGLE_RGB:
81 if (event.pressed) { 91 if (event.pressed) {
82 if (!is_on) { 92 if (!is_on) {
93 current_level = 2;
83 is_on = 1; 94 is_on = 1;
84 } else { 95 } else {
85 is_on = 0; 96 is_on = 0;
@@ -91,10 +102,28 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
91 } 102 }
92 break; 103 break;
93 case RGB_LEVEL_UP: 104 case RGB_LEVEL_UP:
94 if (event.pressed && current_level < MAX_BRIGHTNESS_IOS) { 105 if (event.pressed && current_level < max_brightness) {
95 current_level++; 106 current_level++;
96 } 107 }
97 break; 108 break;
109 case RGB_PURPLE:
110 r = 0xFF;
111 g = 0x81;
112 b = 0xC2;
113 break;
114 case RGB_CYAN:
115 r = 0x00;
116 g = 0xDC;
117 b = 0xFF;
118 break;
119 case RGB_WHITE:
120 r = 0xFF;
121 g = 0xFF;
122 b = 0xFF;
123 break;
124 case ENABLE_MAX_BRIGHTNESS:
125 max_brightness = MAX_BRIGHTNESS;
126 break;
98 } 127 }
99 128
100 return MACRO_NONE; 129 return MACRO_NONE;
@@ -119,10 +148,9 @@ void user_setrgb(uint8_t r, uint8_t g, uint8_t b) {
119 148
120void matrix_scan_user(void) { 149void matrix_scan_user(void) {
121 if (!is_on) { 150 if (!is_on) {
122 current_level = 2;
123 user_setrgb(0xFF, 0xFF, 0xFF);
124 } else {
125 current_level = 0; 151 current_level = 0;
126 user_setrgb(0xFF, 0xFF, 0xFF); 152 user_setrgb(r, g, b);
153 } else {
154 user_setrgb(r, g, b);
127 } 155 }
128} 156}