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

Update personal keymap #21674

Merged
merged 43 commits into from
Aug 14, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
f3dd5ed
Update personal keymap
richardbaptist Aug 2, 2023
5e2a5de
Remove redundant undef code
richardbaptist Aug 2, 2023
4930634
Remove duplicates
richardbaptist Aug 2, 2023
3866446
Use default keys
richardbaptist Aug 2, 2023
2033d2d
Add TAP_CODE_DELAY for Wayland
richardbaptist Aug 2, 2023
a5c5314
Remove MOUSEKEY definition
richardbaptist Aug 2, 2023
9ef4a52
Add config option to reduce firmware size
richardbaptist Aug 2, 2023
8425d14
Reduce firmware size
richardbaptist Aug 2, 2023
de6f5d7
Overwrite key swapping functions
richardbaptist Aug 2, 2023
078d787
Ensure sync
richardbaptist Aug 3, 2023
d66adfb
Remove redundant code
richardbaptist Aug 3, 2023
83b10e1
Add comment
richardbaptist Aug 3, 2023
d8443f7
Update README
richardbaptist Aug 3, 2023
3bc9a5d
Remove redundant define
rpbaptist Aug 3, 2023
2c6e3a4
Add GPL2+ license
richardbaptist Aug 3, 2023
6e4daef
Use default housekeeping task
richardbaptist Aug 3, 2023
c34ab90
Use default function for timer
richardbaptist Aug 3, 2023
f2b2f1e
Deduplicate FONT definition
richardbaptist Aug 3, 2023
61de748
Define as extern
richardbaptist Aug 3, 2023
0e61153
Define in minutes
richardbaptist Aug 3, 2023
26ba891
Track split activity
richardbaptist Aug 3, 2023
5a80fa3
Stay within limit of 32 INT
richardbaptist Aug 3, 2023
2e90247
Remove additional lines
richardbaptist Aug 3, 2023
c4382cd
Only set text when OLED is enabled
richardbaptist Aug 4, 2023
207c16f
Remove custom timout code
richardbaptist Aug 4, 2023
adb8d4f
Explain define
richardbaptist Aug 4, 2023
e12ece9
Remove code that doesn't do anything
richardbaptist Aug 4, 2023
3af4dd7
Remove EEPROM code
richardbaptist Aug 4, 2023
b320ca4
Regular CTRL on gaming layers
richardbaptist Aug 4, 2023
1a3be29
Extract function
richardbaptist Aug 4, 2023
f682a8b
Use defined functions
richardbaptist Aug 4, 2023
f5f9828
Merge switch cases
richardbaptist Aug 4, 2023
dcb39b4
THEME is default
richardbaptist Aug 4, 2023
7d562cf
Move function call
richardbaptist Aug 4, 2023
db0ead3
Set defaults
richardbaptist Aug 4, 2023
da8ef8c
Set defaults to eeprom
richardbaptist Aug 4, 2023
a076cb9
Revert "Remove additional lines"
richardbaptist Aug 4, 2023
7c952e1
Format files
richardbaptist Aug 4, 2023
9e5057d
Move definition to OLED section
richardbaptist Aug 4, 2023
e033ad5
Add user config sync
richardbaptist Aug 6, 2023
5ef5eb5
Move keymap to rev 1
richardbaptist Aug 6, 2023
56132e9
Revert "Move keymap to rev 1"
richardbaptist Aug 8, 2023
36565e3
Reduce size for r2g builds
richardbaptist Aug 8, 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
Prev Previous commit
Next Next commit
Add user config sync
  • Loading branch information
richardbaptist committed Aug 6, 2023
commit e033ad5638c91d661277160cc0f6050bc8d34880
2 changes: 2 additions & 0 deletions keyboards/crkbd/keymaps/rpbaptist/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
#define SPLIT_LAYER_STATE_ENABLE

#ifdef RGB_MATRIX_ENABLE
# define SPLIT_TRANSACTION_IDS_USER USER_CONFIG_SYNC

# define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
# define IDLE_TIMEOUT 60000 * 4
# define GAMING_IDLE_TIMEOUT 10000
Expand Down
1 change: 0 additions & 1 deletion keyboards/crkbd/keymaps/rpbaptist/oled.c
rpbaptist marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
// SPDX-License-Identifier: GPL-2.0-or-later

#include "rpbaptist.h"
#include "oled.h"

oled_rotation_t oled_init_user(oled_rotation_t rotation) {
if (is_keyboard_master()) {
Expand Down
6 changes: 1 addition & 5 deletions keyboards/crkbd/keymaps/rpbaptist/oled.h
rpbaptist marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@

#pragma once

#include "quantum.h"
#include "oled_driver.h"

oled_rotation_t oled_init_user(oled_rotation_t rotation);
void render_crkbd_logo(void);
void render_status(void);
bool oled_task_user(void);
void render_crkbd_logo(void);
45 changes: 41 additions & 4 deletions keyboards/crkbd/keymaps/rpbaptist/rgb.c
rpbaptist marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,17 @@
// SPDX-License-Identifier: GPL-2.0-or-later

#include "rpbaptist.h"
#include "rgb_matrix.h"

uint32_t transport_user_config = 0;

void user_config_sync(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) {
if (initiator2target_buffer_size == sizeof(transport_user_config)) {
memcpy(&transport_user_config, initiator2target_buffer, initiator2target_buffer_size);
}
}

#ifdef OLED_ENABLE
const char *rgb_matrix_anim_oled_text(uint8_t mode) {
const char* rgb_matrix_anim_oled_text(uint8_t mode) {
switch (mode) {
case RGB_MATRIX_TYPING_HEATMAP:
return PSTR("Heat ");
Expand Down Expand Up @@ -45,7 +52,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t led_
}
}

user_config_t user_config;
extern user_config_t user_config;

bool rgb_matrix_in_idle(void) {
return (user_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == user_config.rgb_matrix_idle_mode);
Expand Down Expand Up @@ -241,13 +248,40 @@ void matrix_scan_rgb(void) {
}
}

void user_transport_sync(void) {
// Keep track of the last state, so that we can tell if we need to propagate to slave
static uint32_t last_config = 0, last_sync = 0;

// Check if the state values are different
// or if sync timer elapsed
if (memcmp(&user_config, &last_config, sizeof(transport_user_config)) || (timer_elapsed32(last_sync) > 250)) {
memcpy(&last_config, &user_config, sizeof(transport_user_config));

if (transaction_rpc_send(USER_CONFIG_SYNC, sizeof(transport_user_config), &transport_user_config)) {
last_sync = timer_read32();
}
}
}

void user_transport_update(void) {
if (is_keyboard_master()) {
transport_user_config = user_config.raw;
user_transport_sync();
} else {
user_config.raw = transport_user_config;
}
}

void housekeeping_task_user(void) {
static bool has_ran_yet;
if (!has_ran_yet) {
has_ran_yet = true;
startup_user();
}
matrix_scan_rgb();

// Update config to slave
user_transport_update();
}

void eeconfig_init_user(void) {
Expand All @@ -265,9 +299,12 @@ void eeconfig_init_user(void) {
void keyboard_post_init_user(void) {
set_single_persistent_default_layer(_COLEMAKDH);
rgb_matrix_set_defaults();

// Register user config sync
transaction_register_rpc(USER_CONFIG_SYNC, user_config_sync);
}

bool process_record_user_rgb_matrix(uint16_t keycode, keyrecord_t *record) {
bool process_record_user_rgb_matrix(uint16_t keycode, keyrecord_t* record) {
if (user_config.rgb_matrix_idle_anim) {
if (rgb_matrix_get_mode() == user_config.rgb_matrix_idle_mode) {
rgb_matrix_update_current_mode(user_config.rgb_matrix_active_mode);
Expand Down
20 changes: 1 addition & 19 deletions keyboards/crkbd/keymaps/rpbaptist/rgb.h
rpbaptist marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

#pragma once

#include "quantum.h"
#include "transactions.h"

typedef union {
uint32_t raw;
Expand All @@ -23,24 +23,6 @@ extern user_config_t user_config;
_Static_assert(sizeof(user_config_t) == sizeof(uint32_t), "Userspace EECONFIG out of spec.");

const char *rgb_matrix_anim_oled_text(uint8_t mode);
void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t led_min, uint8_t led_max);
void rgb_matrix_turn_off_underglow(void);
uint8_t rgb_matrix_speed_for_mode(uint8_t mode);
bool rgb_matrix_mode_active(uint8_t mode);
void rgb_matrix_update_current_mode(uint8_t mode);
void rgb_matrix_update_dynamic_mode(uint8_t mode);
void rgb_matrix_update_mode(uint8_t mode);
uint8_t get_rgb_matrix_active_mode(void);
void rgb_matrix_toggle_active_mode(void);
uint8_t get_rgb_matrix_idle_mode(void);
void rgb_matrix_toggle_simple_passive_mode(void);
void rgb_matrix_toggle_color_passive_mode(void);
void rgb_matrix_toggle_underglow_layer_indicator(void);
void rgb_matrix_toggle_idle_animation_change(void);
void rgb_matrix_set_gaming_defaults(void);
void rgb_matrix_set_typing_defaults(void);
void rgb_matrix_set_defaults(void);
void matrix_scan_rgb(void);
void eeconfig_init_user(void);
void keyboard_post_init_user(void);
bool process_record_user_rgb_matrix(uint16_t keycode, keyrecord_t *record);
2 changes: 2 additions & 0 deletions keyboards/crkbd/keymaps/rpbaptist/rpbaptist.h
rpbaptist marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
#pragma once
#include QMK_KEYBOARD_H

#include "quantum.h"

#if defined(RGB_MATRIX_ENABLE)
# include "rgb.h"
#endif
Expand Down