Skip to content

Commit

Permalink
Merge pull request qmk#14 from ghost/vr-q2-caps-lock-led
Browse files Browse the repository at this point in the history
Add Caps Lock LED to the Q2 boards
  • Loading branch information
KeychronMacro authored Feb 7, 2022
2 parents ca212da + ae43e23 commit 044354a
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 0 deletions.
35 changes: 35 additions & 0 deletions keyboards/keychron/q2/q2.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,45 @@ const matrix_row_t matrix_mask[] = {
0b1111111111101111,
};

#ifdef DIP_SWITCH_ENABLE

bool dip_switch_update_kb(uint8_t index, bool active) {
if (!dip_switch_update_user(index, active)) { return false;}
if (index == 0) {
default_layer_set(1UL << (active ? 1 : 0));
}
return true;
}

#endif // DIP_SWITCH_ENABLE

#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX)

#define CAPS_LOCK_MAX_BRIGHTNESS 0xFF
#ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS
#undef CAPS_LOCK_MAX_BRIGHTNESS
#define CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS
#endif

#define CAPS_LOCK_VAL_STEP 8
#ifdef RGB_MATRIX_VAL_STEP
#undef CAPS_LOCK_VAL_STEP
#define CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP
#endif

__attribute__((weak))
void rgb_matrix_indicators_user(void) {
if (host_keyboard_led_state().caps_lock) {
uint8_t b = rgb_matrix_get_val();
if (b < CAPS_LOCK_VAL_STEP) {
b = CAPS_LOCK_VAL_STEP;
} else if (b < (CAPS_LOCK_MAX_BRIGHTNESS - CAPS_LOCK_VAL_STEP)) {
b += CAPS_LOCK_VAL_STEP; // one step more than current brightness
} else {
b = CAPS_LOCK_MAX_BRIGHTNESS;
}
rgb_matrix_set_color(CAPS_LOCK_LED_INDEX, b, b, b); // white, with the adjusted brightness }
}
}

#endif // CAPS_LOCK_LED_INDEX
3 changes: 3 additions & 0 deletions keyboards/keychron/q2/q2_ansi_stm32l432/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,6 @@
#define DRIVER_1_LED_TOTAL 34
#define DRIVER_2_LED_TOTAL 33
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 30
3 changes: 3 additions & 0 deletions keyboards/keychron/q2/q2_ansi_stm32l432_ec11/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,6 @@

/* Specifies the number of pulses the encoder registers between each detent */
#define ENCODER_RESOLUTION 4

/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 30
3 changes: 3 additions & 0 deletions keyboards/keychron/q2/q2_iso_stm32l432/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,6 @@
#define DRIVER_1_LED_TOTAL 34
#define DRIVER_2_LED_TOTAL 34
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 29
3 changes: 3 additions & 0 deletions keyboards/keychron/q2/q2_iso_stm32l432_ec11/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,6 @@

/* Specifies the number of pulses the encoder registers between each detent */
#define ENCODER_RESOLUTION 4

/* Enable caps-lock LED */
#define CAPS_LOCK_LED_INDEX 29

0 comments on commit 044354a

Please sign in to comment.