mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-11-27 05:36:52 +00:00
Merge remote-tracking branch 'origin/develop' into xap
This commit is contained in:
commit
36d87291dd
@ -240,7 +240,7 @@ void suspend_wakeup_init_user(void) {
|
||||
|
||||
```c
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case _RAISE:
|
||||
rgblight_setrgb (0x00, 0x00, 0xFF);
|
||||
break;
|
||||
@ -267,7 +267,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
|
||||
### `layer_state_set_*` 函数文档
|
||||
|
||||
* 键盘/各子版本:`uint32_t layer_state_set_kb(uint32_t state)`
|
||||
* 键盘/各子版本:`layer_state_t layer_state_set_kb(layer_state_t state)`
|
||||
* 布局: `layer_state_t layer_state_set_user(layer_state_t state)`
|
||||
|
||||
|
||||
@ -325,7 +325,7 @@ void keyboard_post_init_user(void) {
|
||||
|
||||
```c
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case _RAISE:
|
||||
if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom_magenta(); rgblight_mode_noeeprom(1); }
|
||||
break;
|
||||
@ -474,4 +474,3 @@ cancel_deferred_exec(my_token);
|
||||
```c
|
||||
#define MAX_DEFERRED_EXECUTORS 16
|
||||
```
|
||||
|
||||
|
@ -196,7 +196,7 @@ void matrix_scan_user(void) {
|
||||
}
|
||||
}
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case _TAPLAND:
|
||||
rgblight_setrgb(0, 16, 0); //green
|
||||
break;
|
||||
|
@ -105,7 +105,7 @@ void matrix_scan_user(void) {
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
|
||||
static uint8_t old_layer = 255;
|
||||
uint8_t new_layer = biton32(layer_state);
|
||||
uint8_t new_layer = get_highest_layer(layer_state);
|
||||
|
||||
// Color of the Icons.
|
||||
if (old_layer != new_layer) {
|
||||
|
@ -128,10 +128,10 @@ void tap_dance_choose_layer_reset (qk_tap_dance_state_t *state, void *user_data)
|
||||
layer_off(_RAISE);
|
||||
break;
|
||||
case 3:
|
||||
if (biton32(default_layer_state) == _DVORAK) {
|
||||
if (get_highest_layer(default_layer_state) == _DVORAK) {
|
||||
set_single_persistent_default_layer(_QWERTY);
|
||||
}
|
||||
else if (biton32(default_layer_state) == _QWERTY) {
|
||||
else if (get_highest_layer(default_layer_state) == _QWERTY) {
|
||||
set_single_persistent_default_layer(_DVORAK);
|
||||
}
|
||||
break;
|
||||
|
@ -180,7 +180,7 @@ void keyboard_post_init_user(void) {
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
void rgb_matrix_indicators_user(void) {
|
||||
if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
switch (layer) {
|
||||
case _CLOSE:
|
||||
// rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]), RGB_RED); // RGB_TOG <- too heavy.
|
||||
|
@ -118,7 +118,7 @@ void keyboard_post_init_user(void) {
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
void rgb_matrix_indicators_user(void) {
|
||||
if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
switch (layer) {
|
||||
case _CLOSE:
|
||||
// rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]), RGB_RED); // RGB_TOG <- too heavy.
|
||||
|
@ -134,7 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
};
|
||||
|
||||
// RGB Underglow使用時のレイヤー毎のカラー切り替え
|
||||
uint32_t layer_state_set_keymap (uint32_t state) {
|
||||
layer_state_t layer_state_set_keymap (layer_state_t state) {
|
||||
return state;
|
||||
}
|
||||
|
||||
@ -148,7 +148,7 @@ void matrix_init_user(void) {
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case _RAISE:
|
||||
rgblight_setrgb_chartreuse(); // RAISE:シャルトリューズ
|
||||
break;
|
||||
|
@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer;
|
||||
layer = biton32(layer_state);
|
||||
layer = get_highest_layer(layer_state);
|
||||
|
||||
if (current_layer_global != layer) {
|
||||
current_layer_global = layer;
|
||||
@ -132,7 +132,7 @@ void tap_helper(keyrecord_t *record, uint16_t orig_mod, uint16_t macro_mod, uint
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
uint8_t layer;
|
||||
layer = biton32(layer_state);
|
||||
layer = get_highest_layer(layer_state);
|
||||
if (layer == PROG2) {
|
||||
if (keycode >= KC_A && keycode <= KC_EXSEL && \
|
||||
!( // do not send LSFT + these keycodes, they are needed for emulating the US layout
|
||||
|
@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
void matrix_scan_user(void)
|
||||
{
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
switch (layer) {
|
||||
case KM_BLOWRAK:
|
||||
ph_caps_led_on();
|
||||
|
@ -5,47 +5,48 @@
|
||||
|
||||
uint8_t layer = 0;
|
||||
|
||||
uint32_t layer_state_set_kb(uint32_t state) {
|
||||
state = layer_state_set_user(state);
|
||||
layer = biton32(state);
|
||||
return state;
|
||||
layer_state_t layer_state_set_kb(layer_state_t state) {
|
||||
state = layer_state_set_user(state);
|
||||
layer = get_highest_layer(state);
|
||||
return state;
|
||||
}
|
||||
|
||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
|
||||
if (!encoder_update_user(index, clockwise)) return false;
|
||||
uint16_t mapped_code = 0;
|
||||
if (index == 0) {
|
||||
if (clockwise) {
|
||||
switch(layer){
|
||||
case 0:
|
||||
default:
|
||||
mapped_code = KC_VOLU;
|
||||
break;
|
||||
case 1:
|
||||
mapped_code = KC_MEDIA_NEXT_TRACK;
|
||||
break;
|
||||
case 2:
|
||||
mapped_code = KC_PGDN;
|
||||
break;
|
||||
uint16_t mapped_code = 0;
|
||||
if (index == 0) {
|
||||
if (clockwise) {
|
||||
switch (layer) {
|
||||
case 0:
|
||||
default:
|
||||
mapped_code = KC_VOLU;
|
||||
break;
|
||||
case 1:
|
||||
mapped_code = KC_MEDIA_NEXT_TRACK;
|
||||
break;
|
||||
case 2:
|
||||
mapped_code = KC_PGDN;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (layer) {
|
||||
case 0:
|
||||
default:
|
||||
mapped_code = KC_VOLD;
|
||||
break;
|
||||
case 1:
|
||||
mapped_code = KC_MEDIA_PREV_TRACK;
|
||||
break;
|
||||
case 2:
|
||||
mapped_code = KC_PGUP;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
switch(layer){
|
||||
case 0:
|
||||
default:
|
||||
mapped_code = KC_VOLD;
|
||||
break;
|
||||
case 1:
|
||||
mapped_code = KC_MEDIA_PREV_TRACK;
|
||||
break;
|
||||
case 2:
|
||||
mapped_code = KC_PGUP;
|
||||
break;
|
||||
uint16_t held_keycode_timer = timer_read();
|
||||
register_code(mapped_code);
|
||||
while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY) { /* no-op */
|
||||
}
|
||||
unregister_code(mapped_code);
|
||||
}
|
||||
uint16_t held_keycode_timer = timer_read();
|
||||
register_code(mapped_code);
|
||||
while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY){ /* no-op */ }
|
||||
unregister_code(mapped_code);
|
||||
}
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
@ -240,7 +240,7 @@ void read_host_led_state(void) {
|
||||
|
||||
layer_state_t layer_state_set_kb(layer_state_t state) {
|
||||
state = layer_state_set_user(state);
|
||||
layer = biton32(state);
|
||||
layer = get_highest_layer(state);
|
||||
oled_request_wakeup();
|
||||
return state;
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
};
|
||||
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _BASE:
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
@ -62,7 +62,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
bool oled_task_user(void) {
|
||||
// Host Keyboard Layer Status
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _BASE:
|
||||
oled_write_P(PSTR("Default\n"), false);
|
||||
break;
|
||||
|
@ -199,7 +199,7 @@ void matrix_scan_user(void) {
|
||||
|
||||
if (!rgblight_config.enable || rgblight_config.mode != 1) { return; }
|
||||
|
||||
uint32_t layer = layer_state;
|
||||
layer_state_t layer = layer_state;
|
||||
uint8_t val = rgblight_config.val;
|
||||
|
||||
if (layer & (1<<_FL)) {
|
||||
|
@ -84,7 +84,7 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
|
||||
const char *read_logo(void);
|
||||
bool oled_task_user(void){
|
||||
switch (biton32(layer_state)){
|
||||
switch (get_highest_layer(layer_state)){
|
||||
case _DVORAK:
|
||||
oled_write_ln_P(PSTR("DVRK"), false);
|
||||
break;
|
||||
|
@ -54,9 +54,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// clang-format on
|
||||
|
||||
#ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
uint32_t layer_state_set_keymap(uint32_t state) {
|
||||
layer_state_t layer_state_set_keymap(layer_state_t state) {
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case L_EDVORAKJP_LOWER:
|
||||
rgblight_sethsv_noeeprom_red();
|
||||
break;
|
||||
|
@ -9,7 +9,7 @@ void render_layer_state(void) {
|
||||
char layer_name[17];
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case L_EDVORAKJP_BASE:
|
||||
oled_write_ln_P(PSTR("Default"), false);
|
||||
break;
|
||||
|
@ -84,7 +84,7 @@ const char *read_keylogs(void);
|
||||
char matrix_line_str[24];
|
||||
|
||||
const char *read_layer_state(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
strcpy(matrix_line_str, "Layer: ");
|
||||
|
||||
|
@ -109,7 +109,7 @@ report_mouse_t currentReport = {};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
//uint8_t layer;
|
||||
//layer = biton32(layer_state); // get the current layer //Or don't, I didn't use it.
|
||||
//layer = get_highest_layer(layer_state); // get the current layer //Or don't, I didn't use it.
|
||||
bool returnVal = true; //this is to determine if more key processing is needed.
|
||||
|
||||
//custom layer handling for tri_layer,
|
||||
@ -437,7 +437,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
};
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
//uint8_t layer = biton32(layer_state);
|
||||
//uint8_t layer = get_highest_layer(layer_state);
|
||||
for (uint8_t i = 0; i<LONGPRESS_COUNT; i++){
|
||||
if ((timer_elapsed(special_timers[i]) >= CUSTOM_LONGPRESS) && (!special_key_states[i]) && special_key_pressed[i]){
|
||||
switch (i + SAFE_RANGE){
|
||||
|
@ -129,7 +129,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_laye
|
||||
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
switch (layer) {
|
||||
case _LOWER:
|
||||
|
@ -4,12 +4,12 @@
|
||||
// thanks to atlacat, hailbreno, itsaferbie and weeheavy...
|
||||
|
||||
// and special thanks to AGausmann and drashna for the layer-activated RGB underglow
|
||||
// https://www.reddit.com/r/olkb/comments/6t1vdu/update_layeractivated_rgb_underglow/
|
||||
// https://www.reddit.com/r/olkb/comments/6t1vdu/update_layeractivated_rgb_underglow/
|
||||
// https://github.com/AGausmann/qmk_firmware/blob/agausmann-v3.x/keyboards/nyquist/keymaps/agausmann/keymap.c
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
/*
|
||||
/*
|
||||
* Each layer gets a name for readability.
|
||||
* The underscores don't mean anything - you can
|
||||
* have a layer called STUFF or any other name.
|
||||
@ -23,8 +23,8 @@
|
||||
#define NL 2 // Numpad Layer
|
||||
#define RL 3 // RGB Layer
|
||||
|
||||
/*
|
||||
* Let's give an easier name to the RGB modes
|
||||
/*
|
||||
* Let's give an easier name to the RGB modes
|
||||
* and assign the ones we want to the different layer
|
||||
* these will then be used by the function below
|
||||
*
|
||||
@ -49,10 +49,10 @@
|
||||
//
|
||||
#define RGB_RL_MODE rgblight_mode_noeeprom(22) //rgb mode for RL layer
|
||||
#define RGB_RL_LIGHT rgblight_sethsv_noeeprom_red() //rgb light for RL layer
|
||||
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
|
||||
/* Keymap BL: Base Layer (Default Layer)
|
||||
*
|
||||
* ,-----------------------------------------------------------.
|
||||
@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
_______, RGB_STA, RGB_BRE, RGB_RAI, RGB_SWI, _______, _______, RGB_SNA, RGB_KNI, RGB_GRA, RGB_XMS, _______, _______, _______,
|
||||
_______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, MO(FL), _______, _______, _______, TO(BL), _______),
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
@ -175,25 +175,25 @@ void matrix_scan_user(void) {
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
|
||||
static uint8_t old_layer = 1;
|
||||
uint8_t new_layer = biton32(layer_state);
|
||||
uint8_t new_layer = get_highest_layer(layer_state);
|
||||
|
||||
if (old_layer != new_layer) {
|
||||
switch (new_layer) {
|
||||
case BL:
|
||||
RGB_BL_MODE;
|
||||
RGB_BL_LIGHT;
|
||||
RGB_BL_LIGHT;
|
||||
break;
|
||||
case FL:
|
||||
RGB_FL_MODE;
|
||||
RGB_FL_LIGHT;
|
||||
RGB_FL_LIGHT;
|
||||
break;
|
||||
case NL:
|
||||
RGB_NL_MODE;
|
||||
RGB_NL_LIGHT;
|
||||
RGB_NL_MODE;
|
||||
RGB_NL_LIGHT;
|
||||
break;
|
||||
case RL:
|
||||
RGB_RL_MODE;
|
||||
RGB_RL_LIGHT;
|
||||
RGB_RL_MODE;
|
||||
RGB_RL_LIGHT;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ static int16_t fnTimer = 0;
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state)
|
||||
{
|
||||
switch (biton32(state))
|
||||
switch (get_highest_layer(state))
|
||||
{
|
||||
case QWERTY:
|
||||
rgblight_mode(9);
|
||||
|
@ -73,7 +73,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
static uint32_t last_state = 0;
|
||||
|
||||
if(last_state != state) {
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case _CMD:
|
||||
user_led_on();
|
||||
break;
|
||||
@ -85,5 +85,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
|
||||
|
@ -96,7 +96,7 @@ void rgb_matrix_indicators_user(void)
|
||||
uint8_t this_led = host_keyboard_leds();
|
||||
|
||||
if (!g_suspend_state && rgb_matrix_config.enable) {
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _NAV:
|
||||
if (this_led & (1 << USB_LED_NUM_LOCK)) {
|
||||
rgb_matrix_set_color(13, 0xFF, 0x00, 0x00);
|
||||
|
@ -62,7 +62,7 @@ void rgb_matrix_indicators_user(void)
|
||||
uint8_t this_led = host_keyboard_leds();
|
||||
|
||||
if (!g_suspend_state && rgb_matrix_config.enable) {
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _LAYER1:
|
||||
rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break;
|
||||
|
||||
@ -78,7 +78,7 @@ void rgb_matrix_indicators_user(void)
|
||||
rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF);
|
||||
}
|
||||
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _LAYER3:
|
||||
if (this_led & (1 << USB_LED_NUM_LOCK)) {
|
||||
rgb_matrix_set_color(13, 0xFF, 0x00, 0x00);
|
||||
|
@ -37,7 +37,7 @@ void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
|
||||
void rgb_matrix_indicators_user(void)
|
||||
{
|
||||
if (!g_suspend_state) {
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _QWERTY:
|
||||
rgb_matrix_layer_helper(0x00, 0x0F, 0xFF); break;
|
||||
|
||||
@ -46,7 +46,7 @@ void rgb_matrix_indicators_user(void)
|
||||
}
|
||||
}
|
||||
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _FNM:
|
||||
rgb_matrix_set_color(0, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(1, 0x00, 0x00, 0x00);
|
||||
|
@ -238,5 +238,5 @@ void rgb_matrix_indicators_user(void) {
|
||||
}
|
||||
|
||||
// Show Selected Layer
|
||||
rgb_matrix_set_color(layers_leds_map[biton32(layer_state)], MAIN_COLOR[0], MAIN_COLOR[1], MAIN_COLOR[2]);
|
||||
}
|
||||
rgb_matrix_set_color(layers_leds_map[get_highest_layer(layer_state)], MAIN_COLOR[0], MAIN_COLOR[1], MAIN_COLOR[2]);
|
||||
}
|
||||
|
@ -1,20 +1,20 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
/**************** SOME GLOBALS *********************/
|
||||
|
||||
|
||||
bool onMac = false;
|
||||
bool isLeader = false;
|
||||
bool isBlinking = false;
|
||||
bool isRecording = false;
|
||||
bool isPlaying = false;
|
||||
const float led_dim_ratio = 0.50;
|
||||
static uint16_t blink_cycle_timer,
|
||||
blink_fade_in_timer,
|
||||
blink_fade_out_timer,
|
||||
const float led_dim_ratio = 0.50;
|
||||
static uint16_t blink_cycle_timer,
|
||||
blink_fade_in_timer,
|
||||
blink_fade_out_timer,
|
||||
macro_one_play_timer,
|
||||
macro_two_play_timer,
|
||||
macro_play_blink_timer = 2000;
|
||||
static uint8_t fade_in_step_counter,
|
||||
static uint8_t fade_in_step_counter,
|
||||
fade_out_step_counter,
|
||||
blink_hsv_value;
|
||||
|
||||
@ -26,13 +26,13 @@ Function to set color with hsv arguments
|
||||
- "val_ratio" is used to adjust brightness ratio
|
||||
*/
|
||||
void rgb_matrix_set_color_hsv(uint8_t led, uint16_t hue, uint16_t sat, uint16_t val, float val_ratio) {
|
||||
const uint8_t h = hue <= 255 ? hue : rgb_matrix_config.hsv.h;
|
||||
const uint8_t h = hue <= 255 ? hue : rgb_matrix_config.hsv.h;
|
||||
const uint8_t s = sat <= 255 ? sat : rgb_matrix_config.hsv.s;
|
||||
const uint8_t v = val <= 255 ? val * val_ratio : rgb_matrix_config.hsv.v * val_ratio;
|
||||
HSV hsv_in = {h, s, v};
|
||||
RGB rgb_out = hsv_to_rgb(hsv_in);
|
||||
rgb_matrix_set_color(led, rgb_out.r, rgb_out.g, rgb_out.b);
|
||||
}
|
||||
}
|
||||
|
||||
void reset_blink_cycle(void) {
|
||||
blink_cycle_timer = timer_read();
|
||||
@ -110,31 +110,31 @@ const layers_leds_map[] = {
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_MAIN] = LAYOUT_65_ansi(
|
||||
KC_GESC, 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_BSPC, KC_INS,
|
||||
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_PGUP,
|
||||
KC_LEAD, 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_PGDN,
|
||||
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_DEL,
|
||||
KC_GESC, 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_BSPC, KC_INS,
|
||||
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_PGUP,
|
||||
KC_LEAD, 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_PGDN,
|
||||
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_DEL,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[_MAC] = LAYOUT_65_ansi(
|
||||
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, 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_LALT, KC_LGUI, KC_TRNS, KC_TRNS, MO(_FN), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[_FN] = LAYOUT_65_ansi(
|
||||
DYN_REC_STOP, 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_NO, KC_NO,
|
||||
KC_TRNS, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, DYN_MACRO_PLAY2, DYN_REC_START2,
|
||||
KC_TRNS, KC_BRID, KC_VOLD, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, DYN_MACRO_PLAY1, DYN_REC_START1,
|
||||
KC_TRNS, TO(_MAIN), TO(_MAC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, RGB_SPI, KC_TRNS, RGB_VAI, KC_NO,
|
||||
DYN_REC_STOP, 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_NO, KC_NO,
|
||||
KC_TRNS, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, DYN_MACRO_PLAY2, DYN_REC_START2,
|
||||
KC_TRNS, KC_BRID, KC_VOLD, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, DYN_MACRO_PLAY1, DYN_REC_START1,
|
||||
KC_TRNS, TO(_MAIN), TO(_MAC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, RGB_SPI, KC_TRNS, RGB_VAI, KC_NO,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD
|
||||
),
|
||||
};
|
||||
};
|
||||
|
||||
//**************** MATRIX SCANS *********************//
|
||||
|
||||
void rgb_matrix_indicators_user(void) {
|
||||
void rgb_matrix_indicators_user(void) {
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
|
||||
@ -144,7 +144,7 @@ void rgb_matrix_indicators_user(void) {
|
||||
/* CapsLock LED indicator */
|
||||
if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
|
||||
rgb_matrix_set_color_hsv(30, 999, 0, led_constant_val, 0.75); // WHITE
|
||||
}
|
||||
}
|
||||
|
||||
/* Current layer LED indicator */
|
||||
rgb_matrix_set_color_hsv(layers_leds_map[get_highest_layer(layer_state)], 999, 0, led_constant_val, led_dim_ratio); // WHITE
|
||||
@ -155,7 +155,7 @@ void rgb_matrix_indicators_user(void) {
|
||||
rgb_matrix_set_color_hsv(30, 999, 999, 999, 1); // CONFIG
|
||||
} else {
|
||||
rgb_matrix_set_color_hsv(14, 999, 999, 999, led_dim_ratio); // CONFIG
|
||||
}
|
||||
}
|
||||
|
||||
/* Blinking LED indicator when recording Dynamic Macro */
|
||||
if (isRecording && isBlinking) {
|
||||
@ -174,7 +174,7 @@ void rgb_matrix_indicators_user(void) {
|
||||
}
|
||||
}
|
||||
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _FN:
|
||||
/* Dynamic Macro LED indicator */
|
||||
if (isRecording) {
|
||||
@ -188,12 +188,12 @@ void rgb_matrix_indicators_user(void) {
|
||||
/* Layer LED indicators */
|
||||
rgb_matrix_set_color_hsv(45, 999, 0, led_constant_val, led_dim_ratio); /* WHITE Layer _MAIN */
|
||||
rgb_matrix_set_color_hsv(46, 999, 0, led_constant_val, led_dim_ratio); /* WHITE Layer _MAC */
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
#endif /* RGB_MATRIX */
|
||||
}
|
||||
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
bool pressed = record->event.pressed;
|
||||
if (pressed) {
|
||||
@ -202,12 +202,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
onMac = true;
|
||||
break;
|
||||
case TO(_MAIN):
|
||||
onMac = false;
|
||||
onMac = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
//**************** LEADER *********************//
|
||||
|
||||
@ -244,7 +244,7 @@ const uint8_t french_accent_index[3] = {
|
||||
[_ACUTE] = 2
|
||||
};
|
||||
|
||||
/*
|
||||
/*
|
||||
This represent unicode decimal values
|
||||
Each index will be mapped to numpad keycode to out put the correct sequence
|
||||
All codes in this array should be of size 3
|
||||
@ -272,8 +272,8 @@ const uint8_t french_decimal_unicodes[5][3][2] = { /*[Letter][Accent][Case]*/
|
||||
}
|
||||
},{
|
||||
{
|
||||
140, // î
|
||||
206 // Î
|
||||
140, // î
|
||||
206 // Î
|
||||
}
|
||||
},{
|
||||
{
|
||||
@ -306,7 +306,7 @@ This is designed and work on an English language keyboard setting on both Window
|
||||
=> accept french_letter and french_accent enum's as argument
|
||||
*/
|
||||
void send_french_accent(uint8_t letter, uint8_t accent) {
|
||||
|
||||
|
||||
bool isCaps;
|
||||
uint8_t decimal_unicode_in;
|
||||
uint8_t decimal_unicode_size = 3;
|
||||
@ -330,7 +330,7 @@ void send_french_accent(uint8_t letter, uint8_t accent) {
|
||||
};
|
||||
|
||||
/*
|
||||
Function to tap the correct keycodes in sequence for the
|
||||
Function to tap the correct keycodes in sequence for the
|
||||
"Windows Alt Code" requested, aka Decimal Unicodes
|
||||
*/
|
||||
void tap_win_alt_code(void) {
|
||||
@ -341,7 +341,7 @@ void send_french_accent(uint8_t letter, uint8_t accent) {
|
||||
tap_code(numpad_key_map[decimal_unicode_out[i]]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
isCaps = IS_HOST_LED_ON(USB_LED_CAPS_LOCK) ? true : false;
|
||||
|
||||
if (onMac) {
|
||||
@ -372,7 +372,7 @@ void send_french_accent(uint8_t letter, uint8_t accent) {
|
||||
|
||||
/*Couple functions used to output the same macro on two different sequences*/
|
||||
|
||||
/* (|) */
|
||||
/* (|) */
|
||||
void ldrkey_send_paranthesis_wrap_ini(void) {
|
||||
SEND_STRING("()" SS_TAP(X_LEFT));
|
||||
}
|
||||
@ -382,7 +382,7 @@ void ldrkey_send_paranthesis_wrap_word(void) {
|
||||
onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) "(" SS_LALT(SS_TAP(X_RIGHT)) ")") : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) "(" SS_LCTL(SS_TAP(X_RIGHT)) ")");
|
||||
}
|
||||
|
||||
/* (selection) */
|
||||
/* (selection) */
|
||||
void ldrkey_send_paranthesis_wrap_selection(void) {
|
||||
onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_X)) "()" SS_TAP(X_LEFT) SS_LGUI(SS_TAP(X_V)) SS_TAP(X_RIGHT)) : SEND_STRING(SS_LCTL(SS_TAP(X_X)) "()" SS_TAP(X_LEFT) SS_LCTL(SS_TAP(X_V)) SS_TAP(X_RIGHT));
|
||||
}
|
||||
@ -419,9 +419,9 @@ void ldrkey_send_curlybrace_wrap_selection(void) {
|
||||
|
||||
LEADER_EXTERNS();
|
||||
|
||||
void matrix_scan_user(void)
|
||||
void matrix_scan_user(void)
|
||||
{
|
||||
LEADER_DICTIONARY()
|
||||
LEADER_DICTIONARY()
|
||||
{
|
||||
leading = false;
|
||||
leader_end();
|
||||
@ -476,49 +476,49 @@ void matrix_scan_user(void)
|
||||
tap_code(KC_CAPS);
|
||||
}
|
||||
/* ± => LdrKey > = > - */
|
||||
SEQ_TWO_KEYS(KC_EQL, KC_MINS) {
|
||||
onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_EQL)))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P1) SS_UP(X_LALT));
|
||||
SEQ_TWO_KEYS(KC_EQL, KC_MINS) {
|
||||
onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_EQL)))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P1) SS_UP(X_LALT));
|
||||
}
|
||||
/* ≤ => LdrKey > - > = */
|
||||
SEQ_TWO_KEYS(KC_MINS, KC_EQL) {
|
||||
onMac ? SEND_STRING(SS_LALT(SS_TAP(X_COMM))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P3) SS_UP(X_LALT));
|
||||
SEQ_TWO_KEYS(KC_MINS, KC_EQL) {
|
||||
onMac ? SEND_STRING(SS_LALT(SS_TAP(X_COMM))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P3) SS_UP(X_LALT));
|
||||
}
|
||||
/* ≥ => LdrKey > = > = */
|
||||
SEQ_TWO_KEYS(KC_EQL, KC_EQL) {
|
||||
onMac ? SEND_STRING(SS_LALT(SS_TAP(X_DOT))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P2) SS_UP(X_LALT));
|
||||
SEQ_TWO_KEYS(KC_EQL, KC_EQL) {
|
||||
onMac ? SEND_STRING(SS_LALT(SS_TAP(X_DOT))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P2) SS_UP(X_LALT));
|
||||
}
|
||||
/* <= => LdrKey > , > , */
|
||||
SEQ_TWO_KEYS(KC_COMM, KC_COMM) {
|
||||
SEND_STRING(SS_LSFT(SS_TAP(X_COMM)) SS_TAP(X_SPC) SS_TAP(X_EQL) SS_TAP(X_LEFT) SS_TAP(X_BSPC) SS_TAP(X_RIGHT));
|
||||
SEQ_TWO_KEYS(KC_COMM, KC_COMM) {
|
||||
SEND_STRING(SS_LSFT(SS_TAP(X_COMM)) SS_TAP(X_SPC) SS_TAP(X_EQL) SS_TAP(X_LEFT) SS_TAP(X_BSPC) SS_TAP(X_RIGHT));
|
||||
}
|
||||
/* => => LdrKey > . > . */
|
||||
SEQ_TWO_KEYS(KC_DOT, KC_DOT) {
|
||||
SEND_STRING("=>");
|
||||
SEQ_TWO_KEYS(KC_DOT, KC_DOT) {
|
||||
SEND_STRING("=>");
|
||||
}
|
||||
/* ", " => LdrKey > " " */
|
||||
SEQ_ONE_KEY(KC_SPC) {
|
||||
SEND_STRING(", ");
|
||||
SEQ_ONE_KEY(KC_SPC) {
|
||||
SEND_STRING(", ");
|
||||
}
|
||||
/* ". " => LdrKey > " " > " " */
|
||||
SEQ_TWO_KEYS(KC_SPC, KC_SPC) {
|
||||
SEND_STRING(". ");
|
||||
SEQ_TWO_KEYS(KC_SPC, KC_SPC) {
|
||||
SEND_STRING(". ");
|
||||
}
|
||||
/* Backward delete current word (on cursor) */
|
||||
SEQ_TWO_KEYS(KC_BSPC, KC_BSPC) {
|
||||
onMac ? SEND_STRING(SS_LALT(SS_TAP(X_RIGHT)) SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_TAP(X_RIGHT)) SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC));
|
||||
SEQ_TWO_KEYS(KC_BSPC, KC_BSPC) {
|
||||
onMac ? SEND_STRING(SS_LALT(SS_TAP(X_RIGHT)) SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_TAP(X_RIGHT)) SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC));
|
||||
}
|
||||
/* Previous word delete */
|
||||
SEQ_ONE_KEY(KC_BSPC) {
|
||||
onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC));
|
||||
SEQ_ONE_KEY(KC_BSPC) {
|
||||
onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC));
|
||||
}
|
||||
/* Forward delete current word (on cursor) */
|
||||
SEQ_TWO_KEYS(KC_DEL, KC_DEL) {
|
||||
SEQ_TWO_KEYS(KC_DEL, KC_DEL) {
|
||||
|
||||
onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)) : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL));
|
||||
onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)) : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL));
|
||||
}
|
||||
/* Next word delete */
|
||||
SEQ_ONE_KEY(KC_DEL) {
|
||||
onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)): SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL));
|
||||
SEQ_ONE_KEY(KC_DEL) {
|
||||
onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)): SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL));
|
||||
}
|
||||
/* ` => LdrKey > Escape */
|
||||
SEQ_ONE_KEY(KC_GESC) {
|
||||
@ -548,7 +548,7 @@ void matrix_scan_user(void)
|
||||
SEQ_ONE_KEY(KC_Q) {
|
||||
onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_Q))) : SEND_STRING(SS_LALT(SS_TAP(X_F4)));
|
||||
}
|
||||
/* " => LdrKey > ' */
|
||||
/* " => LdrKey > ' */
|
||||
SEQ_ONE_KEY(KC_QUOT) {
|
||||
SEND_STRING("\"");
|
||||
}
|
||||
@ -657,48 +657,48 @@ void matrix_scan_user(void)
|
||||
ldrkey_send_curlybrace_wrap_selection();
|
||||
}
|
||||
/* Select everything on this line before cursor => LdrKey > Left */
|
||||
SEQ_ONE_KEY(KC_LEFT) {
|
||||
SEQ_ONE_KEY(KC_LEFT) {
|
||||
onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_LEFT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_HOME)));
|
||||
}
|
||||
/* Select everything on this line after cursor => LdrKey > Right */
|
||||
SEQ_ONE_KEY(KC_RIGHT) {
|
||||
SEQ_ONE_KEY(KC_RIGHT) {
|
||||
onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_END)));
|
||||
}
|
||||
/* Select everything on this line before cursor and bring on previous line => LdrKey > Left > Left */
|
||||
SEQ_TWO_KEYS(KC_LEFT, KC_LEFT) {
|
||||
onMac ? SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_TAP(X_END)));
|
||||
SEQ_TWO_KEYS(KC_LEFT, KC_LEFT) {
|
||||
onMac ? SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_TAP(X_END)));
|
||||
}
|
||||
/* Select everything on this line => LdrKey > Right > Left */
|
||||
SEQ_TWO_KEYS(KC_RIGHT, KC_LEFT) {
|
||||
onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_RIGHT) SS_LSFT(SS_LGUI(SS_TAP(X_LEFT))))) : SEND_STRING(SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME)));
|
||||
SEQ_TWO_KEYS(KC_RIGHT, KC_LEFT) {
|
||||
onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_RIGHT) SS_LSFT(SS_LGUI(SS_TAP(X_LEFT))))) : SEND_STRING(SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME)));
|
||||
}
|
||||
/* Select 1x Page Up on the page before the cursor => LdrKey > Up */
|
||||
SEQ_ONE_KEY(KC_UP) {
|
||||
SEQ_ONE_KEY(KC_UP) {
|
||||
SEND_STRING(SS_LSFT(SS_TAP(X_PGUP)));
|
||||
}
|
||||
/* Select 1x Page Down on the page after the cursor => LdrKey > Down */
|
||||
SEQ_ONE_KEY(KC_DOWN) {
|
||||
SEND_STRING(SS_LSFT(SS_TAP(X_PGDN)));
|
||||
SEQ_ONE_KEY(KC_DOWN) {
|
||||
SEND_STRING(SS_LSFT(SS_TAP(X_PGDN)));
|
||||
}
|
||||
/* Select everything on the page before the cursor => LdrKey > Up > Up */
|
||||
SEQ_TWO_KEYS(KC_UP, KC_UP) {
|
||||
SEQ_TWO_KEYS(KC_UP, KC_UP) {
|
||||
onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_UP)))) : SEND_STRING(SS_LSFT(SS_LCTL(SS_TAP(X_HOME))));
|
||||
}
|
||||
/* Select everything on the page after the cursor => LdrKey > Down > Down */
|
||||
SEQ_TWO_KEYS(KC_DOWN, KC_DOWN) {
|
||||
SEQ_TWO_KEYS(KC_DOWN, KC_DOWN) {
|
||||
onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_DOWN)))) : SEND_STRING(SS_LSFT(SS_LCTL(SS_TAP(X_END))));
|
||||
}
|
||||
/* HELPER => spit out the url of the layout description page on github */
|
||||
SEQ_FIVE_KEYS(KC_GESC, KC_GESC, KC_GESC, KC_GESC, KC_GESC) {
|
||||
SEQ_FIVE_KEYS(KC_GESC, KC_GESC, KC_GESC, KC_GESC, KC_GESC) {
|
||||
SEND_STRING("https://github.com/qmk/qmk_firmware/tree/master/keyboards/dztech/dz65rgb/keymaps/drootz");
|
||||
}
|
||||
/* google.ca => LdrKey > G > G */
|
||||
SEQ_TWO_KEYS(KC_G, KC_G) {
|
||||
SEND_STRING("https://google.ca" SS_TAP(X_ENT));
|
||||
SEQ_TWO_KEYS(KC_G, KC_G) {
|
||||
SEND_STRING("https://google.ca" SS_TAP(X_ENT));
|
||||
}
|
||||
/* @gmail => LdrKey > M > L > T */
|
||||
SEQ_THREE_KEYS(KC_M, KC_L, KC_T) {
|
||||
SEND_STRING("mailto." SS_TAP(X_D) SS_TAP(X_A) SS_TAP(X_N) SS_TAP(X_I) SS_TAP(X_E) SS_TAP(X_L) SS_TAP(X_R) SS_TAP(X_A) SS_TAP(X_C) SS_TAP(X_I) SS_TAP(X_N) SS_TAP(X_E) "@gmail.com");
|
||||
SEQ_THREE_KEYS(KC_M, KC_L, KC_T) {
|
||||
SEND_STRING("mailto." SS_TAP(X_D) SS_TAP(X_A) SS_TAP(X_N) SS_TAP(X_I) SS_TAP(X_E) SS_TAP(X_L) SS_TAP(X_R) SS_TAP(X_A) SS_TAP(X_C) SS_TAP(X_I) SS_TAP(X_N) SS_TAP(X_E) "@gmail.com");
|
||||
}
|
||||
/* Show Desktop => LdrKey > D */
|
||||
SEQ_ONE_KEY(KC_D) {
|
||||
|
@ -91,7 +91,7 @@ void rgb_matrix_indicators_user(void)
|
||||
uint8_t this_led = host_keyboard_leds();
|
||||
|
||||
if (!g_suspend_state && rgb_matrix_config.enable) {
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _NAV:
|
||||
if (IS_LED_ON(this_led, USB_LED_NUM_LOCK)) {
|
||||
rgb_matrix_set_color(17, 0xFF, 0x00, 0x00);
|
||||
|
@ -190,7 +190,7 @@ static bool is_macro1_recording = false;
|
||||
// The current set of active layers (as a bitmask).
|
||||
// There is a global 'layer_state' variable but it is set after the call
|
||||
// to layer_state_set_user().
|
||||
static uint32_t current_layer_state = 0;
|
||||
static layer_state_t current_layer_state = 0;
|
||||
layer_state_t layer_state_set_user(layer_state_t state);
|
||||
|
||||
// Method called at the end of the tap dance on the TAP_MACRO key. That key is
|
||||
|
@ -200,7 +200,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
@ -262,4 +262,3 @@ void matrix_scan_user(void) {
|
||||
// }
|
||||
// return true;
|
||||
//}
|
||||
|
||||
|
@ -98,7 +98,7 @@ static bool is_macro1_recording = false;
|
||||
// The current set of active layers (as a bitmask).
|
||||
// There is a global 'layer_state' variable but it is set after the call
|
||||
// to layer_state_set_user().
|
||||
static uint32_t current_layer_state = 0;
|
||||
static layer_state_t current_layer_state = 0;
|
||||
layer_state_t layer_state_set_user(layer_state_t state);
|
||||
|
||||
// Method called at the end of the tap dance on the TAP_MACRO key. That key is
|
||||
|
@ -141,7 +141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -725,7 +725,7 @@ void led_set_user(uint8_t usb_led) {
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_2_off();
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
uint8_t layer = biton32(state);
|
||||
uint8_t layer = get_highest_layer(state);
|
||||
|
||||
switch (layer) {
|
||||
case DVORAK:
|
||||
|
@ -370,7 +370,7 @@ LEADER_EXTERNS();
|
||||
void matrix_scan_user(void)
|
||||
{
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
if (keyboard_report->mods & MOD_BIT(KC_LSFT) ||
|
||||
((get_oneshot_mods() & MOD_BIT(KC_LSFT)) &&
|
||||
@ -677,4 +677,4 @@ void matrix_init_user(void)
|
||||
wait_ms(1000);
|
||||
|
||||
rgblight_effect_knight(50);
|
||||
}
|
||||
}
|
||||
|
@ -284,7 +284,7 @@ void matrix_init_user(void) {
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -813,7 +813,7 @@ case RU_7:
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
|
||||
uint8_t layer = biton32(state);
|
||||
uint8_t layer = get_highest_layer(state);
|
||||
|
||||
// ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -165,7 +165,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -218,7 +218,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
uint8_t layer = biton32(state);
|
||||
uint8_t layer = get_highest_layer(state);
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
@ -431,4 +431,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1057,7 +1057,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
uint8_t layer = biton32(state);
|
||||
uint8_t layer = get_highest_layer(state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -157,7 +157,7 @@ void matrix_init_user(void) {
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -245,11 +245,11 @@ void keyboard_post_init_user_keymap(void) {
|
||||
}
|
||||
|
||||
// light up leds based on the layer
|
||||
uint32_t layer_state_set_user_keymap(uint32_t state) {
|
||||
layer_state_t layer_state_set_user_keymap(layer_state_t state) {
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
ergodox_right_led_3_off();
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case LR_SYSCTL:
|
||||
ergodox_right_led_3_on(); // blue
|
||||
break;
|
||||
@ -306,7 +306,7 @@ uint32_t layer_state_set_user_keymap(uint32_t state) {
|
||||
|
||||
// SYSCTL on first tap, MOUSE ON second tap
|
||||
// void layers_dance_finished(qk_tap_dance_state_t *state, void *user_data) {
|
||||
// uint8_t layer = biton32(layer_state);
|
||||
// uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
// switch(state->count) {
|
||||
// case 1:
|
||||
|
@ -228,7 +228,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
ergodox_right_led_3_off();
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case SYMB:
|
||||
ergodox_right_led_1_on();
|
||||
if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom_red(); rgblight_mode_noeeprom(1); }
|
||||
@ -268,4 +268,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
|
@ -138,7 +138,7 @@ void keyboard_post_init_user(void) {
|
||||
};
|
||||
|
||||
// Runs whenever there is a layer state change.
|
||||
uint32_t layer_state_set_user(layer_state_t state) {
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
|
@ -228,7 +228,7 @@ void matrix_init_user(void) {
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -139,7 +139,7 @@ void matrix_init_user(void) {
|
||||
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
if(layer == 1)
|
||||
{
|
||||
@ -157,7 +157,7 @@ void matrix_scan_user(void) {
|
||||
}
|
||||
|
||||
if(keyboard_report->mods & MOD_BIT(KC_LSFT))
|
||||
{
|
||||
{
|
||||
ergodox_right_led_1_set (LED_BRIGHTNESS_HI);
|
||||
ergodox_right_led_1_on ();
|
||||
} else {
|
||||
@ -182,7 +182,7 @@ void matrix_scan_user(void) {
|
||||
}
|
||||
|
||||
if(keyboard_report->mods & MOD_BIT(KC_LCTRL))
|
||||
{
|
||||
{
|
||||
ergodox_right_led_3_set (LED_BRIGHTNESS_HI);
|
||||
ergodox_right_led_3_on ();
|
||||
} else {
|
||||
@ -195,7 +195,7 @@ void matrix_scan_user(void) {
|
||||
};
|
||||
|
||||
void led_set_user(uint8_t usb_led){
|
||||
if (usb_led & (1 << USB_LED_CAPS_LOCK))
|
||||
if (usb_led & (1 << USB_LED_CAPS_LOCK))
|
||||
{
|
||||
capsOn = true;
|
||||
}else {
|
||||
|
@ -228,7 +228,7 @@ void matrix_init_user(void) {
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -62,7 +62,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -330,7 +330,7 @@ void matrix_init_user(void) {
|
||||
};
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -27,29 +27,34 @@ PY2 = sys.version_info.major == 2
|
||||
if PY2:
|
||||
chr = unichr
|
||||
|
||||
|
||||
KEYBOARD_LAYOUTS = {
|
||||
# These map positions in the parsed layout to
|
||||
# positions in the KEYMAP MATRIX
|
||||
'ergodox_ez': [
|
||||
[ 0, 1, 2, 3, 4, 5, 6], [38, 39, 40, 41, 42, 43, 44],
|
||||
[ 7, 8, 9, 10, 11, 12, 13], [45, 46, 47, 48, 49, 50, 51],
|
||||
[14, 15, 16, 17, 18, 19 ], [ 52, 53, 54, 55, 56, 57],
|
||||
[20, 21, 22, 23, 24, 25, 26], [58, 59, 60, 61, 62, 63, 64],
|
||||
[27, 28, 29, 30, 31 ], [ 65, 66, 67, 68, 69],
|
||||
[ 32, 33], [70, 71 ],
|
||||
[ 34], [72 ],
|
||||
[ 35, 36, 37], [73, 74, 75 ],
|
||||
[0, 1, 2, 3, 4, 5, 6],
|
||||
[38, 39, 40, 41, 42, 43, 44],
|
||||
[7, 8, 9, 10, 11, 12, 13],
|
||||
[45, 46, 47, 48, 49, 50, 51],
|
||||
[14, 15, 16, 17, 18, 19],
|
||||
[52, 53, 54, 55, 56, 57],
|
||||
[20, 21, 22, 23, 24, 25, 26],
|
||||
[58, 59, 60, 61, 62, 63, 64],
|
||||
[27, 28, 29, 30, 31],
|
||||
[65, 66, 67, 68, 69],
|
||||
[32, 33],
|
||||
[70, 71],
|
||||
[34],
|
||||
[72],
|
||||
[35, 36, 37],
|
||||
[73, 74, 75],
|
||||
]
|
||||
}
|
||||
|
||||
ROW_INDENTS = {
|
||||
'ergodox_ez': [0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 5, 0, 6, 0, 4, 0]
|
||||
}
|
||||
ROW_INDENTS = {'ergodox_ez': [0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 5, 0, 6, 0, 4, 0]}
|
||||
|
||||
BLANK_LAYOUTS = [
|
||||
# Compact Layout
|
||||
"""
|
||||
# Compact Layout
|
||||
"""
|
||||
.------------------------------------.------------------------------------.
|
||||
| | | | | | | | | | | | | | |
|
||||
!-----+----+----+----+----+----------!-----+----+----+----+----+----+-----!
|
||||
@ -70,8 +75,8 @@ BLANK_LAYOUTS = [
|
||||
'-----------------' '-----------------'
|
||||
""",
|
||||
|
||||
# Wide Layout
|
||||
"""
|
||||
# Wide Layout
|
||||
"""
|
||||
.---------------------------------------------. .---------------------------------------------.
|
||||
| | | | | | | | ! | | | | | | |
|
||||
!-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!
|
||||
@ -93,26 +98,22 @@ BLANK_LAYOUTS = [
|
||||
""",
|
||||
]
|
||||
|
||||
|
||||
DEFAULT_CONFIG = {
|
||||
"keymaps_includes": [
|
||||
"keymap_common.h",
|
||||
],
|
||||
"keymaps_includes": ["keymap_common.h",],
|
||||
'filler': "-+.'!:x",
|
||||
'separator': "|",
|
||||
'default_key_prefix': ["KC_"],
|
||||
}
|
||||
|
||||
|
||||
SECTIONS = [
|
||||
'layout_config',
|
||||
'layers',
|
||||
]
|
||||
|
||||
|
||||
# Markdown Parsing
|
||||
|
||||
ONELINE_COMMENT_RE = re.compile(r"""
|
||||
ONELINE_COMMENT_RE = re.compile(
|
||||
r"""
|
||||
^ # comment must be at the start of the line
|
||||
\s* # arbitrary whitespace
|
||||
// # start of the comment
|
||||
@ -121,22 +122,26 @@ ONELINE_COMMENT_RE = re.compile(r"""
|
||||
""", re.MULTILINE | re.VERBOSE
|
||||
)
|
||||
|
||||
INLINE_COMMENT_RE = re.compile(r"""
|
||||
INLINE_COMMENT_RE = re.compile(
|
||||
r"""
|
||||
([\,\"\[\]\{\}\d]) # anythig that might end a expression
|
||||
\s+ # comment must be preceded by whitespace
|
||||
// # start of the comment
|
||||
\s # and succeded by whitespace
|
||||
(?:[^\"\]\}\{\[]*) # the comment (except things which might be json)
|
||||
$ # until the end of line
|
||||
""", re.MULTILINE | re.VERBOSE)
|
||||
""", re.MULTILINE | re.VERBOSE
|
||||
)
|
||||
|
||||
TRAILING_COMMA_RE = re.compile(r"""
|
||||
TRAILING_COMMA_RE = re.compile(
|
||||
r"""
|
||||
, # the comma
|
||||
(?:\s*) # arbitrary whitespace
|
||||
$ # only works if the trailing comma is followed by newline
|
||||
(\s*) # arbitrary whitespace
|
||||
([\]\}]) # end of an array or object
|
||||
""", re.MULTILINE | re.VERBOSE)
|
||||
""", re.MULTILINE | re.VERBOSE
|
||||
)
|
||||
|
||||
|
||||
def loads(raw_data):
|
||||
@ -178,9 +183,7 @@ def parse_config(path):
|
||||
def end_section():
|
||||
if section['start_line'] >= 0:
|
||||
if section['name'] == 'layout_config':
|
||||
config.update(loads("\n".join(
|
||||
section['code_lines']
|
||||
)))
|
||||
config.update(loads("\n".join(section['code_lines'])))
|
||||
elif section['sub_name'].startswith('layer'):
|
||||
layer_name = section['sub_name']
|
||||
config['layer_lines'][layer_name] = section['code_lines']
|
||||
@ -215,6 +218,7 @@ def parse_config(path):
|
||||
assert 'layout' in config
|
||||
return config
|
||||
|
||||
|
||||
# header file parsing
|
||||
|
||||
IF0_RE = re.compile(r"""
|
||||
@ -224,7 +228,6 @@ IF0_RE = re.compile(r"""
|
||||
#endif
|
||||
""", re.MULTILINE | re.DOTALL | re.VERBOSE)
|
||||
|
||||
|
||||
COMMENT_RE = re.compile(r"""
|
||||
/\*
|
||||
.*?
|
||||
@ -244,6 +247,7 @@ def regex_partial(re_str_fmt, flags):
|
||||
def partial(*args, **kwargs):
|
||||
re_str = re_str_fmt.format(*args, **kwargs)
|
||||
return re.compile(re_str, flags)
|
||||
|
||||
return partial
|
||||
|
||||
|
||||
@ -256,7 +260,6 @@ KEYDEF_REP = regex_partial(r"""
|
||||
) # capture group end
|
||||
""", re.MULTILINE | re.DOTALL | re.VERBOSE)
|
||||
|
||||
|
||||
ENUM_RE = re.compile(r"""
|
||||
(
|
||||
enum
|
||||
@ -268,7 +271,6 @@ ENUM_RE = re.compile(r"""
|
||||
) # capture group end
|
||||
""", re.MULTILINE | re.DOTALL | re.VERBOSE)
|
||||
|
||||
|
||||
ENUM_KEY_REP = regex_partial(r"""
|
||||
(
|
||||
{} # the prefixes
|
||||
@ -309,14 +311,13 @@ def parse_valid_keys(config, out_path):
|
||||
include_path = os.path.join(dirpath, include)
|
||||
if os.path.exists(include_path):
|
||||
header_data = read_header_file(include_path)
|
||||
valid_keycodes.update(
|
||||
parse_keydefs(config, header_data)
|
||||
)
|
||||
valid_keycodes.update(parse_keydefs(config, header_data))
|
||||
return valid_keycodes
|
||||
|
||||
|
||||
# Keymap Parsing
|
||||
|
||||
|
||||
def iter_raw_codes(layer_lines, filler, separator):
|
||||
filler_re = re.compile("[" + filler + " ]")
|
||||
for line in layer_lines:
|
||||
@ -346,28 +347,21 @@ LAYER_CHANGE_RE = re.compile(r"""
|
||||
(DF|TG|MO)\(\d+\)
|
||||
""", re.VERBOSE)
|
||||
|
||||
|
||||
MACRO_RE = re.compile(r"""
|
||||
M\(\w+\)
|
||||
""", re.VERBOSE)
|
||||
|
||||
|
||||
UNICODE_RE = re.compile(r"""
|
||||
U[0-9A-F]{4}
|
||||
""", re.VERBOSE)
|
||||
|
||||
|
||||
NON_CODE = re.compile(r"""
|
||||
^[^A-Z0-9_]$
|
||||
""", re.VERBOSE)
|
||||
|
||||
|
||||
def parse_uni_code(raw_code):
|
||||
macro_id = "UC_" + (
|
||||
unicodedata.name(raw_code)
|
||||
.replace(" ", "_")
|
||||
.replace("-", "_")
|
||||
)
|
||||
macro_id = "UC_" + (unicodedata.name(raw_code).replace(" ", "_").replace("-", "_"))
|
||||
code = "M({})".format(macro_id)
|
||||
uc_hex = "{:04X}".format(ord(raw_code))
|
||||
return code, macro_id, uc_hex
|
||||
@ -407,19 +401,13 @@ def parse_code(raw_code, key_prefixes, valid_keycodes):
|
||||
|
||||
def parse_keymap(config, key_indexes, layer_lines, valid_keycodes):
|
||||
keymap = {}
|
||||
raw_codes = list(iter_raw_codes(
|
||||
layer_lines, config['filler'], config['separator']
|
||||
))
|
||||
raw_codes = list(iter_raw_codes(layer_lines, config['filler'], config['separator']))
|
||||
indexed_codes = iter_indexed_codes(raw_codes, key_indexes)
|
||||
key_prefixes = config['key_prefixes']
|
||||
for raw_code, key_index, row_index in indexed_codes:
|
||||
code, macro_id, uc_hex = parse_code(
|
||||
raw_code, key_prefixes, valid_keycodes
|
||||
)
|
||||
code, macro_id, uc_hex = parse_code(raw_code, key_prefixes, valid_keycodes)
|
||||
# TODO: line numbers for invalid codes
|
||||
err_msg = "Could not parse key '{}' on row {}".format(
|
||||
raw_code, row_index
|
||||
)
|
||||
err_msg = "Could not parse key '{}' on row {}".format(raw_code, row_index)
|
||||
assert code is not None, err_msg
|
||||
# print(repr(raw_code), repr(code), macro_id, uc_hex)
|
||||
if macro_id:
|
||||
@ -432,17 +420,14 @@ def parse_keymap(config, key_indexes, layer_lines, valid_keycodes):
|
||||
|
||||
def parse_keymaps(config, valid_keycodes):
|
||||
keymaps = collections.OrderedDict()
|
||||
key_indexes = config.get(
|
||||
'key_indexes', KEYBOARD_LAYOUTS[config['layout']]
|
||||
)
|
||||
key_indexes = config.get('key_indexes', KEYBOARD_LAYOUTS[config['layout']])
|
||||
# TODO: maybe validate key_indexes
|
||||
|
||||
for layer_name, layer_lines, in config['layer_lines'].items():
|
||||
keymaps[layer_name] = parse_keymap(
|
||||
config, key_indexes, layer_lines, valid_keycodes
|
||||
)
|
||||
keymaps[layer_name] = parse_keymap(config, key_indexes, layer_lines, valid_keycodes)
|
||||
return keymaps
|
||||
|
||||
|
||||
# keymap.c output
|
||||
|
||||
USERCODE = """
|
||||
@ -453,7 +438,7 @@ void matrix_init_user(void) {
|
||||
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
@ -572,7 +557,6 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {{
|
||||
}};
|
||||
"""
|
||||
|
||||
|
||||
UNICODE_MACRO_TEMPLATE = """
|
||||
case {macro_id}:
|
||||
unicode_action_function(0x{hi:02x}, 0x{lo:02x});
|
||||
@ -584,9 +568,7 @@ def unicode_macro_cases(config):
|
||||
for macro_id, uc_hex in config['unicode_macros'].items():
|
||||
hi = int(uc_hex, 16) >> 8
|
||||
lo = int(uc_hex, 16) & 0xFF
|
||||
yield UNICODE_MACRO_TEMPLATE.format(
|
||||
macro_id=macro_id, hi=hi, lo=lo
|
||||
)
|
||||
yield UNICODE_MACRO_TEMPLATE.format(macro_id=macro_id, hi=hi, lo=lo)
|
||||
|
||||
|
||||
def iter_keymap_lines(keymap, row_indents=None):
|
||||
|
@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
uint8_t layer = biton32(state);
|
||||
uint8_t layer = get_highest_layer(state);
|
||||
switch (layer) {
|
||||
case BASE:
|
||||
rgblight_sethsv(HSV_ERGOSLAB_ORANGE);
|
||||
|
@ -102,7 +102,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
edit = false;
|
||||
}
|
||||
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case _ADJUST:
|
||||
temp_config.mode = rgblight_get_mode();
|
||||
rgblight_mode_noeeprom(1);
|
||||
|
@ -121,7 +121,7 @@ layer_state_t layer_state_set_user(layer_state_t state)
|
||||
edit = false;
|
||||
}
|
||||
|
||||
switch (biton32(state))
|
||||
switch (get_highest_layer(state))
|
||||
{
|
||||
case _ADJUST:
|
||||
mode = rgblight_get_mode();
|
||||
|
@ -146,8 +146,8 @@ void matrix_init_user(void) {
|
||||
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
//uint8_t layer = biton32(layer_state);
|
||||
biton32(layer_state);
|
||||
//uint8_t layer = get_highest_layer(layer_state);
|
||||
get_highest_layer(layer_state);
|
||||
};
|
||||
|
||||
|
||||
@ -171,4 +171,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
|
@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
};
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
uint32_t layer = layer_state;
|
||||
layer_state_t layer = layer_state;
|
||||
|
||||
if (layer & (1<<1)) {
|
||||
gh60_fn_led_on();
|
||||
@ -120,4 +120,4 @@ void matrix_scan_user(void) {
|
||||
} else {
|
||||
gh60_esc_led_off();
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
//Layer LED indicators
|
||||
uint32_t layer = layer_state;
|
||||
layer_state_t layer = layer_state;
|
||||
|
||||
if (layer & (1<<1)) {
|
||||
gh60_wasd_leds_on();
|
||||
|
@ -97,7 +97,7 @@ void matrix_scan_user(void) {
|
||||
|
||||
// Layer LED indicators
|
||||
// ESC led on when in function layer, WASD cluster leds enabled when on arrow cluster
|
||||
uint32_t layer = layer_state;
|
||||
layer_state_t layer = layer_state;
|
||||
if (layer & (1<<1)) {
|
||||
gh60_wasd_leds_on();
|
||||
} else {
|
||||
|
@ -177,7 +177,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
if (old_layer != layer) {
|
||||
switch (layer) {
|
||||
|
@ -131,7 +131,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
};
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
switch (layer) {
|
||||
case _QWERTY:
|
||||
|
@ -158,7 +158,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
switch (layer) {
|
||||
case _QWERTY:
|
||||
|
@ -151,7 +151,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
switch (layer) {
|
||||
case _QWERTY:
|
||||
|
@ -241,7 +241,7 @@ void matrix_scan_user(void) {
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case _BL:
|
||||
custom_backlight_level(0);
|
||||
break;
|
||||
|
@ -209,7 +209,7 @@ void press_underscore(void) {
|
||||
uint8_t old_layer=_BASE;
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
frenchdev_led_1_off();
|
||||
frenchdev_led_2_off();
|
||||
|
@ -89,7 +89,7 @@ void matrix_init_user(void) {
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
if (layer) {
|
||||
PORTC |= _BV(PC7);
|
||||
} else {
|
||||
|
@ -87,7 +87,7 @@ void led_set_user(uint8_t usb_led) {
|
||||
//function for layer indicator LED
|
||||
layer_state_t layer_state_set_user(layer_state_t state)
|
||||
{
|
||||
if (biton32(state) == 1) {
|
||||
if (get_highest_layer(state) == 1) {
|
||||
writePinHigh(C6);
|
||||
} else {
|
||||
writePinLow(C6);
|
||||
|
@ -529,7 +529,7 @@ void led_reset(void) {
|
||||
}
|
||||
|
||||
void led_set_default_layer_indicator(void) {
|
||||
uint8_t default_layer = biton32(default_layer_state);
|
||||
uint8_t default_layer = get_highest_layer(default_layer_state);
|
||||
if (default_layer == _QWERTY) {
|
||||
rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY);
|
||||
rgbsps_set(LED_IND_ALT, COLOR_BLANK);
|
||||
@ -553,7 +553,7 @@ void led_set_layer_indicator(void) {
|
||||
rgbsps_set(LED_IND_GREEK, COLOR_BLANK);
|
||||
rgbsps_set(LED_IND_EMOJI, COLOR_BLANK);
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
if (oldlayer == layer) {
|
||||
return;
|
||||
}
|
||||
@ -1014,7 +1014,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
lshift = keyboard_report->mods & MOD_BIT(KC_LSFT);
|
||||
rshift = keyboard_report->mods & MOD_BIT(KC_RSFT);
|
||||
layer = biton32(layer_state);
|
||||
layer = get_highest_layer(layer_state);
|
||||
|
||||
#ifdef DOUBLESPACE_LAYER_ENABLE
|
||||
// double-space: send space immediately if any other key depressed before space is released
|
||||
|
@ -532,7 +532,7 @@ void led_reset(void) {
|
||||
}
|
||||
|
||||
void led_set_default_layer_indicator(void) {
|
||||
uint8_t default_layer = biton32(default_layer_state);
|
||||
uint8_t default_layer = get_highest_layer(default_layer_state);
|
||||
if (default_layer == _QWERTY) {
|
||||
rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY);
|
||||
rgbsps_set(LED_IND_ALT, COLOR_BLANK);
|
||||
@ -556,7 +556,7 @@ void led_set_layer_indicator(void) {
|
||||
rgbsps_set(LED_IND_GREEK, COLOR_BLANK);
|
||||
rgbsps_set(LED_IND_EMOJI, COLOR_BLANK);
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
if (oldlayer == layer) {
|
||||
return;
|
||||
}
|
||||
@ -989,7 +989,7 @@ void process_doublespace(bool pressed, bool *isactive, bool *otheractive, bool *
|
||||
}
|
||||
#endif
|
||||
|
||||
uint32_t layer_state_set_kb(uint32_t state)
|
||||
layer_state_t layer_state_set_kb(layer_state_t state)
|
||||
{
|
||||
// turn on punc layer if both fun & num are on
|
||||
if ((state & ((1UL<<_NUM) | (1UL<<_FUN))) == ((1UL<<_NUM) | (1UL<<_FUN))) {
|
||||
@ -1017,7 +1017,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
lshift = keyboard_report->mods & MOD_BIT(KC_LSFT);
|
||||
rshift = keyboard_report->mods & MOD_BIT(KC_RSFT);
|
||||
layer = biton32(layer_state);
|
||||
layer = get_highest_layer(layer_state);
|
||||
|
||||
#ifdef DOUBLESPACE_LAYER_ENABLE
|
||||
// double-space: send space immediately if any other key depressed before space is released
|
||||
|
@ -219,7 +219,7 @@ void LayerLEDSet(uint8_t layr) {
|
||||
uint8_t old_layer = _QW;
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
if (old_layer != layer) {
|
||||
LayerLEDSet(layer);
|
||||
|
@ -9,7 +9,7 @@ void keyboard_pre_init_user(void)
|
||||
layer_state_t layer_state_set_user(layer_state_t state)
|
||||
{
|
||||
// Switch layer LED accordingly
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case 0:
|
||||
writePinHigh(B0);
|
||||
break;
|
||||
|
@ -242,7 +242,7 @@ float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
|
||||
|
||||
static int current_default_layer;
|
||||
|
||||
uint32_t default_layer_state_set_kb(uint32_t state) {
|
||||
layer_state_t default_layer_state_set_kb(layer_state_t state) {
|
||||
// 1<<_QWERTY - 1 == 1 - 1 == _QWERTY (=0)
|
||||
// 1<<_COLEMAK - 1 == 2 - 1 == _COLEMAK (=1)
|
||||
current_default_layer = state - 1;
|
||||
|
@ -86,7 +86,7 @@ static void render_layer_status(void) {
|
||||
break;
|
||||
default:
|
||||
oled_write_P(PSTR("Undef-"), false);
|
||||
snprintf(buf,sizeof(buf), "%ld", layer_state);
|
||||
snprintf(buf,sizeof(buf), "%u", layer_state);
|
||||
oled_write(buf, false);
|
||||
}
|
||||
oled_write_P(PSTR("\n"), false);
|
||||
|
@ -5,9 +5,9 @@
|
||||
// keymaps definitions are moved to keymap_Xrows.c.
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
uint32_t layer_state_set_keymap(uint32_t state) {
|
||||
layer_state_t layer_state_set_keymap(layer_state_t state) {
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case L_EDVORAKJP_LOWER:
|
||||
rgblight_sethsv_noeeprom_red();
|
||||
break;
|
||||
|
@ -19,7 +19,7 @@ void render_layer_state(void) {
|
||||
char layer_name[17];
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case L_EDVORAKJP_BASE:
|
||||
oled_write_ln_P(PSTR("Default"), false);
|
||||
break;
|
||||
|
@ -379,8 +379,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
int current_default_layer;
|
||||
|
||||
uint32_t default_layer_state_set_user(uint32_t state) {
|
||||
current_default_layer = biton32(state);
|
||||
layer_state_t default_layer_state_set_user(layer_state_t state) {
|
||||
current_default_layer = get_highest_layer(state);
|
||||
return state;
|
||||
}
|
||||
|
||||
|
@ -379,8 +379,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
int current_default_layer;
|
||||
|
||||
uint32_t default_layer_state_set_user(uint32_t state) {
|
||||
current_default_layer = biton32(state);
|
||||
layer_state_t default_layer_state_set_user(layer_state_t state) {
|
||||
current_default_layer = get_highest_layer(state);
|
||||
return state;
|
||||
}
|
||||
|
||||
|
@ -245,7 +245,7 @@ void matrix_scan_user(void) {
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case _BL:
|
||||
custom_backlight_level(0);
|
||||
rgblight_sethsv_noeeprom(180,100,255);
|
||||
|
@ -163,7 +163,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
|
@ -170,7 +170,7 @@ void matrix_init_user(void) {
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -189,7 +189,7 @@ void matrix_init_user(void) {
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -167,7 +167,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -335,7 +335,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_on();
|
||||
ergodox_led_all_on();
|
||||
|
@ -492,7 +492,7 @@ void matrix_init_user(void) {
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -223,7 +223,7 @@ void matrix_init_user(void) {
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -659,7 +659,7 @@ void matrix_setup(void) {
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
// uint8_t layer = biton32(layer_state);
|
||||
// uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
// ergodox_board_led_off();
|
||||
// ergodox_right_led_1_off();
|
||||
|
@ -221,7 +221,7 @@ void matrix_init_user(void){
|
||||
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -179,7 +179,7 @@ void matrix_init_user(void) {
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -309,7 +309,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -137,7 +137,7 @@ void matrix_init_user(void) {
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
|
@ -239,7 +239,7 @@ void matrix_scan_user(void) {
|
||||
//Turn on layer indicator or page depending on mode
|
||||
switch(led_mode_global) {
|
||||
case MODE_FLASH: //flash preset page leds then single indicator
|
||||
page = biton32(layer_state) > max_pages ? 7 : biton32(layer_state);
|
||||
page = get_highest_layer(layer_state) > max_pages ? 7 : get_highest_layer(layer_state);
|
||||
msg=(page << 8) | DISPLAY_PAGE;
|
||||
chMBPost(&led_mailbox, msg, TIME_IMMEDIATE);
|
||||
chThdSleepMilliseconds(500);
|
||||
@ -254,7 +254,7 @@ void matrix_scan_user(void) {
|
||||
break;
|
||||
|
||||
case MODE_PAGE: //display pre-defined led page
|
||||
page = biton32(layer_state) > max_pages ? 7 : biton32(layer_state);
|
||||
page = get_highest_layer(layer_state) > max_pages ? 7 : get_highest_layer(layer_state);
|
||||
msg=(page << 8) | DISPLAY_PAGE;
|
||||
chMBPost(&led_mailbox, msg, TIME_IMMEDIATE);
|
||||
break;
|
||||
|
@ -224,7 +224,7 @@ void matrix_scan_user(void) {
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case _BL:
|
||||
custom_backlight_level(0);
|
||||
rgblight_sethsv_noeeprom(180,100,255);
|
||||
|
@ -253,7 +253,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
}
|
||||
}
|
||||
if (index == 1) { /* Second encoder, Left side */
|
||||
switch(biton32(layer_state)) {
|
||||
switch(get_highest_layer(layer_state)) {
|
||||
case _LOWER:
|
||||
if (clockwise) {
|
||||
rgblight_decrease_hue();
|
||||
|
@ -255,7 +255,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
}
|
||||
}
|
||||
if (index == 1) { /* Second encoder, Left side */
|
||||
switch(biton32(layer_state)) {
|
||||
switch(get_highest_layer(layer_state)) {
|
||||
case _LOWER:
|
||||
if (clockwise) {
|
||||
rgblight_decrease_hue();
|
||||
|
@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
#ifdef OLED_ENABLE
|
||||
bool oled_task_user(void) {
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case BASE:
|
||||
oled_write_P(PSTR("Default\n"), false);
|
||||
break;
|
||||
|
@ -175,7 +175,7 @@ void matrix_scan_user(void) {
|
||||
#ifdef OLED_ENABLE
|
||||
bool oled_task_user(void) {
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case BASE:
|
||||
oled_write_P(PSTR("Default\n"), false);
|
||||
break;
|
||||
|
@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
#ifdef OLED_ENABLE
|
||||
bool oled_task_user(void) {
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case BASE:
|
||||
oled_write_P(PSTR("Default\n"), false);
|
||||
break;
|
||||
|
@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
#ifdef OLED_ENABLE
|
||||
bool oled_task_user(void) {
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case BASE:
|
||||
oled_write_P(PSTR("Default\n"), false);
|
||||
break;
|
||||
|
@ -38,7 +38,7 @@ void eeconfig_init_user(void) {
|
||||
#define DE_UDIA_CAP UC(0x00DC)
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case NM_MODE:
|
||||
rgblight_setrgb (0x00, 0x66, 0x00);
|
||||
break;
|
||||
@ -187,4 +187,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
_______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
|
||||
|
@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case WINDOWS_LAYER:
|
||||
rgblight_setrgb_blue();
|
||||
break;
|
||||
|
@ -8,7 +8,7 @@
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
@ -103,8 +103,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_EQL, S(KC_EQL), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_E), KC_RBRC, RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS),
|
||||
KC_LSFT, KC_NUBS, RALT(KC_NUBS), S(KC_NUBS), DGRMCRO, XXXXXXX, XXXXXXX, RALT(KC_M), KC_RBRC, S(KC_RBRC), RALT(KC_RBRC), _______,
|
||||
_______, _______, KC_RALT, _______,TO(_ADJUST), _______, _______, _______, _______, _______, _______, TO(_QWERTY)
|
||||
),
|
||||
|
||||
),
|
||||
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
@ -257,10 +257,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
}
|
||||
else {
|
||||
workmode = false;
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -293,7 +293,7 @@ void rgbflag(uint8_t r, uint8_t g, uint8_t b) {
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
// if(rgblight_get_mode() == 1) {
|
||||
switch (biton32(state)) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case _QWERTY:
|
||||
if(!workmode){
|
||||
rgblight_mode(9);
|
||||
@ -312,7 +312,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
tap_code(KC_NLCK);
|
||||
}
|
||||
rgbflag(0xFF, 0x00, 0x00);
|
||||
|
||||
|
||||
break;
|
||||
case _ADJUST:
|
||||
rgblight_mode(1);
|
||||
@ -350,7 +350,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
rgblight_mode(1);
|
||||
if(bnumlock) {
|
||||
tap_code(KC_NLCK);
|
||||
}
|
||||
}
|
||||
rgbflag(0xFF, 0xFF, 0xFF);
|
||||
break;
|
||||
}
|
||||
@ -363,8 +363,8 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
//Layer LED indicators
|
||||
|
||||
uint32_t layer = layer_state;
|
||||
|
||||
|
||||
|
||||
|
||||
if (layer & (1<<2)) {
|
||||
if(!bnumlock) {
|
||||
numlock_changed = true;
|
||||
@ -373,10 +373,10 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
bnumlock = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
void led_set_user(uint8_t usb_led) {
|
||||
|
||||
if (usb_led & (1 << USB_LED_NUM_LOCK)) {
|
||||
@ -410,4 +410,4 @@ void led_set_user(uint8_t usb_led) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -187,7 +187,7 @@ void rgbflag(uint8_t r, uint8_t g, uint8_t b, uint8_t rr, uint8_t gg, uint8_t bb
|
||||
|
||||
void set_state_leds(void) {
|
||||
if (rgblight_get_mode() == 1) {
|
||||
switch (biton32(layer_state)) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _RAISE:
|
||||
rgbflag(C_BLU, C_GRN);
|
||||
break;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user