summaryrefslogtreecommitdiff
path: root/keyboards/frooastboard/walnut/keymaps/via/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/frooastboard/walnut/keymaps/via/keymap.c')
-rw-r--r--keyboards/frooastboard/walnut/keymaps/via/keymap.c113
1 files changed, 1 insertions, 112 deletions
diff --git a/keyboards/frooastboard/walnut/keymaps/via/keymap.c b/keyboards/frooastboard/walnut/keymaps/via/keymap.c
index 84b73e2186..f502205761 100644
--- a/keyboards/frooastboard/walnut/keymaps/via/keymap.c
+++ b/keyboards/frooastboard/walnut/keymaps/via/keymap.c
@@ -17,115 +17,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG,
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, RGB_VAI,
KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_VAD, RGB_MOD)
-};
-
-#if defined(RGB_MATRIX_ENABLE) && defined(VIA_CUSTOM_LIGHTING_ENABLE)
-
-// VIA supports only 4 discrete values for effect speed; map these to some
-// useful speed values for RGB Matrix.
-enum speed_values {
- RGBLIGHT_SPEED_0 = UINT8_MAX / 16, // not 0 to avoid really slow effects
- RGBLIGHT_SPEED_1 = UINT8_MAX / 4,
- RGBLIGHT_SPEED_2 = UINT8_MAX / 2, // matches the default value
- RGBLIGHT_SPEED_3 = UINT8_MAX / 4 * 3, // UINT8_MAX is really fast
-};
-
-static uint8_t speed_from_rgblight(uint8_t rgblight_speed) {
- switch (rgblight_speed) {
- case 0:
- return RGBLIGHT_SPEED_0;
- case 1:
- return RGBLIGHT_SPEED_1;
- case 2:
- default:
- return RGBLIGHT_SPEED_2;
- case 3:
- return RGBLIGHT_SPEED_3;
- }
-}
-
-static uint8_t speed_to_rgblight(uint8_t rgb_matrix_speed) {
- if (rgb_matrix_speed < ((RGBLIGHT_SPEED_0 + RGBLIGHT_SPEED_1) / 2)) {
- return 0;
- } else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_1 + RGBLIGHT_SPEED_2) / 2)) {
- return 1;
- } else if (rgb_matrix_speed < ((RGBLIGHT_SPEED_2 + RGBLIGHT_SPEED_3) / 2)) {
- return 2;
- } else {
- return 3;
- }
-}
-
-void via_qmk_rgblight_get_value(uint8_t *data) {
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
- switch (*value_id) {
- case id_qmk_rgblight_brightness: {
- value_data[0] = rgb_matrix_get_val();
- break;
- }
- case id_qmk_rgblight_effect: {
- value_data[0] = rgb_matrix_is_enabled() ? rgb_matrix_get_mode() : 0;
- break;
- }
- case id_qmk_rgblight_effect_speed: {
- value_data[0] = speed_to_rgblight(rgb_matrix_get_speed());
- break;
- }
- case id_qmk_rgblight_color: {
- value_data[0] = rgb_matrix_get_hue();
- value_data[1] = rgb_matrix_get_sat();
- break;
- }
- }
-}
-
-void via_qmk_rgblight_set_value(uint8_t *data) {
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
- switch (*value_id) {
- case id_qmk_rgblight_brightness: {
- rgb_matrix_sethsv_noeeprom(rgblight_get_hue(), rgblight_get_sat(), value_data[0]);
- break;
- }
- case id_qmk_rgblight_effect: {
- if (value_data[0] == 0) {
- rgb_matrix_disable_noeeprom();
- } else {
- rgb_matrix_enable_noeeprom();
- rgb_matrix_mode_noeeprom(value_data[0]);
- }
- break;
- }
- case id_qmk_rgblight_effect_speed: {
- rgb_matrix_set_speed_noeeprom(speed_from_rgblight(value_data[0]));
- break;
- }
- case id_qmk_rgblight_color: {
- rgb_matrix_sethsv_noeeprom(value_data[0], value_data[1], rgblight_get_val());
- break;
- }
- }
-}
-
-void raw_hid_receive_kb(uint8_t *data, uint8_t length) {
- uint8_t *command_id = &(data[0]);
- uint8_t *command_data = &(data[1]);
- switch (*command_id) {
- case id_lighting_set_value:
- via_qmk_rgblight_set_value(command_data);
- break;
- case id_lighting_get_value:
- via_qmk_rgblight_get_value(command_data);
- break;
- case id_lighting_save:
- eeconfig_update_rgb_matrix();
- break;
- default:
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
-}
-
-#endif // defined(RGB_MATRIX_ENABLE) && defined(VIA_CUSTOM_LIGHTING_ENABLE)
+}; \ No newline at end of file