Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adding atelier haven 65 and 80 keyboard pcb firmware, #20142

Merged
merged 50 commits into from
Jul 10, 2023
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
c1948dc
Update config.h
CMMS-Freather Mar 16, 2023
1df7692
Update info.json
CMMS-Freather Mar 16, 2023
1cd069c
Create config.h
CMMS-Freather Mar 16, 2023
1492191
Update keymap.c
CMMS-Freather Mar 16, 2023
3f83249
adding atelier haven qmk files
frankBTHID Mar 16, 2023
d81012c
Merge branch 'master' of https://github.com/CMMS-Freather/qmk_firmware
frankBTHID Mar 16, 2023
9f5e779
Update keymap.c
CMMS-Freather Mar 16, 2023
beb7aa1
Create config.h
CMMS-Freather Mar 16, 2023
2417cf2
Delete keyboards/teahouse/ayleen/keymaps/via_blink directory
CMMS-Freather Mar 16, 2023
707aa14
Update keymap.c
CMMS-Freather Mar 19, 2023
331c59c
resolved suggested issue
frankBTHID Mar 20, 2023
63f3935
Merge branch 'master' of https://github.com/CMMS-Freather/qmk_firmware
frankBTHID Mar 20, 2023
0dcd15f
Update keyboards/ah/haven65/info.json
CMMS-Freather Mar 21, 2023
39519f0
update
frankBTHID Mar 31, 2023
2094b7b
update per admin requested
frankBTHID Apr 4, 2023
4a5a695
commits suggested changes
frankBTHID Apr 11, 2023
5d48cfc
update ah/haven65 and ah/haven80 and teahouse/ayleen
frankBTHID May 26, 2023
0ec7fa1
Update keyboards/ah/haven65/info.json
CMMS-Freather May 26, 2023
ae5c139
update on info.json
frankBTHID May 26, 2023
056ff75
update on keymap
frankBTHID May 26, 2023
7a59d46
update keymaps
frankBTHID May 29, 2023
ed21ddb
remove changes of teahouse ayleen
frankBTHID Jun 1, 2023
10016d9
Delete config.h
frankBTHID Jun 1, 2023
fab9e7d
update to fix some unable to build issue
frankBTHID Jun 1, 2023
aba1cdd
update on info.json
CMMS-Freather Jun 19, 2023
32a38f6
Update info.json
CMMS-Freather Jun 19, 2023
91f64da
Update info.json
CMMS-Freather Jun 19, 2023
3714230
Revert "Update info.json"
CMMS-Freather Jun 19, 2023
6c44c46
Merge branch 'master' into master
CMMS-Freather Jun 19, 2023
df9255b
Merge branch 'master' of https://github.com/CMMS-Freather/qmk_firmware
CMMS-Freather Jun 19, 2023
5248c2d
remove changes to teahouse ayleen
CMMS-Freather Jun 19, 2023
6876211
Update keyboards/ah/haven65/info.json
CMMS-Freather Jun 19, 2023
567a130
Update keyboards/ah/haven65/info.json
CMMS-Freather Jun 20, 2023
009b4d1
Update keyboards/ah/haven65/keymaps/via/keymap.c
CMMS-Freather Jun 20, 2023
5ee824a
Update keyboards/ah/haven80/solder/readme.md
CMMS-Freather Jun 20, 2023
0649dc9
Update keyboards/ah/haven80/solder/readme.md
CMMS-Freather Jun 20, 2023
ab01f14
Update keyboards/teahouse/ayleen/keymaps/default/keymap.c
CMMS-Freather Jun 20, 2023
62275c7
update
CMMS-Freather Jun 22, 2023
888ba37
Merge branch 'master' of https://github.com/CMMS-Freather/qmk_firmware
CMMS-Freather Jun 22, 2023
1999331
Revert "Merge branch 'master' of https://github.com/CMMS-Freather/qmk…
CMMS-Freather Jun 22, 2023
5f91ed7
Revert "update"
CMMS-Freather Jun 22, 2023
3e480ae
Revert "Revert "update""
CMMS-Freather Jun 22, 2023
e309a60
update the led control part
CMMS-Freather Jun 22, 2023
c677a90
update info . json
CMMS-Freather Jun 22, 2023
b51e830
update info.json for haven80
CMMS-Freather Jun 22, 2023
e4d82de
adding license header in the keyboard.c file
CMMS-Freather Jun 22, 2023
9f3ee64
Update keyboards/ah/haven80/solder/readme.md
CMMS-Freather Jul 5, 2023
35e541c
Update keyboards/ah/haven65/readme.md
CMMS-Freather Jul 5, 2023
502d3d1
Update keyboards/ah/haven80/keymaps/via/keymap.c
CMMS-Freather Jul 5, 2023
e880ef7
Update keyboards/ah/haven80/keymaps/default/keymap.c
CMMS-Freather Jul 10, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions keyboards/ah/haven65/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// Copyright 2023 Freather
// SPDX-License-Identifier: GPL-2.0-or-later

CMMS-Freather marked this conversation as resolved.
Show resolved Hide resolved
#pragma once


// generated by KBFirmware JSON to QMK Parser
// https://noroadsleft.github.io/kbf_qmk_converter/
129 changes: 129 additions & 0 deletions keyboards/ah/haven65/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
{
"keyboard_name": "HAVEN65",
"manufacturer": "Atelier_Haven",
"url": "https://keyspensory.store/products/gb-haven65-by-atelier-haven?_pos=1&_sid=5e7dcb0e4&_ss=r&variant=41788985868461",
CMMS-Freather marked this conversation as resolved.
Show resolved Hide resolved
"maintainer": "Freather",
"usb": {
"vid": "0x4446",
"pid": "0x4665",
"device_version": "1.0.0"
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"matrix_pins": {
"rows": ["B5", "B6", "C6", "F1", "D6"],
"cols": ["F7", "F6", "F5", "F4", "F0", "B4", "D0", "D1", "D2", "D3", "D5", "B0", "B1", "B2", "B3"]
},
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": false,
"command": true,
"nkro": true,
"backlight": false,
"rgblight": true,
"audio": false,
"key_lock": false
CMMS-Freather marked this conversation as resolved.
Show resolved Hide resolved
},
"rgblight": {
"pin": "C7",
CMMS-Freather marked this conversation as resolved.
Show resolved Hide resolved
"led_count": 1,
"hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
"max_brightness": 255,
CMMS-Freather marked this conversation as resolved.
Show resolved Hide resolved
CMMS-Freather marked this conversation as resolved.
Show resolved Hide resolved
"sleep": true,
"animations": {
"alternating": true,
"breathing": true,
"christmas": true,
"knight": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"rgb_test": true,
"snake": true,
"static_gradient": true,
"twinkle": true
CMMS-Freather marked this conversation as resolved.
Show resolved Hide resolved
}
},
"layouts": {
"LAYOUT": {
"layout": [
{ "label": "Esc", "matrix":[0,0],"x": 0, "y": 0 },
{ "label": "1", "matrix":[0,1],"x": 1, "y": 0 },
{ "label": "2", "matrix":[0,2],"x": 2, "y": 0 },
{ "label": "3", "matrix":[0,3],"x": 3, "y": 0 },
{ "label": "4", "matrix":[0,4],"x": 4, "y": 0 },
{ "label": "5", "matrix":[0,5],"x": 5, "y": 0 },
{ "label": "6", "matrix":[0,6],"x": 6, "y": 0 },
{ "label": "7", "matrix":[0,7],"x": 7, "y": 0 },
{ "label": "8", "matrix":[0,8],"x": 8, "y": 0 },
{ "label": "9", "matrix":[0,9],"x": 9, "y": 0 },
{ "label": "0", "matrix":[0,10],"x": 10, "y": 0 },
{ "label": "-", "matrix":[0,11],"x": 11, "y": 0 },
{ "label": "=", "matrix":[0,12],"x": 12, "y": 0 },
{ "label": "backspace", "matrix":[0,13],"x": 13, "y": 0, "w": 2 },
{ "label": "home", "matrix":[0,14],"x": 15, "y": 0 },

{ "label": "tab", "matrix":[1,0],"x": 0, "y": 1, "w": 1.5 },
{ "label": "q", "matrix":[1,1],"x": 1.5, "y": 1 },
{ "label": "w", "matrix":[1,2],"x": 2.5, "y": 1 },
{ "label": "e", "matrix":[1,3],"x": 3.5, "y": 1 },
{ "label": "r", "matrix":[1,4],"x": 4.5, "y": 1 },
{ "label": "t", "matrix":[1,5],"x": 5.5, "y": 1 },
{ "label": "y", "matrix":[1,6],"x": 6.5, "y": 1 },
{ "label": "u", "matrix":[1,7],"x": 7.5, "y": 1 },
{ "label": "i", "matrix":[1,8],"x": 8.5, "y": 1 },
{ "label": "o", "matrix":[1,9],"x": 9.5, "y": 1 },
{ "label": "p", "matrix":[1,10],"x": 10.5, "y": 1 },
{ "label": "{", "matrix":[1,11],"x": 11.5, "y": 1 },
{ "label": "}", "matrix":[1,12],"x": 12.5, "y": 1 },
{ "label": "|", "matrix":[2,13],"x": 13.5, "y": 1, "w": 1.5 },
{ "label": "insert", "matrix":[1,14],"x": 15, "y": 1 },

{ "label": "capslock", "matrix":[2,0],"x": 0, "y": 2, "w": 1.75 },
{ "label": "a", "matrix":[2,1],"x": 1.75, "y": 2 },
{ "label": "s", "matrix":[2,2],"x": 2.75, "y": 2 },
{ "label": "d", "matrix":[2,3],"x": 3.75, "y": 2 },
{ "label": "f", "matrix":[2,4],"x": 4.75, "y": 2 },
{ "label": "g", "matrix":[2,5],"x": 5.75, "y": 2 },
{ "label": "h", "matrix":[2,6],"x": 6.75, "y": 2 },
{ "label": "j", "matrix":[2,7],"x": 7.75, "y": 2 },
{ "label": "k", "matrix":[2,8],"x": 8.75, "y": 2 },
{ "label": "l", "matrix":[2,9],"x": 9.75, "y": 2 },
{ "label": ";", "matrix":[2,10],"x": 10.75, "y": 2 },
{ "label": "'", "matrix":[2,11],"x": 11.75, "y": 2 },
{ "label": "enter", "matrix":[2,12],"x": 12.75, "y": 2, "w": 2.25 },
{ "label": "delete", "matrix":[2,14],"x": 15, "y": 2 },

{ "label": "leftshift", "matrix":[3,0],"x": 0, "y": 3, "w": 2.25 },
{ "label": "z", "matrix":[3,2],"x": 2.25, "y": 3 },
{ "label": "x", "matrix":[3,3],"x": 3.25, "y": 3 },
{ "label": "c", "matrix":[3,4],"x": 4.25, "y": 3 },
{ "label": "v", "matrix":[3,5],"x": 5.25, "y": 3 },
{ "label": "b", "matrix":[3,6],"x": 6.25, "y": 3 },
{ "label": "n", "matrix":[3,7],"x": 7.25, "y": 3 },
{ "label": "m", "matrix":[3,8],"x": 8.25, "y": 3 },
{ "label": ",", "matrix":[3,9],"x": 9.25, "y": 3 },
{ "label": ".", "matrix":[3,10],"x": 10.25, "y": 3 },
{ "label": "/", "matrix":[3,11],"x": 11.25, "y": 3 },
{ "label": "rightshift", "matrix":[3,12],"x": 12.25, "y": 3, "w": 1.75 },
{ "label": "up", "matrix":[3,13],"x": 14, "y": 3 },
{ "label": "end", "matrix":[3,14],"x": 15, "y": 3 },

{ "label": "lctrl", "matrix":[4,0],"x": 0, "y": 4, "w": 1.25 },
{ "label": "lwin", "matrix":[4,1],"x": 1.25, "y": 4, "w": 1.25 },
{ "label": "lalt", "matrix":[4,2],"x": 2.5, "y": 4, "w": 1.25 },
{ "label": "space", "matrix":[4,6],"x": 3.75, "y": 4, "w": 6.25 },
{ "label": "ralt", "matrix":[4,9],"x": 10, "y": 4, "w": 1.25 },
{ "label": "MO(1)", "matrix":[4,10],"x": 11.25, "y": 4, "w": 1.25 },
{ "label": "left", "matrix":[4,11],"x": 13, "y": 4 },
{ "label": "down", "matrix":[4,12],"x": 14, "y": 4 },
{ "label": "right", "matrix":[4,13],"x": 15, "y": 4 }
]
}
},
"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
CMMS-Freather marked this conversation as resolved.
Show resolved Hide resolved
}
22 changes: 22 additions & 0 deletions keyboards/ah/haven65/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// Copyright 2023 Freather
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, 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_BACKSPACE, KC_HOME,
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_INS,
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_ENT, KC_DEL,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
),

[1] = LAYOUT(
KC_TRNS, 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_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, 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
)
};
10 changes: 10 additions & 0 deletions keyboards/ah/haven65/keymaps/via/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// Copyright 2023 Freather
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once


#define EECONFIG_USER_DATA_SIZE 4
CMMS-Freather marked this conversation as resolved.
Show resolved Hide resolved

// generated by KBFirmware JSON to QMK Parser
// https://noroadsleft.github.io/kbf_qmk_converter/
206 changes: 206 additions & 0 deletions keyboards/ah/haven65/keymaps/via/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,206 @@
// Copyright 2023 Freather
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, 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_BACKSPACE, KC_HOME,
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_INS,
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_ENT, KC_DEL,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
),

[1] = LAYOUT(
KC_TRNS, 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_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, 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

),
[2] = LAYOUT(
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, 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
),
[3] = LAYOUT(
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, 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
)
};

//indicator variables
bool caps_is_active = false;
int mode = 5;

//to change color if the caps lock is on
void freather_set_color(bool capslock_is_on);
bool process_record_user(uint16_t keycode, keyrecord_t *record);



// Declaring a _freather_config_t struct that will store data
typedef struct _indicator_config_t {
CMMS-Freather marked this conversation as resolved.
Show resolved Hide resolved
uint8_t h;
uint8_t s;
uint8_t v;
bool enabled;
} indicator_config;

// Board memory layout
typedef struct _freather_config_t {
indicator_config caps;
} freather_config;



// Check if the size of the reserved persistent memory is the same as the size of struct freather_config
_Static_assert(sizeof(indicator_config) == EECONFIG_USER_DATA_SIZE, "Mismatch in keyboard EECONFIG stored data");

// Declaring a new variable freather of type freather_config
freather_config freather;

// Declaring enums for VIA config menu
enum via_freather_enums {

id_freather_indicator_enabled = 1,
id_freather_indicator_color = 2

};

// Initializing persistent memory configuration: default values are declared and stored in PMEM
void eeconfig_init_user(void) {
// Default values
freather.caps.h = 100;
freather.caps.s = 100;
freather.caps.v = 100;
freather.caps.enabled = true;
rgblight_set_effect_range(0,1);
// Write default value to EEPROM now
eeconfig_update_user_datablock(&freather);
}

// On Keyboard startup
void keyboard_post_init_user(void) {
// Read custom menu variables from memory
eeconfig_read_user_datablock(&freather);
}

// Handle the data received by the keyboard from the VIA menus
void freather_config_set_value(uint8_t *data) {
CMMS-Freather marked this conversation as resolved.
Show resolved Hide resolved
// data = [ value_id, value_data ]
uint8_t *value_id = &(data[0]);
uint8_t *value_data = &(data[1]);

switch (*value_id) {
case id_freather_indicator_enabled: {
freather.caps.enabled = value_data[0];
rgblight_sethsv_at(0,0,0,0);
break;
}
case id_freather_indicator_color: {
freather.caps.h = value_data[0];
freather.caps.s = value_data[1];
freather_set_color(true);
break;
}
}
}

// Handle the data sent by the keyboard to the VIA menus
void freather_config_get_value(uint8_t *data) {
// data = [ value_id, value_data ]
uint8_t *value_id = &(data[0]);
uint8_t *value_data = &(data[1]);

switch (*value_id) {
case id_freather_indicator_enabled: {
value_data[0] = freather.caps.enabled;
break;
}
case id_freather_indicator_color: {
value_data[0] = freather.caps.h;
value_data[1] = freather.caps.s;
break;
}
}
}

//save data to memory
void freather_config_save(void) {
eeconfig_update_user_datablock(&freather);
}



void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
// data = [ command_id, channel_id, value_id, value_data ]
uint8_t *command_id = &(data[0]);
uint8_t *channel_id = &(data[1]);
uint8_t *value_id_and_data = &(data[2]);

if (*channel_id == id_custom_channel) {
switch (*command_id) {
case id_custom_set_value: {
freather_config_set_value(value_id_and_data);
break;
}
case id_custom_get_value: {
freather_config_get_value(value_id_and_data);
break;
}
case id_custom_save: {
freather_config_save();
break;
}
default: {
// Unhandled message.
*command_id = id_unhandled;
break;
}
}
return;
}

*command_id = id_unhandled;
}


void freather_set_color(bool capslock_is_on)
{
if(capslock_is_on == true && freather.caps.enabled == true)
{
rgblight_sethsv_range(freather.caps.h, freather.caps.s, freather.caps.v,0,1); //0 is the location of caps light indicator
}
else{
rgblight_sethsv_at(0,0,0,0); //if is off, then turn off the caps lock indicator
}
}

bool process_record_user(uint16_t keycode, keyrecord_t *record) {

switch (keycode) {
case KC_CAPS:
if (record->event.pressed && caps_is_active == false &&freather.caps.enabled == true) { //turn on caps
caps_is_active = true;
mode = rgblight_get_mode();
rgblight_mode(1);
rgblight_sethsv_range(freather.caps.h, freather.caps.s, freather.caps.v, 0, 1); //needs a way to override the effect
return true;
}else if(record->event.pressed && caps_is_active == true ){
rgblight_set_effect_range(0,1);
rgblight_mode(mode);

caps_is_active = false;
}
default:
return true; // Process all other keycodes normally
}
}
Loading