diff options
Diffstat (limited to 'users')
236 files changed, 806 insertions, 7234 deletions
diff --git a/users/333fred/333fred.c b/users/333fred/333fred.c index ea7b904403..c035493e37 100644 --- a/users/333fred/333fred.c +++ b/users/333fred/333fred.c @@ -92,13 +92,13 @@ void tap_dance_copy_paste_finished(qk_tap_dance_state_t *state, void *user_data) if (is_shift) { SEND_STRING(SS_LSFT(SS_TAP(X_INSERT))); } else { - SEND_STRING(SS_LCTRL("v")); + SEND_STRING(SS_LCTL("v")); } } else { if (is_shift) { - SEND_STRING(SS_LCTRL(SS_TAP(X_INSERT))); + SEND_STRING(SS_LCTL(SS_TAP(X_INSERT))); } else { - SEND_STRING(SS_LCTRL("c")); + SEND_STRING(SS_LCTL("c")); } } } @@ -135,7 +135,7 @@ bool try_handle_macro(uint16_t keycode, keyrecord_t *record) { return true; case PSCREEN_APP: if (record->event.pressed) - SEND_STRING(SS_LALT(SS_TAP(X_PSCREEN))); + SEND_STRING(SS_LALT(SS_TAP(X_PRINT_SCREEN))); return true; default: diff --git a/users/alfrdmalr/alfrdmalr.h b/users/alfrdmalr/alfrdmalr.h index c779a353d9..851ab02815 100644 --- a/users/alfrdmalr/alfrdmalr.h +++ b/users/alfrdmalr/alfrdmalr.h @@ -73,7 +73,7 @@ enum alfrdmalr_keycodes { #define K1B_ALT KC_DEL // for 5x12 boards, keep backspace as the top-left key and add delete key #define K2B KC_QUOT #define K3B KC_RSFT -#define K4B KC_LEAD +#define K4B QK_LEAD // LAYOUT WRAPPERS ===================================================================== #if (!defined(LAYOUT) && defined(KEYMAP)) @@ -148,7 +148,7 @@ enum alfrdmalr_keycodes { // RIGHT // - CORE -#define ____NUMPAD_R1____ KC_NLCK, KC_7, KC_8, KC_9, KC_MINS +#define ____NUMPAD_R1____ KC_NUM, KC_7, KC_8, KC_9, KC_MINS #define ____NUMPAD_R2____ KC_SPC, KC_4, KC_5, KC_6, KC_PLUS #define ____NUMPAD_R3____ KC_NO, KC_1, KC_2, KC_3, KC_SLSH @@ -219,7 +219,7 @@ enum alfrdmalr_keycodes { // LEFT // - CORE #define __NAVIGATION_L1__ KC_NO, KC_NO, KC_SPC, KC_F5, KC_NO -#define __NAVIGATION_L2__ KC_LSFT, KC_LCTRL, KC_LALT, KC_LGUI, KC_NO +#define __NAVIGATION_L2__ KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, KC_NO #define __NAVIGATION_L3__ WINUNDO, WINCUT, WINCOPY, WINPASTE, KC_NO // - MODS @@ -268,7 +268,7 @@ enum alfrdmalr_keycodes { #define K00_SET KC_NO #define K10_SET KC_NO #define K20_SET KC_NO -#define K30_SET KC_ASTG +#define K30_SET AS_TOGG #define K40_SET KC_NO // RIGHT @@ -282,5 +282,5 @@ enum alfrdmalr_keycodes { #define K0B_SET KC_NO #define K1B_SET KC_NO #define K2B_SET KC_NO -#define K3B_SET KC_ASTG +#define K3B_SET AS_TOGG #define K4B_SET KC_NO diff --git a/users/anderson/seq.c b/users/anderson/seq.c index ff50648599..8e6edb35d3 100644 --- a/users/anderson/seq.c +++ b/users/anderson/seq.c @@ -11,7 +11,7 @@ void seq_start(void) { bool seq_feed(uint16_t keycode) { if (keycode == KC_ENTER) { for (int i = 0; i < buffer_size + 1; i++) { - tap_code(KC_BSPACE); + tap_code(KC_BACKSPACE); } for (int i = 0; i < seq_config_size; i++) { seq_t item = seq_config[i]; @@ -21,7 +21,7 @@ bool seq_feed(uint16_t keycode) { } buffer_size = 0; return false; - } else if (keycode == KC_BSPACE) { + } else if (keycode == KC_BACKSPACE) { if (buffer_size) { buffer_size--; tap_code(keycode); diff --git a/users/arkag/arkag.c b/users/arkag/arkag.c index da85d4f6d4..e7c8218587 100644 --- a/users/arkag/arkag.c +++ b/users/arkag/arkag.c @@ -190,15 +190,15 @@ void set_os (uint8_t os, bool update) { } switch (os) { case OS_MAC: - set_unicode_input_mode(UC_OSX); + set_unicode_input_mode(UNICODE_MODE_MACOS); underglow = (Color){ 213, 255, 255 }; break; case OS_WIN: - set_unicode_input_mode(UC_WINC); + set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); underglow = (Color){ 128, 255, 255 }; break; case OS_NIX: - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); underglow = (Color){ 43, 255, 255 }; break; default: @@ -458,7 +458,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; - case KC_BSPACE: + case KC_BACKSPACE: if (record->event.pressed) { state = active; velocikey_accelerate(); diff --git a/users/arkag/mechmini2.jpg b/users/arkag/mechmini2.jpg Binary files differdeleted file mode 100644 index 611a0859c0..0000000000 --- a/users/arkag/mechmini2.jpg +++ /dev/null diff --git a/users/art/art.c b/users/art/art.c index 151249ec3f..f96a5d6cfd 100644 --- a/users/art/art.c +++ b/users/art/art.c @@ -64,7 +64,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { //Checking all other non-backspace keys to clear the backspace buffer. This is to prevent the bug of deleting N chars sometime after using a macro switch (keycode) { case LT(COMBOS,KC_BSPC): - case KC_BSPACE: + case KC_BACKSPACE: case KC_DEL: case KC_LSFT: case KC_RSFT: @@ -537,7 +537,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool shifted = get_mods() & MOD_MASK_SHIFT; clear_mods(); - press_n_times(15, KC_BSPACE); + press_n_times(15, KC_BACKSPACE); send_string_with_translation("heckout "); char_to_bspace = 13; if (shifted) { @@ -553,7 +553,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool shifted = get_mods() & MOD_MASK_SHIFT; clear_mods(); - press_n_times(15, KC_BSPACE); + press_n_times(15, KC_BACKSPACE); send_string_with_translation("ommit "); char_to_bspace = 11; layer_off(GIT_C); @@ -616,7 +616,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; case G_RBASE: if (!record->event.pressed) { - press_n_times(18, KC_BSPACE); + press_n_times(18, KC_BACKSPACE); send_string_with_translation("base -i "); char_to_bspace = 14; layer_off(GIT_R); @@ -624,7 +624,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; case G_RVERT: if (!record->event.pressed) { - press_n_times(18, KC_BSPACE); + press_n_times(18, KC_BACKSPACE); send_string_with_translation("vert "); char_to_bspace = 11; layer_off(GIT_R); @@ -635,7 +635,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool shifted = get_mods() & MOD_MASK_SHIFT; clear_mods(); - press_n_times(18, KC_BSPACE); + press_n_times(18, KC_BACKSPACE); send_string_with_translation("set "); char_to_bspace = 10; @@ -654,7 +654,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; case G_SHOW: if (!record->event.pressed) { - press_n_times(16, KC_BSPACE); + press_n_times(16, KC_BACKSPACE); send_string_with_translation("how "); char_to_bspace = 9; layer_off(GIT_S); @@ -665,7 +665,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool shifted = get_mods() & MOD_MASK_SHIFT; clear_mods(); - press_n_times(16, KC_BSPACE); + press_n_times(16, KC_BACKSPACE); send_string_with_translation("tash "); char_to_bspace = 10; @@ -681,7 +681,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; case G_STAT: if (!record->event.pressed) { - press_n_times(16, KC_BSPACE); + press_n_times(16, KC_BACKSPACE); send_string_with_translation("tatus "); char_to_bspace = 11; layer_off(GIT_S); diff --git a/users/art/funcs/string_funcs.c b/users/art/funcs/string_funcs.c index d3a177a1b1..319b1310e4 100644 --- a/users/art/funcs/string_funcs.c +++ b/users/art/funcs/string_funcs.c @@ -46,8 +46,8 @@ const uint16_t PROGMEM combo_up[] = {KC_W, KC_R, COMBO_END}; const uint16_t PROGMEM combo_left[] = {KC_S, KC_E, COMBO_END}; const uint16_t PROGMEM combo_right[] = {KC_F, KC_E, COMBO_END}; const uint16_t PROGMEM combo_down[] = {KC_S, KC_F, COMBO_END}; -const uint16_t PROGMEM combo_prev_word[] = {KC_S, KC_LCTRL, COMBO_END}; -const uint16_t PROGMEM combo_next_word[] = {KC_F, KC_LCTRL, COMBO_END}; +const uint16_t PROGMEM combo_prev_word[] = {KC_S, KC_LCTL, COMBO_END}; +const uint16_t PROGMEM combo_next_word[] = {KC_F, KC_LCTL, COMBO_END}; const uint16_t PROGMEM combo_end[] = {KC_W, KC_E, COMBO_END}; const uint16_t PROGMEM combo_home[] = {KC_E, KC_R, COMBO_END}; @@ -64,7 +64,7 @@ const uint16_t PROGMEM combo_f8[] = {KC_8, KC_I, COMBO_END}; const uint16_t PROGMEM combo_f9[] = {KC_9, KC_O, COMBO_END}; const uint16_t PROGMEM combo_f10[] = {KC_0, KC_P, COMBO_END}; const uint16_t PROGMEM combo_f11[] = {LT(GIT,KC_SLSH), KC_RSFT, COMBO_END}; -const uint16_t PROGMEM combo_f12[] = {KC_RALT, KC_RCTRL, COMBO_END}; +const uint16_t PROGMEM combo_f12[] = {KC_RALT, KC_RCTL, COMBO_END}; const uint16_t PROGMEM combo_pscreen[] = {TO(WORKMAN), KC_RALT, COMBO_END}; const uint16_t PROGMEM done_sm[] = {KC_LEFT, KC_RIGHT, COMBO_END}; @@ -95,7 +95,7 @@ combo_t key_combos[] = { [ED_F10] = COMBO(combo_f10, KC_F10), [ED_F11] = COMBO(combo_f11, KC_F11), [ED_F12] = COMBO(combo_f12, KC_F12), - [ED_PSCREEN] = COMBO(combo_pscreen, KC_PSCREEN), + [ED_PSCREEN] = COMBO(combo_pscreen, KC_PRINT_SCREEN), [ED_CS_ENTER] = COMBO_ACTION(done_sm), #endif @@ -169,7 +169,7 @@ bool handle_del_bspace(void) { layer_off(GIT_R); layer_off(GIT_S); - press_n_times(char_to_bspace, KC_BSPACE); + press_n_times(char_to_bspace, KC_BACKSPACE); char_to_bspace = 1; press_n_times(char_to_del, KC_DEL); char_to_del = 0; diff --git a/users/bbaserdem/.gitignore b/users/bbaserdem/.gitignore deleted file mode 100644 index 57bd0e43b4..0000000000 --- a/users/bbaserdem/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/secrets.h -/secrets.c diff --git a/users/bbaserdem/bb-audio.c b/users/bbaserdem/bb-audio.c deleted file mode 100644 index eef0cdf2f6..0000000000 --- a/users/bbaserdem/bb-audio.c +++ /dev/null @@ -1,82 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - - -#include "bb-audio.h" -/* AUDIO - * This contains some audio related stuff. - * There is no need to wrap this up with preprocessor commands; - * This is only called if audio is enabled - */ - -float tone_game_intro[][2] = GAME_ON_SONG; -float tone_game_outro[][2] = GAME_OFF_SONG; - -// Audio playing when layer changes -layer_state_t layer_state_set_audio(layer_state_t state) { - // Get this layer - static bool prev_game = false; - - // If entering the game layer; play the intro sound - if (layer_state_cmp(state, _GAME) && (!prev_game)) { - stop_all_notes(); - PLAY_SONG(tone_game_intro); - prev_game = true; - } - // If exiting the game layer; play the outro sound - if ((!layer_state_cmp(state, _GAME)) && prev_game) { - stop_all_notes(); - PLAY_SONG(tone_game_outro); - prev_game = false; - } - return state; -} - -// Audio layer switch; add the music layer on top of this -bool process_record_audio(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case MU_TOG: - if (!record->event.pressed) { - // On release, exit music mode if enabled - if (layer_state_is(_MUSI)) { - layer_off(_MUSI); - // If not enabled; turn off all layers and load music layer - } else { - layer_clear(); - layer_on(_MUSI); - } - } - return true; - break; - case MU_ON: - if (!record->event.pressed) { - // On release, enter music mode - layer_clear(); - layer_on(_MUSI); - } - return true; - break; - case MU_OFF: - if (!record->event.pressed) { - // On release, exit music mode - layer_off(_MUSI); - } - return true; - break; - } - return true; -} diff --git a/users/bbaserdem/bb-audio.h b/users/bbaserdem/bb-audio.h deleted file mode 100644 index 351061ab9a..0000000000 --- a/users/bbaserdem/bb-audio.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#pragma once -#include "bbaserdem.h" - -/* AUDIO - * Some functions to hook to some modes - */ - -// Hook to layer change effects -layer_state_t layer_state_set_audio(layer_state_t state); - -// Hook to audio keycodes -bool process_record_audio(uint16_t keycode, keyrecord_t *record); diff --git a/users/bbaserdem/bb-backlight.c b/users/bbaserdem/bb-backlight.c deleted file mode 100644 index 5eca1f2c11..0000000000 --- a/users/bbaserdem/bb-backlight.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include "bb-backlight.h" -/* Replaced functions with noeeprom varieties; I don't need retention across - * booting. - */ - -// Backlight LEDs -void keyboard_post_init_backlight(void) { - backlight_enable(); - backlight_level(2); -# ifdef BACKLIGHT_BREATHING - breathing_enable(); -# endif // BACKLIGHT_BREATHING -} diff --git a/users/bbaserdem/bb-backlight.h b/users/bbaserdem/bb-backlight.h deleted file mode 100644 index 3af3137d9a..0000000000 --- a/users/bbaserdem/bb-backlight.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#pragma once -#include "bbaserdem.h" - -/* Hooks for backlight definitions - */ - -void keyboard_post_init_backlight(void); diff --git a/users/bbaserdem/bb-encoder.c b/users/bbaserdem/bb-encoder.c deleted file mode 100644 index eea9751051..0000000000 --- a/users/bbaserdem/bb-encoder.c +++ /dev/null @@ -1,514 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#include "bb-encoder.h" - -// Need this to call velocikey activation -#ifdef VELOCIKEY_ENABLE -# include "velocikey.h" -#endif // VELOCIKEY_ENABLE -// Need memcpy and memcmp from string.h along with transfer stuff -#ifdef OLED_ENABLE -# include <string.h> -#endif // OLED_ENABLE - -/* ROTARY ENCODER - * This contains my general rotary encoder code - * Encoders each have a list of different modes they can be in. - * Each mode also have an on click action as well. - * Modes can be cycled using either shift-click or ctrl-click - * Modes can be reset using OS click - * Some modes are only accessible through some keymap layers - */ - -// Default state for the encoders -void reset_encoder_state(void) { - userspace_config.e0base = 0; - userspace_config.e0point = 0; - userspace_config.e0rgb = 0; - userspace_config.e1base = 1; - userspace_config.e1point = 1; - userspace_config.e1rgb = 1; -} - -// Encoder scroll functionality -bool encoder_update_user(uint8_t index, bool clockwise) { - uint8_t this_number; - // Differentiate layer roles - switch (get_highest_layer(layer_state)) { -# ifdef RGB_MATRIX_ENABLE - case _MEDI: - // Get correct index - if (index == 0) { - this_number = userspace_config.e0rgb; - } else if (index == 1) { - this_number = userspace_config.e1rgb; - } else { - this_number = 128; - } - switch(this_number) { - case 0: // Effect the RGB mode - if (clockwise) { - rgb_matrix_step_noeeprom(); - } else { - rgb_matrix_step_reverse_noeeprom(); - } - break; - case 1: // Effect the RGB hue - if (clockwise) { - rgb_matrix_increase_hue_noeeprom(); - } else { - rgb_matrix_decrease_hue_noeeprom(); - } - break; - case 2: // Effect the RGB saturation - if (clockwise) { - rgb_matrix_increase_sat_noeeprom(); - } else { - rgb_matrix_decrease_sat_noeeprom(); - } - break; - case 3: // Effect the RGB brightness - if (clockwise) { - rgb_matrix_increase_val_noeeprom(); - } else { - rgb_matrix_decrease_val_noeeprom(); - } - break; - case 4: // Effect the RGB effect speed - if (clockwise) { - rgb_matrix_increase_speed_noeeprom(); - } else { - rgb_matrix_decrease_speed_noeeprom(); - } - break; - } - break; -# endif // RGB_MATRIX_ENABLE -# ifdef MOUSEKEY_ENABLE - case _MOUS: - // Get correct index - if (index == 0) { - this_number = userspace_config.e0point; - } else if (index == 1) { - this_number = userspace_config.e1point; - } else { - this_number = 128; - } - switch(this_number) { - case 0: // Move mouse on horizontal axis - if (clockwise) { - tap_code(KC_MS_R); - } else { - tap_code(KC_MS_L); - } - break; - case 1: // Move mouse on vertical axis - if (clockwise) { - tap_code(KC_MS_D); - } else { - tap_code(KC_MS_U); - } - break; - case 2: // Move mouse wheel on vertical axis - if (clockwise) { - tap_code(KC_WH_D); - } else { - tap_code(KC_WH_U); - } - break; - case 3: // Move mouse on horizontal axis - if (clockwise) { - tap_code(KC_WH_R); - } else { - tap_code(KC_WH_L); - } - break; - } - break; -# endif // MOUSEKEY_ENABLE - default: - // Get correct index - if (index == 0) { - this_number = userspace_config.e0base; - } else if (index == 1) { - this_number = userspace_config.e1base; - } else { - this_number = 128; - } - switch(this_number) { - case 0: // Volume - if (clockwise) { - tap_code16(KC_VOLU); - } else { - tap_code16(KC_VOLD); - } - break; - case 1: // Song change - if (clockwise) { - tap_code16(KC_MNXT); - } else { - tap_code16(KC_MPRV); - } - break; - case 2: // Move to audio sink - if (clockwise) { - tap_code16(KC_F13); - } else { - tap_code16(S(KC_F13)); - } - break; - case 3: // Volume of source - if (clockwise) { - tap_code16(S(KC_VOLU)); - } else { - tap_code16(C(KC_VOLD)); - } - break; - case 4: // Move to audio source - if (clockwise) { - tap_code16(C(KC_F13)); - } else { - tap_code16(C(S(KC_F13))); - } - break; - case 5: // Left-right - if (clockwise) { - tap_code16(KC_RGHT); - } else { - tap_code16(KC_LEFT); - } - break; - case 6: // Up-down - if (clockwise) { - tap_code16(KC_DOWN); - } else { - tap_code16(KC_UP); - } - break; - case 7: // Page Up-down - if (clockwise) { - tap_code16(KC_PGDN); - } else { - tap_code16(KC_PGUP); - } - break; - case 8: // Delete - if (clockwise) { - tap_code16(KC_DEL); - } else { - tap_code16(KC_BSPC); - } - break; - } - break; - } - return false; -} - -void encoder_click_action(uint8_t index) { - uint8_t this_number; - // Differentiate layer roles - switch (get_highest_layer(layer_state)) { -# ifdef RGB_MATRIX_ENABLE - case _MEDI: - // Get correct index - if (index == 0) { - this_number = userspace_config.e0rgb; - } else if (index == 1) { - this_number = userspace_config.e1rgb; - } else { - this_number = 128; - } - switch(this_number) { - case 0: // Return to no animation - rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); - break; - case 1: - case 2: - case 3: // Toggle - rgb_matrix_increase_val_noeeprom(); - break; - case 4: // Toggle velocikey -# ifdef VELOCIKEY_ENABLE - velocikey_toggle(); -# endif // VELOCIKEY_ENABLE - break; - } - break; -# endif // RGB_MATRIX_ENABLE -# ifdef MOUSEKEY_ENABLE - case _MOUS: - // Get correct index - if (index == 0) { - this_number = userspace_config.e0point; - } else if (index == 1) { - this_number = userspace_config.e1point; - } else { - this_number = 128; - } - switch(this_number) { - case 0: // Left click - tap_code16(KC_BTN1); - break; - case 1: // Right click - tap_code16(KC_BTN2); - break; - case 2: - case 3: // Middle click - tap_code16(KC_BTN2); - break; - } - break; -# endif // MOUSEKEY_ENABLE - default: - // Get correct index - if (index == 0) { - this_number = userspace_config.e0base; - } else if (index == 1) { - this_number = userspace_config.e1base; - } else { - this_number = 128; - } - switch(this_number) { - case 0: // Toggle mute - case 2: - tap_code16(KC_MUTE); - break; - case 1: // Pause - tap_code16(KC_MPLY); - break; - case 3: // Mute source - case 4: - tap_code16(A(KC_MUTE)); - break; - case 5: // Insert - tap_code16(KC_INS); - break; - case 6: // Capslock - tap_code16(KC_CAPS); - break; - case 7: // Redo - tap_code16(BB_REDO); - break; - case 8: // Undo - tap_code16(BB_UNDO); - break; - } - break; - } -} - -bool process_record_encoder(uint16_t keycode, keyrecord_t *record) { - // Check if and which encoder - int encoder_index = -1; - - // Get the pressed encoder - switch (keycode) { - case BB_ENC0: - encoder_index = 0; - break; - case BB_ENC1: - encoder_index = 1; - break; - } - - // Activate encoder function of button - if ((encoder_index >= 0) & (!record->event.pressed)) { - // If shifted, move mode one point forward - if (get_mods() & MOD_MASK_SHIFT) { - switch (get_highest_layer(layer_state)) { -# ifdef RGB_MATRIX_ENABLE - case _MEDI: - if (encoder_index == 0) { - userspace_config.e0rgb = (userspace_config.e0rgb + 1) % 5; - } else { - userspace_config.e1rgb = (userspace_config.e1rgb + 1) % 5; - } - break; -# endif // RGB_MATRIX_ENABLE -# ifdef MOUSEKEY_ENABLE - case _MOUS: - if (encoder_index == 0) { - userspace_config.e0point = (userspace_config.e0point + 1) % 4; - } else { - userspace_config.e1point = (userspace_config.e1point + 1) % 4; - } - break; -# endif // MOUSEKEY_ENABLE - default: - if (encoder_index == 0) { - userspace_config.e0base = (userspace_config.e0base + 1) % 9; - } else { - userspace_config.e1base = (userspace_config.e1base + 1) % 9; - } - break; - } - // If ctrl is active, move mode one point backwards - } else if (get_mods() & MOD_MASK_CTRL) { - switch (get_highest_layer(layer_state)) { -# ifdef RGB_MATRIX_ENABLE - case _MEDI: - if (encoder_index == 0) { - userspace_config.e0rgb = (userspace_config.e0rgb + 5 - 1) % 5; - } else { - userspace_config.e1rgb = (userspace_config.e1rgb + 5 - 1) % 5; - } - break; -# endif // RGB_MATRIX_ENABLE -# ifdef MOUSEKEY_ENABLE - case _MOUS: - if (encoder_index == 0) { - userspace_config.e0point = (userspace_config.e0point + 4 - 1) % 4; - } else { - userspace_config.e1point = (userspace_config.e1point + 4 - 1) % 4; - } - break; -# endif // MOUSEKEY_ENABLE - default: - if (encoder_index == 0) { - userspace_config.e0base = (userspace_config.e0base + 9 - 1) % 9; - } else { - userspace_config.e1base = (userspace_config.e1base + 9 - 1) % 9; - } - break; - } - // If meta is active, reset the encoder states - } else if (get_mods() & MOD_MASK_GUI) { - reset_encoder_state(); - eeconfig_update_user(userspace_config.raw); - // If nothing else; just perform the click action - } else { - encoder_click_action(encoder_index); - } - } - return true; -} - -// For printing status to OLED -#ifdef OLED_ENABLE -void encoder_state_string(uint8_t index, uint8_t layer, char* buffer) { - uint8_t this_number; - // Get the layer straight from the main function - switch (layer) { - // If RGB control mode is enabled -# ifdef RGB_MATRIX_ENABLE - case _MEDI: - // Get correct index - if (index == 0) { - this_number = userspace_config.e0rgb; - } else if (index == 1) { - this_number = userspace_config.e1rgb; - } else { - this_number = 128; - } - switch (this_number) { - case 0: - strcpy(buffer, "ani mode"); - break; - case 1: - strcpy(buffer, "hue "); - break; - case 2: - strcpy(buffer, "saturat."); - break; - case 3: - strcpy(buffer, "bright. "); - break; - case 4: - strcpy(buffer, "ani. spd"); - break; - default: - strcpy(buffer, " -N/A- "); - break; - } - break; -# endif // RGB_MATRIX_ENABLE - // If pointer control is enabled -# ifdef MOUSEKEY_ENABLE - case _MOUS: - // Get correct index - if (index == 0) { - this_number = userspace_config.e0point; - } else if (index == 1) { - this_number = userspace_config.e1point; - } else { - this_number = 128; - } - switch (this_number) { - case 0: - strcpy(buffer, "Lateral "); - break; - case 1: - strcpy(buffer, "Vertical"); - break; - case 2: - strcpy(buffer, "Scr. Ver"); - break; - case 3: - strcpy(buffer, "Scr. Lat"); - break; - default: - strcpy(buffer, " -N/A- "); - break; - } - break; -# endif // MOUSEKEY_ENABLE - default: - // Get correct index - if (index == 0) { - this_number = userspace_config.e0base; - } else if (index == 1) { - this_number = userspace_config.e1base; - } else { - this_number = 128; - } - switch (this_number) { - case 0: - strcpy(buffer, "Volume "); - break; - case 1: - strcpy(buffer, "Song "); - break; - case 2: - strcpy(buffer, "Sink "); - break; - case 3: - strcpy(buffer, "Src. Vol"); - break; - case 4: - strcpy(buffer, "Source "); - break; - case 5: - strcpy(buffer, "Arrow LR"); - break; - case 6: - strcpy(buffer, "Arrow UD"); - break; - case 7: - strcpy(buffer, "Page U/D"); - break; - case 8: - strcpy(buffer, "Erase "); - break; - default: - strcpy(buffer, " -N/A- "); - break; - } - break; - } -} -#endif // OLED_ENABLE diff --git a/users/bbaserdem/bb-encoder.h b/users/bbaserdem/bb-encoder.h deleted file mode 100644 index dce08cd3d5..0000000000 --- a/users/bbaserdem/bb-encoder.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#pragma once -#include "bbaserdem.h" - -// Hook to encoder stuff -bool encoder_update_user(uint8_t index, bool clockwise); -// Complicated code for what the encoder keys do when pressed -bool process_record_encoder(uint16_t keycode, keyrecord_t *record); -// Clear the encoder settings -void reset_encoder_state(void); -// This is so that encoder state is synched between two halves -void housekeeping_task_encoder(void); -// This is purely for oled; should it want to use it -void encoder_state_string(uint8_t index, uint8_t layer, char* buffer); diff --git a/users/bbaserdem/bb-macro.c b/users/bbaserdem/bb-macro.c deleted file mode 100644 index a84a7bbc21..0000000000 --- a/users/bbaserdem/bb-macro.c +++ /dev/null @@ -1,156 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#include "bb-macro.h" - -/* MACRO Definitions - * This file has my macros/unicodes - * Hooks for other functionality to inject itself into the process_record - */ - -// Tap dance definitons -#ifdef AUDIO_ENABLE -#ifdef TAP_DANCE_ENABLE -qk_tap_dance_action_t tap_dance_actions[] = { - // Music playback speed modulator - [TD_AUDIO_TEMPO] = ACTION_TAP_DANCE_DOUBLE(MU_SLOW, MU_FAST), -}; -#endif // AUDIO_ENABLE -#endif // TAP_DANCE_ENABLE - -// Unicode definitions; for single character keys -// We mask their definitions if unicode is not enabled -#ifdef UNICODEMAP_ENABLE -const uint32_t PROGMEM unicode_map[] = { - [UPC_A_CIRC] = 0x00C2, [LOW_A_CIRC] = 0x00E2, //  â - [UPC_C_CEDI] = 0x00C7, [LOW_C_CEDI] = 0x00E7, // Ç ç - [UPC_G_BREV] = 0x011E, [LOW_G_BREV] = 0x001F, // Ğ ğ - [UPC_I_CIRC] = 0x00CE, [LOW_I_CIRC] = 0x00EE, // Î î - [UPC_I_DOTL] = 0x0049, [LOW_I_DOTL] = 0x0131, // I ı - [UPC_I_DOTT] = 0x0130, [LOW_I_DOTT] = 0x0069, // İ i - [UPC_O_DIAE] = 0x00D6, [LOW_O_DIAE] = 0x00F6, // Ö ö - [UPC_S_CEDI] = 0x015E, [LOW_S_CEDI] = 0x015F, // Ş ş - [UPC_U_CIRC] = 0x00DB, [LOW_U_CIRC] = 0x00FB, // Û û - [UPC_U_DIAE] = 0x00DC, [LOW_U_DIAE] = 0x00FC, // Ü ü - [UPC_ALPHA] = 0x0391, [LOW_ALPHA] = 0x03B1, // Α α - [UPC_BETA] = 0x0392, [LOW_BETA] = 0x03B2, // Β β - [UPC_GAMMA] = 0x0393, [LOW_GAMMA] = 0x03B3, // Γ γ - [UPC_DELTA] = 0x0394, [LOW_DELTA] = 0x03B4, // Δ δ - [UPC_EPSILON] = 0x0395, [LOW_EPSILON] = 0x03B5, // Ε ε - [UPC_ZETA] = 0x0396, [LOW_ZETA] = 0x03B6, // Ζ ζ - [UPC_ETA] = 0x0397, [LOW_ETA] = 0x03B7, // Η η - [UPC_THETA] = 0x0398, [LOW_THETA] = 0x03B8, // Θ θ - [UPC_IOTA] = 0x0399, [LOW_IOTA] = 0x03B9, // Ι ι - [UPC_KAPPA] = 0x039A, [LOW_KAPPA] = 0x03BA, // Κ κ - [UPC_LAMBDA] = 0x039B, [LOW_LAMBDA] = 0x03BB, // Λ λ - [UPC_MU] = 0x039C, [LOW_MU] = 0x03BC, // Μ μ - [UPC_NU] = 0x039D, [LOW_NU] = 0x03BD, // Ν ν - [UPC_XI] = 0x039E, [LOW_XI] = 0x03BE, // Ξ ξ - [UPC_OMICRON] = 0x039F, [LOW_OMICRON] = 0x03BF, // Ο ο - [UPC_PI] = 0x03A0, [LOW_PI] = 0x03C0, // Π π - [UPC_RHO] = 0x03A1, [LOW_RHO] = 0x03C1, // Ρ ρ - [UPC_SIGMA] = 0x03A3, [LOW_SIGMA] = 0x03C3, // Σ σ - [UPC_TAU] = 0x03A4, [LOW_TAU] = 0x03C4, // Τ τ - [UPC_UPSILON] = 0x03A5, [LOW_UPSILON] = 0x03C5, // Υ υ - [UPC_PHI] = 0x03A6, [LOW_PHI] = 0x03C6, // Φ φ - [UPC_CHI] = 0x03A7, [LOW_CHI] = 0x03C7, // Χ χ - [UPC_PSI] = 0x03A8, [LOW_PSI] = 0x03C8, // Ψ ψ - [UPC_OMEGA] = 0x03A9, [LOW_OMEGA] = 0x03C9, // Ω ω - [ELLIPSIS] = 0x2026, // … - [PLANCK_CON] = 0x210F, // ℏ - [ANGSTROM] = 0x212B, // Å - [BITCOIN] = 0x20BF // ₿ -}; -#endif // UNICODEMAP_ENABLE - -// Keycodes -bool process_record_macro(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // AltGr + Caps should change the oled layout variable - case KC_CAPSLOCK: - if (record->event.pressed) { - if (get_mods() & MOD_BIT(KC_RALT)) { - userspace_config.layout = (userspace_config.layout + 1) % 3; - } - } - return true; - break; - case BB_OLED: - if (record->event.pressed) { - if (get_mods() & MOD_MASK_SHIFT) { - // Scroll in opposite direction - userspace_config.layout = (userspace_config.layout + 4) % 3; - } else { - userspace_config.layout = (userspace_config.layout + 1) % 3; - } - } - return false; - break; - // Plain macros - case BB_PGPK: - // My public PGP key - if (record->event.pressed) { - SEND_STRING("0B7151C823559DD8A7A04CE36426139E2F4C6CCE"); - } - return false; break; - case DBL_ANG: - // Double angular bracket - if (record->event.pressed) { - SEND_STRING("<>"SS_TAP(X_LEFT)); - } - return false; break; - case DBL_PAR: - // Double paranthesis - if (record->event.pressed) { - SEND_STRING("()"SS_TAP(X_LEFT)); - } - return false; break; - case DBL_BRC: - // Double square brackets - if (record->event.pressed) { - SEND_STRING("[]"SS_TAP(X_LEFT)); - } - return false; break; - case DBL_CBR: - // Double curly brackets - if (record->event.pressed) { - SEND_STRING("{}"SS_TAP(X_LEFT)); - } - return false; break; - // Unicode macros -# ifdef UNICODEMAP_ENABLE - case TR_FLAG: - // Turkish flag - if (record->event.pressed) { - send_unicode_string("🇹🇷"); - } - return false; break; - case BB_LENY: - // Lenny face: ( ͡° ͜ʖ ͡°) - if (record->event.pressed) { - send_unicode_string("( ͡° ͜ʖ ͡°)"); - } - return false; break; - case BB_TABL: - // Table flip: ┻━┻︵ \(°□°)/ ︵ ┻━┻ - if (record->event.pressed) { - send_unicode_string("┻━┻︵ \\(°□°)/ ︵ ┻━┻"); - } - return false; break; -# endif // UNICODEMAP_ENABLE - } - return true; -} diff --git a/users/bbaserdem/bb-macro.h b/users/bbaserdem/bb-macro.h deleted file mode 100644 index 3dc14e7a8a..0000000000 --- a/users/bbaserdem/bb-macro.h +++ /dev/null @@ -1,113 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#pragma once -#include "bbaserdem.h" - -/* This header file contains definitons regarding custom keycodes. - * - Both regular and unicode macros are dealt with in this file - */ - -// These will be delegated to keymap specific stuff (weak definition) -bool process_record_macro(uint16_t keycode, keyrecord_t *record); - -// Unicodemap implementation -#ifdef UNICODEMAP_ENABLE -enum userspace_unicodemap { - UPC_A_CIRC, - UPC_C_CEDI, - UPC_G_BREV, - UPC_I_CIRC, - UPC_I_DOTL, - UPC_I_DOTT, - UPC_O_DIAE, - UPC_S_CEDI, - UPC_U_CIRC, - UPC_U_DIAE, - LOW_A_CIRC, - LOW_C_CEDI, - LOW_G_BREV, - LOW_I_CIRC, - LOW_I_DOTL, - LOW_I_DOTT, - LOW_O_DIAE, - LOW_S_CEDI, - LOW_U_CIRC, - LOW_U_DIAE, - ELLIPSIS, - PLANCK_CON, - ANGSTROM, - MATHPI, - BITCOIN, - UPC_ALPHA, - UPC_BETA, - UPC_GAMMA, - UPC_DELTA, - UPC_EPSILON, - UPC_ZETA, - UPC_ETA, - UPC_THETA, - UPC_IOTA, - UPC_KAPPA, - UPC_LAMBDA, - UPC_MU, - UPC_NU, - UPC_XI, - UPC_OMICRON, - UPC_PI, - UPC_RHO, - UPC_SIGMA, - UPC_TAU, - UPC_UPSILON, - UPC_PHI, - UPC_CHI, - UPC_PSI, - UPC_OMEGA, - LOW_ALPHA, - LOW_BETA, - LOW_GAMMA, - LOW_DELTA, - LOW_EPSILON, - LOW_ZETA, - LOW_ETA, - LOW_THETA, - LOW_IOTA, - LOW_KAPPA, - LOW_LAMBDA, - LOW_MU, - LOW_NU, - LOW_XI, - LOW_OMICRON, - LOW_PI, - LOW_RHO, - LOW_SIGMA, - LOW_TAU, - LOW_UPSILON, - LOW_PHI, - LOW_CHI, - LOW_PSI, - LOW_OMEGA, -}; -#endif // UNICODEMAP_ENABLE - -// Tap dance stuff -#ifdef AUDIO_ENABLE -#ifdef TAP_DANCE_ENABLE -enum { - TD_AUDIO_TEMPO, -}; -#endif // AUDIO_ENABLE -#endif // TAP_DANCE_ENABLE diff --git a/users/bbaserdem/bb-oled-extra.c b/users/bbaserdem/bb-oled-extra.c deleted file mode 100644 index b52c4b335a..0000000000 --- a/users/bbaserdem/bb-oled-extra.c +++ /dev/null @@ -1,796 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#include "bb-oled.h" -#include "bb-oled-extra.h" - -// Helper function that draws images -void draw_image(uint8_t row, uint8_t col, const char image[4][42]) { - // Draw this image iteratively - for (int i = 0; i < 4; i++) { - oled_set_cursor(col, row + i); - oled_write_raw_P(image[i], 42); - } -} - -// Write modifiers to the screen -void render_modifiers(uint8_t row, uint8_t col, uint8_t mods) { - static const char PROGMEM mod_meta[12] = {0x00,0x01,0x01,0x01,0x01,0x06,0x18,0x60,0x81,0x81,0x81,0x81}; - static const char PROGMEM mod_altL[12] = {0x00,0x80,0x80,0x80,0x40,0x20,0x10,0x08,0x84,0x95,0x8e,0x84}; - static const char PROGMEM mod_altR[12] = {0x00,0x86,0x8f,0x8f,0x46,0x20,0x10,0x08,0x84,0x95,0x8e,0x84}; - static const char PROGMEM mod_ctrl[12] = {0x00,0x00,0xbd,0x42,0xa5,0x99,0x99,0xa5,0x42,0xbd,0x00,0x00}; - static const char PROGMEM mod_shft[12] = {0x00,0x20,0x30,0x28,0xe4,0x02,0x01,0x02,0xe4,0x28,0x30,0x20}; - // Looks like Mods: <OS> <Alt/Gr> <Ctrl> <Shift> - oled_set_cursor(col, row); - oled_write("Mods: ", false); - // Meta - if (mods & MOD_MASK_GUI) { - oled_write_raw_P(mod_meta, 12); - oled_set_cursor(col + 8, row); - } else { - oled_write(" ", false); - } - // Alt(Gr) - if (mods & MOD_BIT(KC_RALT)) { - oled_write_raw_P(mod_altR, 12); - oled_set_cursor(col + 10, row); - } else if (mods & MOD_MASK_ALT) { - oled_write_raw_P(mod_altL, 12); - oled_set_cursor(col + 10, row); - } else { - oled_write(" ", false); - } - // Ctrl - if (mods & MOD_MASK_CTRL) { - oled_write_raw_P(mod_ctrl, 12); - oled_set_cursor(col + 12, row); - } else { - oled_write(" ", false); - } - // Shift - if (mods & MOD_MASK_SHIFT) { - oled_write_raw_P(mod_shft, 12); - oled_set_cursor(col + 14, row); - } else { - oled_write(" ", false); - } -} - -// Draws the image of the currently used layout -void render_layout(uint8_t row, uint8_t col, uint8_t mods, bool isLeft) { - // DVORAK - static const char PROGMEM base0_L_dvor_nomod[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x00,0x04,0x08,0x10,0x00,0x00,0x00, - 0x00,0x0e,0x00,0x00,0x00,0x00,0x60,0xe0,0x00,0x00,0x00,0x00,0xc0,0xc0, - 0x00,0x00,0x00,0xf8,0x90,0x88,0x88,0x70,0x00,0x78,0x80,0x80,0x40,0xf8 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x00,0x00, - 0x40,0x40,0x40,0x80,0x00,0x80,0x41,0x40,0x40,0x80,0x00,0x80,0x40,0x40, - 0x40,0x80,0x00,0xc3,0x00,0x00,0x00,0xc0,0x00,0x00,0x42,0xd2,0x02,0x01 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0xd8,0x06,0x01,0x00,0x00,0x00,0x02, - 0x05,0x05,0x05,0x07,0x00,0x03,0x04,0x04,0x04,0x03,0x00,0x03,0x05,0x05, - 0x85,0x05,0x00,0xc3,0x04,0x04,0x02,0x07,0x00,0x00,0x00,0x07,0x04,0x00 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x00,0x03,0x0c,0x30,0xc0,0x00,0x00, - 0xb6,0x76,0x00,0x00,0x00,0x1c,0x22,0x22,0x12,0xfe,0x00,0x00,0x80,0x82, - 0x7e,0x00,0x00,0x3f,0x08,0x0c,0x12,0x20,0x00,0x22,0x14,0x08,0x14,0x22}}; - static const char PROGMEM base0_L_dvor_shift[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x20,0x10,0x20,0x40,0x20,0x00,0x00, - 0x07,0x00,0x07,0x00,0x00,0x10,0x28,0x44,0x82,0x00,0x00,0x82,0x44,0x28, - 0x10,0x00,0x00,0xfe,0x12,0x12,0x12,0x0c,0x00,0x06,0x08,0xf0,0x08,0x06 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0xe0, - 0x90,0x90,0x90,0xe0,0x00,0xe0,0x10,0x10,0x10,0xe0,0x00,0xf0,0x90,0x90, - 0x90,0x10,0x00,0xf0,0x00,0x00,0x00,0xf0,0x00,0x00,0x10,0xf0,0x10,0x00 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x00,0x80,0x87,0x80,0x00,0x00,0x07, - 0x00,0x00,0x00,0x07,0x00,0x03,0x84,0x84,0x84,0x03,0x00,0x07,0x04,0x04, - 0x04,0x84,0x00,0x83,0x04,0x04,0x04,0x83,0x00,0x80,0x04,0x07,0x04,0x80 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x01,0x00,0x28,0x04,0x03,0x00,0x00, - 0x36,0x36,0x00,0x00,0x00,0x1f,0x20,0x28,0x10,0x6f,0x00,0x18,0x20,0x20, - 0x20,0x1f,0x00,0x3f,0x04,0x0a,0x11,0x20,0x00,0x31,0x0a,0x04,0x0a,0x31}}; - static const char PROGMEM base0_R_dvor_nomod[4][42] = { - { 0x00,0xfc,0x12,0x12,0x00,0x00,0x70,0x88,0x88,0x48,0xf8,0x00,0x70,0x88, - 0x88,0x88,0x88,0x00,0xf8,0x10,0x08,0x08,0x10,0x00,0x00,0x02,0x7e,0x80, - 0x80,0x00,0x10,0x28,0x44,0x82,0x00,0x00,0x00,0x00,0xe7,0x73,0x00,0x00 - },{ 0x00,0x80,0x80,0x80,0xf0,0x00,0xf0,0x02,0x82,0x82,0x01,0x00,0x00,0x80, - 0xf0,0x80,0x80,0x00,0xc0,0x40,0x40,0x40,0x80,0x00,0x80,0x40,0x40,0x40, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9c,0xce,0x00,0x00 - },{ 0x83,0x04,0x04,0x02,0x07,0x00,0x07,0x01,0x00,0x00,0x07,0x00,0x00,0x00, - 0x03,0x04,0x04,0x00,0x07,0x00,0x00,0x00,0x07,0x00,0x04,0x05,0x05,0x05, - 0x02,0x00,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x73,0x39,0x00,0x00 - },{ 0x3f,0x24,0x22,0x22,0x1c,0x00,0x3e,0x02,0x3e,0x02,0x3c,0x00,0x1e,0x20, - 0x1c,0x20,0x1e,0x00,0x06,0x18,0x20,0x18,0x06,0x00,0x22,0x32,0x2a,0x26, - 0x22,0x00,0x14,0x14,0x14,0x14,0x14,0x00,0x00,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM base0_R_dvor_shift[4][42] = { - { 0xfe,0x12,0x12,0x12,0x02,0x00,0xfc,0x02,0x12,0x12,0xf4,0x00,0xfc,0x02, - 0x02,0x02,0x84,0x00,0xfe,0x12,0x12,0x32,0xcc,0x00,0xfe,0x00,0x00,0x00, - 0x00,0x00,0x04,0x88,0x50,0x20,0x00,0x00,0x00,0x00,0xe7,0x73,0x00,0x00 - },{ 0xf1,0x10,0x10,0x10,0xe0,0x00,0xf0,0x81,0x81,0x81,0xf0,0x00,0x10,0x11, - 0xf1,0x11,0x10,0x00,0xf1,0x60,0x80,0x00,0xf1,0x00,0x61,0x91,0x91,0x91, - 0x21,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9c,0xce,0x00,0x00 - },{ 0x8f,0x88,0x88,0x88,0x07,0x00,0x8f,0x00,0x00,0x00,0x8f,0x00,0x80,0x00, - 0x0f,0x00,0x80,0x00,0x8f,0x00,0x01,0x06,0x8f,0x00,0x84,0x88,0x88,0x88, - 0x87,0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x73,0x39,0x00,0x00 - },{ 0x7f,0x44,0x44,0x44,0x3b,0x00,0x7f,0x01,0x06,0x01,0x7f,0x00,0x1f,0x60, - 0x1c,0x60,0x1f,0x00,0x07,0x18,0x60,0x18,0x07,0x00,0x70,0x48,0x44,0x42, - 0x41,0x00,0x08,0x08,0x3e,0x08,0x08,0x00,0x00,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM symb5_R_dvor[4][42] = { - { 0x00,0x02,0x04,0x08,0x00,0x00,0x20,0x20,0xdc,0x02,0x02,0x00,0x02,0x02, - 0xdc,0x20,0x20,0x00,0x00,0xc0,0x30,0x0c,0x03,0x00,0x50,0x50,0x50,0x50, - 0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe7,0x73,0x00,0x00 - },{ 0x00,0x80,0x00,0x00,0x00,0x00,0x00,0xf0,0x11,0x12,0x02,0x00,0x02,0x12, - 0x11,0xf0,0x00,0x00,0x43,0x20,0x20,0x20,0xc0,0x00,0x00,0x00,0xc0,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9c,0xce,0x00,0x00 - },{ 0x01,0x80,0x41,0x82,0x01,0x00,0x00,0x1f,0x10,0x90,0x00,0x00,0x00,0x90, - 0x10,0x1f,0x00,0x00,0xc0,0x00,0x14,0x03,0x00,0x00,0x01,0x01,0x87,0x01, - 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x39,0x00,0x00 - },{ 0x22,0xf3,0x0a,0xf3,0x22,0x00,0x00,0x1c,0x63,0x80,0x00,0x00,0x00,0x80, - 0x63,0x1c,0x00,0x00,0x00,0x03,0x0c,0x30,0xc0,0x00,0x00,0x00,0x7f,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM numb6_L_dvor_nomod[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20, - 0x50,0x88,0x04,0x00,0x00,0x04,0x04,0xc4,0x34,0x0c,0x00,0xd8,0x24,0x24, - 0x24,0xd8,0x00,0x18,0x24,0x24,0x24,0xf8,0x00,0xf8,0x44,0x24,0x14,0xf8 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x01,0x00,0x00,0x00,0x80,0x41,0xe0,0x00,0x00,0xe0,0xa1,0xa1, - 0xa1,0x20,0x00,0xc0,0xa1,0xa1,0xa1,0x00,0x00,0x00,0x01,0x01,0x01,0x00 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08, - 0x08,0x08,0x08,0x08,0x00,0x03,0x02,0x02,0x0f,0x02,0x00,0x04,0x08,0x08, - 0x08,0x07,0x00,0x07,0x08,0x08,0x08,0x07,0x00,0x01,0x01,0x01,0x01,0x00 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41, - 0x22,0x14,0x08,0x00,0x00,0x00,0x04,0x02,0x7f,0x00,0x00,0x42,0x61,0x51, - 0x49,0x46,0x00,0x22,0x41,0x49,0x49,0x36,0x00,0x5e,0x61,0x01,0x61,0x5e}}; - static const char PROGMEM numb6_L_dvor_shift[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0xd8,0x24,0x54,0x88,0x40,0x00,0x50,0x20,0xf8, - 0x20,0x50,0x00,0x00,0x38,0xc6,0x01,0x00,0x00,0x00,0x01,0xc6,0x38,0x00 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x60,0x91,0xf9,0x90,0x21,0x00,0x20,0x50,0x20, - 0x80,0x60,0x00,0x40,0x20,0x10,0x21,0x40,0x00,0x00,0x01,0x00,0x00,0x00 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x02,0x04,0x8f,0x04,0x03,0x00,0x0c,0x02,0x09, - 0x14,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5f,0x00,0x00,0x00,0x3e,0x41,0x5d, - 0x55,0x5e,0x00,0x14,0x7f,0x14,0x7f,0x14,0x00,0x00,0x00,0x00,0x00,0x00}}; - // Turkish F - static const char PROGMEM base0_L_turf_nomod[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x10,0x10,0x7c,0x10,0x10,0x00,0x00, - 0xfe,0x09,0x09,0x00,0x00,0x70,0x88,0x88,0x48,0xf8,0x00,0x51,0xaa,0xaa, - 0x92,0x09,0x00,0x00,0x88,0xf8,0x80,0x00,0x00,0x70,0x88,0x88,0x88,0x70 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x40,0x80,0x00,0x80,0x40,0x00,0xc0, - 0x00,0x00,0x00,0xc0,0x00,0x00,0x42,0xd2,0x02,0x01,0x00,0x81,0x42,0x42, - 0x42,0x81,0x00,0x00,0x40,0x40,0x40,0x80,0x00,0xc0,0x10,0x00,0x10,0xc0 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x04,0x02,0x01,0x02,0x04,0x00,0x03, - 0x04,0x04,0x82,0x07,0x00,0x00,0x80,0x07,0x84,0x00,0x00,0x03,0x05,0x05, - 0x05,0x05,0x00,0x02,0x05,0x05,0x05,0x07,0x00,0x03,0x04,0x04,0x02,0x07 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x1c,0x22,0x22,0x12,0xfe,0x00,0x00, - 0x80,0x82,0x7e,0x00,0x00,0x1c,0x22,0x22,0x22,0x1c,0x00,0x06,0x18,0x20, - 0x18,0x06,0x00,0x1c,0x22,0x22,0x22,0x22,0x00,0x1c,0xa2,0x62,0x22,0x22}}; - static const char PROGMEM base0_L_turf_shift[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x28,0x10,0x7c,0x10,0x28,0x00,0xfe, - 0x12,0x12,0x12,0x02,0x00,0xfc,0x02,0x12,0x12,0xf4,0x00,0xf1,0x0a,0x4a, - 0x4a,0xd1,0x00,0x00,0x02,0xfe,0x02,0x00,0x00,0xfc,0x02,0x02,0x02,0xfc - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x30,0x40,0x80,0x40,0x30,0x00,0xf1, - 0x00,0x00,0x00,0xf0,0x00,0x00,0x21,0xe9,0x21,0x00,0x00,0xf1,0x92,0x92, - 0x92,0x11,0x00,0xe0,0x91,0x91,0x91,0xe0,0x00,0xe0,0x09,0x01,0x09,0xe0 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x0e,0x81,0x80,0x81,0x0e,0x00,0x07, - 0x08,0x08,0x08,0x87,0x00,0x00,0x50,0x1f,0x50,0x00,0x00,0x8f,0x08,0x08, - 0x08,0x88,0x00,0x0f,0x80,0x80,0x80,0x0f,0x00,0x8f,0x50,0x50,0x50,0x8f - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x3f,0x40,0x50,0x20,0xdf,0x00,0x30, - 0x40,0x40,0x40,0x3f,0x00,0x7e,0x81,0x81,0x81,0x7e,0x00,0x07,0x18,0x60, - 0x18,0x07,0x00,0x3f,0x40,0x40,0x40,0x21,0x00,0x1f,0xa0,0x60,0x20,0x10}}; - static const char PROGMEM base0_L_turf_altgr[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x10,0x10,0x10,0x30,0x00,0x00,0xf0, - 0x08,0xe8,0xa8,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x0c,0x1e,0xfe,0x02,0xfe,0x00,0x70,0x8a,0x89,0x8a,0x70 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x00,0x10,0x20,0x40,0x00,0x00,0xc1, - 0x12,0x0a,0x12,0xc2,0x00,0x00,0x10,0xc8,0x10,0x00,0x00,0x40,0xe0,0x50, - 0x10,0x20,0x00,0x00,0x50,0x48,0x50,0x80,0x00,0xc0,0x10,0x08,0x10,0xc0 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x00,0x03, - 0x04,0x04,0x02,0x07,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x01,0x83,0x05, - 0x04,0x82,0x00,0x02,0x05,0x05,0x05,0x07,0x00,0x83,0x84,0x04,0x82,0x87 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x00,0x3e,0x3e,0x3e,0x00,0x08,0x14, - 0x22,0x08,0x14,0x22,0x00,0x22,0x14,0x08,0x22,0x14,0x08,0x03,0x02,0x00, - 0x03,0x02,0x00,0x1c,0x22,0x7f,0x22,0x22,0x00,0x02,0x01,0x00,0x02,0x01}}; - static const char PROGMEM base0_L_turf_shfgr[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x90,0x90,0xfc,0x90,0x90,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x0a,0x09,0x0a,0xf0 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x00,0x88,0x90,0xa0,0x00,0x00,0xc0, - 0x10,0x08,0x10,0xc0,0x00,0x00,0x50,0xc8,0x50,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x80,0x50,0x48,0x50,0x80,0x00,0xc1,0x12,0x0a,0x12,0xc1 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x00,0x8f,0x4f,0x8f,0x00,0x00,0x0f, - 0x10,0x10,0x90,0x0f,0x00,0x80,0x10,0x1f,0x10,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x1f,0x82,0x82,0x82,0x1f,0x00,0x0f,0x10,0x10,0x10,0x0f - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x00,0x7c,0x7d,0x7c,0x00,0x00,0x04, - 0x0a,0x11,0x20,0x00,0x00,0x20,0x11,0x0a,0x04,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x1f,0x24,0x2a,0x20,0x1f,0x00,0x00,0x00,0x00,0x00,0x00}}; - static const char PROGMEM base0_R_turf_nomod[4][42] = { - { 0x70,0x88,0x88,0x48,0xff,0x00,0xf8,0x10,0x08,0x08,0x10,0x00,0xf8,0x08, - 0x08,0x08,0xf0,0x00,0xff,0x10,0x08,0x08,0xf0,0x00,0xf8,0x90,0x88,0x88, - 0x70,0x00,0x10,0x28,0x44,0x82,0x00,0x00,0x00,0x00,0xe7,0x73,0x00,0x00 - },{ 0x40,0xf8,0x40,0x40,0x00,0x00,0xf8,0x00,0x80,0x40,0x00,0x00,0xc0,0x40, - 0xc0,0x40,0x80,0x00,0x08,0xf8,0x00,0x00,0x00,0x00,0xc3,0x00,0x00,0x00, - 0xc0,0x00,0x80,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x9c,0xce,0x00,0x00 - },{ 0x00,0x03,0x04,0x04,0x00,0x00,0x07,0x01,0x01,0x02,0x04,0x00,0xc7,0x00, - 0x07,0x00,0x07,0x00,0x00,0x03,0x04,0x04,0x00,0x00,0x03,0x14,0x14,0x12, - 0x0f,0x00,0x04,0x15,0x0d,0x05,0x02,0x00,0x00,0x00,0x73,0x39,0x00,0x00 - },{ 0x22,0x32,0x2a,0x26,0x22,0x00,0x24,0x2a,0x2a,0x2a,0x10,0x00,0x3f,0x24, - 0x22,0x22,0x1c,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0xb0,0x70,0x00, - 0x00,0x00,0x1e,0x20,0x1c,0x20,0x1e,0x00,0x00,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM base0_R_turf_shift[4][42] = { - { 0xfe,0x02,0x02,0x02,0xfc,0x00,0xfe,0x12,0x12,0x32,0xcc,0x00,0xfe,0x0c, - 0x30,0xc0,0xfe,0x00,0xfe,0x10,0x10,0x10,0xfe,0x00,0xfe,0x12,0x12,0x12, - 0x0c,0x00,0x82,0x44,0x28,0x10,0x00,0x00,0x00,0x00,0xe7,0x73,0x00,0x00 - },{ 0x11,0x11,0xf1,0x11,0x10,0x00,0xf1,0x80,0x40,0x20,0x11,0x00,0xf1,0x20, - 0xc0,0x20,0xf1,0x00,0xf1,0x00,0x00,0x00,0x01,0x00,0x31,0x40,0x80,0x40, - 0x30,0x00,0x30,0x48,0x48,0x48,0x90,0x00,0x00,0x00,0x9c,0xce,0x00,0x00 - },{ 0x80,0x80,0x8f,0x80,0x80,0x00,0x0f,0x80,0x81,0x82,0x0c,0x00,0x8f,0x80, - 0x80,0x80,0x0f,0x00,0x0f,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x0f,0x00, - 0x00,0x00,0x82,0x14,0x0c,0x04,0x83,0x00,0x00,0x00,0x73,0x39,0x00,0x00 - },{ 0x70,0x48,0x44,0x42,0x41,0x00,0x23,0x44,0x44,0x44,0x39,0x00,0x7f,0x44, - 0x44,0x44,0x3b,0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,0xb6,0x76,0x00, - 0x00,0x00,0x1f,0x60,0x1c,0x60,0x1f,0x00,0x00,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM base0_R_turf_altgr[4][42] = { - { 0x53,0x54,0xf8,0x54,0x53,0x00,0x7c,0xba,0x8a,0x8a,0x7c,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x0c,0x12,0x12,0x0c,0x00,0x00,0x20,0xfc,0x22,0x02, - 0x84,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0xe7,0x73,0x00,0x00 - },{ 0x80,0x80,0xf1,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00, - 0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x20,0x11,0x01, - 0x00,0x00,0x40,0xf0,0x41,0xf0,0x40,0x00,0x00,0x00,0x9c,0xce,0x00,0x00 - },{ 0x02,0x01,0x0f,0x08,0x08,0x06,0x83,0x40,0x40,0x40,0x00,0x00,0x0f,0x02, - 0x04,0x04,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x01,0x07,0x01,0x07,0x01,0x00,0x00,0x00,0x73,0x39,0x00,0x00 - },{ 0x00,0x00,0x00,0x00,0x00,0x00,0x47,0x4a,0x4a,0x3c,0x00,0x00,0x11,0x0a, - 0x04,0x0a,0x11,0x00,0x04,0x04,0x15,0x04,0x04,0x00,0x00,0x00,0x04,0x00, - 0x00,0x00,0x04,0x02,0x04,0x08,0x04,0x00,0x00,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM base0_R_turf_shfgr[4][42] = { - { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0xef,0x00,0x00,0x00,0x00,0x00,0xe7,0x73,0x00,0x00 - },{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x90,0x88, - 0x00,0x00,0x00,0x90,0xa1,0x90,0x00,0x00,0x00,0x00,0x9c,0xce,0x00,0x00 - },{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x0f,0x0f, - 0x00,0x00,0x00,0x0f,0x0f,0x0f,0x00,0x00,0x00,0x00,0x73,0x39,0x00,0x00 - },{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0x7d,0x7c, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM symb5_R_turf_nomod[4][42] = { - { 0x20,0x20,0xf8,0x20,0x20,0x00,0x00,0xc0,0x30,0x0c,0x03,0x00,0x20,0x20, - 0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe7,0x73,0x00,0x00 - },{ 0x80,0x00,0xc0,0x00,0x80,0x00,0x43,0x20,0x20,0x20,0xc0,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9c,0xce,0x00,0x00 - },{ 0x02,0x81,0x47,0x81,0x02,0x00,0x00,0x00,0x0a,0x01,0x00,0x00,0x04,0x04, - 0x04,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x39,0x00,0x00 - },{ 0x22,0xf3,0x0a,0xf3,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM symb5_R_turf_altgr[4][42] = { - { 0x10,0x10,0x10,0x30,0x00,0x00,0x03,0x0c,0x30,0xc0,0x00,0x00,0x00,0x00, - 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe7,0x73,0x00,0x00 - },{ 0x80,0x80,0xe0,0x80,0x80,0x00,0x00,0x00,0xa0,0x00,0x03,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9c,0xce,0x00,0x00 - },{ 0x04,0x84,0x47,0x84,0x04,0x00,0x06,0x09,0x08,0x08,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x39,0x00,0x00 - },{ 0x22,0xf3,0x0a,0xf3,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM numb6_L_turf_nomod[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20, - 0x50,0x88,0x04,0x00,0x00,0x04,0x04,0xc4,0x34,0x0c,0x00,0xd8,0x24,0x24, - 0x24,0xd8,0x00,0x18,0x24,0x24,0x24,0xf8,0x00,0xf8,0x44,0x24,0x14,0xf8 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x01,0x00,0x00,0x00,0x80,0x41,0xe0,0x00,0x00,0xe0,0xa1,0xa1, - 0xa1,0x20,0x00,0xc0,0xa1,0xa1,0xa1,0x00,0x00,0x00,0x01,0x01,0x01,0x00 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x03,0x02,0x02,0x0f,0x02,0x00,0x04,0x08,0x08, - 0x08,0x07,0x00,0x07,0x08,0x08,0x08,0x07,0x00,0x00,0x00,0x00,0x00,0x00 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41, - 0x22,0x14,0x08,0x00,0x00,0x00,0x04,0x02,0x7f,0x00,0x00,0x42,0x61,0x51, - 0x49,0x46,0x00,0x22,0x41,0x49,0x49,0x36,0x00,0x5e,0x61,0x01,0x61,0x5e}}; - static const char PROGMEM numb6_L_turf_shift[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04, - 0x88,0x50,0x20,0x00,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x00,0x38,0xc6, - 0x01,0x00,0x00,0x00,0x01,0xc6,0x38,0x00,0x00,0x50,0x50,0x50,0x50,0x50 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, - 0x00,0x00,0x00,0x00,0x00,0x60,0x90,0xf8,0x90,0x20,0x00,0x20,0x50,0x20, - 0x81,0x60,0x00,0x70,0x89,0x48,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x02,0x04,0x8f,0x04,0x03,0x00,0x0c,0x82,0x09, - 0x94,0x08,0x00,0x07,0x08,0x89,0x06,0x09,0x00,0x00,0x00,0x00,0x00,0x00 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41, - 0x22,0x14,0x08,0x00,0x00,0x00,0x00,0x5f,0x00,0x00,0x00,0x00,0x03,0x00, - 0x03,0x00,0x00,0x02,0x01,0x00,0x01,0x02,0x00,0x5e,0x61,0x01,0x61,0x5e}}; - static const char PROGMEM numb6_L_turf_altgr[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0xff,0x00,0x00,0x00,0x10,0x10,0xee,0x01,0x01,0x00,0x00,0xff,0x01, - 0x01,0x00,0x00,0x00,0x01,0x01,0xff,0x00,0x00,0x01,0x01,0xee,0x10,0x10 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x01,0x00,0x00,0x00,0x10,0xf8,0x00,0x01,0x01,0x00,0x10,0xf9,0x01, - 0x01,0x00,0x00,0x88,0xa9,0x51,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x00 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0xc0,0x00,0x00,0x00,0x00,0x08,0x8c,0x0a,0x1f,0x00,0x00,0x00,0x90, - 0x90,0x10,0x00,0x00,0x08,0x0c,0x0a,0x1f,0x00,0x00,0x00,0x00,0x00,0x00 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x7b,0x00,0x00,0x00,0x00,0x09,0x0f,0x08,0x00,0x00,0x00,0x09,0x0c, - 0x0a,0x09,0x00,0x14,0x7f,0x14,0x7f,0x14,0x00,0x5e,0x61,0x01,0x61,0x5e}}; - static const char PROGMEM numb6_L_turf_shfgr[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0xef,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0xfc, - 0x90,0x90,0x00,0x06,0x09,0x09,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0xa8,0x50, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x0a, - 0x15,0x0a,0x00,0x40,0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x7b,0x00,0x00,0x00,0x00,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x04,0x05,0x05,0x02,0x00,0x00,0x5e,0x61,0x01,0x61,0x5e}}; - // QWERTY - static const char PROGMEM base0_L_qwer_nomod[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x00,0x04,0x08,0x10,0x00,0x00,0x70, - 0x88,0x88,0x48,0xf8,0x00,0x78,0x80,0x70,0x80,0x78,0x00,0x70,0xa8,0xa8, - 0xa8,0xb0,0x00,0xf8,0x10,0x08,0x08,0x10,0x00,0x08,0x7f,0x88,0x88,0x00 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x18,0x60,0x80,0x00,0x00,0x00,0x00, - 0x40,0x40,0x40,0x83,0x00,0x80,0x40,0x40,0x40,0x00,0x00,0x80,0x40,0x40, - 0x40,0xf8,0x00,0x00,0xf0,0x48,0x48,0x00,0x00,0x80,0x40,0x40,0x40,0xc0 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x00,0xc0,0x41,0x46,0x18,0x00,0x02, - 0x05,0x05,0x05,0x07,0x00,0x04,0x05,0x05,0x05,0x02,0x00,0x03,0x04,0x04, - 0x02,0x07,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0xc3,0x14,0x14,0x12,0x0f - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x00,0xff,0x80,0x80,0x00,0x00,0x22, - 0x32,0x2a,0x26,0x22,0x00,0x22,0x14,0x08,0x14,0x22,0x00,0x1c,0x22,0x22, - 0x22,0x22,0x00,0x06,0x18,0x20,0x18,0x06,0x00,0x3f,0x24,0x22,0x22,0x1c}}; - static const char PROGMEM base0_L_qwer_shift[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x20,0x10,0x20,0x40,0x20,0x00,0xfc, - 0x02,0x42,0x82,0x7c,0x00,0x7e,0x80,0x70,0x80,0x7e,0x00,0xfe,0x12,0x12, - 0x12,0x02,0x00,0xfe,0x12,0x12,0x32,0xcc,0x00,0x02,0x02,0xfe,0x02,0x02 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x00,0x00,0xf8,0x00,0x00,0x00,0xe0, - 0x91,0x91,0x90,0xe3,0x00,0x60,0x91,0x90,0x91,0x20,0x00,0xf1,0x11,0x11, - 0x11,0xe1,0x00,0xf1,0x90,0x90,0x90,0x11,0x00,0xe0,0x10,0x91,0x90,0xa0 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x00,0x00,0x9f,0x40,0x40,0x00,0x8f, - 0x80,0x80,0x80,0x8f,0x00,0x84,0x08,0x08,0x08,0x87,0x00,0x0f,0x88,0x88, - 0x88,0x07,0x00,0x8f,0x00,0x00,0x00,0x80,0x00,0x87,0x88,0x88,0x88,0x07 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x04,0x04,0x7b,0x80,0x80,0x00,0x70, - 0x48,0x44,0x42,0x41,0x00,0x71,0x0a,0x04,0x0a,0x71,0x00,0x3f,0x40,0x40, - 0x40,0x21,0x00,0x07,0x18,0x60,0x18,0x07,0x00,0x7f,0x44,0x44,0x44,0x3b}}; - static const char PROGMEM base0_R_qwer_nomod[4][42] = { - { 0x78,0x80,0x80,0x40,0xf8,0x00,0x78,0x80,0x80,0x40,0xf8,0x00,0x00,0x08, - 0xfa,0x80,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x00,0xf8,0x90,0x88,0x88, - 0x70,0x00,0x10,0x28,0x44,0x82,0x00,0x00,0x00,0x00,0xe7,0x73,0x00,0x00 - },{ 0xf8,0x82,0x42,0x42,0x81,0x00,0x00,0x00,0x40,0xd0,0x00,0x00,0xf8,0x00, - 0x80,0x40,0x00,0x00,0x08,0xf8,0x00,0x00,0x00,0x00,0x03,0xc0,0xc0,0x00, - 0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x9c,0xce,0x00,0x00 - },{ 0x07,0x00,0x00,0x00,0x07,0x00,0x00,0x10,0x10,0x0f,0x00,0x00,0x07,0x01, - 0x01,0x02,0x04,0x00,0x00,0x03,0x04,0x04,0x00,0x00,0x00,0x16,0x0e,0x00, - 0xc0,0x00,0x00,0x40,0x40,0xc0,0x00,0x00,0x00,0x00,0x73,0x39,0x00,0x00 - },{ 0x3e,0x02,0x02,0x02,0x3c,0x00,0x3e,0x02,0x3e,0x02,0x3c,0x00,0x00,0xb0, - 0x70,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0xc0,0x30,0x0c,0x03, - 0x00,0x00,0x00,0x80,0x80,0xff,0x00,0x00,0x00,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM base0_R_qwer_shift[4][42] = { - { 0x06,0x08,0xf0,0x08,0x06,0x00,0xfe,0x00,0x00,0x00,0xfe,0x00,0x00,0x02, - 0xfe,0x02,0x00,0x00,0xfc,0x02,0x02,0x02,0xfc,0x00,0xfe,0x12,0x12,0x12, - 0x0c,0x00,0x82,0x44,0x28,0x10,0x00,0x00,0x00,0x00,0xe7,0x73,0x00,0x00 - },{ 0xf0,0x80,0x81,0x80,0xf0,0x00,0x00,0x01,0x01,0x01,0xf0,0x00,0xf0,0x81, - 0x41,0x21,0x10,0x00,0xf0,0x01,0x01,0x01,0x00,0x00,0x01,0xc0,0xc0,0x00, - 0x00,0x00,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x9c,0xce,0x00,0x00 - },{ 0x8f,0x00,0x00,0x00,0x8f,0x00,0x86,0x08,0x08,0x08,0x87,0x00,0x0f,0x00, - 0x01,0x82,0x0c,0x00,0x8f,0x08,0x08,0x08,0x08,0x00,0x00,0x86,0x86,0x80, - 0x00,0x00,0x00,0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x73,0x39,0x00,0x00 - },{ 0x7f,0x03,0x0c,0x30,0x7f,0x00,0x7f,0x01,0x06,0x01,0x7f,0x00,0x04,0x0a, - 0x11,0x20,0x00,0x00,0x20,0x11,0x0a,0x04,0x00,0x00,0x01,0x00,0x28,0x04, - 0x03,0x00,0x00,0x80,0x80,0x7b,0x04,0x00,0x00,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM symb5_R_qwer[4][42] = { - { 0x00,0x04,0x08,0x10,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x50,0x50, - 0x50,0x50,0x50,0x00,0x10,0x10,0xee,0x01,0x01,0x00,0x01,0x01,0xee,0x10, - 0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe7,0x73,0x00,0x00 - },{ 0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0xc0,0x00,0x00,0x00,0x00,0xf8,0x09,0x0a,0x02,0x00,0x02,0x0a,0x09,0xf8, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9c,0xce,0x00,0x00 - },{ 0x01,0x80,0x41,0x82,0x01,0x00,0x04,0x04,0x84,0x44,0x04,0x00,0x01,0x41, - 0x87,0x01,0x01,0x00,0xc0,0x1f,0x10,0x10,0x00,0x00,0x00,0x10,0xd0,0x1f, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x39,0x00,0x00 - },{ 0x22,0xf3,0x0a,0xf3,0x22,0x00,0x00,0x1e,0x61,0x80,0x00,0x00,0x00,0x80, - 0x61,0x1e,0x00,0x00,0x00,0x03,0x0c,0x30,0xc0,0x00,0x00,0x00,0xff,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM numb6_L_qwer_nomod[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20, - 0x50,0x88,0x04,0x00,0x00,0x04,0x04,0xc4,0x34,0x0c,0x00,0xd8,0x24,0x24, - 0x24,0xd8,0x00,0x18,0x24,0x24,0x24,0xf8,0x00,0xf8,0x44,0x24,0x14,0xf8 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x70,0x00,0x71,0x00,0x00,0x00,0x80,0x41,0xe0,0x00,0x00,0xe0,0xa1,0xa1, - 0xa1,0x20,0x00,0xc0,0xa1,0xa1,0xa1,0x00,0x00,0x00,0x01,0x71,0x01,0x00 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x03,0x02,0x02,0x0f,0x02,0x00,0x04,0x08,0x08, - 0x08,0x07,0x00,0x07,0x08,0x08,0x08,0x07,0x00,0x00,0x00,0x00,0x00,0x00 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41, - 0x22,0x14,0x08,0x00,0x00,0x00,0x04,0x02,0x7f,0x00,0x00,0x42,0x61,0x51, - 0x49,0x46,0x00,0x22,0x41,0x49,0x49,0x36,0x00,0x5e,0x61,0x01,0x61,0x5e}}; - static const char PROGMEM numb6_L_qwer_shift[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0xd8,0x24,0x54,0x88,0x40,0x00,0x50,0x20,0xf8, - 0x20,0x50,0x00,0x00,0x38,0xc6,0x01,0x00,0x00,0x00,0x01,0xc6,0x38,0x00 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x70,0x00,0x70,0x00,0x00,0x60,0x91,0xf9,0x90,0x21,0x00,0x20,0x50,0x20, - 0x80,0x60,0x00,0x40,0x20,0x10,0x21,0x40,0x00,0x00,0x71,0x00,0x70,0x00 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x02,0x04,0x8f,0x04,0x03,0x00,0x0c,0x02,0x09, - 0x14,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5f,0x00,0x00,0x00,0x3e,0x41,0x5d, - 0x55,0x5e,0x00,0x14,0x7f,0x14,0x7f,0x14,0x00,0x00,0x00,0x00,0x00,0x00}}; - - // UNIVERSAL - static const char PROGMEM char1_L[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0xe2,0xae,0x42,0x00,0x00,0x20,0x44,0x40,0x4c,0x20,0x00,0x12,0xa4,0x88, - 0xa4,0x12,0x00,0x08,0xf8,0x08,0xf8,0x08,0x00,0x78,0x80,0x80,0x80,0x78 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80, - 0x41,0x40,0x41,0x80,0x00,0x80,0x40,0x40,0x40,0x80,0x00,0x81,0x40,0x40, - 0x40,0x81,0x00,0xc0,0x00,0xc0,0x00,0xc0,0x00,0x00,0xc0,0x00,0x00,0x00 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x83, - 0xc4,0x84,0xc2,0x07,0x00,0x03,0x04,0x04,0x04,0x03,0x00,0x02,0x85,0x05, - 0x04,0x82,0x00,0x03,0x04,0x1f,0x04,0x03,0x00,0x80,0x83,0x84,0x82,0x80 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f, - 0xc4,0x44,0xef,0x3b,0x00,0x3e,0x49,0x49,0x49,0x3e,0x00,0x02,0x7f,0x09, - 0x09,0x78,0x00,0x3e,0x08,0x08,0x14,0x22,0x00,0x20,0x24,0x24,0x24,0x20}}; - static const char PROGMEM char1_R[4][42] = { - { 0x70,0x88,0xf0,0x88,0x70,0x00,0xfe,0x02,0x02,0x02,0x06,0x00,0x88,0x48, - 0x70,0x90,0x88,0x00,0xf0,0x88,0x88,0x88,0x70,0x00,0xc0,0x30,0x0c,0x30, - 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe7,0x73,0x00,0x00 - },{ 0xa0,0x50,0x53,0x90,0x20,0x00,0xc0,0x80,0x40,0x40,0x80,0x00,0x40,0x40, - 0xc0,0x40,0x40,0x00,0xc3,0x00,0x00,0x00,0xc0,0x00,0x80,0x40,0xc0,0x40, - 0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9c,0xce,0x00,0x00 - },{ 0x03,0x84,0x84,0x04,0x03,0x00,0x07,0x00,0x00,0x00,0x1f,0x00,0x00,0x80, - 0x83,0x84,0x00,0x00,0x00,0x83,0x54,0x8b,0x00,0x00,0x83,0x84,0x84,0x83, - 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x39,0x00,0x00 - },{ 0xff,0x24,0x24,0x27,0x18,0x00,0x7e,0x10,0x20,0x20,0x1e,0x00,0x2f,0x30, - 0x00,0x30,0x2f,0x00,0xe0,0x38,0x25,0x38,0xe0,0x00,0x18,0x26,0xa1,0xa0, - 0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM game2_L[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7c, - 0x82,0xa2,0x42,0xbc,0x00,0x3e,0xc0,0x30,0xc0,0x3e,0x00,0xfe,0x92,0x92, - 0x92,0x82,0x00,0xfe,0x12,0x12,0x32,0xcc,0x00,0x02,0x02,0xfe,0x02,0x02 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0x00,0x40,0x40,0x40,0x40,0xe0,0x00,0xe0, - 0x90,0x90,0x90,0xe1,0x00,0x60,0x90,0x90,0x90,0x20,0x00,0xf0,0x10,0x10, - 0x10,0xe0,0x00,0xf0,0x90,0x90,0x90,0x10,0x00,0xe0,0x10,0x90,0x90,0xa0 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x00,0x07,0x02,0x02,0x02,0x02,0x00,0x87, - 0x80,0x80,0x80,0x87,0x00,0x82,0x04,0x04,0x04,0x83,0x00,0x07,0x84,0x84, - 0x84,0x03,0x00,0x87,0x00,0x00,0x00,0x80,0x00,0x83,0x84,0x84,0x84,0x03 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x08,0x3c,0x02,0x3c,0x08,0x00,0x30, - 0x28,0x24,0x22,0x21,0x00,0x31,0x0a,0x04,0x0a,0x31,0x00,0x1f,0x20,0x20, - 0x20,0x11,0x00,0x03,0x0c,0x30,0x0c,0x03,0x00,0x3f,0x24,0x24,0x24,0x1b}}; - static const char PROGMEM medi3_R_nomod[4][42] = { - { 0x03,0x0c,0xb0,0x0c,0x03,0x00,0x3f,0x02,0x9c,0x02,0x3f,0x00,0x3f,0x04, - 0x84,0x04,0x3f,0x00,0x22,0x25,0xa5,0x25,0x18,0x00,0x3f,0x25,0xa5,0x25, - 0x1a,0x00,0x00,0xe0,0x8f,0x02,0x31,0x49,0xfa,0x00,0xe7,0x73,0x00,0x00 - },{ 0xc0,0x01,0x73,0x01,0xc0,0x00,0xf0,0x81,0xc3,0xe1,0xf0,0x00,0x00,0x71, - 0x03,0x71,0x00,0x00,0x00,0xc1,0xc3,0xc1,0x00,0x00,0xf0,0xe1,0xc3,0x81, - 0xf0,0x00,0x00,0x03,0xe2,0x21,0xe0,0x21,0xc0,0x00,0x9c,0xce,0x00,0x00 - },{ 0x01,0x02,0x02,0x02,0x01,0x00,0x07,0x00,0x01,0x03,0x87,0x00,0x00,0x1f, - 0x0e,0x04,0x80,0x00,0x00,0x03,0x03,0x03,0x00,0x00,0x07,0x03,0x01,0x00, - 0x87,0x00,0x00,0x40,0xa6,0xa8,0x08,0x04,0x8e,0x00,0x73,0x39,0x00,0x00 - },{ 0x3e,0x31,0x01,0x31,0x3e,0x00,0x00,0x46,0x46,0x4f,0x1f,0x00,0x00,0xa6, - 0x46,0xaf,0x1f,0x00,0x28,0x2c,0x2e,0x2c,0x28,0x00,0x00,0x46,0xe6,0x4f, - 0x1f,0x00,0x00,0x02,0x72,0x8a,0x89,0x00,0x1e,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM medi3_R_shift[4][42] = { - { 0x03,0x0c,0x30,0x0c,0x03,0x00,0x3f,0x02,0x1c,0x02,0x3f,0x00,0x3f,0x04, - 0x04,0x04,0x3f,0x00,0x22,0x25,0x25,0x25,0x18,0x00,0x3f,0x25,0x25,0x25, - 0x1a,0x00,0x00,0xe0,0x8f,0x02,0x31,0x49,0xfa,0x00,0xe7,0x73,0x00,0x00 - },{ 0xc0,0x01,0x71,0x01,0xc0,0x00,0xf0,0x81,0xc1,0xe1,0xf0,0x00,0x00,0x71, - 0x01,0x71,0x00,0x00,0x00,0xc1,0xc1,0xc1,0x00,0x00,0xf0,0xe1,0xc1,0x81, - 0xf0,0x00,0x00,0x03,0xe2,0x21,0xe0,0x21,0xc0,0x00,0x9c,0xce,0x00,0x00 - },{ 0x01,0x02,0x02,0x02,0x01,0x00,0x07,0x00,0x01,0x03,0x87,0x00,0x00,0x1f, - 0x0e,0x04,0x80,0x00,0x00,0x03,0x03,0x03,0x00,0x00,0x07,0x03,0x01,0x00, - 0x87,0x00,0x00,0x40,0xa6,0xa8,0x08,0x04,0x8e,0x00,0x73,0x39,0x00,0x00 - },{ 0x3e,0x31,0x01,0x31,0x3e,0x00,0x00,0x46,0x46,0x4f,0x1f,0x00,0x00,0xa6, - 0x46,0xaf,0x1f,0x00,0x28,0x2c,0x2e,0x2c,0x28,0x00,0x00,0x46,0xe6,0x4f, - 0x1f,0x00,0x00,0x02,0x72,0x8a,0x89,0x00,0x1e,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM navi4_R[4][42] = { - { 0xe0,0x10,0x54,0x38,0x10,0x00,0xfc,0x24,0x24,0x24,0x18,0x00,0x0c,0x10, - 0xe0,0x10,0x0c,0x00,0x8c,0x50,0x20,0x50,0x8c,0x00,0xc0,0xbe,0xa2,0xbe, - 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe7,0x73,0x00,0x00 - },{ 0x80,0xc1,0xa1,0x81,0x00,0x00,0x01,0x80,0x40,0x20,0x00,0x00,0x00,0x00, - 0xf1,0x00,0x00,0x00,0x41,0x20,0xd0,0x20,0x41,0x00,0x01,0x21,0x41,0x81, - 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9c,0xce,0x00,0x00 - },{ 0x00,0x49,0x4a,0x48,0x87,0x00,0x81,0x82,0x85,0x89,0x01,0x00,0x01,0x02, - 0x85,0x02,0x01,0x00,0x40,0x40,0x47,0x40,0x40,0x00,0x81,0x09,0x05,0x02, - 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x39,0x00,0x00 - },{ 0x12,0x65,0x85,0x65,0x17,0x00,0x07,0x01,0x06,0x18,0x60,0x00,0x88,0x90, - 0xaf,0x90,0x88,0x00,0x04,0x02,0x7d,0x02,0x04,0x00,0x01,0x46,0x58,0x60, - 0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xce,0xe7,0x00,0x00}}; - static const char PROGMEM func7_L[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0xff,0x09,0xe9,0xc9,0x01,0x00,0xe0,0x00, - 0x10,0x08,0xfc,0x00,0x00,0x08,0x84,0x44,0x24,0x18,0x00,0x88,0x04,0x24, - 0x24,0xd8,0x00,0x60,0x50,0x48,0xfc,0x40,0x00,0x70,0x80,0x9c,0x80,0x70 - },{ 0x00,0x00,0xce,0x9c,0x00,0xf0,0x00,0x00,0x9f,0x00,0x03,0x0c,0x1f,0x00, - 0xe0,0xa0,0xa1,0x20,0x00,0xc1,0xa1,0xa1,0xa1,0x01,0x00,0x20,0x21,0x21, - 0xa1,0x60,0x00,0xc0,0x20,0x20,0x21,0xc0,0x00,0x40,0xe0,0x50,0x40,0x80 - },{ 0x00,0x00,0x39,0x73,0x00,0xef,0x02,0x83,0xe4,0x00,0x0e,0x15,0x16,0x00, - 0x04,0x08,0x08,0x07,0x00,0x07,0x48,0xc8,0x08,0x07,0x00,0x00,0x40,0xce, - 0x01,0x00,0x00,0x06,0x49,0xc9,0x09,0x06,0x00,0x06,0x08,0x49,0x08,0x07 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x05,0x04,0x03,0x90,0xa8,0xa8,0x40,0x06, - 0x49,0x49,0x49,0x3e,0x00,0x7c,0xa2,0x93,0x8a,0x7c,0x00,0x00,0x08,0x07, - 0xfe,0x00,0x00,0x84,0xc2,0xa3,0x92,0x8c,0x00,0x70,0x38,0x0d,0x38,0x70}}; - static const char PROGMEM mous8_L[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x3c,0x84,0xbc,0x84,0x38,0x00,0x00,0x00,0x10, - 0x28,0x92,0xc5,0x82,0x00,0xfe,0x1f,0x1f,0x01,0xfe,0x00,0xfe,0x01,0x19, - 0x01,0xfe,0x00,0xfe,0x01,0x1f,0x1f,0xfe,0x00,0x10,0x38,0x92,0xc7,0x82 - },{ 0x00,0x00,0xce,0x9c,0x00,0xe7,0x08,0x08,0x08,0xe7,0x00,0x00,0x00,0x00, - 0x00,0x80,0x01,0x00,0x00,0x01,0x01,0x81,0x01,0x01,0x00,0x01,0x01,0x81, - 0x01,0x01,0x00,0x01,0x01,0x81,0x01,0x01,0x00,0x60,0x50,0xf8,0x41,0x00 - },{ 0x00,0x00,0x39,0x73,0x00,0x91,0xaa,0xaa,0xa9,0x43,0x00,0x00,0x00,0x02, - 0x07,0xca,0x02,0x02,0x00,0x02,0x01,0xcf,0x01,0x02,0x00,0x02,0x04,0x0f, - 0x04,0x02,0x00,0x02,0x02,0xca,0x07,0x02,0x00,0xdc,0x58,0x5c,0x18,0x1f - },{ 0x00,0x00,0xe7,0xce,0x00,0x1c,0x2a,0x2a,0x2a,0x2c,0x00,0x00,0x00,0x0c, - 0x33,0xc0,0x00,0x00,0x00,0x0c,0x03,0x00,0x03,0x0c,0x00,0x0c,0x30,0xc0, - 0x30,0x0c,0x00,0x00,0x00,0xc0,0x33,0x0c,0x00,0xe5,0xc9,0xe6,0xc0,0xf8}}; - static const char PROGMEM musi9_L[4][42] = { - { 0x00,0x00,0x73,0xe7,0x00,0x00,0x00,0x00,0x00,0xfe,0x04,0x18,0x04,0xfe, - 0x00,0x00,0xfe,0x00,0x00,0x00,0xfe,0x00,0x8c,0x12,0x12,0x12,0xe4,0x00, - 0x00,0x02,0xfe,0x02,0x00,0x00,0xfc,0x02,0x02,0x02,0x84,0x00,0x00,0x00 - },{ 0x00,0x00,0xce,0x9c,0x00,0x00,0xc0,0xe0,0xf0,0xf9,0xf8,0xf8,0xf8,0xf9, - 0xf0,0xe0,0xc0,0x01,0x01,0x01,0x00,0xf0,0xf0,0x01,0x01,0xf1,0xf0,0x00, - 0x00,0x01,0x01,0x01,0x00,0x00,0xf8,0xf1,0xe1,0xc1,0x80,0x00,0x00,0x00 - },{ 0x00,0x00,0x39,0x73,0x00,0x00,0x07,0x0f,0x1f,0x3f,0x3f,0x3f,0x3f,0x3f, - 0x1f,0x0f,0x07,0x00,0x00,0x00,0x00,0x1f,0x1f,0x00,0x00,0x1f,0x1f,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00,0x00 - },{ 0x00,0x00,0xe7,0xce,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x08, - 0xf8,0x08,0xf0,0x00,0x70,0x88,0x88,0x88,0x70,0x00,0x70,0x88,0x88,0x48, - 0xff,0x00,0x70,0xa8,0xa8,0xa8,0xb0,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}; - static const char PROGMEM musi9_R[4][42] = { - { 0x00,0x00,0x00,0xfe,0x04,0x18,0x04,0xfe,0x00,0x00,0xfe,0x00,0x00,0x00, - 0xfe,0x00,0x8c,0x12,0x12,0x12,0xe4,0x00,0x00,0x02,0xfe,0x02,0x00,0x00, - 0xfc,0x02,0x02,0x02,0x84,0x00,0x00,0x00,0x00,0x00,0xe7,0x73,0x00,0x00 - },{ 0x00,0x00,0x00,0x81,0x60,0x10,0x60,0x81,0x60,0x10,0x00,0x01,0x01,0x01, - 0xe0,0xe0,0x60,0x61,0x61,0x61,0x60,0xf8,0x70,0x21,0x01,0x01,0xc0,0xe0, - 0x60,0x01,0xf9,0xf9,0x00,0x60,0xe0,0xc0,0x00,0x00,0x9c,0xce,0x00,0x00 - },{ 0x18,0x24,0x4b,0x48,0x48,0x4c,0x4b,0x48,0x4b,0x2c,0x18,0x00,0x00,0x00, - 0x4f,0xe7,0xf0,0x60,0x60,0x60,0x60,0x60,0x7e,0x7f,0x00,0x0f,0x3f,0x70, - 0x60,0xc0,0xc1,0xc1,0xc0,0x60,0x70,0x3f,0x0f,0x00,0x73,0x39,0x00,0x00 - },{ 0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x08,0xf8,0x08,0xf0,0x00,0x70,0x88, - 0x88,0x88,0x71,0x00,0x70,0x88,0x88,0x48,0xff,0x00,0x70,0xa8,0xa8,0xa8, - 0xb0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xce,0xe7,0x00,0x00}}; - uint8_t this_layout = userspace_config.layout % 3; - - // Render the requested image on the given column and row - // Don't grab highest layer; instead compare from top to bottom. - // Highest layer might be on the other side - if (isLeft) { - if (layer_state_cmp(layer_state, _MUSI)) { - draw_image(row, col, musi9_L); - } else if (layer_state_cmp(layer_state, _MOUS)) { - draw_image(row, col, mous8_L); - } else if (layer_state_cmp(layer_state, _FUNC)) { - draw_image(row, col, func7_L); - } else if (layer_state_cmp(layer_state, _NUMB)) { - switch (this_layout) { - case 0: // Dvorak - if (mods & MOD_MASK_SHIFT) { - draw_image(row, col, numb6_L_dvor_shift); - } else { - draw_image(row, col, numb6_L_dvor_nomod); - } - break; - case 1: // Turkish F - if ((mods & MOD_MASK_SHIFT) && (mods & MOD_BIT(KC_RALT))) { - // Shift + AltGr - draw_image(row, col, numb6_L_turf_shfgr); - } else if (mods & MOD_MASK_SHIFT) { - // Shift - draw_image(row, col, numb6_L_turf_shift); - } else if (mods & MOD_BIT(KC_RALT)) { - // AltGr - draw_image(row, col, numb6_L_turf_altgr); - } else { - // Normal - draw_image(row, col, numb6_L_turf_nomod); - } - break; - case 2: // Qwerty - if (mods & MOD_MASK_SHIFT) { - draw_image(row, col, numb6_L_qwer_shift); - } else { - draw_image(row, col, numb6_L_qwer_nomod); - } - break; - } - } else if (layer_state_cmp(layer_state, _GAME)) { - draw_image(row, col, game2_L); - } else if (layer_state_cmp(layer_state, _CHAR)) { - draw_image(row, col, char1_L); - } else { - switch (this_layout) { - case 0: // Dvorak - if (mods & MOD_MASK_SHIFT) { - draw_image(row, col, base0_L_dvor_shift); - } else { - draw_image(row, col, base0_L_dvor_nomod); - } - break; - case 1: // Turkish F - if ((mods & MOD_MASK_SHIFT) && (mods & MOD_BIT(KC_RALT))) { - // Shift + AltGr - draw_image(row, col, base0_L_turf_shfgr); - } else if (mods & MOD_MASK_SHIFT) { - // Shift - draw_image(row, col, base0_L_turf_shift); - } else if (mods & MOD_BIT(KC_RALT)) { - // AltGr - draw_image(row, col, base0_L_turf_altgr); - } else { - // Normal - draw_image(row, col, base0_L_turf_nomod); - } - break; - case 2: // Qwerty - if (mods & MOD_MASK_SHIFT) { - draw_image(row, col, base0_L_qwer_shift); - } else { - draw_image(row, col, base0_L_qwer_nomod); - } - break; - } - } - } else { - if (layer_state_cmp(layer_state, _MUSI)) { - draw_image(row, col, musi9_R); - } else if (layer_state_cmp(layer_state, _SYMB)) { - switch (this_layout) { - case 0: // Dvorak - draw_image(row, col, symb5_R_dvor); - break; - case 1: // Turkish f - if (mods & MOD_BIT(KC_RALT)) { - // AltGr - draw_image(row, col, symb5_R_turf_altgr); - } else { - // Normal - draw_image(row, col, symb5_R_turf_nomod); - } - break; - case 2: // Qwerty - draw_image(row, col, symb5_R_qwer); - break; - } - } else if (layer_state_cmp(layer_state, _NAVI)) { - draw_image(row, col, navi4_R); - } else if (layer_state_cmp(layer_state, _MEDI)) { - if (mods & MOD_MASK_SHIFT) { - draw_image(row, col, medi3_R_shift); - } else { - draw_image(row, col, medi3_R_nomod); - } - } else if (layer_state_cmp(layer_state, _CHAR)) { - draw_image(row, col, char1_R); - } else { - switch (this_layout) { - case 0: // Dvorak - if (mods & MOD_MASK_SHIFT) { - draw_image(row, col, base0_R_dvor_shift); - } else { - draw_image(row, col, base0_R_dvor_nomod); - } - break; - case 1: // Turkish F - if ((mods & MOD_MASK_SHIFT) && (mods & MOD_BIT(KC_RALT))) { - // Shift + AltGr - draw_image(row, col, base0_R_turf_shfgr); - } else if (mods & MOD_MASK_SHIFT) { - // Shift - draw_image(row, col, base0_R_turf_shift); - } else if (mods & MOD_BIT(KC_RALT)) { - // AltGr - draw_image(row, col, base0_R_turf_altgr); - } else { - // Normal - draw_image(row, col, base0_R_turf_nomod); - } - break; - case 2: // Qwerty - if (mods & MOD_MASK_SHIFT) { - draw_image(row, col, base0_R_qwer_shift); - } else { - draw_image(row, col, base0_R_qwer_nomod); - } - break; - } - } - } -} - -// Render the RGB state on the given column and row -void render_rgb(uint8_t row, uint8_t col) { - static const char PROGMEM rgb_enab[12] = {0x08,0x81,0x3c,0x42,0x99,0xbd,0xbd,0x99,0x42,0x3c,0x81,0x10}; - static const char PROGMEM rgb_disa[12] = {0x08,0x81,0x3c,0x42,0x81,0x81,0x81,0x81,0x42,0x3c,0x81,0x10}; - static char rgb_temp4[4] = {0}; - static char rgb_temp3[3] = {0}; - - oled_set_cursor(col, row); -# ifdef RGB_MATRIX_ENABLE - if (rgb_matrix_is_enabled()) { - oled_write_raw_P(rgb_enab, 12); - } else { - oled_write_raw_P(rgb_disa, 12); - } - oled_set_cursor(col + 2, row); - oled_write(" hue sat val", false); - oled_set_cursor(col, row + 1); - itoa(rgb_matrix_get_mode(), rgb_temp3, 10); - oled_write(rgb_temp3, false); - oled_write(" ", false); - itoa(rgb_matrix_get_hue(), rgb_temp4, 10); - oled_write(rgb_temp4, false); - oled_write(" ", false); - itoa(rgb_matrix_get_sat(), rgb_temp4, 10); - oled_write(rgb_temp4, false); - oled_write(" ", false); - itoa(rgb_matrix_get_val(), rgb_temp4, 10); - oled_write(rgb_temp4, false); -# else // RGB_MATRIX_ENABLE - oled_write("-RGB disabled-", false); -# endif // RGB_MATRIX_ENABLE -} - -void render_status_left(uint8_t row, uint8_t col) { - // Left side looks like this on the left half - // (Should be 14 characters per line) - // Mods: <OS> <Alt/Gr> <Ctrl> <Shift> - // Enc: <8 len str> - // Wpm: <wpm here> - // Layout: <dvorak/qwerty/tur. f> - // Right half is whatever layer image needs be - uint8_t this_mod = get_mods(); - uint8_t this_layer = get_highest_layer(layer_state); - - // MODIFIERS - render_modifiers(row + 0, col + 0, this_mod); - // Encoders - render_encoder(row + 1, col + 0, 0, this_layer); - // WPM text - render_wpm(row + 2, col + 0); - // Visual layout - render_keymap(row + 3, col + 0, false); - // Draw the image after 14'th character - render_layout(row + 0, col + 14, this_mod, true); -} - -void render_status_right(uint8_t row, uint8_t col) { - // Right half is whatever layer image needs be on the left - // Right side looks like this on the right half - // (Should be after the 12'th character; max 14 characters per line) - // Mods: <OS> <Alt/Gr> <Ctrl> <Shift> - // Enc: <8 len str> - // Wpm: <wpm here> - // Layout: <dvorak/qwerty/tur. f> - uint8_t this_mod = get_mods(); - uint8_t this_layer = get_highest_layer(layer_state); - - // Draw the image - render_layout(row + 0, col + 0, this_mod, false); - // Modifiers - render_modifiers(row + 0, col + 7, this_mod); - // Encoder - render_encoder(row + 1, col + 7, 1, this_layer); - // RGB State (2 rows) - render_rgb(row + 2, col + 7); -} diff --git a/users/bbaserdem/bb-oled-extra.h b/users/bbaserdem/bb-oled-extra.h deleted file mode 100644 index c051e6226c..0000000000 --- a/users/bbaserdem/bb-oled-extra.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#pragma once -#include "bbaserdem.h" - -// OLED layout images writer function -void render_modifiers(uint8_t row, uint8_t col, uint8_t mods); -void render_layout(uint8_t row, uint8_t col, uint8_t mods, bool isLeft); -void render_rgb(uint8_t row, uint8_t col); -void render_status_left(uint8_t row, uint8_t col); -void render_status_right(uint8_t row, uint8_t col); diff --git a/users/bbaserdem/bb-oled.c b/users/bbaserdem/bb-oled.c deleted file mode 100644 index cf00193c03..0000000000 --- a/users/bbaserdem/bb-oled.c +++ /dev/null @@ -1,216 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#include "bb-oled.h" - -#include <string.h> -// Grab the print function -#ifdef ENCODER_ENABLE -# include "bb-encoder.h" -#endif // ENCODER_ENABLE - -/* OLED - * This contains general purpose oled code - */ - -// Allow default to be overwritten by keymap if they return false -__attribute__ ((weak)) bool oled_task_keymap(void) {return true;} - -// Do sane defaults for regular oled rendering -void oled_task_user(void) { - if (is_oled_on()) { - if (oled_task_keymap()) { - render_status_lite(0, 0); - } - } -} - -/*-------------------------*\ -|*---RENDERING FUNCTIONS---*| -\*-------------------------*/ -void render_qmk_logo(uint8_t row, uint8_t col) { - static const char PROGMEM qmk_logo[] = { - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d, - 0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6, - 0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd, - 0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0}; - oled_set_cursor(col, row); - oled_write_P(qmk_logo, false); -} - -void render_layer(uint8_t row, uint8_t col, uint8_t top_layer) { - // Write the layer state; 17 chars - oled_set_cursor(col, row); - oled_write("Layer: ", false); - switch (top_layer) { - case _BASE: - oled_write("Default ", false); - break; - case _CHAR: - oled_write("Sp. Chars ", false); - break; - case _GAME: - oled_write("Gaming ", false); - break; - case _MEDI: - oled_write("Media Ctr ", false); - break; - case _NAVI: - oled_write("Navigation", false); - break; - case _SYMB: - oled_write("Symbols ", false); - break; - case _NUMB: - oled_write("Numpad ", false); - break; - case _FUNC: - oled_write("Funct Keys", false); - break; - case _MOUS: - oled_write("Mouse Keys", false); - break; - case _MUSI: - oled_write("Music Mode", false); - break; - default: - oled_write("?? N/A ?? ", false); - } -} - -void render_modifiers_lite(uint8_t row, uint8_t col, uint8_t mods) { - // Write the modifier state, 16 characters - oled_set_cursor(col, row); - oled_write((mods & MOD_MASK_SHIFT ) ? "Shft " : " ", false); - oled_write((mods & MOD_MASK_CTRL ) ? "Ctrl " : " ", false); - oled_write((mods & MOD_MASK_ALT ) ? "Alt" : " ", false); - oled_write((mods & MOD_BIT(KC_RALT)) ? "G " : " ", false); - oled_write((mods & MOD_MASK_GUI ) ? "Meta " : " ", false); -} - -void render_encoder(uint8_t row, uint8_t col, uint8_t index, uint8_t layer) { - // Renders the encoder state, 14 characters - oled_set_cursor(col, row); - -# ifdef ENCODER_ENABLE - static char encoder_temp9[9] = {0}; - oled_write("Enc: ", false); - encoder_state_string(index, layer, encoder_temp9); - oled_write(encoder_temp9, false); -# else // ENCODER_ENABLE - oled_write("No enc. avail.", false); -# endif // ENCODER_ENABLE -} - -void render_wpm(uint8_t row, uint8_t col) { - // Renders the WPM, 8 characters - oled_set_cursor(col, row); -# ifdef WPM_ENABLE - static char wpm_temp4[4] = {0}; - oled_write("WPM: ", false); - itoa(get_current_wpm(), wpm_temp4, 10); - oled_write(wpm_temp4, false); - oled_write(" ", false); -# else // WPM_ENABLE - oled_write("WPM: N/A", false); -# endif // WPM_ENABLE -} - -// Writes the currently used OLED display layout -void render_keymap(uint8_t row, uint8_t col, bool isLite) { - // Render the oled layout; lite is 11, regular is 14 characters - oled_set_cursor(col, row); - if (isLite) { - oled_write("KM: ", false); - } else { - oled_write("Layout: ", false); - } - switch (userspace_config.layout % 3) { - case 0: - oled_write("Dvorak", false); - break; - case 1: - oled_write("Tur. F", false); - break; - case 2: - oled_write("Qwerty", false); - break; - } - if (isLite) { - oled_write(" ", false); - } -} - -// Writes the currently used OLED display layout -#ifdef RGB_MATRIX_ENABLE -void render_rgb_lite(uint8_t row, uint8_t col) { - // Writes the currently used OLED display layout, 19 characters - static char rgb_temp4[4] = {0}; - // Render the oled layout - oled_set_cursor(col, row); - oled_write("m", false); - itoa(rgb_matrix_get_mode(), rgb_temp4, 10); - oled_write(rgb_temp4, false); - oled_write(" h", false); - itoa(rgb_matrix_get_hue(), rgb_temp4, 10); - oled_write(rgb_temp4, false); - oled_write(" s", false); - itoa(rgb_matrix_get_sat(), rgb_temp4, 10); - oled_write(rgb_temp4, false); - oled_write(" v", false); - itoa(rgb_matrix_get_val(), rgb_temp4, 10); - oled_write(rgb_temp4, false); -} -#endif // RGB_MATRIX_ENABLE - -void render_status_lite(uint8_t row, uint8_t col) { - // Function to print state information; for low flash memory - uint8_t this_layer = get_highest_layer(layer_state); - uint8_t this_mod = get_mods(); - - // Line 1: Layer State - render_layer(row + 0, col + 0, this_layer); - - // Line 2: Mod or info - switch (this_layer) { - // Show RGB mode as an overlay in media mode. -# ifdef RGB_MATRIX_ENABLE - case _MEDI: - render_rgb_lite(row + 1, col + 0); - break; -# endif // RGB_MATRIX_ENABLE - // Show the modifier if nothing else is doing anything - default: - render_modifiers_lite(row + 1, col + 0, this_mod); - break; - } - - // Line 3: WPM and layout - render_keymap(row + 2, col + 0, true); - render_wpm(row + 2, col + 11); - - // Line 4: Encoder states -# ifdef SPLIT_KEYBOARD - if (is_keyboard_left()) { - render_encoder(row + 3, col + 0, 0, this_layer); - } else { - render_encoder(row + 3, col + 0, 1, this_layer); - } -# else // SPLIT_KEYBOARD - render_encoder(row + 3, col + 0, 0, this_layer); -# endif // SPLIT_KEYBOARD -} diff --git a/users/bbaserdem/bb-oled.h b/users/bbaserdem/bb-oled.h deleted file mode 100644 index a355c88ca9..0000000000 --- a/users/bbaserdem/bb-oled.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#pragma once -#include "bbaserdem.h" - -// Contain the main oled writer here -void oled_task_user(void); -// Some generic rendering functions -void render_qmk_logo(uint8_t row, uint8_t col); -void render_layer(uint8_t row, uint8_t col, uint8_t top_layer); -void render_modifiers_lite(uint8_t row, uint8_t col, uint8_t mods); -void render_encoder(uint8_t row, uint8_t col, uint8_t index, uint8_t layer); -void render_wpm(uint8_t row, uint8_t col); -void render_keymap(uint8_t row, uint8_t col, bool isLite); -#ifdef RGB_MATRIX_ENABLE -void render_rgb_lite(uint8_t row, uint8_t col); -#endif // RGB_MATRIX_ENABLE -void render_status_lite(uint8_t row, uint8_t col); diff --git a/users/bbaserdem/bb-rgb.c b/users/bbaserdem/bb-rgb.c deleted file mode 100644 index bdb7f12bbd..0000000000 --- a/users/bbaserdem/bb-rgb.c +++ /dev/null @@ -1,130 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#include "bb-rgb.h" -#include "color.h" - -#define X_DIV 224/2 -/* Code relating to per-key RGB LED stuff - */ - -// Allow hooking into the RGB matrix indications using keymap code - -// Modulates the brightness of indicator -RGB helper_dimmer(uint8_t r, uint8_t g, uint8_t b) { - RGB output; - output.r = r / 2; - output.g = g / 2; - output.b = b / 2; - return output; -} -// x range from 0-left to 224-right -// y range from 0-top to 64-bottom -void helper_painter(uint8_t led_min, uint8_t led_max, RGB col, uint8_t side) { - if (side == 1) { - // Left - for(uint8_t i = led_min; i <= led_max; i++) { - if((g_led_config.point[i].x < X_DIV) && (g_led_config.flags[i] & LED_FLAG_INDICATOR)) { - rgb_matrix_set_color(i, col.r, col.g, col.b); - } - } - } else if (side == 2) { - // Right - for(uint8_t i = led_min; i <= led_max; i++) { - if((g_led_config.point[i].x > X_DIV) && (g_led_config.flags[i] & LED_FLAG_INDICATOR)) { - rgb_matrix_set_color(i, col.r, col.g, col.b); - } - } - } else if (side == 0) { - // Both - for(uint8_t i = led_min; i <= led_max; i++) { - if(g_led_config.flags[i] & LED_FLAG_INDICATOR) { - rgb_matrix_set_color(i, col.r, col.g, col.b); - } - } - } -} - -// Allow to turn off global handling -__attribute__ ((weak)) bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { - return false; -} -// Set RGB state depending on layer -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - uint8_t thisInd = 3; - RGB thisCol; - // Load keymap hooks - if(rgb_matrix_indicators_advanced_keymap(led_min, led_max)) { - return; - } - // Grab color info - switch (get_highest_layer(layer_state)) { - case _GAME: // Set left side as purple - thisCol = helper_dimmer(RGB_PURPLE); - thisInd = 1; - break; - case _CHAR: // Set full board as gold - thisCol = helper_dimmer(RGB_GOLD); - thisInd = 0; - break; - case _MEDI: // Set right side as pink - thisCol = helper_dimmer(RGB_MAGENTA); - thisInd = 2; - break; - case _NAVI: // Set right side as green - thisCol = helper_dimmer(RGB_GREEN); - thisInd = 2; - break; - case _SYMB: // Set right side as yellow - thisCol = helper_dimmer(RGB_YELLOW); - thisInd = 2; - break; - case _NUMB: // Set left side as blue - thisCol = helper_dimmer(RGB_BLUE); - thisInd = 1; - break; - case _FUNC: // Set left side as red - thisCol = helper_dimmer(RGB_RED); - thisInd = 1; - break; - case _MOUS: // Set left side as blue-green - thisCol = helper_dimmer(RGB_SPRINGGREEN); - thisInd = 1; - break; - case _MUSI: // Set full board as orange - thisCol = helper_dimmer(RGB_ORANGE); - thisInd = 0; - break; - } - helper_painter(led_min, led_max, thisCol, thisInd); -} - -// Hook into shutdown code to make all perkey LED's red on hitting reset -void shutdown_rgb(void) { - // Flash all the key LED's red on shutdown - uint16_t timer_start = timer_read(); - rgb_matrix_set_color_all(RGB_CORAL); - // Delay until this registers - while(timer_elapsed(timer_start) < 250) {wait_ms(1);} -} - -// Hook into suspend code -void suspend_power_down_rgb(void) { - rgb_matrix_set_suspend_state(true); -} -void suspend_wakeup_init_rgb(void) { - rgb_matrix_set_suspend_state(false); -} diff --git a/users/bbaserdem/bb-rgb.h b/users/bbaserdem/bb-rgb.h deleted file mode 100644 index 62b6da9f2f..0000000000 --- a/users/bbaserdem/bb-rgb.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#pragma once -#include "bbaserdem.h" - -/* Hooks involving perkey RGB LEDs - */ - -// For custom indicators -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max); -// Hook into shutdown code -void shutdown_rgb(void); -void suspend_wakeup_init_rgb(void); -void suspend_power_down_rgb(void); diff --git a/users/bbaserdem/bb-underglow.c b/users/bbaserdem/bb-underglow.c deleted file mode 100644 index 69aae439f4..0000000000 --- a/users/bbaserdem/bb-underglow.c +++ /dev/null @@ -1,116 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#include "bb-underglow.h" - -/* UNDERGLOW IMPLEMENTATION - */ - -// Define the layer switching code - -// An empty layer on the base -const rgblight_segment_t PROGMEM bb_base_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 0, HSV_WHITE} -); -// Gaming layer is turquoise -const rgblight_segment_t PROGMEM bb_game_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {RGBLIGHT_LEFT_BEG, RGBLIGHT_LEFT_NUM, HSV_PURPLE} -); -// Character overlay is chartereuse -const rgblight_segment_t PROGMEM bb_char_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, RGBLED_NUM, HSV_GOLD} -); - -// Right-hand layers - -// Media layer is orange -const rgblight_segment_t PROGMEM bb_medi_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {RGBLIGHT_RIGHT_BEG, RGBLIGHT_RIGHT_NUM, HSV_MAGENTA} -); -// Navigation layer is green -const rgblight_segment_t PROGMEM bb_navi_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {RGBLIGHT_RIGHT_BEG, RGBLIGHT_RIGHT_NUM, HSV_GREEN} -); -// Symbol layer is purple -const rgblight_segment_t PROGMEM bb_symb_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {RGBLIGHT_RIGHT_BEG, RGBLIGHT_RIGHT_NUM, HSV_YELLOW} -); - -// Left-hand layers - -// Number layer is blue -const rgblight_segment_t PROGMEM bb_numb_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {RGBLIGHT_LEFT_BEG, RGBLIGHT_LEFT_NUM, HSV_BLUE} -); -// Function layer is red -const rgblight_segment_t PROGMEM bb_func_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {RGBLIGHT_LEFT_BEG, RGBLIGHT_LEFT_NUM, HSV_RED} -); -// Pointer layer is yellow -const rgblight_segment_t PROGMEM bb_mous_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {RGBLIGHT_LEFT_BEG, RGBLIGHT_LEFT_NUM, HSV_SPRINGGREEN} -); - -// Music playback layer is magenta -const rgblight_segment_t PROGMEM bb_musi_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, RGBLED_NUM, HSV_ORANGE} -); - -const rgblight_segment_t* const PROGMEM bb_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - bb_base_layer, - bb_char_layer, - bb_game_layer, - bb_medi_layer, - bb_navi_layer, - bb_symb_layer, - bb_numb_layer, - bb_func_layer, - bb_mous_layer, - bb_musi_layer -); - -// Enable the LED switching layers -void keyboard_post_init_underglow(void) { - rgblight_layers = bb_rgb_layers; - // Default rgb mode is rainbow swirl; set this - rgblight_sethsv_noeeprom(100, 255, 255); - rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_SWIRL + 0); -} - -// Set RGBLIGHT state depending on layer -layer_state_t layer_state_set_underglow(layer_state_t state) { - // Activate layers if on that region - rgblight_set_layer_state(_BASE, layer_state_cmp(state, _BASE)); - rgblight_set_layer_state(_GAME, layer_state_cmp(state, _GAME)); - rgblight_set_layer_state(_CHAR, layer_state_cmp(state, _CHAR)); - rgblight_set_layer_state(_MEDI, layer_state_cmp(state, _MEDI)); - rgblight_set_layer_state(_NAVI, layer_state_cmp(state, _NAVI)); - rgblight_set_layer_state(_SYMB, layer_state_cmp(state, _SYMB)); - rgblight_set_layer_state(_NUMB, layer_state_cmp(state, _NUMB)); - rgblight_set_layer_state(_FUNC, layer_state_cmp(state, _FUNC)); - rgblight_set_layer_state(_MOUS, layer_state_cmp(state, _MOUS)); - rgblight_set_layer_state(_MUSI, layer_state_cmp(state, _MUSI)); - // Return so other stuff can be done - return state; -} - -// Hook into shutdown code -void shutdown_underglow(void) { - // Make the LED's red on shutdown - rgblight_enable_noeeprom(); - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - rgblight_sethsv(HSV_WHITE); -} diff --git a/users/bbaserdem/bb-underglow.h b/users/bbaserdem/bb-underglow.h deleted file mode 100644 index 9cc1db3757..0000000000 --- a/users/bbaserdem/bb-underglow.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#pragma once -#include "bbaserdem.h" - -/* UNDERGLOW IMPLEMENTATION - */ - -// Used to initialize layer switching overlay -void keyboard_post_init_underglow(void); -// Used to change RGB underglow layers on keymap layer change -layer_state_t layer_state_set_underglow(layer_state_t state); -// Hook into shutdown to show effect on shutdown -void shutdown_underglow(void); diff --git a/users/bbaserdem/bbaserdem.c b/users/bbaserdem/bbaserdem.c deleted file mode 100644 index e0e204c302..0000000000 --- a/users/bbaserdem/bbaserdem.c +++ /dev/null @@ -1,376 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include "bbaserdem.h" -// Language imports -#include <sendstring_dvorak.h> -// Need memcpy and memcmp from string.h along with transfer stuff -#ifdef SPLIT_KEYBOARD -#include "transactions.h" -#include <string.h> -#endif // SPLIT_KEYBOARD - -/*-------------------------*\ -|*-----KEYBOARD CONFIG-----*| -\*-------------------------*/ -userspace_config_t userspace_config; -userspace_runtime_t userspace_runtime; - -/*---------------------------------*\ -|*----SPLIT KEYBOARD TRANSPORT-----*| -\*---------------------------------*/ -#ifdef SPLIT_KEYBOARD -userspace_config_t transport_userspace_config; -userspace_runtime_t transport_userspace_runtime; - -// Translate the RPC data to the local variable -void userspace_config_sync(uint8_t in_buflen, const void* in_data, uint8_t out_buflen, void* out_data) { - // Copy incoming data to local variable - if (in_buflen == sizeof(transport_userspace_config)) { - memcpy(&transport_userspace_config, in_data, in_buflen); - } - // There is no data to send back; so no output handling -} -void userspace_runtime_sync(uint8_t in_buflen, const void* in_data, uint8_t out_buflen, void* out_data) { - // Copy incoming data to local variable - if (in_buflen == sizeof(transport_userspace_runtime)) { - memcpy(&transport_userspace_runtime, in_data, in_buflen); - } - // There is no data to send back; so no output handling -} - -// Either send or receive the correct data -void userspace_transport_update(void) { - if (is_keyboard_master()) { - // If we are the main device; we want to send info. - transport_userspace_config.raw = userspace_config.raw; - transport_userspace_runtime.raw = userspace_runtime.raw; - } else { - // If we are the secondary device; we want to receive info, and save to eeprom. - userspace_config.raw = transport_userspace_config.raw; - userspace_runtime.raw = transport_userspace_runtime.raw; - } -} - -// Initiate the protocol on sync -void userspace_transport_sync(bool force_sync) { - if (is_keyboard_master()) { - // Keep track of the last state - static userspace_config_t last_userspace_config; - static userspace_runtime_t last_userspace_runtime; - bool needs_sync = false; - - // Check if the config values are different - if (memcmp(&transport_userspace_config, &last_userspace_config, sizeof(transport_userspace_config))) { - needs_sync = true; - memcpy(&last_userspace_config, &transport_userspace_config, sizeof(transport_userspace_config)); - } - // Perform the sync if requested - if (needs_sync || force_sync) { - transaction_rpc_send(RPC_ID_CONFIG_SYNC, sizeof(transport_userspace_config), &transport_userspace_config); - needs_sync = false; - } - - // Check if the runtime values are different - if (memcmp(&transport_userspace_runtime, &last_userspace_runtime, sizeof(transport_userspace_runtime))) { - needs_sync = true; - memcpy(&last_userspace_runtime, &transport_userspace_runtime, sizeof(transport_userspace_runtime)); - } - - // Perform the sync if requested - if (needs_sync || force_sync) { - transaction_rpc_send(RPC_ID_RUNTIME_SYNC, sizeof(transport_userspace_runtime), &transport_userspace_runtime); - needs_sync = false; - } - } -} -#endif // SPLIT_KEYBOARD - -/*---------------------------*\ -|*-----KEYBOARD PRE INIT-----*| -\*---------------------------*/ -/* This code runs before anything is started. - * Good for early hardware setup - */ -__attribute__ ((weak)) void keyboard_pre_init_keymap(void) {} -__attribute__ ((weak)) void keyboard_pre_init_user(void) { - // Keymap specific stuff - keyboard_pre_init_keymap(); -} - -/*---------------------*\ -|*-----MATRIX INIT-----*| -\*---------------------*/ -/* This code runs once midway thru the firmware process. - * So far, sets the base layer and fixes unicode mode - */ -__attribute__ ((weak)) void matrix_init_keymap(void) {} -void matrix_init_user (void) { - // Keymap specific things - matrix_init_keymap(); -} - -/*----------------------------*\ -|*-----KEYBOARD POST INIT-----*| -\*----------------------------*/ -/* This code runs after anything is started. - * Good for late hardware setup, like setting up layer specifications - */ -__attribute__ ((weak)) void keyboard_post_init_keymap(void) {} -__attribute__ ((weak)) void keyboard_post_init_user(void) { - // Fix beginning base layer, in case some other firmware was flashed - // set_single_persistent_default_layer(_BASE); - - // Unicode mode -# ifdef UNICODEMAP_ENABLE - set_unicode_input_mode(UC_LNX); -# endif // UNICODEMAP_ENABLE - - // Split keyboard halves communication -# ifdef SPLIT_KEYBOARD - // Register the transactions - transaction_register_rpc( RPC_ID_CONFIG_SYNC, userspace_config_sync ); - transaction_register_rpc(RPC_ID_RUNTIME_SYNC, userspace_runtime_sync); - // Load default config values - if (is_keyboard_master()) { - // If we are main; load from eeconfig - userspace_config.raw = eeconfig_read_user(); - // And update the transport variable - userspace_transport_update(); - // Do one forced transfer to sync halves - userspace_transport_sync(true); - } else { - // Just sync the data received - userspace_transport_update(); - } -# else // SPLIT_KEYBOARD - // If we are not split; just load from eeprom - userspace_config.raw = eeconfig_read_user(); -# endif // SPLIT_KEYBOARD - - // Backlight LED -# ifdef BACKLIGHT_ENABLE - keyboard_post_init_backlight(); -# endif // BACKLIGHT_ENABLE - - // RGB underglow -# ifdef RGBLIGHT_ENABLE - keyboard_post_init_underglow(); -# endif // RGBLIGHT_ENABLE - - // Keymap specific stuff - keyboard_post_init_keymap(); -} - -/*---------------------------*\ -|*-----HOUSEKEEPING TASK-----*| -\*---------------------------*/ -/* I have no idea what this does - */ -__attribute__ ((weak)) void housekeeping_task_keymap(void) {} -void housekeeping_task_user(void) { - // Check eeprom every now and then - static userspace_config_t prev_userspace_config; - static fast_timer_t throttle_timer = 0; - static bool init_flag = true; - - // Read this if we never read it before - if (init_flag) { - init_flag = false; - prev_userspace_config.raw = eeconfig_read_user(); - } - - // Throttled tasks here - if (timer_elapsed_fast(throttle_timer) >= HOUSEKEEPING_THROTTLE_INTERVAL_MS) { - // Refresh timer - throttle_timer = timer_read_fast(); - // Check userspace config for eeprom updates - if (memcmp(&prev_userspace_config, &userspace_config, sizeof(userspace_config))) { - memcpy(&prev_userspace_config, &userspace_config, sizeof(userspace_config)); - eeconfig_update_user(userspace_config.raw); - } - } - - // Do transport stuff -# ifdef SPLIT_KEYBOARD - userspace_transport_update(); - userspace_transport_sync(false); -# endif // SPLIT_KEYBOARD - - // Hook to keymap code - housekeeping_task_keymap(); -} - -/*-----------------------*\ -|*-----EECONFIG INIT-----*| -\*-----------------------*/ -/* Default values to send to the eeprom - */ -void eeconfig_init_user(void) { - // Set everything to default - userspace_config.raw = 0; - // Set encoder states to sane defaults if enabled -# ifdef ENCODER_ENABLE - reset_encoder_state(); -# endif // ENCODER_ENABLE -} - -/*------------------------*\ -|*-----PROCESS RECORD-----*| -\*------------------------*/ -/* Process record: custom keycodes to process here - * Allow also the following codes to hook here as well; - * Macro definitions - * Audio hooks - */ -__attribute__ ((weak)) -bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { - return true; -} -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - // Return after running through all individual hooks - return - process_record_keymap(keycode, record) && -# ifdef AUDIO_ENABLE - process_record_audio(keycode, record) && -# endif // AUDIO_ENABLE -# ifdef ENCODER_ENABLE - process_record_encoder(keycode, record) && -# endif // ENCODER_ENABLE - process_record_macro(keycode, record); -} - -/*---------------------*\ -|*-----MATRIX SCAN-----*| -\*---------------------*/ -/* This code runs every frame - * I used to check for layer switching here, but layer state is better used. - * Try to not put anything here; as it runs hundreds time per second-ish - */ -__attribute__ ((weak)) void matrix_scan_keymap(void) { } -void matrix_scan_user (void) { - // Keymap specific scan function - matrix_scan_keymap(); -} - -/*---------------------*\ -|*-----LAYER STATE-----*| -\*---------------------*/ -/* This code runs after every layer change - * State represents the new layer state. - */ -__attribute__ ((weak)) -layer_state_t layer_state_set_keymap (layer_state_t state) { - return state; -} -layer_state_t layer_state_set_user(layer_state_t state) { - // Keymap layer state setting - state = layer_state_set_keymap(state); - // For underglow stuff -# ifdef RGBLIGHT_ENABLE - state = layer_state_set_underglow(state); -# endif // RGBLIGHT_ENABLE - // Audio playback -# ifdef AUDIO_ENABLE - state = layer_state_set_audio(state); -# endif // AUDIO_ENABLE - - return state; -} - -/*-----------------------------*\ -|*-----DEFAULT LAYER STATE-----*| -\*-----------------------------*/ -/* This code runs after every time default base layer is changed - */ -__attribute__ ((weak)) -layer_state_t default_layer_state_set_keymap (layer_state_t state) { - return state; -} -layer_state_t default_layer_state_set_user(layer_state_t state) { - // Keymap level code - state = default_layer_state_set_keymap(state); - return state; -} - -/*------------------------*\ -|*-----LED SET KEYMAP-----*| -\*------------------------*/ -/* Code for LED indicators - * I'm not sure when exactly does this code run - */ -__attribute__ ((weak)) void led_set_keymap(uint8_t usb_led) {} -void led_set_user(uint8_t usb_led) { - led_set_keymap(usb_led); -} - -/*-----------------*\ -|*-----SUSPEND-----*| -\*-----------------*/ -/* Suspend stuff here, mostly for the rgb lighting. - */ -__attribute__ ((weak)) void suspend_power_down_keymap (void) { } -void suspend_power_down_user(void) { - suspend_power_down_keymap(); - // RGB matrix sleep hook -# ifdef RGB_MATRIX_ENABLE - suspend_power_down_rgb(); -# endif // RGB_MATRIX_ENABLE -} -__attribute__ ((weak)) void suspend_wakeup_init_keymap (void) { } -void suspend_wakeup_init_user(void) { - suspend_wakeup_init_keymap(); - // RGB matrix sleep hook -# ifdef RGB_MATRIX_ENABLE - suspend_wakeup_init_rgb(); -# endif // RGB_MATRIX_ENABLE -} - -<<<<<<< HEAD - state = layer_state_set_keymap (state); -#ifdef RGBLIGHT_ENABLE - // Change RGB lighting depending on the last layer activated - rgblight_change( get_highest_layer(state) ); -#endif - return state; -||||||| f439fe6055 - state = layer_state_set_keymap (state); -#ifdef RGBLIGHT_ENABLE - // Change RGB lighting depending on the last layer activated - rgblight_change( biton32(state) ); -#endif - return state; -======= -/*------------------*\ -|*-----SHUTDOWN-----*| -\*------------------*/ -/* Shutdown stuff here; for when entering bootmode. - */ -__attribute__ ((weak)) void shutdown_keymap (void) { } -void shutdown_user(void) { - // Underglow LED hook on boot -# ifdef RGBLIGHT_ENABLE - shutdown_underglow(); -# endif // RGBLIGHT_ENABLE - // Perkey led hook on boot -# ifdef RGB_MATRIX_ENABLE - shutdown_rgb(); -# endif // RGB_MATRIX_ENABLE - // Keymap hooks - shutdown_keymap(); ->>>>>>> upstream/master -} diff --git a/users/bbaserdem/bbaserdem.h b/users/bbaserdem/bbaserdem.h deleted file mode 100644 index 4792d5c2d7..0000000000 --- a/users/bbaserdem/bbaserdem.h +++ /dev/null @@ -1,573 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#pragma once -#include QMK_KEYBOARD_H -#include "quantum.h" -#include "keymap_dvorak.h" - -/* Besides loading libraries and definitions, this file has my layout defs - * LAYOUTS: - * This file has a couple layouts I use; so that the general changes can be - * propagated by only editing this file. - */ - -// Macros to use, this has base level code so not affected by enabled features -#include "bb-macro.h" -// Audio from onboard speakers -#ifdef AUDIO_ENABLE -#include "bb-audio.h" -#endif // AUDIO_ENABLE -// Keycap backlight using non-rgb LEDs -#ifdef BACKLIGHT_ENABLE -#include "bb-backlight.h" -#endif // BACKLIGHT_ENABLE -// Underglow light using rgb LEDs -#ifdef RGBLIGHT_ENABLE -#include "bb-underglow.h" -#endif // RGBLIGHT_ENABLE -// Keycap backlight using rgb LEDs -#ifdef RGB_MATRIX_ENABLE -#include "bb-rgb.h" -#endif // RGB_MATRIX_ENABLE -// Rotary encoder -#ifdef ENCODER_ENABLE -#include "bb-encoder.h" -#endif // ENCODER_ENABLE -// Oled screen -#ifdef OLED_ENABLE -#include "bb-oled.h" -#endif // OLED_ENABLE - -// Structure to keep runtime info on encoder state -typedef union { - uint32_t raw; - struct { - bool rgb_sleep; - }; -} userspace_runtime_t; - -typedef union { - uint32_t raw; - struct { - uint8_t e0base :4; // ( 4:0) The encoder state on most layers; regular function - uint8_t e1base :4; // ( 8:1) 9 states for this; 4 bits - uint8_t e0point :2; // (10:1) The encoder state on mouse layer; moves pointer - uint8_t e1point :2; // (12:1) 4 states for this; 2 bits - uint8_t e0rgb :4; // (16:2) The encoder state on media layer; controls light - uint8_t e1rgb :4; // (20:2) 5 states for this; 3 bits but 4 is better - uint8_t layout :2; // (22:2) Stores keymap layout; 3 states is good on 2 bits - uint16_t :10; // (32:3) Padding here, free space for 10 more bits - }; -} userspace_config_t; - -// Broadcast us to everyone else -extern userspace_runtime_t userspace_runtime; -extern userspace_config_t userspace_config; - -// Function definitions that can be accessed through specific keymaps -// Runs before all initialization -void keyboard_pre_init_keymap(void); -// For code that launches once midway through initialization -void matrix_init_keymap(void); -// For code that launches after initialization is finished. -void keyboard_post_init_keymap(void); -// These will be delegated to keymap specific stuff (weak definition) -bool process_record_keymap(uint16_t keycode, keyrecord_t *record); -// This code runs on every tick -void matrix_scan_keymap(void); -// This code runs after every layer change -layer_state_t layer_state_set_keymap(layer_state_t state); -// This code runs when the default layer changes -layer_state_t default_layer_state_set_keymap (layer_state_t state); -// Some code -void housekeeping_task_user(void); -// This code runs to set LED states -void led_set_keymap(uint8_t usb_led); -// For code that runs on suspend -void suspend_power_down_keymap(void); -void suspend_wakeup_init_keymap(void); -// For code that runs on powerdown -void shutdown_keymap(void); - -// Make it so that keymaps can use KEYMAP_SAFE_RANGE for custom keycodes -#ifdef KEYMAP_SAFE_RANGE -#define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE -#else -#define PLACEHOLDER_SAFE_RANGE SAFE_RANGE -#endif - -// Custom macro keycode ranges -enum userspace_custom_keycodes { - // Safe stuff - BB_SAFE = PLACEHOLDER_SAFE_RANGE, - // Double entry macros - DBL_ANG, - DBL_PAR, - DBL_CBR, - DBL_BRC, - // Macro key - BB_PGPK, - // Unicode strings -# ifdef UNICODEMAP_ENABLE - BB_LENY, - BB_TABL, - TR_FLAG, -# endif // UNICODEMAP_ENABLE - // Encoder buttons -# ifdef ENCODER_ENABLE - BB_ENC0, - BB_ENC1, -# endif // ENCODER_ENABLE - // Oled editor -# ifdef OLED_ENABLE - BB_OLED, -# endif // OLED_ENABLE - //use for keymap specific codes - KEYMAP_SAFE_RANGE -}; -// Mask these keycodes if required features are not enabled -#ifndef UNICODEMAP_ENABLE -#define BB_LENY KC_NO -#define BB_TABL KC_NO -#define TR_FLAG KC_NO -#endif // UNICODEMAP_ENABLE -#ifndef ENCODER_ENABLE -#define BB_ENC0 KC_NO -#define BB_ENC1 KC_NO -#endif // ENCODER_ENABLE - -/// Enumerate of layers -enum userspace_layers { - _BASE = 0, // Base layer - _CHAR, // Characters layer - _GAME, // Game layer - _MEDI, // R3: Media layer - _NAVI, // R3: Navigation layer - _SYMB, // R1: Symbols layer - _NUMB, // L1: Numbers layer - _FUNC, // L2: Function keys layer - _MOUS, // L3: Mouse keys layer - _MUSI // Music overlay -}; - -// Use 7 wide characters for keymaps, to keep things aligned with 4 tabs -#define _______ KC_TRNS -#define XXXXXXX KC_NO - -// These defines allow multiple multi-parameter definitions to expand -// for these boards -#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) -#define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__) -#define LAYOUT_ortho_5x15_wrapper(...) LAYOUT_ortho_5x15(__VA_ARGS__) -#define LAYOUT_ortho_3x10_wrapper(...) LAYOUT_ortho_3x10(__VA_ARGS__) -#define LAYOUT_split_3x6_3_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__) -#define LAYOUT_split_3x5_3_wrapper(...) LAYOUT_split_3x5_3(__VA_ARGS__) - -// Masks -#define ___1___ _______ -#define ___2___ _______,_______ -#define ___3___ _______,_______,_______ -#define ___4___ _______,_______,_______,_______ -#define ___5___ _______,_______,_______,_______,_______ -#define ___6___ _______,_______,_______,_______,_______,_______ -#define xxx1xxx KC_NO -#define xxx2xxx KC_NO, KC_NO -#define xxx3xxx KC_NO, KC_NO, KC_NO -#define xxx4xxx KC_NO, KC_NO, KC_NO, KC_NO -#define xxx5xxx KC_NO, KC_NO, KC_NO, KC_NO, KC_NO -#define xxx6xxx KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO -#define xxx1xxx KC_NO -#define xxx3xxx KC_NO, KC_NO, KC_NO -#define xxx5xxx KC_NO, KC_NO, KC_NO, KC_NO, KC_NO -#define xxx6xxx KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO - -// Quick macros: in dvorak -#define BB_UNDO LCTL(KC_SLSH) // Ctrl + Z -#define BB_REDO LCTL(KC_T) // Ctrl + Y -#define BB_YANK LCTL(KC_I) // Ctrl + C -#define BB_CUT LCTL(KC_B) // Ctrl + X -#define BB_PSTE LCTL(KC_DOT) // Ctrl + V - -// Audio keys -#ifdef AUDIO_ENABLE -#define MU_REC KC_LCTL -#define MU_STOP KC_LALT -#define MU_PLAY KC_LGUI -#define MU_FAST KC_UP -#define MU_SLOW KC_DOWN -#define MU_MASK KC_A -#define BB_SND MU_ON -#ifdef TAP_DANCE_ENABLE -#define MU_TEMP TD(TD_AUDIO_TEMPO) -#else // TAP_DANCE_ENABLE -#define MU_TEMP KC_DOWN -#endif // TAP_DANCE_ENABLE -#else // AUDIO_ENABLE -#define MU_REC KC_NO -#define MU_STOP KC_NO -#define MU_PLAY KC_NO -#define MU_FAST KC_NO -#define MU_TEMP KC_NO -#define MU_SLOW KC_NO -#define MU_MASK KC_NO -#define BB_SND KC_MUTE -#endif // AUDIO_ENABLE - -// Unicode keys -#ifdef UNICODEMAP_ENABLE -#define TR_ACIR XP(LOW_A_CIRC, UPC_A_CIRC ) -#define TR_CCED XP(LOW_C_CEDI, UPC_C_CEDI ) -#define TR_GBRE XP(LOW_G_BREV, LOW_G_BREV ) -#define TR_ICIR XP(LOW_I_CIRC, LOW_I_CIRC ) -#define TR_I_NO XP(LOW_I_DOTL, LOW_I_DOTL ) -#define TR_IDOT XP(LOW_I_DOTT, LOW_I_DOTT ) -#define TR_ODIA XP(LOW_O_DIAE, LOW_O_DIAE ) -#define TR_SCED XP(LOW_S_CEDI, LOW_S_CEDI ) -#define TR_UCIR XP(LOW_U_CIRC, LOW_U_CIRC ) -#define TR_UDIA XP(LOW_U_DIAE, LOW_U_DIAE ) -#define GR_ALP XP(LOW_ALPHA, UPC_ALPHA ) -#define GR_BET XP(LOW_BETA, UPC_BETA ) -#define GR_GAM XP(LOW_GAMMA, UPC_GAMMA ) -#define GR_DEL XP(LOW_DELTA, UPC_DELTA ) -#define GR_EPS XP(LOW_EPSILON,UPC_EPSILON) -#define GR_ZET XP(LOW_ZETA, UPC_ZETA ) -#define GR_ETA XP(LOW_ETA, UPC_ETA ) -#define GR_THE XP(LOW_THETA, UPC_THETA ) -#define GR_IOT XP(LOW_IOTA, UPC_IOTA ) -#define GR_KAP XP(LOW_KAPPA, UPC_KAPPA ) -#define GR_LAM XP(LOW_LAMBDA, UPC_LAMBDA ) -#define GR_MU XP(LOW_MU, UPC_MU ) -#define GR_NU XP(LOW_NU, UPC_NU ) -#define GR_XI XP(LOW_XI, UPC_XI ) -#define GR_OMI XP(LOW_OMICRON,UPC_OMICRON) -#define GR_PI XP(LOW_PI, UPC_PI ) -#define GR_RHO XP(LOW_RHO, UPC_RHO ) -#define GR_SIG XP(LOW_SIGMA, UPC_SIGMA ) -#define GR_TAU XP(LOW_TAU, UPC_TAU ) -#define GR_UPS XP(LOW_UPSILON,UPC_UPSILON) -#define GR_PHI XP(LOW_PHI, UPC_PHI ) -#define GR_CHI XP(LOW_CHI, UPC_CHI ) -#define GR_PSI XP(LOW_PSI, UPC_PSI ) -#define GR_OME XP(LOW_OMEGA, UPC_OMEGA ) -#define BB_ELLI X(ELLIPSIS) -#define BB_PLNK X(PLANCK_CON) -#define BB_ANGS X(ANGSTROM) -#define BB_BITC X(BITCOIN) -#else // UNICODEMAP_ENABLE -#define TR_ACIR KC_A -#define TR_CCED KC_C -#define TR_GBRE KC_G -#define TR_ICIR KC_I -#define TR_I_NO KC_I -#define TR_IDOT KC_I -#define TR_ODIA KC_O -#define TR_SCED KC_S -#define TR_UCIR KC_U -#define TR_UDIA KC_U -#define GR_ALP KC_NO -#define GR_BET KC_NO -#define GR_GAM KC_NO -#define GR_DEL KC_NO -#define GR_EPS KC_NO -#define GR_ZET KC_NO -#define GR_ETA KC_NO -#define GR_THE KC_NO -#define GR_IOT KC_NO -#define GR_KAP KC_NO -#define GR_LAM KC_NO -#define GR_MU KC_NO -#define GR_NU KC_NO -#define GR_XI KC_NO -#define GR_OMI KC_NO -#define GR_PI KC_NO -#define GR_RHO KC_NO -#define GR_SIG KC_NO -#define GR_TAU KC_NO -#define GR_UPS KC_NO -#define GR_PHI KC_NO -#define GR_CHI KC_NO -#define GR_PSI KC_NO -#define GR_OME KC_NO -#define BB_ELLI KC_NO -#define BB_PLNK KC_NO -#define BB_ANGS KC_NO -#define BB_BITC KC_NO -#endif // UNICODEMAP_ENABLE - -// MOD-tap definitions -#define GUI_A MT(MOD_LGUI, DV_A) -#define ALT_O MT(MOD_LALT, DV_O) -#define CTRL_E MT(MOD_LCTL, DV_E) -#define SHIFT_U MT(MOD_LSFT, DV_U) -#define ALTGR_Q MT(MOD_RALT, DV_Q) -#define GUI_S MT(MOD_RGUI, DV_S) -#define ALT_N MT(MOD_LALT, DV_N) -#define CTRL_T MT(MOD_LCTL, DV_T) -#define SHIFT_H MT(MOD_LSFT, DV_H) -#define ALTGR_V MT(MOD_RALT, DV_V) - -// Layer switches -#define MED_DEL LT(_MEDI, KC_DEL ) -#define NAV_TAB LT(_NAVI, KC_TAB ) -#define SYM_SPC LT(_SYMB, KC_SPC ) -#define NUM_ENT LT(_NUMB, KC_ENT ) -#define FUN_ESC LT(_FUNC, KC_ESC ) -#define MOU_BSP LT(_MOUS, KC_BSPC) - -// Layer switches -#define BB_CHAR OSL(_CHAR) -#define BB_GAME TG(_GAME) - -/* Depending on how the layouts change with language; the keys are shown as; - * ┌────────────────────────────────────────────────┐ - * │AltGr -none- Shift Shift+AltGr │ - * └────────────────────────────────────────────────┘ - * If there is an exclamation mark; it indicates a dead key on this map. - */ - -/* Base layout - * DVORAK - * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ - * ` ~ │ ' " │ , < │ . > │ p P │ y Y │ │ f F │ g G │ c C │ r R │ l L │ < > - * ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ - * \ | │ a A │ o O │ e E │ u U │ i I │ │ d D │ h H │ t T │ n N │ s S │ - _ - * ├─Gui─┼─Alt─┼─Ctr─┼─Sft─┼─────┤ ├─────┼─Sft─┼─Ctr─┼─Alt─┼─Gui─┤ - * / ? │ ; : │ q Q │ j J │ k K │ x X │ │ b B │ m M │ w W │ v V │ z Z │ = + - * └─────┴AltGr┴─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┴AltGr┴─────┘ - * │ Del │ Tab │Space│ │Enter│ Esc │BkSpc│ - * └─Med─┴─Nav─┴─Sym─┘ └─Num─┴─Fun─┴─Mou─┘ - * TURKISH F - * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ - * ¬+ *±│@f F │ g G │ ğ Ğ │¶ı I │ôo OÔ│ │¥d D │®r R │ n N │°h H │£p P │|< >¦ - * !├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼────!┤ ! - * `x Xà│ûu UÛ│îi İÎ│€e E │âa AÂ│ûü ÜÛ│ │₺t T │ k K │µm M │ l L │´y Yá│#ş Şǎ - * ! !├─Gui─┼─Alt─┼─Ctr─┼─Sft─┼─────┤ ├─────┼─Sft─┼─Ctr─┼─Alt!┼─Gui─┤ - * äq Qå│«j J<│»ö Ö>│“v V │¢c C©│”ç Ç │ │ z Z │§s S │×b B │÷. :ȧ│·, ; │~w W - * └─────┴AltGr┴─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┴AltGr┴─────┘ - * │ Del │ Tab │Space│ │Enter│ Esc │BkSpc│ - * └─Med─┴─Nav─┴─Sym─┘ └─Num─┴─Fun─┴─Mou─┘ - * The thing about this layout is that these will fit most boards I have. - */ -#define _BL1_5_ DV_QUOT,DV_COMM,DV_DOT, DV_P, DV_Y -#define _BR1_5_ DV_F, DV_G, DV_C, DV_R, DV_L -#define _BL2_5_ GUI_A, ALT_O, CTRL_E, SHIFT_U,DV_I -#define _BR2_5_ DV_D, SHIFT_H,CTRL_T, ALT_N, GUI_S -#define _BL3_5_ DV_SCLN,ALTGR_Q,DV_J, DV_K, DV_X -#define _BR3_5_ DV_B, DV_M, DV_W, ALTGR_V,DV_Z -#define _BL4_3_ MED_DEL,NAV_TAB,SYM_SPC -#define _BR4_3_ NUM_ENT,FUN_ESC,MOU_BSP -// The extra line for the 6th (or 0th) row -#define _BL1_1_ DV_GRV -#define _BR1_1_ KC_NUBS -#define _BL2_1_ DV_BSLS -#define _BR2_1_ DV_MINS -#define _BL3_1_ DV_SLSH -#define _BR3_1_ DV_EQL - -/* Extra characters layer - * This is accessed using unicode; so IBus compatible apps only. - * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ - * │TrFlg│Lenny│Table│ π │ υ │ │ φ │ γ │ χ │ ρ │ λ │ - * ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ - * │ α │ ο │ ε │ ψ │ ι │ │ δ │ η │ τ │ ν │ σ │ - * ├─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┤ - * │ ₿ │ θ │ ℏ │ κ │ ξ │ │ β │ μ │ ω │ Å │ ζ │ - * └─────┴─────┴─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┴─────┴─────┘ - * │ Shf │ ... │ GPG │ │ │ │ Shf │ - * └─────┴─────┴─────┘ └─────┴─────┴─────┘ - * - */ -#define _CL1_5_ TR_FLAG,BB_LENY,BB_TABL,GR_PI, GR_UPS -#define _CR1_5_ GR_PHI, GR_GAM, GR_CHI, GR_RHO, GR_LAM -#define _CL2_5_ GR_ALP, GR_OMI, GR_EPS, GR_PSI, GR_IOT -#define _CR2_5_ GR_DEL, GR_ETA, GR_TAU, GR_NU, GR_SIG -#define _CL3_5_ BB_BITC,GR_THE, BB_PLNK,GR_KAP, GR_XI -#define _CR3_5_ GR_BET, GR_MU, GR_OME, BB_ANGS,GR_ZET -#define _CL4_3_ KC_RSFT,BB_ELLI,BB_PGPK -#define _CR4_3_ XXXXXXX,XXXXXXX,KC_LSFT - -/* Game layer - * This layer turns off the tap-hold keys for the left half. - * ┌─────┬─────┬─────┬─────┬─────┐ - * │ Q │ W │ E │ R │ T │ - * ├─────┼─────┼─────┼─────┼─────┤ - * Tab │ A │ S │ D │ F │ G │ - * ├─────┼─────┼─────┼─────┼─────┤ - * Shift│ Z │ X │ C │ V │ B │ - * └─────┴─────┴─────┼─────┼─────┼─────┐ - * │ Esc │Enter│Space│ - * └─────┴─────┴─────┘ - */ -#define _GA1_5_ KC_Q, KC_W, KC_E, KC_R, KC_T -#define _GA1_1_ _______ -#define _GA2_5_ KC_A, KC_S, KC_D, KC_F, KC_G -#define _GA2_1_ KC_TAB -#define _GA3_5_ KC_Z, KC_X, KC_C, KC_V, KC_B -#define _GA3_1_ KC_LSFT -#define _GA4_3_ KC_ESC, KC_ENT, KC_SPC - -/* Media layer - * ┌─────┬─────┬─────┬─────┬─────┐ - * │Speed│ Mod │ Hue │ Sat │ Bri │ RGB light control - * ├─────┼─────┼─────┼─────┼─────┤ - * │Togg.│Prev.│MuTog│MuStp│Next │ Media control - * ├─────┼─────┼─────┼─────┼─────┤ - * │Sink │Vol -│ Mut │Eject│Vol +│ Volume control - * ┌─────┼─────┼─────┼─────┴─────┴─────┘ - * │OledL│Veloc│Music│ Feature control on keyboard - * └─────┴─────┴─────┘ - */ -#define _ME1_5_ RGB_SPI,RGB_MOD,RGB_HUI,RGB_SAI,RGB_VAI -#define _ME2_5_ RGB_TOG,KC_MPRV,KC_MPLY,KC_MSTP,KC_MNXT -#define _ME3_5_ KC_F13, KC_VOLD,KC_MUTE,KC_EJCT,KC_VOLU -#define _ME4_3_ BB_OLED,VLK_TOG,MU_TOG - -/* Navigation layer - * ┌─────┬─────┬─────┬─────┬─────┐ - * │Redo │Paste│Yank │ Cut │PrScr│ - * ├─────┼─────┼─────┼─────┼─────┤ - * │Undo │ < │ v │ ^ │ > │ - * ├─────┼─────┼─────┼─────┼─────┤ - * │ Ins │Home │PgDwn│PgUp │ End │ - * ┌─────┼─────┼─────┼─────┴─────┴─────┘ - * │Enter│ Esc │BkSpc│ - * └─────┴─────┴─────┘ - */ -#define _NA1_5_ BB_REDO,BB_PSTE,BB_YANK,BB_CUT, KC_PSCR -#define _NA2_5_ BB_UNDO,KC_LEFT,KC_DOWN,KC_UP, KC_RGHT -#define _NA3_5_ KC_INS, KC_HOME,KC_PGDN,KC_PGUP,KC_END -#define _NA4_3_ KC_ENT, KC_ESC, KC_BSPC - -/* Symbols layer - * This layer has the central columns shifted for convenience - * DVORAK - * ┌─────┬─────┬─────┬─────┬─────┐ - * │ ` │ { │ } │ / │ = │ - * ├─────┼─────┼─────┼─────┼─────┤ - * │ ~ │ [ │ ] │ ? │ + │ - * ├─────┼─────┼─────┼─────┼─────┤ - * │CapsL│ ( │ ) │ \ │ | │ - * ┌─────┼─────┼─────┼─────┴─────┴─────┘ - * │Enter│ Esc │BkSpc│ - * └─────┴─────┴─────┘ - * Turkish F - * (AltGr is right on the central column, red. keys on main layer are omitted) - * ┌─────┬─────┬─────┬─────┬─────┐ - * │ + ¬ │ / \ │ - | │ │ │ - * ├─────┼─────┼─────┼─────┼─────┤ - * │ * ± │ ? ¿ │ _ │ │ │ - * ├─────┼─────┼─────┼─────┼─────┤ - * │CapsL│ │ │ │ │ - * ┌─────┼─────┼─────┼─────┴─────┴─────┘ - * │Enter│ Esc │BkSpc│ - * └─────┴─────┴─────┘ - * QWERTY - * ┌─────┬─────┬─────┬─────┬─────┐ - * │ ` │ - │ = │ { │ } │ - * ├─────┼─────┼─────┼─────┼─────┤ - * │ ~ │ _ │ + │ [ │ ] │ - * ├─────┼─────┼─────┼─────┼─────┤ - * │CapsL│ ( │ ) │ \ │ | │ - * ┌─────┼─────┼─────┼─────┴─────┴─────┘ - * │Enter│ Esc │BkSpc│ - * └─────┴─────┴─────┘ - */ -#define _SY1_5_ DV_GRV, DV_LCBR,DV_RCBR,DV_SLSH,DV_EQL -#define _SY2_5_ DV_TILD,DV_LBRC,DV_RBRC,DV_QUES,DV_PLUS -#define _SY3_5_ KC_CAPS,DV_LPRN,DV_RPRN,DV_BSLS,DV_PIPE -#define _SY4_3_ KC_ENT, KC_ESC, KC_BSPC - -/* Numbers layer - * This layer contains numbers and the associated symbols. - * DVORAK - * ┌─────┬─────┬─────┬─────┬─────┐ - * │ < │ 7 & │ 8 * │ 9 ( │ 0 ) │ - * ├─────┼─────┼─────┼─────┼─────┤ - * │ _ │ 4 $ │ 5 % │ 6 ^ │ - │ - * ├─────┼─────┼─────┼─────┼─────┤ - * │ > │ 1 ! │ 2 @ │ 3 # │Char.│ - * └─────┴─────┴─────┼─────┼─────┼─────┐ - * │ Del │ Tab │Space│ - * └─────┴─────┴─────┘ - * Turkish F - * ┌─────┬─────┬─────┬─────┬─────┐ - * │ < | │{7 ' │[8 ( │]9 )±│}0 =°│ - * ├─────┼─────┼─────┼─────┼─────┤ - * │ │¼4 $ │½5 %⅜│¾6 & │ │ - * ├─────┼─────┼─────┼─────┼─────┤ - * │ > ¦ │¹1 !¡│²2 " │#3 ^³│Char.│ - * └─────┴─────┴─────┼─────┼─────┼─────┐ - * │ Del │ Tab │Space│ - * └─────┴─────┴─────┘ - */ -#define _NU1_5_ KC_NUBS,KC_7, KC_8, KC_9, KC_0 -#define _NU2_5_ DV_UNDS,KC_4, KC_5, KC_6, DV_MINS -#define _NU3_5_ LSFT(KC_NUBS), KC_1, KC_2, KC_3, BB_CHAR -#define _NU4_3_ KC_DEL, KC_TAB, KC_SPC - -/* Function layer - * ┌─────┬─────┬─────┬─────┬─────┐ - * │ F01 │ F02 │ F03 │ F04 │EEPRM│ - * ├─────┼─────┼─────┼─────┼─────┤ - * │ F05 │ F06 │ F07 │ F08 │EEPRM│ - * ├─────┼─────┼─────┼─────┼─────┤ - * │ F09 │ F10 │ F11 │ F12 │GameL│ - * └─────┴─────┴─────┼─────┼─────┼─────┐ - * │ Del │ Tab │Space│ - * └─────┴─────┴─────┘ - */ -#define _FU1_5_ KC_F1, KC_F2, KC_F3, KC_F4, RESET -#define _FU2_5_ KC_F5, KC_F6, KC_F7, KC_F8, EEP_RST -#define _FU3_5_ KC_F9, KC_F10, KC_F11, KC_F12, BB_GAME -#define _FU4_3_ KC_DEL, KC_TAB, KC_SPC - -/* Mouse layer - * ┌─────┬─────┬─────┬─────┬─────┐ - * │Slow │Right│ Mid │ Lft │Fast │ - * ├─────┼─────┼─────┼─────┼─────┤ - * │ |<| │ |v| │ |^| │ |>| │ Bt4 │ - * ├─────┼─────┼─────┼─────┼─────┤ - * │ <<< │ vvv │ ^^^ │ >>> │ Bt5 │ - * └─────┴─────┴─────┼─────┼─────┼─────┐ - * │ Del │ Tab │Space│ - * └─────┴─────┴─────┘ - */ -#define _MO1_5_ KC_ACL0,KC_BTN1,KC_BTN2,KC_BTN3,KC_ACL2 -#define _MO2_5_ KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R,KC_BTN4 -#define _MO3_5_ KC_WH_L,KC_WH_D,KC_WH_U,KC_WH_R,KC_BTN5 -#define _MO4_3_ KC_DEL, KC_TAB, KC_SPC - -/* Music layer - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ - * │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ - * │ │ │ │ │ │ │ │ │ │ │ │ │ - * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ - * │ │ │ │ │ │ │ │ │ │ │ │ │ - * └───┴───┴───┼───┼───┼───┼───┼───┼───┼───┴───┴───┘ - * │Rec│Stp│Ply│Tmp│Mod│Off│ - * └───┴───┴───┴───┴───┴───┘ - */ -#define _MUL_3_ MU_REC, MU_STOP,MU_PLAY -#define _MUR_3_ MU_TEMP,MU_MOD, MU_TOG -#define _MU_01_ MU_MASK -#define _MU_02_ MU_MASK,MU_MASK -#define _MU_03_ MU_MASK,MU_MASK,MU_MASK -#define _MU_06_ MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK -#define _MU_08_ MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK -#define _MU_10_ MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK -#define _MU_12_ MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK,MU_MASK diff --git a/users/bbaserdem/config.h b/users/bbaserdem/config.h deleted file mode 100644 index 477378102b..0000000000 --- a/users/bbaserdem/config.h +++ /dev/null @@ -1,134 +0,0 @@ -/* Copyright 2021 Batuhan Başerdem - * <baserdem.batuhan@gmail.com> @bbaserdem - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#pragma once - -/* CONFIG - * Common hardware configuration accross my boards - */ -// Space saving -#ifdef LOCKING_SUPPORT_ENABLE -# undef LOCKING_SUPPORT_ENABLE -#endif -#ifdef LOCKING_RESYNC_ENABLE -# undef LOCKING_RESYNC_ENABLE -#endif -#ifndef NO_DEBUG -# define NO_DEBUG -#endif - -#if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE) -# define NO_PRINT -#endif - -// Some of my own settings -# define HOUSEKEEPING_THROTTLE_INTERVAL_MS 250 - -// Split transport settings -#ifdef SPLIT_KEYBOARD -# define SPLIT_TRANSPORT_MIRROR -# define SPLIT_LAYER_STATE_ENABLE -# define SPLIT_MODS_ENABLE -# define SPLIT_TRANSACTION_IDS_USER RPC_ID_CONFIG_SYNC, RPC_ID_RUNTIME_SYNC, RPC_ID_KEYMAP_SYNC -# define SPLIT_LED_STATE_ENABLE -# ifdef WPM_ENABLE -# define SPLIT_WPM_ENABLE -# endif // WPM_ENABLE -# ifdef OLED_ENABLE -# define SPLIT_OLED_ENABLE -# endif // OLED_ENABLE -#endif // SPLIT_KEYBOARD - -// Unicode entry mode -#ifdef UNICODEMAP_ENABLE -# define UNICODE_SELECTED_MODES UC_LNX - // Adapt the unicode entry mode to dvorak -# ifdef UNICODE_KEY_LNX -# undef UNICODE_KEY_LNX -# endif -# define UNICODE_KEY_LNX LCTL(LSFT(KC_F)) -#endif // UNICODEMAP_ENABLE - -// Mousekey mode -#ifdef MOUSEKEY_ENABLE -# define MK_COMBINED -#endif // MOUSEKEY_ENABLE - -// Tap-hold settings -#define TAPPING_TERM 200 -#define TAP_CODE_DELAY 20 -#define IGNORE_MOD_TAP_INTERRUPT -#define PERMISSIVE_HOLD -#define TAPPING_FORCE_HOLD - -// Backlight settings -#ifdef BACKLIGHT_ENABLE -# define BACKLIGHT_BREATHING -# define BREATHING_PERIOD 5 -#endif // BACKLIGHT_ENABLE - -// Audio definitions -#ifdef AUDIO_ENABLE -//# define AUDIO_ENABLE_TONE_MULTIPLEXING - // Make findable songs as defaults -# ifdef HOROLOGY -# define STARTUP_SONG SONG(HOROLOGY) -# endif -# ifdef PEOPLE_VULTURES -# define GOODBYE_SONG SONG(PEOPLE_VULTURES) -# endif -# ifdef NONAGON_INFINITY -# define MUSIC_ON_SONG SONG(NONAGON_INFINITY) -# endif -# ifdef WAH_WAH -# define MUSIC_OFF_SONG SONG(WAH_WAH) -# endif - // Audio code expects these to be defined -# ifdef BIG_FIG_WASP -# define GAME_ON_SONG SONG(BIG_FIG_WASP) -# else -# define GAME_ON_SONG SONG(USSR_ANTHEM) -# endif -# ifdef POLYGONDWANALAND -# define GAME_OFF_SONG SONG(POLYGONDWANALAND) -# else -# define GAME_OFF_SONG SONG(NOCTURNE_OP_9_NO_1) -# endif -#endif // AUDIO_ENABLE - -// OLED definitions -#ifdef OLED_ENABLE - // Timeout does not work for split secondary board; i implemented it myself -# define OLED_TIMEOUT 30000 - // Fade out the screen when timing out -# define OLED_FADE_OUT -# define OLED_FADE_OUT_INTERVAL 15 -#endif // OLED_ENABLE - -// For perkey leds -#ifdef RGB_MATRIX_ENABLE -// This is not working -//# define RGB_DISABLE_TIMEOUT 1800000 -# define RGB_DISABLE_WHEN_USB_SUSPENDED true - // Start using this mode -# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_RAINBOW_BEACON -# define RGB_MATRIX_STARTUP_HUE 100 -# define RGB_MATRIX_STARTUP_SAT 255 -# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS - // Some config options -# define RGB_MATRIX_KEYRELEASES -# define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Enable framebuffer effects -#endif // RGB_MATRIX_ENABLE diff --git a/users/bbaserdem/keymap-bitmaps/.gitignore b/users/bbaserdem/keymap-bitmaps/.gitignore deleted file mode 100644 index 6448f593d6..0000000000 --- a/users/bbaserdem/keymap-bitmaps/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -*.bmp -splitImages -templates -!.gitignore diff --git a/users/bbaserdem/keymap-bitmaps/cropBmp b/users/bbaserdem/keymap-bitmaps/cropBmp deleted file mode 100755 index 4a322b4175..0000000000 --- a/users/bbaserdem/keymap-bitmaps/cropBmp +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -# Copyright 2021 Batuhan Başerdem -# <baserdem.batuhan@gmail.com> @bbaserdem -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# 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. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# Goes through all the files and turns them into strips in their respective folder -if [ -z "${1}" ] ; then - echo 'No argument; defaulting to script directory.' - target_dir="$(dirname "${0}")" -elif [ -d "${1}" ] ; then - echo "Targeting files in '${1}'." - target_dir="${1}" -else - echo 'Argument is not directory.' - exit 1 -fi - -output_dir="${target_dir}/splitImages" -mkdir -p "${output_dir}" - -for this_image in "${target_dir}/"*.bmp ; do - echo "Found '${this_image}'." - this_name="$(basename "${this_image%%.bmp}")" - convert "${this_image}" -crop 'x8' "${output_dir}/${this_name}"_%d.bmp -done diff --git a/users/bbaserdem/readme.md b/users/bbaserdem/readme.md deleted file mode 100644 index 0a1b80cc74..0000000000 --- a/users/bbaserdem/readme.md +++ /dev/null @@ -1,131 +0,0 @@ -# BBASERDEM userspace code for qmk - -My userspace code for my various keyboards; available here. - -## Builds - -These are my keyboard builds and info, it allows me to plan out my builds. - -### Planck SERVER - -* Board: `kprepublic/jj40` -* Microcontroller: Embedded -* Layout: `ortho_4x12` -* Functionality: Underglow RGB Lighting, LED diode lighting. -* Case: Clear Acrylic Top and Bottow, with Frosted Acrylic Diffuser (Smashing Acrylics) -* Switches: BOX Navy -* Keycaps: Datamancer Tall Deco Typewriter Keycaps - -Just a decorative planck replacement (for my rev4 PCB that died.) - -### Planck Light - -* Board: `planck/light` -* Microcontroller: Embedded -* Layout: `ortho_4x12` -* Functionality: Per-key RGB Lighting, Audio. -* Case: Clear Acrylic Top and Bottow, with Frosted Acrylic Diffuser (Smashing Acrylics) -* Switches: BOX Navy -* Keycaps: Datamancer Tall Deco Typewriter Keycaps - -Just a decorative planck replacement (for my rev4 PCB that died.) - -### Corne ARM - -* Board: `crkbd/rev1` -* Microcontroller: Proton C (x2) -* Layout: `split_3x6_3` -* Functionality: OLED, Audio, Per-key RGB Lighting, Rotary Encoder (x2) -* Case: IMK Corne Case v2 Polycarbonate -* Switches: Healios V2 -* Keycaps: POM Jelly - -PCB is actually [Proton-C Compatible crkbd PCB](https://github.com/ItsWaffIe/waffle_corne). - -### Corne Lite - -* Board: `crkbd/rev1` -* Microcontroller: Pro Micro (x2) -* Layout: `split_3x5_3` -* Functionality: Per-key RGB Lighting, OLED (No firmware space) -* Case: Custom -* Switches: Choc Low Burnt Orange -* Keycaps: [Scooped Choc Keycaps](https://mkultra.click/collections/keycaps/products/scooped-choc-keycaps?variant=31223543365730) - -Maybe try adding a trackpad for this, as detailed -[here](https://github.com/manna-harbour/crkbd/blob/master/trackpoint/readme.org). - -### Kyria - -* Board: `splitkb/kyria/rev1` -* Microcontroller: Pro Micro (x2) -* Layout: `split_3x6_6` -* Functionality: OLED, Underglow RGB Lighting (No firmware space), Rotary Encoder (x2) -* Case: Matte Black Acrylic High-Profile case -* Switches: Gateron Ink Silent Black -* Keycaps: Oblotzky SA Oblivion - -Main driver at work currently; love the switches and the board layout. - -# Firmware building - -## Archlinux - -On archlinux, the package *arm-none-eabi-gcc* is too new. -To fix; add to the environment `CFLAGS="-Wno-error=deprecated"` to compilation commands. -Also; says to run `avr-gcc` version `8.4.0` for smaller firmware, -but I find that it only saves a few bytes. - -## Bootloader - -Needed to type this out from the QMK website. -If I want to flash a new bootloader for a machine; here are steps; - -1. Flash the util/pro_micro_ISP_B6_10.hex to a spare promicro using; -`avrdude -p atmega32u4 -P "$(ls /dev/ttyACM*)" -c avr109 -D -U flash:w:pro_micro_ISP_B6_10.hex` -2. Wire the pins; (first is the ISP pro micro; second is the target) -``` -Pro Micro 10 (B6) <-> Keyboard RESET -Pro Micro 15 (B1) <-> Keyboard B1 (SCLK) -Pro Micro 16 (B2) <-> Keyboard B2 (MOSI) -Pro Micro 14 (B3) <-> Keyboard B3 (MISO) -Pro Micro VCC <-> Keyboard VCC -Pro Micro GND <-> Keyboard GND -``` -I do have this on hand I believe; from massdrop's planck light firmware updater. -3. Connect the flashed pro micro to my computer and run -`avrdude -c avrisp -P "$(ls /dev/ttyACM*)" -p atmega32u4 -U flash:w:bootloader_atmega32u4_1.0.0.hex:i -U lfuse:w:0x5E:m -U hfuse:w:0xD9:m -U efuse:w:0xC3:m` - -The avrisp here refers to the firmware on the ISP flasher pro micro. -The `atmega32u4` refers to the CPU used in the respective breakout boards. -The `avrdude` command interacts with catalina bootloader. -The shell call after the `-P` flag auto finds the port that the pro micro connects to. -The last few arguments are some jumpers apparently. - -# Features - -My userspace has a lot of shared code between different keyboards. -These files are prefixed with `sbp-` to remove any naming clash. - -* [bb-audio](bb-audio.c): Code dealing with audio playback using onboard sound. -* [bb-encoder](bb-encoder.c): Rotary encoder sutff. -* [bb-macro](bb-macro.c): My custom keycodes; macros, tap dances, etc. -* [bb-oled](bb-oled.c): Controls OLED displays. For higher memory; there is also [bb-oled-extra](bb-oled-extra.c). -* [bb-rgb](bb-rgb.c): Controls per-key RGB LED matrix stuff, and layer indication. Uses `RGB_MATRIX`. -* [bb-underglaw](bb-underglow.c): Controls RGB LED strip, and layer indication. Uses `RGBLIGHT`. - -# Layout - -My personal layout is mostly inspired by the -[Miryoku layout](../manna-harbour_miryoku/miryoku.org). -There are some changes to make it friendlier to international keyboards. -My board is compatible with software implementation of Dvorak and Turkish F. - -## Base - -Base layer uses tap-hold functionality to have access to modifiers. -The modifiers are mirrored on each half of the layout; -as to make those modifiers accessible to the keys that overlap them. -Besides the Alt key; each side has the proper L/R version of the modifier. -Since Right Alt key functions as AltGr key; -both the L and R versions are available on each side. diff --git a/users/bbaserdem/rules.mk b/users/bbaserdem/rules.mk deleted file mode 100644 index 58f72bb110..0000000000 --- a/users/bbaserdem/rules.mk +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 2021 Batuhan Başerdem -# <baserdem.batuhan@gmail.com> @bbaserdem -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# 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. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# Common compilation flags -LTO_ENABLE = yes - -# These should be enabled in all boards -MOUSEKEY_ENABLE = yes # Mouse emulation keys -EXTRAKEY_ENABLE = yes # OS signals like volume control -UNICODEMAP_ENABLE = yes # Used for unicode character emulation - -# These should be disabled in all boards -BOOTMAGIC_ENABLE = no # Access to EEPROM settings, not needed -CONSOLE_ENABLE = no # Allows console output with a command -COMMAND_ENABLE = no # Some bootmagic thing i dont use -SLEEP_LED_ENABLE = no # Breathes LED's when computer is asleep. Untested. -MIDI_ENABLE = no # Midi driver (untested) -UNICODE_ENABLE = no # We use unicodemap, not unicode -UCIS_ENABLE = no # We use unicodemap, not ucis -VARIABLE_TRACE = no # Allows debugging variables -KEY_LOCK_ENABLE = no # Allows locking any key. Not used in general -RGBLIGHT_ENABLE = no # LED strip, but there is RGB_MATRIX instead -TAP_DANCE_ENABLE = no # Tap dance keys; i don't use tap dance - -# These features can be disabled at whim -NKRO_ENABLE ?= yes # Default is 6KRO -VELOCIKEY_ENABLE ?= yes # Speed effects change with typing speed -WPM_ENABLE ?= yes # Get WPM reports as you type - -# Manually configure these on each keyboard individually -# AUDIO_ENABLE # Audio stuff -# BACKLIGHT_ENABLE # Switch LEDs -# ENCODER_ENABLE # Rotary encoder -# RGB_MATRIX_ENABLE # RGB LEDs -# OLED_ENABLE # For OLED - -# Userspace code -SRC += bbaserdem.c - -# Macros -SRC += bb-macro.c - -# Audio code -ifeq ($(strip $(AUDIO_ENABLE)), yes) -SRC += bb-audio.c -endif - -# Rotary encoder stuff -ifeq ($(strip $(ENCODER_ENABLE)), yes) -SRC += bb-encoder.c -endif - -# RGB LED (Underglow) code -ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) -SRC += bb-underglow.c -endif - -# RGB LED (Perkey) code -ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) -SRC += bb-rgb.c -endif - -# Backlight code -ifeq ($(strip $(BACKLIGHT_ENABLE)), yes) -SRC += bb-backlight.c -endif - -# OLED code -ifeq ($(strip $(OLED_ENABLE)), yes) - SRC += bb-oled.c - ifeq ($(strip $(CTPC)), yes) - SRC += bb-oled-extra.c - endif -endif diff --git a/users/billypython/billypython.c b/users/billypython/billypython.c index f165d2e260..19744b9956 100644 --- a/users/billypython/billypython.c +++ b/users/billypython/billypython.c @@ -13,7 +13,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case CLEAR: if (record->event.pressed) { - SEND_STRING(SS_LCTRL("a") SS_TAP(X_DELETE)); + SEND_STRING(SS_LCTL("a") SS_TAP(X_DELETE)); } return false; diff --git a/users/brandonschlack/process_records.c b/users/brandonschlack/process_records.c index dfd427bdc1..892bc7e062 100644 --- a/users/brandonschlack/process_records.c +++ b/users/brandonschlack/process_records.c @@ -101,7 +101,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; case RGB_THEME_FORWARD: if (record->event.pressed) { - uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)); + uint8_t shifted = get_mods() & (MOD_BIT(KC_LSFT)|MOD_BIT(KC_RSFT)); if(shifted) { rgb_theme_step_reverse(); } else { @@ -112,7 +112,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; case RGB_THEME_REVERSE: if (record->event.pressed) { - uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)); + uint8_t shifted = get_mods() & (MOD_BIT(KC_LSFT)|MOD_BIT(KC_RSFT)); if(shifted) { rgb_theme_step(); } else { diff --git a/users/brandonschlack/process_records.h b/users/brandonschlack/process_records.h index 057233fb0e..b377ffaed2 100644 --- a/users/brandonschlack/process_records.h +++ b/users/brandonschlack/process_records.h @@ -119,9 +119,9 @@ void matrix_scan_cmd_tab(void); * Common shortcuts used in macOS * Reference: https://support.apple.com/en-us/HT201236 */ -#define MC_POWR KC_POWER // Power (KC_POWER) -#define MC_SLEP LOPT(LCMD(KC_POWER)) // Sleep (Option-Command-Power) -#define MC_SLPD LCTL(LSFT(KC_POWER)) // Sleep Display (Control-Shift-Power) +#define MC_POWR KC_PWR // Power (KC_PWR) +#define MC_SLEP LOPT(LCMD(KC_PWR)) // Sleep (Option-Command-Power) +#define MC_SLPD LCTL(LSFT(KC_PWR)) // Sleep Display (Control-Shift-Power) #define MC_LOCK LCTL(LCMD(KC_Q)) // Lock Screen (Control-Command-Q) #define MC_MSSN KC_FIND // Mission Control: Configure karabiner for find -> mission_control #define MC_LHPD KC_MENU // Launchpad: Configure karabiner for menu -> launchpad diff --git a/users/brandonschlack/rgb_bs.c b/users/brandonschlack/rgb_bs.c index 1abf785b49..6b88503f41 100644 --- a/users/brandonschlack/rgb_bs.c +++ b/users/brandonschlack/rgb_bs.c @@ -75,7 +75,7 @@ void rgb_theme_step_reverse(void) { rgb_theme_color_t get_rgb_theme_color(uint8_t index) { rgb_theme_t theme = get_rgb_theme(); - size_t rgb_theme_color_max = sizeof theme.colors / sizeof *theme.colors; + size_t rgb_theme_color_max = ARRAY_SIZE(theme.colors); if (index == _ADJUST) { return default_adjust; @@ -98,7 +98,7 @@ void rgb_theme_layer(layer_state_t state) { #ifdef RGB_MATRIX_ENABLE void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, uint8_t led_type) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], led_type)) { rgb_matrix_set_color( i, red, green, blue ); } diff --git a/users/brandonschlack/rgb_theme.h b/users/brandonschlack/rgb_theme.h index 7c8b2923fc..cf9b681de6 100644 --- a/users/brandonschlack/rgb_theme.h +++ b/users/brandonschlack/rgb_theme.h @@ -17,7 +17,6 @@ #include "brandonschlack.h" #include "color.h" -#include "rgblight_list.h" /*TODO Update as RGBLIGHT Mode */ #ifndef RGB_THEME_COLORS_MAX diff --git a/users/byungyoonc/saturated_solid_multisplash.h b/users/byungyoonc/saturated_solid_multisplash.h index f302348524..c6850a7873 100644 --- a/users/byungyoonc/saturated_solid_multisplash.h +++ b/users/byungyoonc/saturated_solid_multisplash.h @@ -43,7 +43,7 @@ static bool saturated_solid_multisplash(effect_params_t* params) { RGB rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } # endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS diff --git a/users/callum/callum.c b/users/callum/callum.c index b3254a9cfa..73367e8e57 100644 --- a/users/callum/callum.c +++ b/users/callum/callum.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [NAV] = LAYOUT_callum( - KC_TAB, SW_WIN, TABL, TABR, KC_VOLU, RESET, HOME, KC_UP, END, KC_DEL, + KC_TAB, SW_WIN, TABL, TABR, KC_VOLU, QK_BOOT, HOME, KC_UP, END, KC_DEL, OS_SHFT, OS_CTRL, OS_ALT, OS_CMD, KC_VOLD, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, SPCL, SPC_R, BACK, FWD, KC_MPLY, XXXXXXX, KC_PGDN, KC_PGUP, SW_LANG, KC_ENT, _______, _______, _______, _______ diff --git a/users/cedrikl/cedrikl.c b/users/cedrikl/cedrikl.c index 0479e22b5d..f9f4f1fbc0 100644 --- a/users/cedrikl/cedrikl.c +++ b/users/cedrikl/cedrikl.c @@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // Turn on/off NUM LOCK if current state is different void activate_numlock(bool turn_on) { if (host_keyboard_led_state().num_lock != turn_on) { - tap_code(KC_NUMLOCK); + tap_code(KC_NUM_LOCK); } } diff --git a/users/csc027/defines.h b/users/csc027/defines.h index 85d7d065b7..ac05941582 100644 --- a/users/csc027/defines.h +++ b/users/csc027/defines.h @@ -102,7 +102,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define ______________________RAISE_L3_____________________ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 #define ______________________RAISE_L4_____________________ _______, _______, _______, _______, _______, _______ -#define ______________________RAISE_R1_____________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DELT +#define ______________________RAISE_R1_____________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL #define ______________________RAISE_R2_____________________ KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, XXXXXXX #define ______________________RAISE_R3_____________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______ #define ______________________RAISE_R4_____________________ _______, _______, _______, _______, XXXXXXX, XXXXXXX @@ -135,7 +135,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define ______________________LOWER_L3_____________________ _______, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX #define ______________________LOWER_L4_____________________ _______, _______, _______, _______, _______, _______ -#define ______________________LOWER_R1_____________________ KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELT +#define ______________________LOWER_R1_____________________ KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL #define ______________________LOWER_R2_____________________ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX #define ______________________LOWER_R3_____________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______ #define ______________________LOWER_R4_____________________ _______, _______, _______, _______, XXXXXXX, XXXXXXX @@ -189,8 +189,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. * `-----------------------------------' `-----------------------------------' */ -#define ___________________CONVENIENCE_L1__________________ XXXXXXX, XXXXXXX, KC_INS, KC_SLCK, KC_PSCR, XXXXXXX -#define ___________________CONVENIENCE_L2__________________ _______, XXXXXXX, KC_APP, MC_lcad, MC_rdcc, KC_NLCK +#define ___________________CONVENIENCE_L1__________________ XXXXXXX, XXXXXXX, KC_INS, KC_SCRL, KC_PSCR, XXXXXXX +#define ___________________CONVENIENCE_L2__________________ _______, XXXXXXX, KC_APP, MC_lcad, MC_rdcc, KC_NUM #define ___________________CONVENIENCE_L3__________________ _______, XXXXXXX, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT #define ___________________CONVENIENCE_L4__________________ _______, _______, _______, _______, _______, _______ @@ -266,7 +266,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define ___________________CSGO_4x12_L4____________________ KC_LCTL, KC_Z, KC_LALT, KC_X, KC_B, KC_SPC #define ___________________CSGO_4x12_R1____________________ KC_6, KC_P7, KC_P8, KC_P9, KC_0, KC_BSPC -#define ___________________CSGO_4x12_R2____________________ KC_Y, KC_P4, KC_P5, KC_P6, XXXXXXX, KC_NLCK +#define ___________________CSGO_4x12_R2____________________ KC_Y, KC_P4, KC_P5, KC_P6, XXXXXXX, KC_NUM #define ___________________CSGO_4x12_R3____________________ KC_H, KC_P1, KC_P2, KC_P3, KC_PENT, KC_ESC #define ___________________CSGO_4x12_R4____________________ KC_SPC, KC_P0, KC_P0, KC_PDOT, TO(_QW), TO(_QW) diff --git a/users/curry/config.h b/users/curry/config.h index 0c96293bd5..d5e1ba7bc5 100644 --- a/users/curry/config.h +++ b/users/curry/config.h @@ -7,7 +7,13 @@ #define USB_POLLING_INTERVAL_MS 1 #if defined(RGBLIGHT_ENABLE) -# undef RGBLIGHT_ANIMATIONS +# undef RGBLIGHT_EFFECT_RAINBOW_MOOD +# undef RGBLIGHT_EFFECT_RAINBOW_SWIRL +# undef RGBLIGHT_EFFECT_CHRISTMAS +# undef RGBLIGHT_EFFECT_STATIC_GRADIENT +# undef RGBLIGHT_EFFECT_RGB_TEST +# undef RGBLIGHT_EFFECT_ALTERNATING +# undef RGBLIGHT_EFFECT_TWINKLE # define RGBLIGHT_SLEEP # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_SNAKE diff --git a/users/curry/curry.c b/users/curry/curry.c index a9f9f79870..f29b9c3ff7 100644 --- a/users/curry/curry.c +++ b/users/curry/curry.c @@ -58,7 +58,7 @@ void shutdown_user(void) { #if defined(RGBLIGHT_ENABLE) rgblight_enable_noeeprom(); rgblight_mode_noeeprom(1); - rgblight_setrgb_red(); + rgblight_setrgb(RGB_RED); #endif #if defined(RGB_MATRIX_ENABLE) diff --git a/users/curry/oled.c b/users/curry/oled.c index 5a8f0de61d..89112af121 100644 --- a/users/curry/oled.c +++ b/users/curry/oled.c @@ -41,7 +41,7 @@ void add_keylog(uint16_t keycode) { keylog_str[i] = keylog_str[i - 1]; } - if (keycode < (sizeof(code_to_name) / sizeof(char))) { + if (keycode < ARRAY_SIZE(code_to_name)) { keylog_str[0] = pgm_read_byte(&code_to_name[keycode]); } diff --git a/users/curry/process_records.h b/users/curry/process_records.h index 605abdfae2..4db25c34e1 100644 --- a/users/curry/process_records.h +++ b/users/curry/process_records.h @@ -62,7 +62,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record); # define WORKMAN KC_WORKMAN #endif -#define KC_RST RESET +#define KC_RST QK_BOOT #if defined(SWAP_HANDS_ENABLE) # define KC_C1R3 SH_T(KC_TAB) diff --git a/users/curry/rgb_matrix_user.c b/users/curry/rgb_matrix_user.c index 96f1f1d4f3..3c2008aa01 100644 --- a/users/curry/rgb_matrix_user.c +++ b/users/curry/rgb_matrix_user.c @@ -36,7 +36,7 @@ void check_default_layer(uint8_t mode, uint8_t type) { } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (userspace_config.rgb_layer_change && rgb_matrix_config.enable) { switch (get_highest_layer(layer_state)) { case _RAISE: @@ -55,6 +55,7 @@ void rgb_matrix_indicators_user(void) { } check_default_layer(0, LED_FLAG_MODIFIER); } + return false; } bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) { @@ -131,7 +132,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode uint16_t time = scale16by8(RGBLED_NUM, speed / 8); hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); RGB rgb = hsv_to_rgb(hsv); - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], led_type)) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } @@ -141,7 +142,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode default: // Solid Color { RGB rgb = hsv_to_rgb(hsv); - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], led_type)) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } diff --git a/users/cwebster2/my_miryoku.h b/users/cwebster2/my_miryoku.h index 2c8ab6fe2b..c4b4b59a1d 100644 --- a/users/cwebster2/my_miryoku.h +++ b/users/cwebster2/my_miryoku.h @@ -35,7 +35,7 @@ #define _______NAKED_R___T____ KC_ENT, KC_BSPC, KC_DEL #define _______NAKED_L___T____ KC_ESC, KC_SPC, KC_TAB -#define _______INACTIVE_R1____ KC_LOCK, KC_TRNS, KC_TRNS, KC_TRNS, RESET +#define _______INACTIVE_R1____ KC_LOCK, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT #define _______INACTIVE_R2____ KC_TRNS, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI #define _______INACTIVE_R3____ KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, KC_TRNS @@ -56,7 +56,7 @@ #define _______NUM______L3____ KC_GRV, KC_1, KC_2, KC_3, KC_BSLS #define _______NUM_______T____ KC_DOT, KC_0, KC_MINS -#define _______FN_______L1____ KC_F12, KC_F7, KC_F8, KC_F9, KC_SYSREQ +#define _______FN_______L1____ KC_F12, KC_F7, KC_F8, KC_F9, KC_SYRQ #define _______FN_______L2____ KC_F11, KC_F4, KC_F5, KC_F6, KC_TRNS #define _______FN_______L3____ KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUSE #define _______FN________T____ KC_MENU, KC_SPC, KC_TAB diff --git a/users/d4mation/tap-dance.c b/users/d4mation/tap-dance.c index 46f2274f5f..77d09962d6 100644 --- a/users/d4mation/tap-dance.c +++ b/users/d4mation/tap-dance.c @@ -2,5 +2,5 @@ qk_tap_dance_action_t tap_dance_actions[] = { /* Tap once/hold for Shift, tap twice for Caps Lock */ - [SHIFT_CAPS] = ACTION_TAP_DANCE_DOUBLE( KC_LSHIFT, KC_CAPS ) + [SHIFT_CAPS] = ACTION_TAP_DANCE_DOUBLE( KC_LSFT, KC_CAPS ) };
\ No newline at end of file diff --git a/users/danielo515/danielo515.c b/users/danielo515/danielo515.c index f083650279..9b09aed9d7 100644 --- a/users/danielo515/danielo515.c +++ b/users/danielo515/danielo515.c @@ -27,17 +27,17 @@ void matrix_scan_user(void) { SEQ_ONE_KEY(KC_N) { SEND_STRING(SS_LALT("n") "n"); } // ==== MACROS === SEQ_ONE_KEY(KC_G) { SEND_STRING(" | grep "); } - SEQ_ONE_KEY(KC_K) { onMac ? SEND_STRING(SS_LCTRL(" ")) : SEND_STRING(SS_LCTRL("f")); } + SEQ_ONE_KEY(KC_K) { onMac ? SEND_STRING(SS_LCTL(" ")) : SEND_STRING(SS_LCTL("f")); } // vim delete all SEQ_TWO_KEYS(KC_D, KC_G) { if (onMac) { SEND_STRING(SS_LGUI("a") SS_TAP(X_D)); } else { - SEND_STRING(SS_LCTRL("a") SS_TAP(X_D)); + SEND_STRING(SS_LCTL("a") SS_TAP(X_D)); } } // tripe delete! - SEQ_ONE_KEY(KC_BSPACE) { SEND_STRING(SS_TAP(X_BSPACE) SS_TAP(X_BSPACE) SS_TAP(X_BSPACE)); } + SEQ_ONE_KEY(KC_BACKSPACE) { SEND_STRING(SS_TAP(X_BACKSPACE) SS_TAP(X_BACKSPACE) SS_TAP(X_BACKSPACE)); } SEQ_TWO_KEYS(KC_P, KC_G) { SEND_STRING("ps -ef | grep "); } SEQ_TWO_KEYS(KC_J, KC_A) { SEND_STRING("() => {}" SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT)); } // this is a pain to type @@ -46,13 +46,13 @@ void matrix_scan_user(void) { // ### LAYER CHANGE SEQ_ONE_KEY(KC_1) { layer_on(1); } // control enter, because yes - SEQ_ONE_KEY(KC_H) { SEND_STRING(SS_DOWN(X_LCTRL) SS_TAP(X_ENTER) SS_UP(X_LCTRL)); } + SEQ_ONE_KEY(KC_H) { SEND_STRING(SS_DOWN(X_LCTL) SS_TAP(X_ENTER) SS_UP(X_LCTL)); } // paste all SEQ_ONE_KEY(KC_P) { if (onMac) { SEND_STRING(SS_LGUI("a") SS_LGUI("v")); } else { - SEND_STRING(SS_LCTRL("a") SS_LCTRL("v")); + SEND_STRING(SS_LCTL("a") SS_LCTL("v")); } } SEQ_THREE_KEYS(KC_M, KC_A, KC_C) { @@ -72,11 +72,11 @@ void matrix_scan_user(void) { if (onMac) { SEND_STRING(SS_LGUI("a") SS_LGUI("c")); } else { - SEND_STRING(SS_LCTRL("a") SS_LCTRL("c")); + SEND_STRING(SS_LCTL("a") SS_LCTL("c")); } } // emoji bar - SEQ_TWO_KEYS(KC_E, KC_E) { SEND_STRING(SS_DOWN(X_LGUI) SS_LCTRL(" ") SS_UP(X_LGUI)); } + SEQ_TWO_KEYS(KC_E, KC_E) { SEND_STRING(SS_DOWN(X_LGUI) SS_LCTL(" ") SS_UP(X_LGUI)); } SEQ_TWO_KEYS(KC_F, KC_F) { SEND_STRING("ps -ef | grep "); } SEQ_TWO_KEYS(KC_H, KC_T) { SEND_STRING("https://"); } diff --git a/users/danielo515/process_records.c b/users/danielo515/process_records.c index 1f4b94a5ad..e75526af44 100644 --- a/users/danielo515/process_records.c +++ b/users/danielo515/process_records.c @@ -114,7 +114,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // == Multi Os START === case KC_HOME: // make the home behave the same on OSX if (record->event.pressed && onMac) { - SEND_STRING(SS_LCTRL("a")); + SEND_STRING(SS_LCTL("a")); return false; } case KC_END: // make the end behave the same on OSX @@ -138,32 +138,32 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) return CMD(KC_X); case COPY: if (record->event.pressed) { - onMac ? SEND_STRING(SS_LGUI("c")) : SEND_STRING(SS_LCTRL("c")); + onMac ? SEND_STRING(SS_LGUI("c")) : SEND_STRING(SS_LCTL("c")); } return false; case PASTE: if (record->event.pressed) { - onMac ? SEND_STRING(SS_LGUI("v")) : SEND_STRING(SS_LCTRL("v")); + onMac ? SEND_STRING(SS_LGUI("v")) : SEND_STRING(SS_LCTL("v")); } return false; case SAVE: if (record->event.pressed) { - onMac ? SEND_STRING(SS_LGUI("s")) : SEND_STRING(SS_LCTRL("s")); + onMac ? SEND_STRING(SS_LGUI("s")) : SEND_STRING(SS_LCTL("s")); } return false; case UNDO: if (record->event.pressed) { - onMac ? SEND_STRING(SS_LGUI("z")) : SEND_STRING(SS_LCTRL("z")); + onMac ? SEND_STRING(SS_LGUI("z")) : SEND_STRING(SS_LCTL("z")); } return false; case REDO: if (record->event.pressed) { - onMac ? SEND_STRING(SS_LGUI(SS_LSFT("z"))) : SEND_STRING(SS_LCTRL("y")); + onMac ? SEND_STRING(SS_LGUI(SS_LSFT("z"))) : SEND_STRING(SS_LCTL("y")); } return false; case FIND: if (record->event.pressed) { - onMac ? SEND_STRING(SS_LGUI("f")) : SEND_STRING(SS_LCTRL("f")); + onMac ? SEND_STRING(SS_LGUI("f")) : SEND_STRING(SS_LCTL("f")); } return false; case WIN_TO_RIGHT: @@ -178,7 +178,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; case CHG_LAYOUT: if (record->event.pressed) { - onMac ? SEND_STRING(SS_LCTRL(" ")) : SEND_STRING(SS_LCTRL("f")); + onMac ? SEND_STRING(SS_LCTL(" ")) : SEND_STRING(SS_LCTL("f")); } return false; // == Multi Os END === diff --git a/users/danielo515/tap_dance.c b/users/danielo515/tap_dance.c index 7ddb55c29d..a07b4c792f 100644 --- a/users/danielo515/tap_dance.c +++ b/users/danielo515/tap_dance.c @@ -75,7 +75,7 @@ qk_tap_dance_action_t tap_dance_actions[] = { [_TD_F12] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_F12), [_TD_H_ENTER] = ACTION_TAP_DANCE_DOUBLE(KC_H, KC_ENT), [_TD_CLN] = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_COLON), - [_TD_SLASH] = ACTION_TAP_DANCE_DOUBLE(KC_SLASH, KC_BSLASH), + [_TD_SLASH] = ACTION_TAP_DANCE_DOUBLE(KC_SLASH, KC_BACKSLASH), // OLD ONES [LEFT_HOME] = ACTION_TAP_DANCE_DOUBLE(KC_LEFT, KC_HOME), [RGT_HOME] = ACTION_TAP_DANCE_DOUBLE_SAFE(KC_RGHT, KC_END), @@ -90,11 +90,11 @@ void td_copy_cut(qk_tap_dance_state_t *state, void *user_data) { if (state->count == 2) { - onMac ? SEND_STRING(SS_LGUI("x")) : SEND_STRING(SS_LCTRL("x")); + onMac ? SEND_STRING(SS_LGUI("x")) : SEND_STRING(SS_LCTL("x")); } else { - onMac ? SEND_STRING(SS_LGUI("c")) : SEND_STRING(SS_LCTRL("c")); + onMac ? SEND_STRING(SS_LGUI("c")) : SEND_STRING(SS_LCTL("c")); } reset_tap_dance(state); }; @@ -103,11 +103,11 @@ void td_paste(qk_tap_dance_state_t *state, void *user_data) { if (state->count == 2) { - onMac ? SEND_STRING(SS_DOWN(X_RSHIFT) SS_LGUI("v") SS_UP(X_RSHIFT)) : SEND_STRING(SS_DOWN(X_RSHIFT) SS_LCTRL("v") SS_UP(X_RSHIFT)); + onMac ? SEND_STRING(SS_DOWN(X_RSFT) SS_LGUI("v") SS_UP(X_RSFT)) : SEND_STRING(SS_DOWN(X_RSFT) SS_LCTL("v") SS_UP(X_RSFT)); } else { - onMac ? SEND_STRING(SS_LGUI("v")) : SEND_STRING(SS_LCTRL("v")); + onMac ? SEND_STRING(SS_LGUI("v")) : SEND_STRING(SS_LCTL("v")); } reset_tap_dance(state); }; diff --git a/users/datagrok/feature_cdeq.c b/users/datagrok/feature_cdeq.c index c1796ab227..50f784b2dd 100644 --- a/users/datagrok/feature_cdeq.c +++ b/users/datagrok/feature_cdeq.c @@ -27,7 +27,7 @@ bool process_record_cdeq(uint16_t keycode, keyrecord_t *record) { return true; } - shifted = get_mods() & (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)); + shifted = get_mods() & (MOD_BIT(KC_LSFT)|MOD_BIT(KC_RSFT)); // Keydown. If shift is currently pressed, register its alternate keycode. if (record->event.pressed && shifted) { diff --git a/users/datagrok/feature_default_layers_selector.c b/users/datagrok/feature_default_layers_selector.c index c83c773f83..0ae1a894a0 100644 --- a/users/datagrok/feature_default_layers_selector.c +++ b/users/datagrok/feature_default_layers_selector.c @@ -15,7 +15,7 @@ bool process_record_save_default_layer(uint16_t keycode, keyrecord_t *record) { if (!(keycode == KF_LAYO && record->event.pressed - && get_mods() & (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)))) { + && get_mods() & (MOD_BIT(KC_LSFT)|MOD_BIT(KC_RSFT)))) { return true; } diff --git a/users/davidkristoffersen/util/functions.c b/users/davidkristoffersen/util/functions.c index 781d8f214d..3ab4ace2d6 100644 --- a/users/davidkristoffersen/util/functions.c +++ b/users/davidkristoffersen/util/functions.c @@ -33,14 +33,14 @@ code_set_t EN_SHIFT_CODES [] = { const shift_code_t SHIFT_CODES [] = { #ifdef LAYER_NO {.lang = LAYER_NO, - .size = ARR_LEN(NO_SHIFT_CODES), + .size = ARRAY_SIZE(NO_SHIFT_CODES), .codes = NO_SHIFT_CODES}, #endif {.lang = LAYER_EN, - .size = ARR_LEN(EN_SHIFT_CODES), + .size = ARRAY_SIZE(EN_SHIFT_CODES), .codes = EN_SHIFT_CODES}, }; -const int SHIFT_CODES_SIZE = ARR_LEN(SHIFT_CODES); +const int SHIFT_CODES_SIZE = ARRAY_SIZE(SHIFT_CODES); #endif #ifdef LAYER_NO @@ -72,7 +72,7 @@ const code_set_t EN2NO_CODES [] = { {KC_DLR, NO_DLR}, {KC_GRV, NO_GRV} }; -const int EN2NO_CODES_SIZE = ARR_LEN(EN2NO_CODES); +const int EN2NO_CODES_SIZE = ARRAY_SIZE(EN2NO_CODES); #endif // Check if layer is an active default layer diff --git a/users/davidkristoffersen/util/functions.h b/users/davidkristoffersen/util/functions.h index eee1dadc57..5fef010694 100644 --- a/users/davidkristoffersen/util/functions.h +++ b/users/davidkristoffersen/util/functions.h @@ -15,8 +15,6 @@ // Return false if test equal false #define HANDLE_FALSE(bool) if (!bool) return false; -// Generic array lenght define -#define ARR_LEN(arr) (sizeof(arr) / sizeof(arr)[0]) // Printf-like functionality for send_string #define SEND_VAR(str, ...) \ do { \ diff --git a/users/dennytom/chording_engine/engine.part.1 b/users/dennytom/chording_engine/engine.part.1 index 73df4cdeaa..e4f1b260dc 100644 --- a/users/dennytom/chording_engine/engine.part.1 +++ b/users/dennytom/chording_engine/engine.part.1 @@ -85,16 +85,16 @@ bool handle_US_ANSI_shifted_keys(int16_t keycode, bool in) { regular_keycode = KC_EQUAL; break; case KC_LEFT_CURLY_BRACE: - regular_keycode = KC_LBRACKET; + regular_keycode = KC_LEFT_BRACKET; break; case KC_RIGHT_CURLY_BRACE: - regular_keycode = KC_RBRACKET; + regular_keycode = KC_RIGHT_BRACKET; break; case KC_PIPE: - regular_keycode = KC_BSLASH; + regular_keycode = KC_BACKSLASH; break; case KC_COLON: - regular_keycode = KC_SCOLON; + regular_keycode = KC_SEMICOLON; break; case KC_DOUBLE_QUOTE: regular_keycode = KC_QUOTE; diff --git a/users/dennytom/chording_engine/tests/minunit.h b/users/dennytom/chording_engine/tests/minunit.h index ed71b62533..d3f51bfb4f 100644 --- a/users/dennytom/chording_engine/tests/minunit.h +++ b/users/dennytom/chording_engine/tests/minunit.h @@ -113,13 +113,13 @@ enum keycodes { KC_PLUS, KC_EQUAL, KC_LEFT_CURLY_BRACE, - KC_LBRACKET, + KC_LEFT_BRACKET, KC_RIGHT_CURLY_BRACE, - KC_RBRACKET, + KC_RIGHT_BRACKET, KC_PIPE, - KC_BSLASH, + KC_BACKSLASH, KC_COLON, - KC_SCOLON, + KC_SEMICOLON, KC_DOUBLE_QUOTE, KC_QUOTE, KC_LEFT_ANGLE_BRACKET, diff --git a/users/dhertz/dhertz.c b/users/dhertz/dhertz.c index 1a2b6e38f1..a4e3da6362 100644 --- a/users/dhertz/dhertz.c +++ b/users/dhertz/dhertz.c @@ -52,13 +52,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch(keycode) { case HSH_TLD: if (get_mods()&(MOD_BIT(KC_LSFT)|MOD_BIT(KC_RSFT))) { - SEND_STRING(SS_TAP(X_NONUS_BSLASH)); + SEND_STRING(SS_TAP(X_NONUS_BACKSLASH)); } else { SEND_STRING(SS_LALT("3")); } break; case CTRL_A: - SEND_STRING(SS_LCTRL("a")); + SEND_STRING(SS_LCTL("a")); break; case CMD_ALT_C: SEND_STRING(SS_LGUI(SS_LALT("c"))); diff --git a/users/doogle999/doogle999.c b/users/doogle999/doogle999.c index c9ee125741..5d71599687 100644 --- a/users/doogle999/doogle999.c +++ b/users/doogle999/doogle999.c @@ -391,9 +391,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) if(numpadKeyPressed && !(host_keyboard_leds() & (1 << USB_LED_NUM_LOCK))) { - add_key(KC_NLCK); + add_key(KC_NUM_LOCK); send_keyboard_report(); - del_key(KC_NLCK); + del_key(KC_NUM_LOCK); } } diff --git a/users/doogle999/doogle999.h b/users/doogle999/doogle999.h index 7ed38fbcc8..44c7c19fd9 100644 --- a/users/doogle999/doogle999.h +++ b/users/doogle999/doogle999.h @@ -6,7 +6,7 @@ #define NO_ACTION_ONESHOT #define NO_ACTION_MACRO -#define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) +#define MODS_SHIFT_MASK (MOD_BIT(KC_LSFT)|MOD_BIT(KC_RSFT)) // Layer the calculator is on #define CALC_LAYER 2 diff --git a/users/drashna/callbacks.c b/users/drashna/callbacks.c index 111b5f79d7..40383f124f 100644 --- a/users/drashna/callbacks.c +++ b/users/drashna/callbacks.c @@ -49,7 +49,7 @@ void keyboard_post_init_user(void) { keyboard_post_init_transport_sync(); #endif #ifdef I2C_SCANNER_ENABLE - matrix_scan_i2c(); + keyboard_post_init_i2c(); #endif keyboard_post_init_keymap(); diff --git a/users/drashna/config.h b/users/drashna/config.h index 57b26786b3..5c5c131e36 100644 --- a/users/drashna/config.h +++ b/users/drashna/config.h @@ -63,7 +63,7 @@ # endif #endif // !AUDIO_ENABLE -#define UNICODE_SELECTED_MODES UC_WINC, UC_MAC +#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_MACOS // #define WPM_ESTIMATED_WORD_SIZE 5 #define WPM_ALLOW_COUNT_REGRESSION diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c index 91f3a06b7c..d63f05b590 100644 --- a/users/drashna/drashna.c +++ b/users/drashna/drashna.c @@ -129,3 +129,15 @@ void keyboard_post_init_i2c(void) { scan_timer = timer_read(); } #endif + +#if defined(AUTOCORRECT_ENABLE) && defined(AUDIO_ENABLE) +# ifdef USER_SONG_LIST +float autocorrect_song[][2] = SONG(MARIO_GAMEOVER); +# else +float autocorrect_song[][2] = SONG(PLOVER_GOODBYE_SOUND); +# endif +bool apply_autocorrect(uint8_t backspaces, const char *str) { + PLAY_SONG(autocorrect_song); + return true; +} +#endif diff --git a/users/drashna/keyrecords/autocorrection/autocorrection.c b/users/drashna/keyrecords/autocorrection/autocorrection.c deleted file mode 100644 index 90fdba8f5e..0000000000 --- a/users/drashna/keyrecords/autocorrection/autocorrection.c +++ /dev/null @@ -1,304 +0,0 @@ -// Copyright 2021 Google LLC -// Copyright 2021 @filterpaper -// SPDX-License-Identifier: Apache-2.0 -// Original source: https://getreuer.info/posts/keyboards/autocorrection - -#include "autocorrection.h" -#include <string.h> - -#if __has_include("autocorrection_data.h") -# pragma GCC push_options -# pragma GCC optimize("O0") -# include "autocorrection_data.h" -# ifndef AUTOCORRECTION_MIN_LENGTH -# define AUTOCORRECTION_MIN_LENGTH AUTOCORRECT_MIN_LENGTH -# endif -# ifndef AUTOCORRECTION_MAX_LENGTH -# define AUTOCORRECTION_MAX_LENGTH AUTOCORRECT_MAX_LENGTH -# endif -# define autocorrection_data autocorrect_data -# if AUTOCORRECTION_MIN_LENGTH < 4 -# error Minimum Length is too short and may cause overflows -# endif -# if DICTIONARY_SIZE > SIZE_MAX -# error Dictionary size excees maximum size permitted -# endif - -static uint8_t typo_buffer[AUTOCORRECT_MAX_LENGTH] = {KC_SPC}; -static uint8_t typo_buffer_size = 1; - -/** - * @brief function for querying the enabled state of autocorrect - * - * @return true if enabled - * @return false if disabled - */ -bool autocorrect_is_enabled(void) { - return userspace_config.autocorrection; -} - -/** - * @brief Enables autocorrect and saves state to eeprom - * - */ -void autocorrect_enable(void) { - userspace_config.autocorrection = true; - eeconfig_update_user(userspace_config.raw); -} - -/** - * @brief Disables autocorrect and saves state to eeprom - * - */ -void autocorrect_disable(void) { - userspace_config.autocorrection = false; - typo_buffer_size = 0; - eeconfig_update_user(userspace_config.raw); -} - -/** - * @brief Toggles autocorrect's status and save state to eeprom - * - */ -void autocorrect_toggle(void) { - userspace_config.autocorrection = !userspace_config.autocorrection; - typo_buffer_size = 0; - eeconfig_update_user(userspace_config.raw); -} - -/** - * @brief handler for determining if autocorrect should process keypress - * - * @param keycode Keycode registered by matrix press, per keymap - * @param record keyrecord_t structure - * @param typo_buffer_size passed along to allow resetting of autocorrect buffer - * @param mods allow processing of mod status - * @return true Allow autocorection - * @return false Stop processing and escape from autocorrect. - */ -__attribute__((weak)) bool process_autocorrect_user(uint16_t *keycode, keyrecord_t *record, uint8_t *typo_buffer_size, uint8_t *mods) { - // See quantum_keycodes.h for reference on these matched ranges. - switch (*keycode) { - // Exclude these keycodes from processing. - case KC_LSFT: - case KC_RSFT: - case KC_CAPS: - case QK_TO ... QK_ONE_SHOT_LAYER_MAX: - case QK_LAYER_TAP_TOGGLE ... QK_LAYER_MOD_MAX: - case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX: - return false; - - // Mask for base keycode from shifted keys. - case QK_LSFT ... QK_LSFT + 255: - case QK_RSFT ... QK_RSFT + 255: - if (*keycode >= QK_LSFT && *keycode <= (QK_LSFT + 255)) { - *mods |= MOD_LSFT; - } else { - *mods |= MOD_RSFT; - } - *keycode &= 0xFF; // Get the basic keycode. - return true; -# ifndef NO_ACTION_TAPPING - // Exclude tap-hold keys when they are held down - // and mask for base keycode when they are tapped. - case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: -# ifdef NO_ACTION_LAYER - // Exclude Layer Tap, if layers are disabled - // but action tapping is still enabled. - return false; -# endif - case QK_MOD_TAP ... QK_MOD_TAP_MAX: - // Exclude hold keycode - if (!record->tap.count) { - return false; - } - *keycode &= 0xFF; - break; -# else - case QK_MOD_TAP ... QK_MOD_TAP_MAX: - case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: - // Exclude if disabled - return false; -# endif - // Exclude swap hands keys when they are held down - // and mask for base keycode when they are tapped. - case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX: -# ifdef SWAP_HANDS_ENABLE - if (*keycode >= 0x56F0 || !record->tap.count) { - return false; - } - *keycode &= 0xFF; - break; -# else - // Exclude if disabled - return false; -# endif - } - - // Disable autocorrect while a mod other than shift is active. - if ((*mods & ~MOD_MASK_SHIFT) != 0) { - *typo_buffer_size = 0; - return false; - } - - return true; -} - -/** - * @brief handling for when autocorrection has been triggered - * - * @param backspaces number of characters to remove - * @param str pointer to PROGMEM string to replace mistyped seletion with - * @return true apply correction - * @return false user handled replacement - */ -__attribute__((weak)) bool apply_autocorrect(uint8_t backspaces, const char *str) { - return true; -} - -/** - * @brief Process handler for autocorrect feature - * - * @param keycode Keycode registered by matrix press, per keymap - * @param record keyrecord_t structure - * @return true Continue processing keycodes, and send to host - * @return false Stop processing keycodes, and don't send to host - */ -bool process_autocorrection(uint16_t keycode, keyrecord_t *record) { - uint8_t mods = get_mods(); -# ifndef NO_ACTION_ONESHOT - mods |= get_oneshot_mods(); -# endif - - if ((keycode >= AUTOCORRECT_ON && keycode <= AUTOCORRECT_TOGGLE) && record->event.pressed) { - if (keycode == AUTOCORRECT_ON) { - autocorrect_enable(); - } else if (keycode == AUTOCORRECT_OFF) { - autocorrect_disable(); - } else if (keycode == AUTOCORRECT_TOGGLE) { - autocorrect_toggle(); - } else { - return true; - } - - return false; - } - - if (!autocorrect_is_enabled()) { - typo_buffer_size = 0; - return true; - } - - if (!record->event.pressed) { - return true; - } - - // autocorrect keycode verification and extraction - if (!process_autocorrect_user(&keycode, record, &typo_buffer_size, &mods)) { - return true; - } - - // keycode buffer check - switch (keycode) { - case KC_A ... KC_Z: - // process normally - break; - case KC_1 ... KC_0: - case KC_TAB ... KC_SEMICOLON: - case KC_GRAVE ... KC_SLASH: - // Set a word boundary if space, period, digit, etc. is pressed. - keycode = KC_SPC; - break; - case KC_ENTER: - // Behave more conservatively for the enter key. Reset, so that enter - // can't be used on a word ending. - typo_buffer_size = 0; - keycode = KC_SPC; - break; - case KC_BSPC: - // Remove last character from the buffer. - if (typo_buffer_size > 0) { - --typo_buffer_size; - } - return true; - case KC_QUOTE: - // Treat " (shifted ') as a word boundary. - if ((mods & MOD_MASK_SHIFT) != 0) { - keycode = KC_SPC; - } - break; - default: - // Clear state if some other non-alpha key is pressed. - typo_buffer_size = 0; - return true; - } - - // Rotate oldest character if buffer is full. - if (typo_buffer_size >= AUTOCORRECT_MAX_LENGTH) { - memmove(typo_buffer, typo_buffer + 1, AUTOCORRECT_MAX_LENGTH - 1); - typo_buffer_size = AUTOCORRECT_MAX_LENGTH - 1; - } - - // Append `keycode` to buffer. - typo_buffer[typo_buffer_size++] = keycode; - // Return if buffer is smaller than the shortest word. - if (typo_buffer_size < AUTOCORRECT_MIN_LENGTH) { - return true; - } - - // Check for typo in buffer using a trie stored in `autocorrect_data`. - uint16_t state = 0; - uint8_t code = pgm_read_byte(autocorrect_data + state); - for (int8_t i = typo_buffer_size - 1; i >= 0; --i) { - uint8_t const key_i = typo_buffer[i]; - - if (code & 64) { // Check for match in node with multiple children. - code &= 63; - for (; code != key_i; code = pgm_read_byte(autocorrect_data + (state += 3))) { - if (!code) return true; - } - // Follow link to child node. - state = (pgm_read_byte(autocorrect_data + state + 1) | pgm_read_byte(autocorrect_data + state + 2) << 8); - // Check for match in node with single child. - } else if (code != key_i) { - return true; - } else if (!(code = pgm_read_byte(autocorrect_data + (++state)))) { - ++state; - } - - // Stop if `state` becomes an invalid index. This should not normally - // happen, it is a safeguard in case of a bug, data corruption, etc. - if (state >= DICTIONARY_SIZE) { - return true; - } - - code = pgm_read_byte(autocorrect_data + state); - - if (code & 128) { // A typo was found! Apply autocorrect. - const uint8_t backspaces = (code & 63) + !record->event.pressed; - if (apply_autocorrect(backspaces, (char const *)(autocorrect_data + state + 1))) { - for (uint8_t i = 0; i < backspaces; ++i) { - tap_code(KC_BSPC); - } - send_string_P((char const *)(autocorrect_data + state + 1)); - } - - if (keycode == KC_SPC) { - typo_buffer[0] = KC_SPC; - typo_buffer_size = 1; - return true; - } else { - typo_buffer_size = 0; - return false; - } - } - } - return true; -} -# pragma GCC pop_options -#else -# pragma message "Warning!!! Autocorrect is not corretly setup!" -bool process_autocorrection(uint16_t keycode, keyrecord_t* record) { - return true; -} -#endif diff --git a/users/drashna/keyrecords/autocorrection/autocorrection.h b/users/drashna/keyrecords/autocorrection/autocorrection.h deleted file mode 100644 index 8946b91f1f..0000000000 --- a/users/drashna/keyrecords/autocorrection/autocorrection.h +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2021 Google LLC -// Copyright 2021 @filterpaper -// SPDX-License-Identifier: Apache-2.0 -// Original source: https://getreuer.info/posts/keyboards/autocorrection - -#pragma once - -#include "drashna.h" - -bool process_autocorrection(uint16_t keycode, keyrecord_t *record); -bool process_autocorrect_user(uint16_t *keycode, keyrecord_t *record, uint8_t *typo_buffer_size, uint8_t *mods); -bool apply_autocorrect(uint8_t backspaces, const char *str); - -bool autocorrect_is_enabled(void); -void autocorrect_enable(void); -void autocorrect_disable(void); -void autocorrect_toggle(void); diff --git a/users/drashna/keyrecords/autocorrection/autocorrection_data.h b/users/drashna/keyrecords/autocorrection/autocorrection_data.h deleted file mode 100644 index 90484d3b12..0000000000 --- a/users/drashna/keyrecords/autocorrection/autocorrection_data.h +++ /dev/null @@ -1 +0,0 @@ -#include "autocorrect_data.h" diff --git a/users/drashna/keyrecords/autocorrection/make_autocorrection_data.py b/users/drashna/keyrecords/autocorrection/make_autocorrection_data.py deleted file mode 100755 index 0dd9b78b9c..0000000000 --- a/users/drashna/keyrecords/autocorrection/make_autocorrection_data.py +++ /dev/null @@ -1,298 +0,0 @@ -# Copyright 2021-2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Python program to make autocorrection_data.h. - -This program reads "autocorrection_dict.txt" and generates a C source file -"autocorrection_data.h" with a serialized trie embedded as an array. Run this -program without arguments like - -$ python3 make_autocorrection_data.py - -Or to read from a different typo dict file, pass it as the first argument like - -$ python3 make_autocorrection_data.py dict.txt - -Each line of the dict file defines one typo and its correction with the syntax -"typo -> correction". Blank lines or lines starting with '#' are ignored. -Example: - - :thier -> their - dosen't -> doesn't - fitler -> filter - lenght -> length - ouput -> output - widht -> width - -See autocorrection_dict_extra.txt for a larger example. - -For full documentation, see -https://getreuer.info/posts/keyboards/autocorrection -""" - -import sys -import textwrap -from typing import Any, Dict, Iterator, List, Tuple - -try: - from english_words import english_words_lower_alpha_set as CORRECT_WORDS -except ImportError: - print('Autocorrection will falsely trigger when a typo is a substring of a ' - 'correctly spelled word. To check for this, install the english_words ' - 'package and rerun this script:\n\n pip install english_words\n') - # Use a minimal word list as a fallback. - CORRECT_WORDS = ('apparent', 'association', 'available', 'classification', - 'effect', 'entertainment', 'fantastic', 'information', - 'integrate', 'international', 'language', 'loosest', - 'manual', 'nothing', 'provides', 'reference', 'statehood', - 'technology', 'virtually', 'wealthier', 'wonderful') - -KC_A = 4 -KC_SPC = 0x2c -KC_QUOT = 0x34 - -TYPO_CHARS = dict( - [ - ("'", KC_QUOT), - (':', KC_SPC), # "Word break" character. - ] + - # Characters a-z. - [(chr(c), c + KC_A - ord('a')) for c in range(ord('a'), ord('z') + 1)] -) - - -def parse_file(file_name: str) -> List[Tuple[str, str]]: - """Parses autocorrections dictionary file. - - Each line of the file defines one typo and its correction with the syntax - "typo -> correction". Blank lines or lines starting with '#' are ignored. The - function validates that typos only have characters in TYPO_CHARS, that - typos are not substrings of other typos, and checking that typos don't trigger - on CORRECT_WORDS. - - Args: - file_name: String, path of the autocorrections dictionary. - Returns: - List of (typo, correction) tuples. - """ - correct_words = ('information', 'available', 'international', 'language', 'loosest', 'reference', 'wealthier', 'entertainment', 'association', 'provides', 'technology', 'statehood') - autocorrections = [] - typos = set() - for line_number, typo, correction in parse_file_lines(file_name): - if typo in typos: - print(f'Warning:{line_number}: Ignoring duplicate typo: "{typo}"') - continue - - # Check that `typo` is valid. - if not(all([c in TYPO_CHARS for c in typo])): - print(f'Error:{line_number}: Typo "{typo}" has ' - 'characters other than ' + ''.join(TYPO_CHARS.keys())) - sys.exit(1) - for other_typo in typos: - if typo in other_typo or other_typo in typo: - print(f'Error:{line_number}: Typos may not be substrings of one ' - f'another, otherwise the longer typo would never trigger: ' - f'"{typo}" vs. "{other_typo}".') - sys.exit(1) - if len(typo) < 5: - print(f'Warning:{line_number}: It is suggested that typos are at ' - f'least 5 characters long to avoid false triggers: "{typo}"') - - check_typo_against_dictionary(typo, line_number, correct_words) - - autocorrections.append((typo, correction)) - typos.add(typo) - - return autocorrections - - -def make_trie(autocorrections: List[Tuple[str, str]]) -> Dict[str, Any]: - """Makes a trie from the the typos, writing in reverse. - - Args: - autocorrections: List of (typo, correction) tuples. - Returns: - Dict of dict, representing the trie. - """ - trie = {} - for typo, correction in autocorrections: - node = trie - for letter in typo[::-1]: - node = node.setdefault(letter, {}) - node['LEAF'] = (typo, correction) - - return trie - - -def parse_file_lines(file_name: str) -> Iterator[Tuple[int, str, str]]: - """Parses lines read from `file_name` into typo-correction pairs.""" - - line_number = 0 - for line in open(file_name, 'rt'): - line_number += 1 - line = line.strip() - if line and line[0] != '#': - # Parse syntax "typo -> correction", using strip to ignore indenting. - tokens = [token.strip() for token in line.split('->', 1)] - if len(tokens) != 2 or not tokens[0]: - print(f'Error:{line_number}: Invalid syntax: "{line}"') - sys.exit(1) - - typo, correction = tokens - typo = typo.lower() # Force typos to lowercase. - typo = typo.replace(' ', ':') - - yield line_number, typo, correction - - -def check_typo_against_dictionary(typo: str, line_number: int, correct_words) -> None: - """Checks `typo` against English dictionary words.""" - - if typo.startswith(':') and typo.endswith(':'): - if typo[1:-1] in correct_words: - print(f'Warning:{line_number}: Typo "{typo}" is a correctly spelled dictionary word.') - elif typo.startswith(':') and not typo.endswith(':'): - for word in correct_words: - if word.startswith(typo[1:]): - print(f'Warning:{line_number}: Typo "{typo}" would falsely trigger on correctly spelled word "{word}".') - elif not typo.startswith(':') and typo.endswith(':'): - for word in correct_words: - if word.endswith(typo[:-1]): - print(f'Warning:{line_number}: Typo "{typo}" would falsely trigger on correctly spelled word "{word}".') - elif not typo.startswith(':') and not typo.endswith(':'): - for word in correct_words: - if typo in word: - print(f'Warning:{line_number}: Typo "{typo}" would falsely trigger on correctly spelled word "{word}".') - - -def serialize_trie(autocorrections: List[Tuple[str, str]], - trie: Dict[str, Any]) -> List[int]: - """Serializes trie and correction data in a form readable by the C code. - - Args: - autocorrections: List of (typo, correction) tuples. - trie: Dict of dicts. - Returns: - List of ints in the range 0-255. - """ - table = [] - - # Traverse trie in depth first order. - def traverse(trie_node: Dict[str, Any]) -> Dict[str, Any]: - if 'LEAF' in trie_node: # Handle a leaf trie node. - typo, correction = trie_node['LEAF'] - word_boundary_ending = typo[-1] == ':' - typo = typo.strip(':') - i = 0 # Make the autocorrection data for this entry and serialize it. - while i < min(len(typo), len(correction)) and typo[i] == correction[i]: - i += 1 - backspaces = len(typo) - i - 1 + word_boundary_ending - assert 0 <= backspaces <= 63 - correction = correction[i:] - data = [backspaces + 128] + list(bytes(correction, 'ascii')) + [0] - - entry = {'data': data, 'links': [], 'byte_offset': 0} - table.append(entry) - elif len(trie_node) == 1: # Handle trie node with a single child. - c, trie_node = next(iter(trie_node.items())) - entry = {'chars': c, 'byte_offset': 0} - - # It's common for a trie to have long chains of single-child nodes. We - # find the whole chain so that we can serialize it more efficiently. - while len(trie_node) == 1 and 'LEAF' not in trie_node: - c, trie_node = next(iter(trie_node.items())) - entry['chars'] += c - - table.append(entry) - entry['links'] = [traverse(trie_node)] - else: # Handle trie node with multiple children. - entry = {'chars': ''.join(sorted(trie_node.keys())), 'byte_offset': 0} - table.append(entry) - entry['links'] = [traverse(trie_node[c]) for c in entry['chars']] - return entry - - traverse(trie) - - def serialize(e: Dict[str, Any]) -> List[int]: - if not e['links']: # Handle a leaf table entry. - return e['data'] - elif len(e['links']) == 1: # Handle a chain table entry. - return [TYPO_CHARS[c] for c in e['chars']] + [0] - else: # Handle a branch table entry. - data = [] - for c, link in zip(e['chars'], e['links']): - data += [TYPO_CHARS[c] | (0 if data else 64)] + encode_link(link) - return data + [0] - - byte_offset = 0 - for e in table: # To encode links, first compute byte offset of each entry. - e['byte_offset'] = byte_offset - byte_offset += len(serialize(e)) - - return [b for e in table for b in serialize(e)] # Serialize final table. - - -def encode_link(link: Dict[str, Any]) -> List[int]: - """Encodes a node link as two bytes.""" - byte_offset = link['byte_offset'] - if not (0 <= byte_offset <= 0xffff): - print('Error: The autocorrection table is too large, a node link exceeds ' - '64KB limit. Try reducing the autocorrection dict to fewer entries.') - sys.exit(1) - return [byte_offset & 255, byte_offset >> 8] - - -def write_generated_code(autocorrections: List[Tuple[str, str]], - data: List[int], - file_name: str) -> None: - """Writes autocorrection data as generated C code to `file_name`. - - Args: - autocorrections: List of (typo, correction) tuples. - data: List of ints in 0-255, the serialized trie. - file_name: String, path of the output C file. - """ - assert all(0 <= b <= 255 for b in data) - - def typo_len(e: Tuple[str, str]) -> int: - return len(e[0]) - - min_typo = min(autocorrections, key=typo_len)[0] - max_typo = max(autocorrections, key=typo_len)[0] - generated_code = ''.join([ - '// Generated code.\n\n', - f'// Autocorrection dictionary ({len(autocorrections)} entries):\n', - ''.join(sorted(f'// {typo:<{len(max_typo)}} -> {correction}\n' - for typo, correction in autocorrections)), - f'\n#define AUTOCORRECTION_MIN_LENGTH {len(min_typo)} // "{min_typo}"\n', - f'#define AUTOCORRECTION_MAX_LENGTH {len(max_typo)} // "{max_typo}"\n\n', - textwrap.fill('static const uint8_t autocorrection_data[%d] PROGMEM = {%s};' % ( - len(data), ', '.join(map(str, data))), width=80, subsequent_indent=' '), - '\n\n']) - - with open(file_name, 'wt') as f: - f.write(generated_code) - - -def main(argv): - dict_file = argv[1] if len(argv) > 1 else 'autocorrection_dict.txt' - autocorrections = parse_file(dict_file) - trie = make_trie(autocorrections) - data = serialize_trie(autocorrections, trie) - print(f'Processed %d autocorrection entries to table with %d bytes.' - % (len(autocorrections), len(data))) - write_generated_code(autocorrections, data, 'autocorrection_data.h') - -if __name__ == '__main__': - main(sys.argv) diff --git a/users/drashna/keyrecords/autocorrection/readme.md b/users/drashna/keyrecords/autocorrection/readme.md deleted file mode 100644 index d920508793..0000000000 --- a/users/drashna/keyrecords/autocorrection/readme.md +++ /dev/null @@ -1,301 +0,0 @@ -# Autocorrection - -This is taken from [Pascal Getreuer's implemenation](https://getreuer.info/posts/keyboards/autocorrection/index.html), with a number of modifications. - -To enabled Autocorrection, add `AUTOCORRECTION_ENABLE = yes` to your `rules.mk` file. - -This is mostly a reproduction of Pascal's docs: - -## Overview -Some words are more prone to typos than others. I have a habit of typo-ing *ouput* and *fitler*. This post describes a rudimentary autocorrection implementation that runs on your keyboard with QMK. - -The animation below shows the effect as I type *aparent*. As I press the final t, the autocorrection feature detects the typo and automatically sends keys to correct it: - -Example: Autocorrecting *aparent* → apparent. - -**Features**: -* It runs on your keyboard, so it is always active no matter what software. -* Low resource cost: for an autocorrection dictionary of 70 entries, firmware size cost is 1620 bytes and average CPU cost per key press is about 20 µs. -* It is case insensitive. It corrects Fitler to Filter and FITLER to FILTER. -* It works within words. It corrects fitlered, fitlering, and useful for programming, within longer identifiers like DesignButterworthFitle*r. - -**Limitations**: Running autocorrection on the keyboard comes with some constraints. It is rudimentary like I said: -* It is limited to alphabet characters a–z. No accented or Unicode letters; I’m sorry this probably isn’t useful for languages besides English. -* It does not follow mouse or hotkey driven cursor movement. - -## Taking autocorrection for a test drive -With the above flashed to your keyboard, try for instance typing the misspelled word ouput. The instant you type the final t, the word should be speedily autocorrected to output. As further tests, try becuase and invliad. - -Here is the full list of typos corrected using the provided autocorrection_data.h file. : is a special character denoting a word break. See below for how to change the autocorrection dictionary. - -``` -:guage -> gauge -:the:the: -> the -:thier -> their -:ture -> true -accomodate -> accommodate -acommodate -> accommodate -aparent -> apparent -aparrent -> apparent -apparant -> apparent -apparrent -> apparent -aquire -> acquire -becuase -> because -cauhgt -> caught -cheif -> chief -choosen -> chosen -cieling -> ceiling -collegue -> colleague -concensus -> consensus -contians -> contains -cosnt -> const -dervied -> derived -fales -> false -fasle -> false -fitler -> filter -flase -> false -foward -> forward -frequecy -> frequency -gaurantee -> guarantee -guaratee -> guarantee -heigth -> height -heirarchy -> hierarchy -inclued -> include -interator -> iterator -intput -> input -invliad -> invalid -lenght -> length -liasion -> liaison -libary -> library -listner -> listener -looses: -> loses -looup -> lookup -manefist -> manifest -namesapce -> namespace -namespcae -> namespace -occassion -> occasion -occured -> occurred -ouptut -> output -ouput -> output -overide -> override -postion -> position -priviledge -> privilege -psuedo -> pseudo -recieve -> receive -refered -> referred -relevent -> relevant -repitition -> repetition -reuslt -> result -retrun -> return -retun -> return -reutrn -> return -saftey -> safety -seperate -> separate -singed -> signed -stirng -> string -strign -> string -swithc -> switch -swtich -> switch -thresold -> threshold -udpate -> update -widht -> width -``` - -## Firmware size and CPU costs -I am anxiously aware that a keyboard microcontroller has limited resources. So I was sure to measure how much memory and CPU time autocorrection consumes during development. These measurements are for the example autocorrection dictionary as used above, which has 70 entries: -* **Firmware size**: Autocorrection increases my firmware size by a total of 1620 bytes. Breaking that down, 1104 bytes are for the autocorrection_data array and 516 bytes for the autocorrection code. -* **CPU time**: On my Elite-C microcontrollers, the average CPU time for process_autocorrection to process an alpha key press is around 20 µs. Consider this a rough order-of-magnitude cost. Processing cost increases (more trie nodes are visited) when recent input is close to a known typo, with the max being when a long typo is matched. - -The costs are not free but reasonable. For reference, the firmware size cost for mouse keys is 2124 bytes and the CPU time to process a layer switch is about 70 µs, so autocorrection is cheaper than those things. Of course, the cost scales with the size of the autocorrection dictionary, so keep that in mind if you add a lot more entries. - -## How does it work? -The function process_autocorrection maintains a small buffer of recent key presses. On each key press, it checks whether the buffer ends in a recognized typo, and if so, automatically sends keystrokes to correct it. - -The tricky part is how to efficiently check the buffer for typos. We don’t want to spend too much memory or time on storing or searching the typos. A good solution is to represent the typos with a trie data structure. A trie is a tree data structure where each node is a letter, and words are formed by following a path to one of the leaves. - - -An example trie. -Since we search whether the buffer ends in a typo, we store the trie writing in reverse. The trie is queried starting from the last letter, then second to last letter, and so on, until either a letter doesn’t match or we reach a leaf, meaning a typo was found. - -## Changing the autocorrection dictionary -The file autocorrection_data.h encodes the typos to correct. While you could simply use the version of this file provided above for a practical configuration, you can make your own to personalize the autocorrection to your most troublesome typos: - -1. First, create an autocorrection dictionary autocorrection_dict.txt, like - - ``` -:thier -> their -fitler -> filter -lenght -> length -ouput -> output -widht -> width -``` - For a practical 70-entry example, see autocorrection_dict.txt. And for a yet larger 400-entry example, see autocorrection_dict_extra.txt. - - The syntax is `typo -> correction`. Typos and corrections are case insensitive, and any whitespace before or after the typo and correction is ignored. The typo must be only the letters a–z, or the special character : representing a word break. The correction may have any characters. - -2. Use the make_autocorrection_data.py Python script to process the dictionary - -``` -$ python3 make_autocorrection_data.py -Processed 70 autocorrection entries to table with 1104 bytes. -``` -The script arranges the entries in autocorrection_dict.txt into a trie and generates autocorrection_data.h with the serialized trie embedded as an array. - -3. Finally, recompile and flash your keymap. - -The generated C header looks like this: - -autocorrection_data.h -```c -// Generated code. - -#define AUTOCORRECTION_MIN_LENGTH 5 // "cheif" -#define AUTOCORRECTION_MAX_LENGTH 10 // "accomodate" - -static const uint8_t autocorrection_data[1104] PROGMEM = {108, 43, 0, 6, - 71, 0, 7, 81, 0, 8, 199, 0, 9, 240, 1, 10, 250, 1, 11, 26, 2, 17, 53, 2, - 18, 190, 2, 19, 202, 2, 21, 212, 2, 22, 20, 3, 23, 67, 3, 28, 16, 4, 0, - 72, 50, 0, 22, 60, 0, 0, 11, 23, 44, 8, 11, 23, 44, 0, 132, 0, 8, 22, 18, - 18, 15, 0, 132, 115, 101, 115, 0, 11, 23, 12, 26, 22, 0, 129, 99, 104, 0, - 68, 94, 0, 8, 106, 0, 15, 174, 0, 21, 187, 0, 0, 12, 15, 25, 17, 12, 0, - 131, 97, 108, 105, 100, 0, 74, 119, 0, 12, 129, 0, 21, 140, 0, 24, 165, - 0, 0, 17, 12, 22, 0, 131, 103, 110, 101, 100, 0, 25, 21, 8, 7, 0, 131, - 105, 118, 101, 100, 0, 72, 147, 0, 24, 156, 0, 0, 9, 8, 21, 0, 129, 114, - 101, 100, 0, 6, 6, 18, 0, 129, 114, 101, 100, 0, 15, 6, 17, 12, 0, 129, - 100, 101, 0, 18, 22, 8, 21, 11, 23, 0, 130, 104, 111, 108, 100, 0, 4, 26, - 18, 9, 0, 131, 114, 119, 97, 114, 100, 0, 68, 233, 0, 6, 246, 0, 7, 4, 1, - 8, 16, 1, 10, 52, 1, 15, 81, 1, 21, 90, 1, 22, 117, 1, 23, 144, 1, 24, - 215, 1, 25, 228, 1, 0, 6, 19, 22, 8, 16, 4, 17, 0, 130, 97, 99, 101, 0, - 19, 4, 22, 8, 16, 4, 17, 0, 131, 112, 97, 99, 101, 0, 12, 21, 8, 25, 18, - 0, 130, 114, 105, 100, 101, 0, 23, 0, 68, 25, 1, 17, 36, 1, 0, 21, 4, 24, - 10, 0, 130, 110, 116, 101, 101, 0, 4, 21, 24, 4, 10, 0, 135, 117, 97, - 114, 97, 110, 116, 101, 101, 0, 68, 59, 1, 7, 69, 1, 0, 24, 10, 44, 0, - 131, 97, 117, 103, 101, 0, 8, 15, 12, 25, 12, 21, 19, 0, 130, 103, 101, - 0, 22, 4, 9, 0, 130, 108, 115, 101, 0, 76, 97, 1, 24, 109, 1, 0, 24, 20, - 4, 0, 132, 99, 113, 117, 105, 114, 101, 0, 23, 44, 0, 130, 114, 117, 101, - 0, 4, 0, 79, 126, 1, 24, 134, 1, 0, 9, 0, 131, 97, 108, 115, 101, 0, 6, - 8, 5, 0, 131, 97, 117, 115, 101, 0, 4, 0, 71, 156, 1, 19, 193, 1, 21, - 203, 1, 0, 18, 16, 0, 80, 166, 1, 18, 181, 1, 0, 18, 6, 4, 0, 135, 99, - 111, 109, 109, 111, 100, 97, 116, 101, 0, 6, 6, 4, 0, 132, 109, 111, 100, - 97, 116, 101, 0, 7, 24, 0, 132, 112, 100, 97, 116, 101, 0, 8, 19, 8, 22, - 0, 132, 97, 114, 97, 116, 101, 0, 10, 8, 15, 15, 18, 6, 0, 130, 97, 103, - 117, 101, 0, 8, 12, 6, 8, 21, 0, 131, 101, 105, 118, 101, 0, 12, 8, 11, - 6, 0, 130, 105, 101, 102, 0, 17, 0, 76, 3, 2, 21, 16, 2, 0, 15, 8, 12, 6, - 0, 133, 101, 105, 108, 105, 110, 103, 0, 12, 23, 22, 0, 131, 114, 105, - 110, 103, 0, 70, 33, 2, 23, 44, 2, 0, 12, 23, 26, 22, 0, 131, 105, 116, - 99, 104, 0, 10, 12, 8, 11, 0, 129, 104, 116, 0, 72, 69, 2, 10, 80, 2, 18, - 89, 2, 21, 156, 2, 24, 167, 2, 0, 22, 18, 18, 11, 6, 0, 131, 115, 101, - 110, 0, 12, 21, 23, 22, 0, 129, 110, 103, 0, 12, 0, 86, 98, 2, 23, 124, - 2, 0, 68, 105, 2, 22, 114, 2, 0, 12, 15, 0, 131, 105, 115, 111, 110, 0, - 4, 6, 6, 18, 0, 131, 105, 111, 110, 0, 76, 131, 2, 22, 146, 2, 0, 23, 12, - 19, 8, 21, 0, 134, 101, 116, 105, 116, 105, 111, 110, 0, 18, 19, 0, 131, - 105, 116, 105, 111, 110, 0, 23, 24, 8, 21, 0, 131, 116, 117, 114, 110, 0, - 85, 174, 2, 23, 183, 2, 0, 23, 8, 21, 0, 130, 117, 114, 110, 0, 8, 21, 0, - 128, 114, 110, 0, 7, 8, 24, 22, 19, 0, 131, 101, 117, 100, 111, 0, 24, - 18, 18, 15, 0, 129, 107, 117, 112, 0, 72, 219, 2, 18, 3, 3, 0, 76, 229, - 2, 15, 238, 2, 17, 248, 2, 0, 11, 23, 44, 0, 130, 101, 105, 114, 0, 23, - 12, 9, 0, 131, 108, 116, 101, 114, 0, 23, 22, 12, 15, 0, 130, 101, 110, - 101, 114, 0, 23, 4, 21, 8, 23, 17, 12, 0, 135, 116, 101, 114, 97, 116, - 111, 114, 0, 72, 30, 3, 17, 38, 3, 24, 51, 3, 0, 15, 4, 9, 0, 129, 115, - 101, 0, 4, 12, 23, 17, 18, 6, 0, 131, 97, 105, 110, 115, 0, 22, 17, 8, 6, - 17, 18, 6, 0, 133, 115, 101, 110, 115, 117, 115, 0, 74, 86, 3, 11, 96, 3, - 15, 118, 3, 17, 129, 3, 22, 218, 3, 24, 232, 3, 0, 11, 24, 4, 6, 0, 130, - 103, 104, 116, 0, 71, 103, 3, 10, 110, 3, 0, 12, 26, 0, 129, 116, 104, 0, - 17, 8, 15, 0, 129, 116, 104, 0, 22, 24, 8, 21, 0, 131, 115, 117, 108, - 116, 0, 68, 139, 3, 8, 150, 3, 22, 210, 3, 0, 21, 4, 19, 19, 4, 0, 130, - 101, 110, 116, 0, 85, 157, 3, 25, 200, 3, 0, 68, 164, 3, 21, 175, 3, 0, - 19, 4, 0, 132, 112, 97, 114, 101, 110, 116, 0, 4, 19, 0, 68, 185, 3, 19, - 193, 3, 0, 133, 112, 97, 114, 101, 110, 116, 0, 4, 0, 131, 101, 110, 116, - 0, 8, 15, 8, 21, 0, 130, 97, 110, 116, 0, 18, 6, 0, 130, 110, 115, 116, - 0, 12, 9, 8, 17, 4, 16, 0, 132, 105, 102, 101, 115, 116, 0, 83, 239, 3, - 23, 6, 4, 0, 87, 246, 3, 24, 254, 3, 0, 17, 12, 0, 131, 112, 117, 116, 0, - 18, 0, 130, 116, 112, 117, 116, 0, 19, 24, 18, 0, 131, 116, 112, 117, - 116, 0, 70, 29, 4, 8, 41, 4, 11, 51, 4, 21, 69, 4, 0, 8, 24, 20, 8, 21, - 9, 0, 129, 110, 99, 121, 0, 23, 9, 4, 22, 0, 130, 101, 116, 121, 0, 6, - 21, 4, 21, 12, 8, 11, 0, 135, 105, 101, 114, 97, 114, 99, 104, 121, 0, 4, - 5, 12, 15, 0, 130, 114, 97, 114, 121, 0}; -``` - -## Troubleshooting -### Avoiding false triggers -By default, typos are searched within words, to find typos within longer identifiers like maxFitlerOuput. While this is useful, a consequence is that autocorrection will falsely trigger when a typo happens to be a substring of a correctly-spelled word. For instance, if we had thier -> their as an entry, it would falsely trigger on (correct, though relatively uncommon) words like “wealthier” and “filthier.” - -The solution is to set a word break : before and/or after the typo to constrain matching. : matches space, period, comma, underscore, digits, and most other non-alpha characters. - -| Text | thier | :thier | thier: | :thier: | -|------|-------|--------|--------|---------| -|see thier typo|matches|matches|matches|matches| -it’s thiers |matches|matches|no|no| -wealthier words|matches|no|matches|no| - -:thier: is most restrictive, matching only when thier is a whole word. - -The make_autocorrection_data.py script makes an effort to check for entries that would false trigger as substrings of correct words. It searches each typo against a dictionary of 25K English words from the english_words Python package, provided it’s installed. - -### Overriding autocorrection -Occasionally you might actually want to type a typo (for instance, while editing autocorrection_dict.txt) without being autocorrected. Here is a way to do that: - -1. Begin typing the typo. -2. Before typing the last letter, press and release the Ctrl or Alt key. -3. Type the remaining letters. - -This works because the autocorrection implementation doesn’t understand hotkeys, so it resets itself whenever a modifier other than shift is held. - -Alternatively, the `AUTO_CTN` keycode will toggle autocorrection on and off. - -## Closing thoughts -Based on my own use, an autocorrection dictionary of a few dozen entries is enough to help in day-to-day writing. On the other hand, it is of course far from comprehensively checking that every word is spelled correctly. Keyboard microcontrollers might not have the resources check against a full English dictionary any time soon, but a lot of editors and other software have good integrated spell check features. - -I suggest to enable and use spell check in combination with autocorrection: -* Sublime: Open the View menu and enable “Spell Check.” -* Eclipse: Open the Window menu, click Preferences, and search for “Spelling.” -* Vim: Type :set spell, and misspellings will be highlighted. Use ]s to jump to the next misspelled word and z= to get suggested corrections for the word under the cursor. See the :help spell documentation. Vim also has an abbreviations feature that can autocorrect misspellings (see :help abbreviations). -* Emacs: Use M-x flyspell-mode to enable Flyspell mode in the current buffer. Or for programming, use M-x flyspell-prog-mode to check comments and strings only. See the spelling documentation. There is also an abbreviations feature that can do autocorrection. - -Some useful resources: - -* Wikipedia has a [large list of common typos](https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines). -* EmacsWiki has another [list of typos](https://www.emacswiki.org/emacs/autocorrection_abbrev_defs). -* You can find data on English word frequencies at https://www.wordfrequency.info/samples.asp. - -# Appendix: Trie binary data format -This section details how the trie is serialized to byte data in autocorrection_data. You don’t need to care about this to use this autocorrection implementation. But I document it for the record in case anyone is interested in modifying the implementation, or just curious how it works. - -What I did here is fairly arbitrary, but it is simple to decode and gets the job done. - -## Encoding -All autocorrection data is stored in a single flat array autocorrection_data. Each trie node is associated with a byte offset into this array, where data for that node is encoded, beginning with root at offset 0. There are three kinds of nodes. The highest two bits of the first byte of the node indicate what kind: - -* 00 ⇒ chain node: a trie node with a single child. -* 01 ⇒ branching node: a trie node with multiple children. -* 10 ⇒ leaf node: a leaf, corresponding to a typo and storing its correction. - -An example trie. -Branching node. Each branch is encoded with one byte for the keycode (KC_A–KC_Z) followed by a link to the child node. Links between nodes are 16-bit byte offsets relative to the beginning of the array, serialized in little endian order. - -All branches are serialized this way, one after another, and terminated with a zero byte. As described above, the node is identified as a branch by setting the two high bits of the first byte to 01, done by bitwise ORing the first keycode with 64. keycode. The root node for the above figure would be serialized like: - - +-------+-------+-------+-------+-------+-------+-------+ - | R|64 | node 2 | T | node 3 | 0 | - +-------+-------+-------+-------+-------+-------+-------+ - -Chain node. Tries tend to have long chains of single-child nodes, as seen in the example above with f-i-t-l in fitler. So to save space, we use a different format to encode chains than branching nodes. A chain is encoded as a string of keycodes, beginning with the node closest to the root, and terminated with a zero byte. The child of the last node in the chain is encoded immediately after. That child could be either a branching node or a leaf. - -In the figure above, the f-i-t-l chain is encoded as - - +-------+-------+-------+-------+-------+ - | L | T | I | F | 0 | - +-------+-------+-------+-------+-------+ -If we were to encode this chain using the same format used for branching nodes, we would encode a 16-bit node link with every node, costing 8 more bytes in this example. Across the whole trie, this adds up. Conveniently, we can point to intermediate points in the chain and interpret the bytes in the same way as before. E.g. starting at the i instead of the l, and the subchain has the same format. - -Leaf node. A leaf node corresponds to a particular typo and stores data to correct the typo. The leaf begins with a byte for the number of backspaces to type, and is followed by a null-terminated ASCII string of the replacement text. The idea is, after tapping backspace the indicated number of times, we can simply pass this string to QMK’s send_string_P function. For fitler, we need to tap backspace 3 times (not 4, because we catch the typo as the final ‘r’ is pressed) and replace it with lter. To identify the node as a leaf, the two high bits are set to 10 by ORing the backspace count with 128: - - +-------+-------+-------+-------+-------+-------+ - | 3|128 | 'l' | 't' | 'e' | 'r' | 0 | - +-------+-------+-------+-------+-------+-------+ -## Decoding -This format is by design decodable with fairly simple logic. A 16-bit variable state represents our current position in the trie, initialized with 0 to start at the root node. Then, for each keycode, test the highest two bits in the byte at state to identify the kind of node. - -* 00 ⇒ chain node: If the node’s byte matches the keycode, increment state by one to go to the next byte. If the next byte is zero, increment again to go to the following node. -* 01 ⇒ branching node: Search the branches for one that matches the keycode, and follow its node link. -* 10 ⇒ leaf node: a typo has been found! We read its first byte for the number of backspaces to type, then pass its following bytes to send_string_P to type the correction. diff --git a/users/drashna/keyrecords/process_records.c b/users/drashna/keyrecords/process_records.c index 197fd94171..89d1c80b8f 100644 --- a/users/drashna/keyrecords/process_records.c +++ b/users/drashna/keyrecords/process_records.c @@ -3,9 +3,6 @@ #include "drashna.h" #include "version.h" -#ifdef AUTOCORRECTION_ENABLE -# include "autocorrection/autocorrection.h" -#endif uint16_t copy_paste_timer; bool host_driver_disabled = false; @@ -65,9 +62,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #if defined(CUSTOM_POINTING_DEVICE) && process_record_pointing(keycode, record) #endif -#ifdef AUTOCORRECTION_ENABLE - && process_autocorrection(keycode, record) -#endif && true)) { return false; } diff --git a/users/drashna/keyrecords/process_records.h b/users/drashna/keyrecords/process_records.h index be31f992cb..2ee7551648 100644 --- a/users/drashna/keyrecords/process_records.h +++ b/users/drashna/keyrecords/process_records.h @@ -46,9 +46,6 @@ enum userspace_custom_keycodes { KC_ZALGO, KC_SUPER, KC_ACCEL, - AUTOCORRECT_ON, - AUTOCORRECT_OFF, - AUTOCORRECT_TOGGLE, NEW_SAFE_RANGE // use "NEWPLACEHOLDER for keymap specific codes }; @@ -128,7 +125,7 @@ bool process_record_unicode(uint16_t keycode, keyrecord_t *record); #define MG_NKRO MAGIC_TOGGLE_NKRO -#define AUTO_CTN AUTOCORRECT_TOGGLE +#define AUTO_CTN QK_AUTOCORRECT_TOGGLE /* Custom Keycodes for Diablo 3 layer But since TD() doesn't work when tap dance is disabled diff --git a/users/drashna/keyrecords/tap_dance.md b/users/drashna/keyrecords/tap_dance.md index 0bf67cbd5a..fef1435918 100644 --- a/users/drashna/keyrecords/tap_dance.md +++ b/users/drashna/keyrecords/tap_dance.md @@ -88,7 +88,7 @@ void diablo_tapdance_master(qk_tap_dance_state_t *state, void *user_data) { diablo_timer[diablo_keys->index].keycode = diablo_keys->keycode; // if the tapdance is hit more than the number of elemints in the array, reset - if (state->count >= (sizeof(diablo_times) / sizeof(uint8_t) ) ) { + if (state->count >= ARRAY_SIZE(diablo_times) ) { diablo_timer[diablo_keys->index].key_interval = 0; reset_tap_dance(state); } else { // else set the interval (tapdance count starts at 1, array starts at 0, so offset by one) diff --git a/users/drashna/keyrecords/tap_dances.c b/users/drashna/keyrecords/tap_dances.c index 6caf6b6b3e..7bdea3cae3 100644 --- a/users/drashna/keyrecords/tap_dances.c +++ b/users/drashna/keyrecords/tap_dances.c @@ -23,7 +23,7 @@ void diablo_tapdance_master(qk_tap_dance_state_t *state, void *user_data) { diablo_timer[diablo_keys->index].keycode = diablo_keys->keycode; // if the tapdance is hit more than the number of elemints in the array, reset - if (state->count >= (sizeof(diablo_times) / sizeof(uint8_t))) { + if (state->count >= ARRAY_SIZE(diablo_times)) { diablo_timer[diablo_keys->index].key_interval = 0; reset_tap_dance(state); } else { // else set the interval (tapdance count starts at 1, array starts at 0, so offset by one) diff --git a/users/drashna/keyrecords/unicode.c b/users/drashna/keyrecords/unicode.c index b3fc71cb09..753fca3231 100644 --- a/users/drashna/keyrecords/unicode.c +++ b/users/drashna/keyrecords/unicode.c @@ -43,7 +43,7 @@ typedef uint32_t (*translator_function_t)(bool is_shifted, uint32_t keycode); static inline uint32_t translator_name(bool is_shifted, uint32_t keycode) { \ static const uint32_t translation[] = {__VA_ARGS__}; \ uint32_t ret = keycode; \ - if ((keycode - KC_A) < (sizeof(translation) / sizeof(uint32_t))) { \ + if ((keycode - KC_A) < ARRAY_SIZE(translation)) { \ ret = translation[keycode - KC_A]; \ } \ return ret; \ @@ -193,9 +193,9 @@ bool process_record_aussie(uint16_t keycode, keyrecord_t *record) { tap_code16_nomods(KC_HOME); return false; } else if (record->event.pressed && keycode == KC_BSPC) { - tap_code16_nomods(KC_DELT); + tap_code16_nomods(KC_DEL); return false; - } else if (record->event.pressed && keycode == KC_DELT) { + } else if (record->event.pressed && keycode == KC_DEL) { tap_code16_nomods(KC_BSPC); return false; } else if (record->event.pressed && keycode == KC_QUOT) { diff --git a/users/drashna/oled/oled_stuff.c b/users/drashna/oled/oled_stuff.c index e082f8ab3e..85a66eec7e 100644 --- a/users/drashna/oled/oled_stuff.c +++ b/users/drashna/oled/oled_stuff.c @@ -23,9 +23,6 @@ #ifdef AUDIO_CLICKY # include "process_clicky.h" #endif -#if defined(AUTOCORRECTION_ENABLE) -# include "keyrecords/autocorrection/autocorrection.h" -#endif #include <string.h> bool is_oled_enabled = true; @@ -87,7 +84,7 @@ void add_keylog(uint16_t keycode, keyrecord_t *record) { memmove(keylog_str, keylog_str + 1, OLED_KEYLOGGER_LENGTH - 1); - if (keycode < (sizeof(code_to_name) / sizeof(char))) { + if (keycode < ARRAY_SIZE(code_to_name)) { keylog_str[(OLED_KEYLOGGER_LENGTH - 1)] = pgm_read_byte(&code_to_name[keycode]); } @@ -378,14 +375,14 @@ void render_mod_status(uint8_t modifiers, uint8_t col, uint8_t line) { #endif oled_write_P(PSTR(OLED_RENDER_MODS_NAME), false); #if defined(OLED_DISPLAY_VERBOSE) - oled_write_P(mod_status[0], (modifiers & MOD_BIT(KC_LSHIFT))); + oled_write_P(mod_status[0], (modifiers & MOD_BIT(KC_LSFT))); oled_write_P(mod_status[!keymap_config.swap_lctl_lgui ? 3 : 4], (modifiers & MOD_BIT(KC_LGUI))); oled_write_P(mod_status[2], (modifiers & MOD_BIT(KC_LALT))); oled_write_P(mod_status[1], (modifiers & MOD_BIT(KC_LCTL))); oled_write_P(mod_status[1], (modifiers & MOD_BIT(KC_RCTL))); oled_write_P(mod_status[2], (modifiers & MOD_BIT(KC_RALT))); oled_write_P(mod_status[!keymap_config.swap_lctl_lgui ? 3 : 4], (modifiers & MOD_BIT(KC_RGUI))); - oled_write_P(mod_status[0], (modifiers & MOD_BIT(KC_RSHIFT))); + oled_write_P(mod_status[0], (modifiers & MOD_BIT(KC_RSFT))); #else oled_write_P(mod_status[0], (modifiers & MOD_MASK_SHIFT)); oled_write_P(mod_status[!keymap_config.swap_lctl_lgui ? 3 : 4], (modifiers & MOD_MASK_GUI)); @@ -458,10 +455,6 @@ void render_bootmagic_status(uint8_t col, uint8_t line) { #endif } -#if defined(CUSTOM_POINTING_DEVICE) -extern bool tap_toggling; -#endif - void render_user_status(uint8_t col, uint8_t line) { #ifdef AUDIO_ENABLE bool is_audio_on = false, l_is_clicky_on = false; @@ -490,9 +483,9 @@ void render_user_status(uint8_t col, uint8_t line) { # if !defined(OLED_DISPLAY_VERBOSE) oled_write_P(PSTR(" "), false); # endif -#elif defined(CUSTOM_POINTING_DEVICE) +#elif defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE) static const char PROGMEM mouse_lock[3] = {0xF2, 0xF3, 0}; - oled_write_P(mouse_lock, tap_toggling); + oled_write_P(mouse_lock, get_auto_mouse_toggle()); #endif #ifdef AUDIO_ENABLE static const char PROGMEM audio_status[2][3] = {{0xE0, 0xE1, 0}, {0xE2, 0xE3, 0}}; @@ -771,8 +764,8 @@ void render_unicode_mode(uint8_t col, uint8_t line) { uint32_t kitty_animation_phases(uint32_t triger_time, void *cb_arg) { static uint32_t anim_frame_duration = 500; -#ifdef CUSTOM_POINTING_DEVICE - if (tap_toggling) { +#if defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE) + if (get_auto_mouse_toggle()) { animation_frame = (animation_frame + 1) % OLED_RTOGI_FRAMES; animation_type = 3; anim_frame_duration = 300; diff --git a/users/drashna/pointing/pointing.c b/users/drashna/pointing/pointing.c index c9a7945a84..1b64502ed3 100644 --- a/users/drashna/pointing/pointing.c +++ b/users/drashna/pointing/pointing.c @@ -3,10 +3,8 @@ #include "pointing.h" -static uint16_t mouse_timer = 0; -static uint16_t mouse_debounce_timer = 0; -static uint8_t mouse_keycode_tracker = 0; -bool tap_toggling = false, enable_acceleration = false; +static uint16_t mouse_debounce_timer = 0; +bool enable_acceleration = false; #ifdef TAPPING_TERM_PER_KEY # define TAP_CHECK get_tapping_term(KC_BTN1, NULL) @@ -17,6 +15,15 @@ bool tap_toggling = false, enable_acceleration = false; # define TAP_CHECK TAPPING_TERM #endif +__attribute__((weak)) void pointing_device_init_keymap(void) {} + +void pointing_device_init_user(void) { + set_auto_mouse_layer(_MOUSE); + set_auto_mouse_enable(true); + + pointing_device_init_keymap(); +} + __attribute__((weak)) report_mouse_t pointing_device_task_keymap(report_mouse_t mouse_report) { return mouse_report; } @@ -26,28 +33,16 @@ report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { mouse_report.x = 0; mouse_report.y = 0; - if (x != 0 && y != 0) { - mouse_timer = timer_read(); + if (x != 0 && y != 0 && (timer_elapsed(mouse_debounce_timer) > TAP_CHECK)) { #ifdef OLED_ENABLE oled_timer_reset(); #endif - if (timer_elapsed(mouse_debounce_timer) > TAP_CHECK) { - if (enable_acceleration) { - x = (mouse_xy_report_t)(x > 0 ? x * x / 16 + x : -x * x / 16 + x); - y = (mouse_xy_report_t)(y > 0 ? y * y / 16 + y : -y * y / 16 + y); - } - mouse_report.x = x; - mouse_report.y = y; - if (!layer_state_is(_MOUSE)) { - layer_on(_MOUSE); - } - } - } else if (timer_elapsed(mouse_timer) > 650 && layer_state_is(_MOUSE) && !mouse_keycode_tracker && !tap_toggling) { - layer_off(_MOUSE); - } else if (tap_toggling) { - if (!layer_state_is(_MOUSE)) { - layer_on(_MOUSE); + if (enable_acceleration) { + x = (mouse_xy_report_t)(x > 0 ? x * x / 16 + x : -x * x / 16 + x); + y = (mouse_xy_report_t)(y > 0 ? y * y / 16 + y : -y * y / 16 + y); } + mouse_report.x = x; + mouse_report.y = y; } return pointing_device_task_keymap(mouse_report); @@ -55,64 +50,10 @@ report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { bool process_record_pointing(uint16_t keycode, keyrecord_t* record) { switch (keycode) { - case TT(_MOUSE): - if (record->event.pressed) { - mouse_keycode_tracker++; - } else { -#if TAPPING_TOGGLE != 0 - if (record->tap.count == TAPPING_TOGGLE) { - tap_toggling ^= 1; -# if TAPPING_TOGGLE == 1 - if (!tap_toggling) mouse_keycode_tracker -= record->tap.count + 1; -# else - if (!tap_toggling) mouse_keycode_tracker -= record->tap.count; -# endif - } else { - mouse_keycode_tracker--; - } -#endif - } - mouse_timer = timer_read(); - break; - case TG(_MOUSE): - if (record->event.pressed) { - tap_toggling ^= 1; - } - break; - case MO(_MOUSE): -#if defined(KEYBOARD_ploopy) - case DPI_CONFIG: -#elif (defined(KEYBOARD_bastardkb_charybdis) || defined(KEYBOARD_handwired_tractyl_manuform)) && !defined(NO_CHARYBDIS_KEYCODES) - case SAFE_RANGE ... (CHARYBDIS_SAFE_RANGE-1): -#endif - case KC_MS_UP ... KC_MS_WH_RIGHT: - record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--; - mouse_timer = timer_read(); - break; case KC_ACCEL: enable_acceleration = record->event.pressed; - record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--; - mouse_timer = timer_read(); - break; -#if 0 - case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX: break; -#endif - case QK_MOD_TAP ... QK_MOD_TAP_MAX: - if (record->event.pressed || !record->tap.count) { - break; - } default: - if (IS_NOEVENT(record->event)) break; - if ((keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) && (((keycode >> 0x8) & 0xF) == _MOUSE)) { - record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--; - mouse_timer = timer_read(); - break; - } - if (layer_state_is(_MOUSE) && !mouse_keycode_tracker && !tap_toggling) { - layer_off(_MOUSE); - } - mouse_keycode_tracker = 0; mouse_debounce_timer = timer_read(); break; } @@ -122,6 +63,32 @@ bool process_record_pointing(uint16_t keycode, keyrecord_t* record) { layer_state_t layer_state_set_pointing(layer_state_t state) { if (layer_state_cmp(state, _GAMEPAD) || layer_state_cmp(state, _DIABLO) || layer_state_cmp(state, _DIABLOII)) { state |= ((layer_state_t)1 << _MOUSE); + set_auto_mouse_enable(false); // auto mouse can be disabled any time during run time + } else { + set_auto_mouse_enable(true); } return state; } + + +#if defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE) +__attribute__((weak)) bool is_mouse_record_keymap(uint16_t keycode, keyrecord_t *record) { return false; } + +bool is_mouse_record_user(uint16_t keycode, keyrecord_t* record) { + if (is_mouse_record_keymap(keycode, record)) { + return true; + } + switch (keycode) { +# if defined(KEYBOARD_ploopy) + case DPI_CONFIG: +# elif (defined(KEYBOARD_bastardkb_charybdis) || defined(KEYBOARD_handwired_tractyl_manuform)) && !defined(NO_CHARYBDIS_KEYCODES) + case SAFE_RANGE ...(CHARYBDIS_SAFE_RANGE - 1): +# elif (defined(KEYBOARD_bastardkb_dilemma) && !defined(NO_DILEMMA_KEYCODES)) + case SAFE_RANGE ...(DILEMMA_SAFE_RANGE - 1): +# endif + case KC_ACCEL: + return true; + } + return false; +} +#endif diff --git a/users/drashna/pointing/pointing.h b/users/drashna/pointing/pointing.h index 8b00ffc0ec..28d8610148 100644 --- a/users/drashna/pointing/pointing.h +++ b/users/drashna/pointing/pointing.h @@ -3,8 +3,8 @@ #include "drashna.h" +void pointing_device_init_keymap(void); report_mouse_t pointing_device_task_keymap(report_mouse_t mouse_report); void matrix_scan_pointing(void); bool process_record_pointing(uint16_t keycode, keyrecord_t* record); layer_state_t layer_state_set_pointing(layer_state_t state); -extern bool tap_toggling, enable_acceleration; diff --git a/users/drashna/post_config.h b/users/drashna/post_config.h index ec9aa49462..029ffd65ad 100644 --- a/users/drashna/post_config.h +++ b/users/drashna/post_config.h @@ -5,7 +5,16 @@ // because layouts seem to not be respecting config.h order atm #ifdef RGBLIGHT_ENABLE -# undef RGBLIGHT_ANIMATIONS +# undef RGBLIGHT_EFFECT_BREATHING +# undef RGBLIGHT_EFFECT_RAINBOW_MOOD +# undef RGBLIGHT_EFFECT_RAINBOW_SWIRL +# undef RGBLIGHT_EFFECT_SNAKE +# undef RGBLIGHT_EFFECT_KNIGHT +# undef RGBLIGHT_EFFECT_CHRISTMAS +# undef RGBLIGHT_EFFECT_STATIC_GRADIENT +# undef RGBLIGHT_EFFECT_RGB_TEST +# undef RGBLIGHT_EFFECT_ALTERNATING +# undef RGBLIGHT_EFFECT_TWINKLE # if defined(__AVR__) && (!defined(__AVR_AT90USB1286__) && !defined(RGBLIGHT_ALL_ANIMATIONS)) # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_SNAKE @@ -127,3 +136,7 @@ } \ } #endif + +#if defined(SPLIT_KEYBOARD) && defined(PROTOCOL_CHIBIOS) && !defined(USB_SUSPEND_WAKEUP_DELAY) +# define USB_SUSPEND_WAKEUP_DELAY 200 +#endif diff --git a/users/drashna/rgb/rgb_matrix_config.h b/users/drashna/rgb/rgb_matrix_config.h index 33979a198e..86f238f392 100644 --- a/users/drashna/rgb/rgb_matrix_config.h +++ b/users/drashna/rgb/rgb_matrix_config.h @@ -6,7 +6,6 @@ #define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot) // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened) #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects // # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #undef ENABLE_RGB_MATRIX_ALPHAS_MODS diff --git a/users/drashna/rgb/rgb_matrix_stuff.c b/users/drashna/rgb/rgb_matrix_stuff.c index 2c23c29784..2867641a3e 100644 --- a/users/drashna/rgb/rgb_matrix_stuff.c +++ b/users/drashna/rgb/rgb_matrix_stuff.c @@ -20,7 +20,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode uint16_t time = scale16by8(g_rgb_timer, speed / 8); hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); RGB rgb = hsv_to_rgb(hsv); - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], led_type)) { RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b); } @@ -30,7 +30,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode default: // Solid Color { RGB rgb = hsv_to_rgb(hsv); - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], led_type)) { RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b); } @@ -91,9 +91,9 @@ bool process_record_user_rgb_matrix(uint16_t keycode, keyrecord_t *record) { __attribute__((weak)) bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { return true; } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_keymap(led_min, led_max)) { - return; + return false; } #if defined(RGBLIGHT_ENABLE) @@ -140,11 +140,12 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { break; } } + return false; } __attribute__((weak)) bool rgb_matrix_indicators_keymap(void) { return true; } -void rgb_matrix_indicators_user(void) { - rgb_matrix_indicators_keymap(); +bool rgb_matrix_indicators_user(void) { + return rgb_matrix_indicators_keymap(); } diff --git a/users/drashna/rules.mk b/users/drashna/rules.mk index 5644aad2c4..76bb5debe1 100644 --- a/users/drashna/rules.mk +++ b/users/drashna/rules.mk @@ -9,9 +9,9 @@ ifneq ($(PLATFORM),CHIBIOS) ifneq ($(strip $(LTO_SUPPORTED)), no) LTO_ENABLE = yes endif + SPACE_CADET_ENABLE = no + GRAVE_ESC_ENABLE = no endif -SPACE_CADET_ENABLE = no -GRAVE_ESC_ENABLE = no # DEBUG_MATRIX_SCAN_RATE_ENABLE = api ifneq ($(strip $(NO_SECRETS)), yes) @@ -115,6 +115,7 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) ifeq ($(strip $(CUSTOM_POINTING_DEVICE)), yes) SRC += $(USER_PATH)/pointing/pointing.c OPT_DEFS += -DCUSTOM_POINTING_DEVICE + OPT_DEFS += -DPOINTING_DEVICE_AUTO_MOUSE_ENABLE endif endif @@ -127,11 +128,8 @@ ifeq ($(strip $(CUSTOM_SPLIT_TRANSPORT_SYNC)), yes) endif -AUTOCORRECTION_ENABLE ?= no ifeq ($(strip $(AUTOCORRECTION_ENABLE)), yes) - SRC += $(USER_PATH)/keyrecords/autocorrection/autocorrection.c - $(shell touch $(USER_PATH)/keyrecords/autocorrection/autocorrection.c) - OPT_DEFS += -DAUTOCORRECTION_ENABLE + AUTOCORRECT_ENABLE = yes endif ifeq ($(strip $(BOOTMAGIC_ENABLE)), yes) diff --git a/users/drashna/split/transport_sync.c b/users/drashna/split/transport_sync.c index 6b5c384480..11c56849eb 100644 --- a/users/drashna/split/transport_sync.c +++ b/users/drashna/split/transport_sync.c @@ -98,8 +98,8 @@ void user_transport_update(void) { #if defined(OLED_ENABLE) && !defined(SPLIT_OLED_ENABLE) && defined(CUSTOM_OLED_DRIVER) user_state.is_oled_enabled = is_oled_enabled; #endif -#if defined(CUSTOM_POINTING_DEVICE) - user_state.tap_toggling = tap_toggling; +#if defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE) + user_state.tap_toggling = get_auto_mouse_toggle(); #endif #ifdef UNICODE_COMMON_ENABLE user_state.unicode_mode = unicode_config.input_mode; @@ -122,8 +122,10 @@ void user_transport_update(void) { #if defined(OLED_ENABLE) && !defined(SPLIT_OLED_ENABLE) && defined(CUSTOM_OLED_DRIVER) is_oled_enabled = user_state.is_oled_enabled; #endif -#if defined(CUSTOM_POINTING_DEVICE) - tap_toggling = user_state.tap_toggling; +#if defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE) + if (get_auto_mouse_toggle() != user_state.tap_toggling) { + auto_mouse_toggle(); + } #endif #ifdef SWAP_HANDS_ENABLE swap_hands = user_state.swap_hands; diff --git a/users/edvorakjp/edvorakjp.h b/users/edvorakjp/edvorakjp.h index a878f71ca8..e3a94ca6a7 100644 --- a/users/edvorakjp/edvorakjp.h +++ b/users/edvorakjp/edvorakjp.h @@ -8,7 +8,7 @@ // clang-format off #define __EDVORAKJP_BASE_L1__ KC_QUOTE, KC_COMMA, KC_DOT, KC_Y, KC_Q #define __EDVORAKJP_BASE_L2__ KC_A, LALT_T(KC_O), LGUI_T(KC_E), LCTL_T(KC_I), KC_U -#define __EDVORAKJP_BASE_L3__ KC_SCOLON, KC_X, KC_C, KC_V, KC_Z +#define __EDVORAKJP_BASE_L3__ KC_SCLN, KC_X, KC_C, KC_V, KC_Z #define __EDVORAKJP_BASE_R1__ KC_F, KC_G, KC_R, KC_W, KC_P #define __EDVORAKJP_BASE_R2__ KC_D, RSFT_T(KC_T), RGUI_T(KC_N), RALT_T(KC_S), KC_M @@ -23,15 +23,15 @@ #define __EDVORAKJP_SYMBOL_L__ KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR #define __EDVORAKJP_SYMBOL_R__ KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK -#define __EDVORAKJP_BRACKET_L__ KC_LEFT_CURLY_BRACE, KC_LBRACKET, KC_LEFT_PAREN -#define __EDVORAKJP_BRACKET_R__ KC_RIGHT_PAREN, KC_RBRACKET, KC_RIGHT_CURLY_BRACE +#define __EDVORAKJP_BRACKET_L__ KC_LEFT_CURLY_BRACE, KC_LBRC, KC_LEFT_PAREN +#define __EDVORAKJP_BRACKET_R__ KC_RIGHT_PAREN, KC_RBRC, KC_RIGHT_CURLY_BRACE -#define __EDVORAKJP_PAGE__ KC_HOME, KC_PGDOWN, KC_PGUP, KC_END +#define __EDVORAKJP_PAGE__ KC_HOME, KC_PGDN, KC_PGUP, KC_END #define __EDVORAKJP_CURSOR__ KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT #define LA_TAB LALT_T(KC_TAB) #define LS_SPC LSFT_T(KC_SPACE) -#define RC_BSPC RCTL_T(KC_BSPACE) +#define RC_BSPC RCTL_T(KC_BACKSPACE) #define RC_DEL RCTL_T(KC_DELETE) #define RG_ENT RGUI_T(KC_ENTER) diff --git a/users/edvorakjp/edvorakjp_status.c b/users/edvorakjp/edvorakjp_status.c index c8a06c2255..851422ede5 100644 --- a/users/edvorakjp/edvorakjp_status.c +++ b/users/edvorakjp/edvorakjp_status.c @@ -42,13 +42,13 @@ void set_japanese_mode(bool new_state) { edvorakjp_state.japanese_mode = new_state; if (edvorakjp_state.japanese_mode) { if (edvorakjp_config.enable_kc_lang) { - SEND_STRING(SS_TAP(X_LANG1)); + SEND_STRING(SS_TAP(X_LNG1)); } else { SEND_STRING(SS_LALT("`")); } } else { if (edvorakjp_config.enable_kc_lang) { - SEND_STRING(SS_TAP(X_LANG2)); + SEND_STRING(SS_TAP(X_LNG2)); } else { SEND_STRING(SS_LALT("`")); } diff --git a/users/ericgebhart/extensions/oneshot.c b/users/ericgebhart/extensions/oneshot.c index 83c8a04363..55c2fa1ae3 100644 --- a/users/ericgebhart/extensions/oneshot.c +++ b/users/ericgebhart/extensions/oneshot.c @@ -125,10 +125,10 @@ int8_t update_oneshot_modifiers(uint16_t keycode, keyrecord_t *record, int8_t ke // registers/unregisters a mod to the operating system on state change if necessary void update_modifier(oneshot_mod osmod, oneshot_state previous_state, oneshot_state current_state) { if (previous_state == ONESHOT_STATE_OFF) { - register_code(KC_LCTRL + osmod); + register_code(KC_LCTL + osmod); } else { if (current_state == ONESHOT_STATE_OFF) { - unregister_code(KC_LCTRL + osmod); + unregister_code(KC_LCTL + osmod); } } } diff --git a/users/ericgebhart/layers/edge_keys.h b/users/ericgebhart/layers/edge_keys.h index 0794b91a02..107434750b 100644 --- a/users/ericgebhart/layers/edge_keys.h +++ b/users/ericgebhart/layers/edge_keys.h @@ -367,13 +367,13 @@ // all others are handled through macros. #define ___5_BOTTOM_LEFT___ ___X2___, KC_INS, KC_LEFT, KC_RIGHT -#define ___5_BOTTOM_RIGHT___ KC_UP, KC_DOWN, KC_BSLASH, ___X2___ +#define ___5_BOTTOM_RIGHT___ KC_UP, KC_DOWN, KC_BSLS, ___X2___ #define ___5_BOTTOM_LEFT_EN___ ___5_BOTTOM_LEFT___ #define ___5_BOTTOM_RIGHT_EN___ ___5_BOTTOM_RIGHT___ #define ___4_BOTTOM_LEFT___ LCTL(KC_V), KC_INS, KC_LEFT, KC_RIGHT -#define ___4_BOTTOM_RIGHT___ KC_UP, KC_DOWN, KC_BSLASH, LCTL(KC_C) +#define ___4_BOTTOM_RIGHT___ KC_UP, KC_DOWN, KC_BSLS, LCTL(KC_C) #define ___4_BOTTOM_LEFT_EN___ ___4___ //___4_BOTTOM_LEFT___ #define ___4_BOTTOM_RIGHT_EN___ ___4___ //___4_BOTTOM_RIGHT___ diff --git a/users/ericgebhart/layers/toprows.h b/users/ericgebhart/layers/toprows.h index 351df442ed..3ae1c4665b 100644 --- a/users/ericgebhart/layers/toprows.h +++ b/users/ericgebhart/layers/toprows.h @@ -25,8 +25,8 @@ /*******************************************************************/ // Kinesis function key row. I don't use them. but might as well define them. #define ___KINTFUNC_L___ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8 -// #define ___KINTFUNC_RIGHT___ KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_FN0, RESET -#define ___KINTFUNC_R___ KC_F9, KC_F10, KC_F11, KC_F12, XXX, XXX, XXX, XXX, RESET +// #define ___KINTFUNC_RIGHT___ KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, KC_FN0, QK_BOOT +#define ___KINTFUNC_R___ KC_F9, KC_F10, KC_F11, KC_F12, XXX, XXX, XXX, XXX, QK_BOOT // A TOPROWS Layer. // set it how you like it, if you like it. diff --git a/users/ericgebhart/layers/utility.h b/users/ericgebhart/layers/utility.h index a688f8196d..dab0bb4f41 100644 --- a/users/ericgebhart/layers/utility.h +++ b/users/ericgebhart/layers/utility.h @@ -74,7 +74,7 @@ #define ___ADJUST_L3___ ___RGB_HUE_SAT_INT_DN___, KC_RGB_T #define ___ADJUST_R1___ ___, KC_MAKE, VRSN, MG_NKRO, KC_RESET -#define ___ADJUST_R2___ EEP_RST, ___PRV_PLAY_NXT_STOP___, +#define ___ADJUST_R2___ EE_CLR, ___PRV_PLAY_NXT_STOP___, #define ___ADJUST_R3___ MG_NKRO, ___VDN_MUTE_VUP___, RGB_IDL /********************************************************************************/ /* The Adjust LAYER Chunks */ diff --git a/users/ericgebhart/rules.mk b/users/ericgebhart/rules.mk index 2a30bb7756..a6eddc2d87 100755 --- a/users/ericgebhart/rules.mk +++ b/users/ericgebhart/rules.mk @@ -63,7 +63,7 @@ EXTRAKEY_ENABLE = no # Audio control and System control COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover SWAP_HANDS_ENABLE= no # Allow swapping hands of keyboard -KEY_LOCK_ENABLE = no # Enable the KC_LOCK key +KEY_LOCK_ENABLE = no TAP_DANCE_ENABLE = no # Enable the tap dance feature. KEY_OVERRIDE_ENABLE = no CONSOLE_ENABLE = no # Console for debug or keylogging. diff --git a/users/gary/gary.h b/users/gary/gary.h index 10f2331591..adf25b9a75 100644 --- a/users/gary/gary.h +++ b/users/gary/gary.h @@ -1,7 +1,6 @@ #include QMK_KEYBOARD_H #pragma once -#define USE_SERIAL #define MASTER_LEFT // Layers @@ -17,7 +16,7 @@ enum custom_keycodes { RAISE, }; -#define KC_RST RESET +#define KC_RST QK_BOOT #define KC_ KC_TRNS #define KC_LOWR MO(_LOWER) // Lower layer diff --git a/users/gordon/gordon.c b/users/gordon/gordon.c deleted file mode 100644 index 3115e1c328..0000000000 --- a/users/gordon/gordon.c +++ /dev/null @@ -1,410 +0,0 @@ -#include "gordon.h" -#include "quantum.h" -#include "action.h" -#include "process_keycode/process_tap_dance.h" - -#if (__has_include("secret.h")) -#include "secret.h" -#else -const char secret[][64] = { - "test1", - "test2", - "test3", - "test4", - "test5" -}; -#endif - -void register_hyper (void) { //Helper function to invoke Hyper - register_code (KC_LSFT); - register_code (KC_LCTL); - register_code (KC_LALT); - register_code (KC_LGUI); -} -void unregister_hyper (void) { //Helper function to invoke Hyper - unregister_code (KC_LSFT); - unregister_code (KC_LCTL); - unregister_code (KC_LALT); - unregister_code (KC_LGUI); -} - -void register_ctrl_a (void) { - register_code(KC_LCTL); - register_code(KC_A); -} - -void unregister_ctrl_a (void) { - unregister_code(KC_LCTL); - unregister_code(KC_A); -} - -void register_alt_f7 (void) { - register_code (KC_LALT); - register_code (KC_F7); -} - -void unregister_alt_f7 (void) { - unregister_code (KC_LALT); - unregister_code (KC_F7); -} - -void register_shift_f6 (void) { - register_code (KC_LSFT); - register_code (KC_F6); -} - -void unregister_shift_f6 (void) { - unregister_code (KC_LSFT); - unregister_code (KC_F6); -} - -void register_ctrl_shift (void) { - register_code (KC_LSFT); - register_code (KC_LCTRL); -} - -void unregister_ctrl_shift (void) { - unregister_code (KC_LSFT); - unregister_code (KC_LCTRL); -} - -void register_alt_shift (void) { - register_code (KC_LSFT); - register_code (KC_LALT); -} - -void unregister_alt_shift (void) { - unregister_code (KC_LSFT); - unregister_code (KC_LALT); -} - -// To activate SINGLE_HOLD, you will need to hold for 200ms first. -// This tap dance favors keys that are used frequently in typing like 'f' -int cur_dance (qk_tap_dance_state_t *state) { - if (state->count == 1) { - //If count = 1, and it has been interrupted - it doesn't matter if it is pressed or not: Send SINGLE_TAP - if (state->interrupted) { - // if (!state->pressed) return SINGLE_TAP; - //need "permissive hold" here. - // else return SINsGLE_HOLD; - //If the interrupting key is released before the tap-dance key, then it is a single HOLD - //However, if the tap-dance key is released first, then it is a single TAP - //But how to get access to the state of the interrupting key???? - return SINGLE_TAP; - } - else { - if (!state->pressed) return SINGLE_TAP; - else return SINGLE_HOLD; - } - } - //If count = 2, and it has been interrupted - assume that user is trying to type the letter associated - //with single tap. - else if (state->count == 2) { - if (state->interrupted) return DOUBLE_SINGLE_TAP; - else if (state->pressed) return DOUBLE_HOLD; - else return DOUBLE_TAP; - } - else if ((state->count == 3) && ((state->interrupted) || (!state->pressed))) return TRIPLE_TAP; - else if (state->count == 3) return TRIPLE_HOLD; - else return 8; //magic number. At some point this method will expand to work for more presses -} - -//This works well if you want this key to work as a "fast modifier". It favors being held over being tapped. -int hold_cur_dance (qk_tap_dance_state_t *state) { - if (state->count == 1) { - if (state->interrupted) { - if (!state->pressed) return SINGLE_TAP; - else return SINGLE_HOLD; - } - else { - if (!state->pressed) return SINGLE_TAP; - else return SINGLE_HOLD; - } - } - //If count = 2, and it has been interrupted - assume that user is trying to type the letter associated - //with single tap. - else if (state->count == 2) { - if (state->pressed) return DOUBLE_HOLD; - else return DOUBLE_TAP; - } - else if (state->count == 3) { - if (!state->pressed) return TRIPLE_TAP; - else return TRIPLE_HOLD; - } - else return 8; //magic number. At some point this method will expand to work for more presses -} - - -static xtap htap_state = { - .is_press_action = true, - .state = 0 -}; - -void h_finished (qk_tap_dance_state_t *state, void *user_data) { - htap_state.state = cur_dance(state); - switch (htap_state.state) { - case SINGLE_TAP: register_code(KC_H); break; - case SINGLE_HOLD: layer_on(8); register_code(KC_LALT); break; - case DOUBLE_TAP: layer_invert(8); register_code(KC_LALT); break; - // case DOUBLE_HOLD: register_code(KC_LALT); - case DOUBLE_SINGLE_TAP: register_code(KC_H);unregister_code(KC_H);register_code(KC_H); - } -} - -void h_reset (qk_tap_dance_state_t *state, void *user_data) { - switch (htap_state.state) { - case SINGLE_TAP: unregister_code(KC_H); break; - case SINGLE_HOLD: layer_off(8); unregister_code(KC_LALT); break; - case DOUBLE_TAP: unregister_code(KC_LALT);break; - // case DOUBLE_HOLD: unregister_code(KC_LALT); - case DOUBLE_SINGLE_TAP: unregister_code(KC_H); - } - htap_state.state = 0; -} - - -/**************** QUAD FUNCTION FOR TAB ****************/ -// TAB, ALT + SHIFT, TAB TAB, CTRL + SHIFT -static xtap tab_state = { - .is_press_action = true, - .state = 0 -}; - -void tab_finished (qk_tap_dance_state_t *state, void *user_data) { - tab_state.state = cur_dance(state); - switch (tab_state.state) { - case SINGLE_TAP: register_code(KC_TAB); break; //send tab on single press - case SINGLE_HOLD: register_ctrl_shift(); break; - case DOUBLE_HOLD: register_alt_shift(); break; //alt shift on single hold - case DOUBLE_TAP: register_code(KC_TAB); unregister_code(KC_TAB); register_code(KC_TAB); break; //tab tab - case TRIPLE_TAP: register_code(KC_LSHIFT) ;register_code(KC_ESC); break; - case TRIPLE_HOLD: register_code(KC_LSHIFT); register_code(KC_LGUI); break; - } -} - -void tab_reset (qk_tap_dance_state_t *state, void *user_data) { - switch (tab_state.state) { - case SINGLE_TAP: unregister_code(KC_TAB); break; //unregister tab - case DOUBLE_HOLD: unregister_alt_shift(); break; //let go of alt shift - case DOUBLE_TAP: unregister_code(KC_TAB); break; - case SINGLE_HOLD: unregister_ctrl_shift(); break; - case TRIPLE_TAP: unregister_code(KC_LSHIFT); unregister_code(KC_ESC); break; - case TRIPLE_HOLD: unregister_code(KC_LSHIFT); unregister_code(KC_LGUI); break; - } - tab_state.state = 0; -} -/**************** QUAD FUNCTION FOR TAB ****************/ - -//*************** SUPER COMMA *******************// -// Assumption: we don't care about trying to hit ,, quickly -//*************** SUPER COMMA *******************// -static xtap comma_state = { - .is_press_action = true, - .state = 0 -}; - -void comma_finished (qk_tap_dance_state_t *state, void *user_data) { - comma_state.state = hold_cur_dance(state); //Use the dance that favors being held - switch (comma_state.state) { - case SINGLE_TAP: register_code(KC_COMMA); break; - case SINGLE_HOLD: layer_on(1); break; //turn on symbols layer - case DOUBLE_TAP: layer_invert(4); break; //toggle numbers layer - case DOUBLE_HOLD: layer_on(2); break; - case TRIPLE_TAP: register_code(KC_CALCULATOR); break; - case TRIPLE_HOLD: layer_on(3); - } -} - -void comma_reset (qk_tap_dance_state_t *state, void *user_data) { - switch (comma_state.state) { - case SINGLE_TAP: unregister_code(KC_COMMA); break; //unregister comma - case SINGLE_HOLD: layer_off(1); break; - case DOUBLE_TAP: ;break; - case DOUBLE_HOLD: layer_off(2); break; - case TRIPLE_TAP: unregister_code(KC_CALCULATOR); break; - case TRIPLE_HOLD: layer_off(3); - } - comma_state.state = 0; -} -//*************** SUPER COMMA *******************// -//*************** SUPER COMMA *******************// - - -//*************** F3 TAP DANCE *******************// -//Good example for accessing multiple layers from the same key. -static xtap S1_state = { - .is_press_action = true, - .state = 0 -}; - -void bt_finished (qk_tap_dance_state_t *state, void *user_data) { - S1_state.state = cur_dance(state); - switch (S1_state.state) { - case SINGLE_TAP: register_code(KC_F3); break; - case SINGLE_HOLD: layer_on(_MACROS); break; - case DOUBLE_TAP: layer_invert(_MACROS); break; - case DOUBLE_HOLD: layer_on(5); break; - case DOUBLE_SINGLE_TAP: layer_invert(_MACROS); break; - } -} - -void bt_reset (qk_tap_dance_state_t *state, void *user_data) { - switch (S1_state.state) { - case SINGLE_TAP: unregister_code(KC_F3); break; - case SINGLE_HOLD: layer_off(_MACROS); break; - case DOUBLE_TAP: break; //already inverted. Don't do anything. - case DOUBLE_HOLD: layer_off(5); break; - case DOUBLE_SINGLE_TAP: break; - } - S1_state.state = 0; -} - -// Tap Dance Definitions -qk_tap_dance_action_t tap_dance_actions[] = { - // simple tap dance - [F12ETAPS] = ACTION_TAP_DANCE_DOUBLE(KC_F12,LSFT(LCTL(KC_F10))), - [REFRESH] = ACTION_TAP_DANCE_DOUBLE(KC_R,LCTL(KC_R)), - [ENDESC] = ACTION_TAP_DANCE_DOUBLE(KC_END, KC_ESC), - [Q_ESCAPE] = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC), - [ENDHOME] = ACTION_TAP_DANCE_DOUBLE(KC_END, KC_HOME), - [CALCCOMP] = ACTION_TAP_DANCE_DOUBLE(KC_CALCULATOR, KC_MY_COMPUTER), - [ALTF4] = ACTION_TAP_DANCE_DOUBLE(KC_F4,LALT(KC_F4)), - [F6F7] = ACTION_TAP_DANCE_DOUBLE(LSFT(KC_F6), LALT(KC_F7)), - [F1F13] = ACTION_TAP_DANCE_DOUBLE(KC_F1, KC_F13), - [F2F14] = ACTION_TAP_DANCE_DOUBLE(KC_F2, KC_F14), - [F5F15] = ACTION_TAP_DANCE_DOUBLE(KC_F5, KC_F15), - [TABCOMBO] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tab_finished, tab_reset), - [F3D] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, bt_finished, bt_reset), - [COMMA] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, comma_finished, comma_reset), - [HTAB] = ACTION_TAP_DANCE_FN_ADVANCED(NULL,h_finished, h_reset) -}; - -// bool process_record_user(uint16_t keycode, keyrecord_t *record) { -// if (!record->event.pressed) { -// switch (keycode) { - -// case KC_SECRET_1 ... KC_SECRET_5: -// send_string(secret[keycode - KC_SECRET_1]); -// // clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); -// return true; break; - -// case UP_ENTER_RESET: -// register_code(KC_UP); -// unregister_code(KC_UP); -// register_code(KC_ENTER); -// unregister_code(KC_ENTER); -// reset_keyboard(); -// return false; break; - -// case TIL_SLASH: -// SEND_STRING ("~/."); -// return false; break; - -// case DBMS_OUT: -// SEND_STRING ("dbms_output.put_line('');"); -// SEND_STRING (SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT)); -// return false; break; - -// case ID_MAN_IP: -// SEND_STRING ("http://dev-1967110238.us-east-1.elb.amazonaws.com"); -// return false; break; - -// case MODRESET: -// clear_mods(); -// return false; break; - -// case DEREF: -// SEND_STRING ("->"); -// return false; break; - -// case EQRIGHT: -// SEND_STRING ("=>"); -// return false; break; - -// case TICK3: -// SEND_STRING ("```"); -// return false; break; - -// case TILD3: -// SEND_STRING ("~~~"); -// return false; break; -// } -// } -// return true; -// }; - - - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (!record->event.pressed) { - switch (keycode) { - case KC_SECRET_1 ... KC_SECRET_5: - send_string(secret[keycode - KC_SECRET_1]); - // clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); - return true; break; - case UP_ENTER_RESET: - SEND_STRING("make ergodox_infinity:gordon:dfu-util"); - register_code(KC_ENTER); - unregister_code(KC_ENTER); - reset_keyboard(); - return false; break; - - case TIL_SLASH: - SEND_STRING ("~/."); - return false; break; - - case DBMS_OUT: - SEND_STRING ("dbms_output.put_line('');"); - SEND_STRING (SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_LEFT)); - return false; break; - case DIE_1000X_RIGHT: - SEND_STRING (SS_TAP(X_G) SS_TAP(X_G) SS_TAP(X_RIGHT) SS_TAP(X_B) SS_TAP(X_J)); - return false; break; - case DIE_1000X_LEFT: - SEND_STRING (SS_TAP(X_GRAVE) SS_TAP(X_G) SS_TAP(X_LEFT) SS_TAP(X_B) SS_TAP(X_J)); - return false; break; - case ID_MAN_IP: - SEND_STRING ("http://dev-1967110238.us-east-1.elb.amazonaws.com"); - return false; break; - - case MODRESET: - clear_mods(); - return false; break; - - case DEREF: - SEND_STRING ("->"); - return false; break; - - case EQRIGHT: - SEND_STRING ("=>"); - return false; break; - - case TICK3: - SEND_STRING ("```"); - - return false; break; - - case SPRK_TCK: - SEND_STRING ("```"); - SEND_STRING (SS_DOWN(X_LSHIFT) SS_TAP(X_ENTER) SS_UP(X_LSHIFT)); - SEND_STRING (SS_DOWN(X_LSHIFT) SS_TAP(X_ENTER) SS_UP(X_LSHIFT)); - SEND_STRING ("```"); - SEND_STRING (SS_TAP(X_UP)); - return false; break; - - case TILD3: - SEND_STRING ("~~~"); - return false; break; - } - } - else { //On key being pressed - switch (keycode) { - case KC_SECRET_1 ... KC_SECRET_5: - clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); - return false; break; - } - } - return true; -}; - diff --git a/users/gordon/gordon.h b/users/gordon/gordon.h deleted file mode 100644 index 49b4f0569f..0000000000 --- a/users/gordon/gordon.h +++ /dev/null @@ -1,247 +0,0 @@ -#ifndef GORDON -#define GORDON - -#include "quantum.h" -#include "process_keycode/process_tap_dance.h" - - -// Fillers to make layering more clear -#define ________ KC_TRNS -#define _________ KC_TRNS -#define _XXXXXX_ KC_TRNS - -// KC codes that are too long -#define DOLLAR KC_DOLLAR -#define LSQUIGLY KC_LBRACKET -#define RSQUIGLY KC_RBRACKET -#define NUMLOCK KC_NUMLOCK -#define CAPLOCK KC_CAPSLOCK -#define BK_SLASH KC_BSLASH -#define ASTERSK KC_KP_ASTERISK - -// Navigation -#define SNAPLEFT LGUI(KC_LEFT) -#define SNAPRGHT LGUI(KC_RIGHT) -#define SNAPUP LGUI(KC_UP) -#define SNAPDOWN LGUI(KC_DOWN) -#define PREVTAB LCTL(LSFT(KC_TAB)) -#define NEXTTAB LCTL(KC_TAB) -#define WORKRIGHT LCTL(LGUI(KC_RIGHT)) -#define WORKLEFT LCTL(LGUI(KC_LEFT)) - -#define APP_1 LCTL(LGUI(KC_1)) -#define APP_2 LCTL(LGUI(KC_2)) -#define APP_3 LCTL(LGUI(KC_3)) -#define APP_4 LCTL(LGUI(KC_4)) -#define APP_5 LCTL(LGUI(KC_5)) -#define APP_6 LCTL(LGUI(KC_6)) -#define APP_7 LCTL(LGUI(KC_7)) -#define APP_8 LCTL(LGUI(KC_8)) - -// KC/modifier hold -#define CTRL_F CTL_T(KC_F) -#define CTRL_J CTL_T(KC_J) -#define CTRL_Z CTL_T(KC_Z) -#define ALT_V ALT_T(KC_V) -#define ALT_M ALT_T(KC_M) -#define WIN_G GUI_T(KC_G) -#define WIN_H GUI_T(KC_H) -#define HYPER_X ALL_T(KC_X) -#define HYPE_DOT ALL_T(KC_DOT) -#define MEH_S MEH_T(KC_S) -#define MEH_L MEH_T(KC_L) -#define ALT_HOME ALT_T(KC_HOME) - - -// KC/Layer Hold -#define NAV_E LT(_NAV,KC_E) -#define NUMPAD_D LT(_NUMPAD,KC_D) -#define MOUSE_C LT(_MOUSE,KC_C) -#define SYMB_BSP LT(_SYMBOLS,KC_BSPACE) -#define COL_MOUS LT(_MOUSE,KC_SCOLON) -#define SPAC_SYM LT(_SYMBOLS,KC_SPACE) -#define SPAC_TXT LT(_TEXTNAV,KC_SPACE) - -#define APP_SW_I LT(_APPSWITCH,KC_I) -#define APP_SW_K LT(_APPSWITCH,KC_K) - -// #define TLSLSH TIL_SLASH -// #define TILDA_3x TILD3 -// #define _RESET_ UP_ENTER_RESET - - -// Double Modifier ONLY hold -#define ALT_SHFT LSFT(KC_LALT) -#define CTR_SHFT LSFT(KC_LCTL) - -// KC/Double modifier Hold -#define CTR_SH_W MT(MOD_LCTL|MOD_LSFT,KC_W) -#define CTR_AL_R MT(MOD_LCTL|MOD_LALT,KC_R) -#define ALT_SH_R MT(MOD_LSFT|MOD_LALT,KC_R) - -//MISC -#define PRINTSCR KC_PSCREEN -#define CALTDEL LCTL(LALT(KC_DEL)) -#define TSKMGR LCTL(LSFT(KC_ESC)) - - -typedef struct { - bool is_press_action; - int state; -} xtap; - -enum { - SINGLE_TAP = 1, - SINGLE_HOLD = 2, - DOUBLE_TAP = 3, - DOUBLE_HOLD = 4, - DOUBLE_SINGLE_TAP = 5, //send two single taps - TRIPLE_TAP = 6, - TRIPLE_HOLD = 7 -}; - -//Tap dance enums -enum -{ - F12TAP = 0, - F12ETAPS, - CALCCOMP, - REFRESH, //send R, or Control+R if double tapped. - ENDESC, - XESC, //'quad function'. x, control, escape, alt - ALY2, //'quad function': a, Hyper, ctrl+a, layer 2 - PRLOCK, - F6F7, // Shift F6 or Alt F7 - TABCOMBO, - FCTRL, - F3D, - ALTF4, - COMMA, - AT, - HTAB, - F1F13, - F2F14, - F5F15, - ENDHOME, - Q_ESCAPE -}; - -#ifdef TAP_DANCE_ENABLE -#define F1_F13 TD(F1F13) -#define F2_F14 TD(F2F14) -#define F5_F15 TD(F5F15) -#define F4_ALTF4 TD(ALTF4) -#define END_ESC TD(ENDESC) -#define Q_ESC TD(Q_ESCAPE) -#define END_HOME TD(ENDHOME) -#define SHF6_AF7 TD(F6F7) -#define F12_RUN TD(F12ETAPS) -#define COMMA_TD TD(COMMA) -#define CALC_COM TD(CALCCOMP) -#else //just to make things compile -#define F1_F13 KC_1 -#define F2_F14 KC_1 -#define F5_F15 KC_1 -#define F4_ALTF4 KC_1 -#define END_ESC KC_1 -#define END_HOME KC_1 -#define SHF6_AF7 KC_1 -#define F12_RUN KC_1 -#define COMMA_TD KC_1 -#define CALC_COM KC_1 -#endif - -enum gordon_layers -{ - _QWERTY = 0, - _SYMBOLS, // Programming and all other commonlye used symbols - _MOUSE, // Mouse movement and also a few macros - _NUMPAD, // For getting a numpad under the right hand, and a few helpful things under the left - _NAV, // Windows navigation. Windows snapping, changing workspaces, and ARROWS - _MACROS, // Non-text related Macros. - _FUNCTION, // Not sure what I had in mind for this one - _APPSWITCH, // For switching between apps using the `ctrl + Win + [num]` shortcut. - // This allows for toggling windows of the same app with one button. - // Example: Press and hold `I`, then tap `j` multiple times to cycle through all - // Intellij windows (and only Intellij). This requires the app to be pinned to the Windows bar - _ONESHOT, // A layer I use for shortcuts that require multiple modifiers and a button not on my home layer - // Example: If I need to hit `alt + shift + 5` - _TEXTNAV, // Navigate through text - _QWERTY_KIDS, // So my kids can do nothing but type. Could also be a `speed typing` layer with no LT or MTs - _STREET_FIGHTER, // For Street Fighter 5. Die 1000x Deaths!!!! - _DIRNAV, // For navigating to different directories. - _TEXT_MACROS // For text-manipulation macros. Passwords, saved strings, pre-formatting -}; - - - -void register_hyper (void); -void unregister_hyper (void); - -void register_ctrl_a (void); -void unregister_ctrl_a (void); - -void register_alt_f7 (void); -void unregister_alt_f7 (void); - -void register_shift_f6 (void); -void unregister_shift_f6 (void); - -void register_ctrl_shift (void); -void unregister_ctrl_shift (void); - -void register_alt_shift (void); -void unregister_alt_shift (void); - -int cur_dance (qk_tap_dance_state_t *state); -int hold_cur_dance (qk_tap_dance_state_t *state); - -void x_finished (qk_tap_dance_state_t *state, void *user_data); -void x_reset (qk_tap_dance_state_t *state, void *user_data); - -void h_finished (qk_tap_dance_state_t *state, void *user_data); -void h_reset (qk_tap_dance_state_t *state, void *user_data); - -void tab_finished (qk_tap_dance_state_t *state, void *user_data); -void tab_reset (qk_tap_dance_state_t *state, void *user_data); - -void comma_finished (qk_tap_dance_state_t *state, void *user_data); -void comma_reset (qk_tap_dance_state_t *state, void *user_data); - -void bt_finished (qk_tap_dance_state_t *state, void *user_data); -void bt_reset (qk_tap_dance_state_t *state, void *user_data); - -enum secret_strings { - KC_SECRET_1 = SAFE_RANGE, - KC_SECRET_2, - KC_SECRET_3, - KC_SECRET_4, - KC_SECRET_5, - END_SECRET_SAFE_RANGE -}; - - -// Macro Declarations -enum { - INFOQM = END_SECRET_SAFE_RANGE, - MODRESET, - TIL_SLASH, - DEREF, - EQRIGHT, - TILD3, - TICK3, - SPRK_TCK, - ALTTAB_START, - ALTTAB_END, - UP_ENTER_RESET, - DBMS_OUT, - DIE_1000X_RIGHT, - DIE_1000X_LEFT, - ID_MAN_IP -}; - - - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt); - -#endif diff --git a/users/gordon/readme.md b/users/gordon/readme.md deleted file mode 100644 index fdea33b67a..0000000000 --- a/users/gordon/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -Copyright <year> <name> <email> @<github_username> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -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. - -You should have received a copy of the GNU General Public License -along with this program. If not, see <http://www.gnu.org/licenses/>.
\ No newline at end of file diff --git a/users/gordon/rules.mk b/users/gordon/rules.mk deleted file mode 100644 index c282f00284..0000000000 --- a/users/gordon/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -TAP_DANCE_ENABLE = yes -SRC += gordon.c - diff --git a/users/gourdo1/autocorrect/autocorrection.c b/users/gourdo1/autocorrect/autocorrection.c index bc711016d9..dae62d37a2 100644 --- a/users/gourdo1/autocorrect/autocorrection.c +++ b/users/gourdo1/autocorrect/autocorrection.c @@ -71,7 +71,7 @@ bool process_autocorrection(uint16_t keycode, keyrecord_t* record) { break; // NOTE: Space Cadet keys expose no info to check whether they are being - // tapped vs. held. This makes autocorrection ambiguous, e.g. KC_LCPO might + // tapped vs. held. This makes autocorrection ambiguous, e.g. SC_LCPO might // be '(', which we would treat as a word break, or it might be shift, which // we would treat as having no effect. To behave cautiously, we allow Space // Cadet keycodes to fall to the logic below and clear autocorrection state. diff --git a/users/gourdo1/gourdo1.c b/users/gourdo1/gourdo1.c index 26ecd8c1c0..b724a2f48d 100644 --- a/users/gourdo1/gourdo1.c +++ b/users/gourdo1/gourdo1.c @@ -593,7 +593,7 @@ bool caps_word_press_user(uint16_t keycode) { // Turn on/off NUM LOCK if current state is different void activate_numlock(bool turn_on) { if (IS_HOST_LED_ON(USB_LED_NUM_LOCK) != turn_on) { - tap_code(KC_NUMLOCK); + tap_code(KC_NUM_LOCK); } } diff --git a/users/gourdo1/gourdo1.h b/users/gourdo1/gourdo1.h index ecf6eaf25d..a198fd0805 100644 --- a/users/gourdo1/gourdo1.h +++ b/users/gourdo1/gourdo1.h @@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -// DEFINE MACROS -#define ARRAYSIZE(arr) sizeof(arr) / sizeof(arr[0]) - // LAYERS -- Note: to avoid compile problems, make sure total layers matches DYNAMIC_KEYMAP_LAYER_COUNT defined in config.h (where _COLEMAK layer is defined) enum custom_user_layers { _BASE, diff --git a/users/greatwizard/config.h b/users/greatwizard/config.h index 2ee9e50900..8814fa6bdd 100644 --- a/users/greatwizard/config.h +++ b/users/greatwizard/config.h @@ -17,7 +17,16 @@ #define TAP_CODE_DELAY 5 -#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE #ifdef TAP_DANCE_ENABLE # define TAPPING_TERM 175 diff --git a/users/greatwizard/underglow.c b/users/greatwizard/underglow.c index db31290acd..c23fb5bc51 100644 --- a/users/greatwizard/underglow.c +++ b/users/greatwizard/underglow.c @@ -22,7 +22,7 @@ void keyboard_post_init_rgb(void) { return; } rgblight_enable_noeeprom(); - rgblight_sethsv_noeeprom_orange(); + rgblight_sethsv_noeeprom(HSV_ORANGE); rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); } @@ -64,31 +64,31 @@ layer_state_t layer_state_set_rgb(layer_state_t state) { #ifdef LAYERS_PROGRAMMER case _PROGRAMMER_SHIFTED: #endif - rgblight_sethsv_noeeprom_orange(); + rgblight_sethsv_noeeprom(HSV_ORANGE); break; #ifdef LAYERS_ORTHO case _LOWER: - rgblight_sethsv_noeeprom_red(); + rgblight_sethsv_noeeprom(HSV_RED); break; case _RAISE: - rgblight_sethsv_noeeprom_blue(); + rgblight_sethsv_noeeprom(HSV_BLUE); break; case _ADJUST: - rgblight_sethsv_noeeprom_purple(); + rgblight_sethsv_noeeprom(HSV_PURPLE); break; #endif #ifdef LAYER_FN case _FN: - rgblight_sethsv_noeeprom_chartreuse(); + rgblight_sethsv_noeeprom(HSV_CHARTREUSE); break; #endif #ifdef LAYER_GIT case _GIT: - rgblight_sethsv_noeeprom_teal(); + rgblight_sethsv_noeeprom(HSV_TEAL); break; #endif default: - rgblight_sethsv_noeeprom_white(); + rgblight_sethsv_noeeprom(HSV_WHITE); break; } return state; diff --git a/users/hvp/per_key.c b/users/hvp/per_key.c index 571fdcc915..fc4d455f5a 100644 --- a/users/hvp/per_key.c +++ b/users/hvp/per_key.c @@ -35,7 +35,7 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { return TAPPING_TERM + LONG_TAPPING_TERM; case MT(MOD_RGUI, KC_L): return TAPPING_TERM + LONG_TAPPING_TERM; - case KC_LCPO: + case SC_LCPO: return TAPPING_TERM 75; default: return TAPPING_TERM; diff --git a/users/ibnuda/abstraction.h b/users/ibnuda/abstraction.h index 0870116c9a..499d512dfc 100644 --- a/users/ibnuda/abstraction.h +++ b/users/ibnuda/abstraction.h @@ -109,7 +109,7 @@ enum { #define DNTAB LCTL(LSFT(KC_PGDN)) #define NXTWIN LALT(KC_TAB) #define PRVWIN LALT(LSFT(KC_TAB)) -#define CALDL LCTL(LALT(KC_DELT)) +#define CALDL LCTL(LALT(KC_DEL)) #define TSKMGR LCTL(LSFT(KC_ESC)) #define EXPLR LGUI(KC_E) #define LCKGUI LGUI(KC_L) diff --git a/users/ibnuda/combo.h b/users/ibnuda/combo.h index 5a331e7d01..d7e79764a9 100644 --- a/users/ibnuda/combo.h +++ b/users/ibnuda/combo.h @@ -75,7 +75,7 @@ combo_t key_combos[COMBO_COUNT] = { [R_L_PINKY_RING] = COMBO(ll_p_r_combo, KC_ENT), [R_L_RING_MIDDLE] = COMBO(ll_r_m_combo, LCTL(KC_W)), [R_L_RING_INDEX] = COMBO(ll_r_i_combo, KC_TAB), - [R_L_MIDDLE_INDEX] = COMBO(ll_m_i_combo, KC_DELT), + [R_L_MIDDLE_INDEX] = COMBO(ll_m_i_combo, KC_DEL), [R_L_INDEX_INNER_INDEX] = COMBO(ll_i_ii_combo, KC_TILD), // right hand combinations. @@ -88,7 +88,7 @@ combo_t key_combos[COMBO_COUNT] = { [L_L_PINKY_RING] = COMBO(rl_p_r_combo, KC_BSLS), [L_L_RING_MIDDLE] = COMBO(rl_r_m_combo, KC_APP), [L_L_RING_INDEX] = COMBO(rl_r_i_combo, LSFT(KC_TAB)), - [L_L_MIDDLE_INDEX] = COMBO(rl_m_i_combo, KC_DELT), + [L_L_MIDDLE_INDEX] = COMBO(rl_m_i_combo, KC_DEL), [L_L_INDEX_INNER_INDEX] = COMBO(rl_i_ii_combo, KC_GRV), // both hand combinations. diff --git a/users/imchipwood/imchipwood.c b/users/imchipwood/imchipwood.c index e319c00ce7..b019012a71 100644 --- a/users/imchipwood/imchipwood.c +++ b/users/imchipwood/imchipwood.c @@ -131,7 +131,7 @@ qk_tap_dance_action_t tap_dance_actions[] = { [ALT_F2] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, altf2_finished, altf2_reset), [CTL_F5] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctlf5_finished, ctlf5_reset), [ALT_F7] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, altf7_finished, altf7_reset), - [DEL_NLCK] = ACTION_TAP_DANCE_DOUBLE(KC_DEL, KC_NLCK), + [DEL_NLCK] = ACTION_TAP_DANCE_DOUBLE(KC_DEL, KC_NUM), // Double tap right -> END [TD_REND] = ACTION_TAP_DANCE_DOUBLE(KC_RIGHT, KC_END), // Double tap left -> HOME diff --git a/users/ishtob/config.h b/users/ishtob/config.h index 695077528c..af4f1ac5cd 100755 --- a/users/ishtob/config.h +++ b/users/ishtob/config.h @@ -25,7 +25,6 @@ /* ws2812 RGB LED #define RGB_DI_PIN B5 -#define RGBLIGHT_ANIMATIONS #define RGBLED_NUM 8 // Number of LEDs #define RGBLIGHT_HUE_STEP 10 #define RGBLIGHT_SAT_STEP 17 diff --git a/users/issmirnov/rows.h b/users/issmirnov/rows.h index d35af2175c..bac91d641b 100644 --- a/users/issmirnov/rows.h +++ b/users/issmirnov/rows.h @@ -22,11 +22,11 @@ #define _________________SYMB_L1___________________ KC_MINS , KC_AT , KC_LCBR , KC_RCBR , KC_GRV #define _________________SYMB_L2___________________ KC_CIRC , KC_UNDS , KC_LPRN , KC_RPRN , KC_DLR -#define _________________SYMB_L3___________________ KC_LABK , KC_RABK , KC_LBRACKET , KC_RBRACKET , KC_TILD +#define _________________SYMB_L3___________________ KC_LABK , KC_RABK , KC_LBRC , KC_RBRC , KC_TILD #define _________________SYMB_R1___________________ KC_ASTR , KC_EXLM , KC_PIPE , KC_PERC , KC_PLUS #define _________________SYMB_R2___________________ KC_HASH , KC_EQL , KC_COLN , KC_SCLN , TAP_TOG_LAYER -#define _________________SYMB_R3___________________ KC_AMPR , KC_QUES , KC_SLASH , KC_BSLASH , TG(_NUMP) +#define _________________SYMB_R3___________________ KC_AMPR , KC_QUES , KC_SLASH , KC_BSLS , TG(_NUMP) #define _________________NUMP_L1___________________ KC_NO , KC_NO , LGUI(KC_UP) , XXXXXXX , XXXXXXX @@ -40,9 +40,9 @@ // Note: These are 6x1 blocks, since modifiers are also adjusted. #define ______________OVERWATCH_L1_________________ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T #define ______________OVERWATCH_L2_________________ KC_LCTL , KC_A , KC_S , KC_D , KC_F , KC_P -#define ______________OVERWATCH_L3_________________ KC_LSHIFT , KC_Z , KC_X , KC_C , KC_V , KC_GRAVE +#define ______________OVERWATCH_L3_________________ KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_GRAVE // Ergodox only has 5 keys on bottom row: -#define ______________OVERWATCH_L4_________________ KC_LCTL , KC_F9 , KC_PSCREEN , KC_H , KC_R +#define ______________OVERWATCH_L4_________________ KC_LCTL , KC_F9 , KC_PSCR , KC_H , KC_R diff --git a/users/jarred/jarred.h b/users/jarred/jarred.h index 49b1253be5..cec407da7f 100644 --- a/users/jarred/jarred.h +++ b/users/jarred/jarred.h @@ -110,7 +110,7 @@ enum { #define NUMPAD_L3 _______, _______, _______, _______, RGB_VAD, RGB_VAI #define NUMPAD_L4 _______, _______, _______, _______, RGB_SPD, RGB_SPI -#define NUMPAD_R1 DF(_QW),DF(_GAME), _______, _______, _______, RESET +#define NUMPAD_R1 DF(_QW),DF(_GAME), _______, _______, _______, QK_BOOT #define NUMPAD_R2 _______, _______, _______, _______, _______, _______ #define NUMPAD_R3 VRSN, _______, _______, _______, _______, _______ #define NUMPAD_R4 _______, _______, _______, _______, _______, _______ diff --git a/users/jjerrell/wrappers.h b/users/jjerrell/wrappers.h index cc0f963e8d..39e579cbfa 100644 --- a/users/jjerrell/wrappers.h +++ b/users/jjerrell/wrappers.h @@ -53,10 +53,10 @@ */ # define ____________________________________________________________PLANCK_VERBOSE_BOTTOM_ROW_____________________________________________________________ \ - KC_LEAD, KC_LSFT, KC_CCCV, KC_HYPR, LT(_LOWER, KC_BSPC), SFT_T(KC_SPC), XXXXXXX, LT(_RAISE, KC_ENT), KC_MEH, RGB_TOG, RGB_IDL, LED_LEVEL + QK_LEAD, KC_LSFT, KC_CCCV, KC_HYPR, LT(_LOWER, KC_BSPC), SFT_T(KC_SPC), XXXXXXX, LT(_RAISE, KC_ENT), KC_MEH, RGB_TOG, RGB_IDL, LED_LEVEL # define _________________________________________PLANCK_LOWER_BOTTOM_ROW_________________________________________ \ - KC_LEAD, KC_LSFT, KC_CCCV, KC_HYPR, KC_BSPC, KC_SPC, XXXXXXX, KC_ENT, KC_0, KC_DOT, KC_COMM, LED_LEVEL + QK_LEAD, KC_LSFT, KC_CCCV, KC_HYPR, KC_BSPC, KC_SPC, XXXXXXX, KC_ENT, KC_0, KC_DOT, KC_COMM, LED_LEVEL // TODO: It would be nice to find a way to apply the bottom row with optional left/right varargs. // I'm completely unsure if this language can support something like that though. @@ -131,7 +131,7 @@ XXXXXXX, k21, k22, k23, k24, k25, XXXXXXX, XXXXXXX, k81, k82, k83, k84, k85, XXXXXXX, \ KC_LSFT, k31, k32, k33, k34, k35, k91, k92, k93, k94, k95, KC_RSFT, \ MO(_SPECIAL), k41, k42, k43, k44, TO(_GAME), XXXXXXX, ka2, ka3, ka4, ka5, MO(_SPECIAL), \ - LT(_LOWER, KC_SPC),HYPR_T(KC_BSPC),KC_LEAD, KC_CCCV,SFT_T(KC_TAB),LT(_RAISE, KC_ENT) ) + LT(_LOWER, KC_SPC),HYPR_T(KC_BSPC),QK_LEAD, KC_CCCV,SFT_T(KC_TAB),LT(_RAISE, KC_ENT) ) # define WRAPPER_moonlander_mods( \ k11, k12, k13, k14, k15, k71, k72, k73, k74, k75, \ @@ -232,7 +232,7 @@ \ XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX, \ XXXXXXX, XXXXXXX, \ - LT(_LOWER, KC_SPC),HYPR_T(KC_BSPC),KC_LEAD, KC_CCCV,SFT_T(KC_TAB),LT(_RAISE, KC_ENT) ) + LT(_LOWER, KC_SPC),HYPR_T(KC_BSPC),QK_LEAD, KC_CCCV,SFT_T(KC_TAB),LT(_RAISE, KC_ENT) ) /** Common Wrapper with Mod Tap/Hold overlay .---------------------------------------------. .---------------------------------------------. @@ -319,9 +319,9 @@ #define __________________RAISE_R3___________________ KC_AT, KC_QUOT, KC_DQUO, KC_PLUS, KC_CIRC // Adjust -#define __________________ADJUST_L1__________________ KC_MAKE, DEBUG, RESET, TERM_ON, TERM_OFF -#define __________________ADJUST_L2__________________ KC__MUTE, KC__VOLDOWN, KC__VOLUP, KC_MPLY, KC_MNXT -#define __________________ADJUST_L3__________________ KC_VRSN, AU_ON, AU_OFF, CG_SWAP, CG_NORM +#define __________________ADJUST_L1__________________ KC_MAKE, DB_TOGG, QK_BOOT, XXXXXXX, XXXXXXX +#define __________________ADJUST_L2__________________ KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MNXT +#define __________________ADJUST_L3__________________ KC_VRSN, AU_ON, AU_OFF, CG_SWAP, CG_NORM #define __________________ADJUST_R1__________________ MU_MOD, MU_ON, MU_OFF, MI_ON, MI_OFF #define __________________ADJUST_R2__________________ MUV_IN, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD diff --git a/users/jonavin/jonavin.c b/users/jonavin/jonavin.c index b66b444f36..f203bd77df 100644 --- a/users/jonavin/jonavin.c +++ b/users/jonavin/jonavin.c @@ -213,7 +213,7 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { // Turn on/off NUM LOCK if current state is different void activate_numlock(bool turn_on) { if (IS_HOST_LED_ON(USB_LED_NUM_LOCK) != turn_on) { - tap_code(KC_NUMLOCK); + tap_code(KC_NUM_LOCK); } } diff --git a/users/jonavin/jonavin.h b/users/jonavin/jonavin.h index 3ebd3fe9f2..97f72c1248 100644 --- a/users/jonavin/jonavin.h +++ b/users/jonavin/jonavin.h @@ -22,7 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define ARRAYSIZE(arr) sizeof(arr)/sizeof(arr[0]) #endif // !ARRAYSIZE - // LAYERS enum custom_user_layers { _BASE, diff --git a/users/kageurufu/layouts.h b/users/kageurufu/layouts.h index eccfa0700e..edf64c0b39 100644 --- a/users/kageurufu/layouts.h +++ b/users/kageurufu/layouts.h @@ -46,7 +46,7 @@ #define _________________ADJUST_L1_________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6 -#define _________________ADJUST_L2_________________ _______, RGB_SAD, RGB_VAI, RGB_SAI, RESET, _______ +#define _________________ADJUST_L2_________________ _______, RGB_SAD, RGB_VAI, RGB_SAI, QK_BOOT, _______ #define _________________ADJUST_L3_________________ _______, RGB_HUD, RGB_VAD, RGB_HUI, RGBRST, _______ #define _________________ADJUST_L4_________________ _______, _______, _______, _______, _______, _______ #define _________________ADJUST_L5_________________ _______, _______, _______, _______, _______, _______ diff --git a/users/kageurufu/rules.mk b/users/kageurufu/rules.mk index df9ae559a6..4bff403a7b 100644 --- a/users/kageurufu/rules.mk +++ b/users/kageurufu/rules.mk @@ -12,4 +12,3 @@ EXTRAKEY_ENABLE = yes COMMAND_ENABLE = yes CONSOLE_ENABLE = yes RGBLIGHT_ENABLE = no -RGBLIGHT_ANIMATIONS = yes diff --git a/users/klackygears/tap_dances.c b/users/klackygears/tap_dances.c index af4f187fcc..9f706d2b7f 100644 --- a/users/klackygears/tap_dances.c +++ b/users/klackygears/tap_dances.c @@ -7,17 +7,17 @@ void macroTogKey(qk_tap_dance_state_t *state, void *user_data) { if (state->count == 1) { kr.event.pressed = false; - process_record_dynamic_macro( DYN_MACRO_PLAY1, &kr ); + process_record_dynamic_macro( DM_PLY1, &kr ); } else if (state->count == 2) { kr.event.pressed = true; - process_record_dynamic_macro( DYN_REC_STOP, &kr ); + process_record_dynamic_macro( DM_RSTP, &kr ); } else if (state->count == 3) { kr.event.pressed = false; - process_record_dynamic_macro( DYN_REC_START1, &kr ); + process_record_dynamic_macro( QK_DYNAMIC_MACRO_RECORD_START_1, &kr ); } } @@ -27,17 +27,17 @@ void macroTogKey2(qk_tap_dance_state_t *state, void *user_data) { if (state->count == 1) { kr.event.pressed = false; - process_record_dynamic_macro( DYN_MACRO_PLAY2, &kr ); + process_record_dynamic_macro( DM_PLY2, &kr ); } else if (state->count == 2) { kr.event.pressed = true; - process_record_dynamic_macro( DYN_REC_STOP, &kr ); + process_record_dynamic_macro( DM_RSTP, &kr ); } else if (state->count == 3) { kr.event.pressed = false; - process_record_dynamic_macro( DYN_REC_START2, &kr ); + process_record_dynamic_macro( DM_REC2, &kr ); } } */ diff --git a/users/konstantin/config.h b/users/konstantin/config.h index d429452363..26c7ecc0c7 100644 --- a/users/konstantin/config.h +++ b/users/konstantin/config.h @@ -31,7 +31,16 @@ #define MOUSEKEY_WHEEL_TIME_TO_MAX 50 // RGB lighting -#undef RGBLIGHT_ANIMATIONS +#undef RGBLIGHT_EFFECT_BREATHING +#undef RGBLIGHT_EFFECT_RAINBOW_MOOD +#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL +#undef RGBLIGHT_EFFECT_SNAKE +#undef RGBLIGHT_EFFECT_KNIGHT +#undef RGBLIGHT_EFFECT_CHRISTMAS +#undef RGBLIGHT_EFFECT_STATIC_GRADIENT +#undef RGBLIGHT_EFFECT_RGB_TEST +#undef RGBLIGHT_EFFECT_ALTERNATING +#undef RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -44,7 +53,7 @@ // Unicode #define UNICODE_CYCLE_PERSIST false -#define UNICODE_SELECTED_MODES UC_WINC, UC_WIN, UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_LINUX #define UNICODE_KEY_WINC KC_RGUI // Firmware size reduction diff --git a/users/konstantin/konstantin.c b/users/konstantin/konstantin.c index 5d80877f0e..f083839630 100644 --- a/users/konstantin/konstantin.c +++ b/users/konstantin/konstantin.c @@ -49,7 +49,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { bool numpad = IS_LAYER_ON_STATE(state, L_NUMPAD); bool num_lock = IS_HOST_LED_ON(USB_LED_NUM_LOCK); if (numpad != num_lock) { - tap_code(KC_NLCK); // Toggle Num Lock to match Numpad layer state + tap_code(KC_NUM_LOCK); // Toggle Num Lock to match Numpad layer state } #endif diff --git a/users/kuatsure/kuatsure.c b/users/kuatsure/kuatsure.c index 88bf6790a4..84afcc9623 100644 --- a/users/kuatsure/kuatsure.c +++ b/users/kuatsure/kuatsure.c @@ -124,7 +124,7 @@ void matrix_scan_user(void) { } // TMUX - shift to last pane and zoom - SEQ_ONE_KEY(KC_SCOLON) { + SEQ_ONE_KEY(KC_SEMICOLON) { tmux_prefix(); SEND_STRING(";"); tmux_pane_zoom(); diff --git a/users/kuchosauronad0/config.h b/users/kuchosauronad0/config.h index 8502031f02..9315f879ae 100644 --- a/users/kuchosauronad0/config.h +++ b/users/kuchosauronad0/config.h @@ -19,8 +19,17 @@ #endif // !AUDIO_ENABLE #ifdef RGBLIGHT_ENABLE -# define RGBLIGHT_SLEEP -# undef RGBLIGHT_ANIMATIONS +# undef RGBLIGHT_SLEEP +#undef RGBLIGHT_EFFECT_BREATHING +#undef RGBLIGHT_EFFECT_RAINBOW_MOOD +#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL +#undef RGBLIGHT_EFFECT_SNAKE +#undef RGBLIGHT_EFFECT_KNIGHT +#undef RGBLIGHT_EFFECT_CHRISTMAS +#undef RGBLIGHT_EFFECT_STATIC_GRADIENT +#undef RGBLIGHT_EFFECT_RGB_TEST +#undef RGBLIGHT_EFFECT_ALTERNATING +#undef RGBLIGHT_EFFECT_TWINKLE # define RGBLIGHT_HUE_STEP 16 # define RGBLIGHT_SAT_STEP 16 # define RGBLIGHT_VAL_STEP 16 @@ -44,12 +53,12 @@ #if defined(LEADER_ENABLE) # define LEADER_PER_KEY_TIMING # define LEADER_TIMEOUT 250 -#endif // !LEADER_ENABLE +#endif // !LEADER_ENABLE #if defined(COMBO_ENABLE) # define COMBO_COUNT 4 # define COMBO_TERM 150 -#endif // !COMBO_ENABLE +#endif // !COMBO_ENABLE #if defined(NKRO_ENABLE) # define FORCE_NKRO @@ -82,5 +91,4 @@ #define TAP_CODE_DELAY 5 -#define MACRO_TIMER 5 - +#define MACRO_TIMER 5 diff --git a/users/kuchosauronad0/kuchosauronad0.c b/users/kuchosauronad0/kuchosauronad0.c index 820d84daad..2c63eadfd1 100644 --- a/users/kuchosauronad0/kuchosauronad0.c +++ b/users/kuchosauronad0/kuchosauronad0.c @@ -19,9 +19,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. userspace_config_t userspace_config; #if (defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE)) -# define KUCHOSAURONAD0_UNICODE_MODE UC_WINC +# define KUCHOSAURONAD0_UNICODE_MODE UNICODE_MODE_WINCOMPOSE #else -# define KUCHOSAURONAD0_UNICODE_MODE 2 // set to 2 for UC_WIN, set to 4 for UC_WINC +# define KUCHOSAURONAD0_UNICODE_MODE 2 // set to 2 for UNICODE_MODE_WINDOWS, set to 4 for UNICODE_MODE_WINCOMPOSE #endif @@ -69,7 +69,7 @@ void shutdown_user (void) { #ifdef RGBLIGHT_ENABLE rgblight_enable_noeeprom(); rgblight_mode_noeeprom(1); - rgblight_setrgb_teal(); + rgblight_setrgb(RGB_TEAL); #endif // RGBLIGHT_ENABLE #ifdef RGB_MATRIX_ENABLE // uint16_t timer_start = timer_read(); diff --git a/users/kuchosauronad0/leader.c b/users/kuchosauronad0/leader.c index 22674eef05..ac2a6599a1 100644 --- a/users/kuchosauronad0/leader.c +++ b/users/kuchosauronad0/leader.c @@ -97,7 +97,7 @@ void leader_start(void) { #ifdef RGBLIGHT_ENABLE rgblight_savebase(); rgblight_mode_noeeprom(1); - rgblight_sethsv_noeeprom_goldenrod(); + rgblight_sethsv_noeeprom(HSV_GOLDENROD); #endif } diff --git a/users/kuchosauronad0/process_records.h b/users/kuchosauronad0/process_records.h index d3d4c4fe83..0e1c1ceadd 100644 --- a/users/kuchosauronad0/process_records.h +++ b/users/kuchosauronad0/process_records.h @@ -84,7 +84,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record); #define WORKMAN KC_WORKMAN #define PLOVER KC_PLOVER -#define KC_RESET RESET +#define KC_RESET QK_BOOT #define KC_RST KC_RESET #define UC_IRNY UC(0x2E2E) diff --git a/users/kuchosauronad0/rgblight_user.c b/users/kuchosauronad0/rgblight_user.c index feea0c412f..77a8ac6df8 100644 --- a/users/kuchosauronad0/rgblight_user.c +++ b/users/kuchosauronad0/rgblight_user.c @@ -86,36 +86,36 @@ layer_state_t layer_state_set_rgb(layer_state_t state) { if (userspace_config.rgb_layer_change) { switch (get_highest_layer(state)) { // _RAISE, _LOWER and _ADJUST use a custom color and the breathing effect case _RAISE: - rgblight_sethsv_noeeprom_green(); + rgblight_sethsv_noeeprom(HSV_GREEN); rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3); break; case _LOWER: - rgblight_sethsv_noeeprom_red(); + rgblight_sethsv_noeeprom(HSV_RED); rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3); break; case _ADJUST: - rgblight_sethsv_noeeprom_white(); + rgblight_sethsv_noeeprom(HSV_WHITE); rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 2); break; default: // Use a solid color for normal layers switch (get_highest_layer(default_layer_state)) { case _QWERTY: - rgblight_sethsv_noeeprom_magenta(); + rgblight_sethsv_noeeprom(HSV_MAGENTA); break; case _COLEMAK: - rgblight_sethsv_noeeprom_green(); + rgblight_sethsv_noeeprom(HSV_GREEN); break; case _DVORAK: - rgblight_sethsv_noeeprom_blue(); + rgblight_sethsv_noeeprom(HSV_BLUE); break; case _WORKMAN: - rgblight_sethsv_noeeprom_goldenrod(); + rgblight_sethsv_noeeprom(HSV_GOLDENROD); break; case _PLOVER: - rgblight_sethsv_noeeprom_pink(); + rgblight_sethsv_noeeprom(HSV_PINK); break; default: - rgblight_sethsv_noeeprom_white(); + rgblight_sethsv_noeeprom(HSV_WHITE); break; } get_highest_layer(state) == _MODS ? rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING) : rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); // if _MODS layer is on, then breath to denote it diff --git a/users/losinggeneration/losinggeneration-keymap.h b/users/losinggeneration/losinggeneration-keymap.h index 74170dc312..bb1c6cf697 100644 --- a/users/losinggeneration/losinggeneration-keymap.h +++ b/users/losinggeneration/losinggeneration-keymap.h @@ -248,7 +248,7 @@ qk_tap_dance_action_t tap_dance_actions[] = { * `-----------------------------------------''-----------------------------------------' */ #define NUMPAD_LAYER \ - KC_TAB , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, KC_P7 , KC_P8 , KC_P9 , KC_PMNS, KC_BSPC, \ + KC_TAB , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM, KC_P7 , KC_P8 , KC_P9 , KC_PMNS, KC_BSPC, \ KC_ESC , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAST, KC_P4 , KC_P5 , KC_P6 , KC_PPLS, KC_BSPC, \ KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSLS, KC_P1 , KC_P2 , KC_P3 , KC_PENT, XXXXXXX, \ TD_ADJ , TD_CTL , TD_ALT , TD_GUI , XXXXXXX, KC_SPC , KC_SPC , KC_P0 , KC_P0 , KC_PDOT, KC_PENT, XXXXXXX diff --git a/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_alternatives.h b/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_alternatives.h index 33619a9e8f..15ad2a567a 100644 --- a/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_alternatives.h +++ b/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_alternatives.h @@ -315,31 +315,31 @@ U_NP, U_NP, U_NA, U_NA, U_NA #define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP \ RGB_HUI, RGB_SAI, KC_VOLU, RGB_VAI, RGB_TOG, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \ RGB_MOD, KC_MPRV, KC_VOLD, KC_MNXT, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \ -U_NU, U_NU, U_NU, U_NU, OUT_AUTO, U_NA, DF(U_MEDIA), DF(U_FUN), KC_ALGR, U_NA, \ +U_NU, U_NU, U_NU, U_NU, OU_AUTO, U_NA, DF(U_MEDIA), DF(U_FUN), KC_ALGR, U_NA, \ U_NP, U_NP, KC_MUTE, KC_MPLY, KC_MSTP, U_NA, U_NA, U_NA, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MEDIA_FLIP \ RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \ KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \ -U_NU, U_NU, U_NU, U_NU, OUT_AUTO, U_NA, DF(U_MEDIA), DF(U_FUN), KC_ALGR, U_NA, \ +U_NU, U_NU, U_NU, U_NU, OU_AUTO, U_NA, DF(U_MEDIA), DF(U_FUN), KC_ALGR, U_NA, \ U_NP, U_NP, KC_MUTE, KC_MPLY, KC_MSTP, U_NA, U_NA, U_NA, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT \ QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, RGB_TOG, RGB_MOD, KC_VOLU, RGB_HUI, RGB_SAI, \ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MPRV, KC_VOLD, KC_MNXT, RGB_VAI, \ -U_NA, KC_ALGR, DF(U_FUN), DF(U_MEDIA), U_NA, OUT_AUTO, U_NU, U_NU, U_NU, U_NU, \ +U_NA, KC_ALGR, DF(U_FUN), DF(U_MEDIA), U_NA, OU_AUTO, U_NU, U_NU, U_NU, U_NU, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MEDIA_VI \ QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, \ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, U_NU, \ -U_NA, KC_ALGR, DF(U_FUN), DF(U_MEDIA), U_NA, U_NU, U_NU, U_NU, U_NU, OUT_AUTO, \ +U_NA, KC_ALGR, DF(U_FUN), DF(U_MEDIA), U_NA, U_NU, U_NU, U_NU, U_NU, OU_AUTO, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MEDIA \ QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, \ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, \ -U_NA, KC_ALGR, DF(U_FUN), DF(U_MEDIA), U_NA, OUT_AUTO, U_NU, U_NU, U_NU, U_NU, \ +U_NA, KC_ALGR, DF(U_FUN), DF(U_MEDIA), U_NA, OU_AUTO, U_NU, U_NU, U_NU, U_NU, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP @@ -371,13 +371,13 @@ U_NP, U_NP, KC_LPRN, KC_RPRN, KC_U #define MIRYOKU_ALTERNATIVES_FUN_FLIP \ QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F12, \ -KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_SLCK, KC_F4, KC_F5, KC_F6, KC_F11, \ +KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_SCRL, KC_F4, KC_F5, KC_F6, KC_F11, \ U_NA, KC_ALGR, DF(U_MEDIA), DF(U_FUN), U_NA, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F10, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_TAB, KC_SPC, KC_APP, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_FUN \ KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \ -KC_F11, KC_F4, KC_F5, KC_F6, KC_SLCK, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \ +KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \ KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, U_NA, DF(U_FUN), DF(U_MEDIA), KC_ALGR, U_NA, \ U_NP, U_NP, KC_APP, KC_SPC, KC_TAB, U_NA, U_NA, U_NA, U_NP, U_NP diff --git a/users/mattly/mattly.c b/users/mattly/mattly.c index d097c8cd7b..eb6536a7f1 100644 --- a/users/mattly/mattly.c +++ b/users/mattly/mattly.c @@ -57,7 +57,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { set_lights_default(); #endif return true; - case RESET: + case QK_BOOT: #ifdef RGBLIGHT_ENABLE rgblight_sethsv_noeeprom(HSV_RESET); #endif diff --git a/users/mechmerlin/changelog.md b/users/mechmerlin/changelog.md index 733c65a979..aea46beee6 100644 --- a/users/mechmerlin/changelog.md +++ b/users/mechmerlin/changelog.md @@ -16,7 +16,7 @@ All notable changes to my userspace will be documented in this file. ## [0.3.0] - 2020-02-02 ### Changed -- Added the `_CL` layer to all the boards for access to `EEP_RST` and `RESET` keycodes. This was done primarily to avoid triggering `RESET` accidentally. +- Added the `_CL` layer to all the boards for access to `EE_CLR` and `RESET` keycodes. This was done primarily to avoid triggering `RESET` accidentally. - Added a placeholder text macro under the custom keycode `KC_MAC`. Currently set to "meow", but will change as needed in the future. ## [0.2.2] - 2019-04-22 diff --git a/users/mechmerlin/config.h b/users/mechmerlin/config.h index 459c181673..ec3b3e81e8 100644 --- a/users/mechmerlin/config.h +++ b/users/mechmerlin/config.h @@ -2,7 +2,16 @@ #ifdef RGBLIGHT_ENABLE #define RGBLIGHT_SLEEP - #define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE #endif // RGBLIGHT_ENABLE #ifdef RGB_MATRIX_ENABLE diff --git a/users/mechmerlin/readme.md b/users/mechmerlin/readme.md index 1070953111..7aa606dba8 100644 --- a/users/mechmerlin/readme.md +++ b/users/mechmerlin/readme.md @@ -17,7 +17,7 @@ This layer is commonly accessed via `MO(_FL)` on the base layer. It consists of This layer is only present on my 60% boards. I habitually use the bottom right modifiers as arrows. ### _CL (Control Layer) -This layer is used for the `RESET` and `EEP_RST` keycodes. +This layer is used for the `RESET` and `EE_CLR` keycodes. ## Custom Keycodes ---- diff --git a/users/miles2go/babblePaste.h b/users/miles2go/babblePaste.h index 8fc233e8d4..c3073423c2 100644 --- a/users/miles2go/babblePaste.h +++ b/users/miles2go/babblePaste.h @@ -55,15 +55,15 @@ enum babble_modes { /// Hacks to make it easier to create sendstring macros //"outer" versions wrap text -# define OMCTL(arg) SS_DOWN(X_LCTRL) arg SS_UP(X_LCTRL) +# define OMCTL(arg) SS_DOWN(X_LCTL) arg SS_UP(X_LCTL) # define OMGUI(arg) SS_DOWN(X_LGUI) arg SS_UP(X_LGUI) # define OMALT(arg) SS_DOWN(X_LALT) arg SS_UP(X_LALT) -# define OMSFT(...) SS_DOWN(X_LSHIFT) __VA_ARGS__ SS_UP(X_LSHIFT) +# define OMSFT(...) SS_DOWN(X_LSFT) __VA_ARGS__ SS_UP(X_LSFT) //"inner" versions wrap a key tap -# define IMCTL(arg) SS_DOWN(X_LCTRL) SS_TAP(arg) SS_UP(X_LCTRL) +# define IMCTL(arg) SS_DOWN(X_LCTL) SS_TAP(arg) SS_UP(X_LCTL) # define IMGUI(arg) SS_DOWN(X_LGUI) SS_TAP(arg) SS_UP(X_LGUI) # define IMALT(arg) SS_DOWN(X_LALT) SS_TAP(arg) SS_UP(X_LALT) -# define IMSFT(arg) SS_DOWN(X_LSHIFT) SS_TAP(arg) SS_UP(X_LSHIFT) +# define IMSFT(arg) SS_DOWN(X_LSFT) SS_TAP(arg) SS_UP(X_LSFT) # define BABLM(ent, ...) \ if (ent == keycode) { \ diff --git a/users/miles2go/babl_chromeos.c b/users/miles2go/babl_chromeos.c index fd644fc5c5..5e95e1424a 100644 --- a/users/miles2go/babl_chromeos.c +++ b/users/miles2go/babl_chromeos.c @@ -30,22 +30,22 @@ bool babblePaste_chromeos(uint16_t keycode) { BABLM(BABL_GO_PARA_END, IMCTL(X_DOWN)); // untested BABLM(BABL_PGDN, IMGUI(X_DOWN)); BABLM(BABL_PGUP, IMGUI(X_UP)); - BABLM(BABL_DEL_RIGHT_1C, IMALT(X_BSPACE)); - BABLM(BABL_DEL_LEFT_WORD, IMCTL(X_BSPACE)); - BABLM(BABL_DEL_RIGHT_WORD, OMSFT(IMCTL(X_RIGHT)) SS_TAP(X_BSPACE)); - BABLM(BABL_DEL_TO_LINE_END, OMSFT(IMGUI(X_LEFT)) SS_TAP(X_BSPACE)); - BABLM(BABL_DEL_TO_LINE_START, OMSFT(IMGUI(X_RIGHT)) SS_TAP(X_BSPACE)); + BABLM(BABL_DEL_RIGHT_1C, IMALT(X_BACKSPACE)); + BABLM(BABL_DEL_LEFT_WORD, IMCTL(X_BACKSPACE)); + BABLM(BABL_DEL_RIGHT_WORD, OMSFT(IMCTL(X_RIGHT)) SS_TAP(X_BACKSPACE)); + BABLM(BABL_DEL_TO_LINE_END, OMSFT(IMGUI(X_LEFT)) SS_TAP(X_BACKSPACE)); + BABLM(BABL_DEL_TO_LINE_START, OMSFT(IMGUI(X_RIGHT)) SS_TAP(X_BACKSPACE)); BABLM(BABL_MODE, ("ChromeOS ")); # endif # ifdef BABL_OSKEYS - BABLM(BABL_UNDO, SS_LCTRL("z")); + BABLM(BABL_UNDO, SS_LCTL("z")); BABLM(BABL_REDO, OMSFT(IMCTL(X_Z))); - BABLM(BABL_CUT, SS_LCTRL("x")); - BABLM(BABL_COPY, SS_LCTRL("c")); - BABLM(BABL_PASTE, SS_LCTRL("v")); - BABLM(BABL_SELECT_ALL, SS_LCTRL("a")); - BABLM(BABL_FIND, SS_LCTRL("f")); - BABLM(BABL_FIND_NEXT, SS_LCTRL("g")); + BABLM(BABL_CUT, SS_LCTL("x")); + BABLM(BABL_COPY, SS_LCTL("c")); + BABLM(BABL_PASTE, SS_LCTL("v")); + BABLM(BABL_SELECT_ALL, SS_LCTL("a")); + BABLM(BABL_FIND, SS_LCTL("f")); + BABLM(BABL_FIND_NEXT, SS_LCTL("g")); BABLM(BABL_FIND_PREV, OMSFT(IMCTL(X_G))); BABLM(BABL_WINDOW_NEW, IMCTL(X_N)); // BABLM( BABL_FIND_REPLACE, () ); // not part of Chrome @@ -60,33 +60,33 @@ bool babblePaste_chromeos(uint16_t keycode) { BABLM(BABL_SWITCH_KEYBOARD_LAYOUT, IMCTL(X_SPACE)); # endif # ifdef BABL_BROWSER - BABLM(BABL_BROWSER_NEW_TAB, SS_LCTRL("t")); - BABLM(BABL_BROWSER_CLOSE_TAB, SS_LCTRL("w")); + BABLM(BABL_BROWSER_NEW_TAB, SS_LCTL("t")); + BABLM(BABL_BROWSER_CLOSE_TAB, SS_LCTL("w")); BABLM(BABL_BROWSER_REOPEN_LAST_TAB, OMSFT(IMCTL(X_T))); BABLM(BABL_BROWSER_NEXT_TAB, IMCTL(X_TAB)); BABLM(BABL_BROWSER_PREV_TAB, OMSFT(IMCTL(X_TAB))); - BABLM(BABL_BROWSER_URL_BAR, SS_LCTRL("l")); + BABLM(BABL_BROWSER_URL_BAR, SS_LCTL("l")); BABLM(BABL_BROWSER_FORWARD, IMALT(X_RIGHT)); BABLM(BABL_BROWSER_BACK, IMALT(X_LEFT)); ; - BABLM(BABL_BROWSER_FIND, SS_LCTRL("f")); - BABLM(BABL_BROWSER_BOOKMARK, SS_LCTRL("d")); + BABLM(BABL_BROWSER_FIND, SS_LCTL("f")); + BABLM(BABL_BROWSER_BOOKMARK, SS_LCTL("d")); BABLM(BABL_BROWSER_DEV_TOOLS, OMSFT(IMCTL(X_I))); BABLM(BABL_BROWSER_RELOAD, OMSFT(IMCTL(X_R))); // hard reload w/o cache BABLM(BABL_BROWSER_FULLSCREEN, SS_TAP(X_F4)); // untested BABLM(BABL_BROWSER_ZOOM_IN, OMSFT(IMCTL(X_EQUAL))); // ctr+ + BABLM(BABL_BROWSER_ZOOM_OUT, IMCTL(X_MINUS)); - BABLM(BABL_BROWSER_VIEWSRC, SS_LCTRL("u")); // Chrome or firefox + BABLM(BABL_BROWSER_VIEWSRC, SS_LCTL("u")); // Chrome or firefox # endif # ifdef BABL_APP BABLM(BABL_APP_SAVE, SS_LCTL("s")); //#ifdef BABL_APP_GOOGLE -- we're going to make an assumption. BABLM(BABL_APP_CENTER_ALIGN, OMSFT(IMCTL(X_E))); - BABLM(BABL_APP_SCROLL_ACTIVE_CELL, IMCTL(X_BSPACE)); + BABLM(BABL_APP_SCROLL_ACTIVE_CELL, IMCTL(X_BACKSPACE)); BABLM(BABL_NEWLINE_IN_CELL, IMALT(X_ENTER)); BABLM(BABL_INSERT_COMMENT, OMALT(IMCTL(X_M))); - BABLM(BABL_APP_CLEAR_FORMATTING, IMCTL(X_BSLASH)); + BABLM(BABL_APP_CLEAR_FORMATTING, IMCTL(X_BACKSLASH)); BABLM(BABL_DELETE_ROW, IMALT(X_E) "d"); BABLM(BABL_INSERT_COL_LEFT, IMALT(X_I) "c"); // o for to the right. BABLM(BABL_INSERT_ROW, IMALT(X_I) "w"); // r for above. diff --git a/users/miles2go/babl_emacs.c b/users/miles2go/babl_emacs.c index 87560b6eb8..aa6e03a5ad 100644 --- a/users/miles2go/babl_emacs.c +++ b/users/miles2go/babl_emacs.c @@ -24,41 +24,41 @@ bool babblePaste_emacs(uint16_t keycode) { BABLM(BABL_GO_RIGHT_1C, SS_TAP(X_RIGHT)); BABLM(BABL_GO_LEFT_WORD, IMALT(X_B)); BABLM(BABL_GO_RIGHT_WORD, IMALT(X_F)); - BABLM(BABL_GO_START_LINE, SS_LCTRL("a")); - BABLM(BABL_GO_END_LINE, SS_LCTRL("e")); + BABLM(BABL_GO_START_LINE, SS_LCTL("a")); + BABLM(BABL_GO_END_LINE, SS_LCTL("e")); BABLM(BABL_GO_START_DOC, OMALT(IMSFT(X_COMMA))); BABLM(BABL_GO_END_DOC, OMALT(IMSFT(X_DOT))); - BABLM(BABL_GO_NEXT_LINE, SS_LCTRL("n")); - BABLM(BABL_GO_PREV_LINE, SS_LCTRL("p")); - BABLM(BABL_GO_PARA_START, OMALT(IMSFT(X_LBRACKET))); - BABLM(BABL_GO_PARA_END, OMALT(IMSFT(X_RBRACKET))); - BABLM(BABL_PGDN, SS_LCTRL("v")); + BABLM(BABL_GO_NEXT_LINE, SS_LCTL("n")); + BABLM(BABL_GO_PREV_LINE, SS_LCTL("p")); + BABLM(BABL_GO_PARA_START, OMALT(IMSFT(X_LEFT_BRACKET))); + BABLM(BABL_GO_PARA_END, OMALT(IMSFT(X_RIGHT_BRACKET))); + BABLM(BABL_PGDN, SS_LCTL("v")); BABLM(BABL_PGUP, IMALT(X_V)); - BABLM(BABL_DEL_RIGHT_1C, SS_LCTRL("d")); - BABLM(BABL_DEL_LEFT_WORD, IMCTL(X_BSPACE)); + BABLM(BABL_DEL_RIGHT_1C, SS_LCTL("d")); + BABLM(BABL_DEL_LEFT_WORD, IMCTL(X_BACKSPACE)); BABLM(BABL_DEL_RIGHT_WORD, IMALT(X_D)); - BABLM(BABL_DEL_TO_LINE_END, SS_LCTRL("k")); - BABLM(BABL_DEL_TO_LINE_START, SS_TAP(X_ESCAPE) "0" SS_LCTRL("k")); + BABLM(BABL_DEL_TO_LINE_END, SS_LCTL("k")); + BABLM(BABL_DEL_TO_LINE_START, SS_TAP(X_ESCAPE) "0" SS_LCTL("k")); BABLM(BABL_MODE, "Emacs "); # endif # ifdef BABL_OSKEYS - BABLM(BABL_UNDO, SS_LCTRL("x") "c"); - BABLM(BABL_REDO, SS_LCTRL("x") "c"); // arguably - BABLM(BABL_CUT, SS_LCTRL("w")); + BABLM(BABL_UNDO, SS_LCTL("x") "c"); + BABLM(BABL_REDO, SS_LCTL("x") "c"); // arguably + BABLM(BABL_CUT, SS_LCTL("w")); BABLM(BABL_COPY, SS_LALT("w")); // really? - BABLM(BABL_PASTE, SS_LCTRL("y")); - BABLM(BABL_SELECT_ALL, SS_LCTRL("x") "h"); - BABLM(BABL_FIND, SS_LCTRL("s")); - BABLM(BABL_FIND_NEXT, SS_LCTRL("s")); - BABLM(BABL_FIND_PREV, SS_LCTRL("r")); + BABLM(BABL_PASTE, SS_LCTL("y")); + BABLM(BABL_SELECT_ALL, SS_LCTL("x") "h"); + BABLM(BABL_FIND, SS_LCTL("s")); + BABLM(BABL_FIND_NEXT, SS_LCTL("s")); + BABLM(BABL_FIND_PREV, SS_LCTL("r")); BABLM(BABL_FIND_REPLACE, OMALT(IMSFT(X_5))); // BABLM( BABL_RUNAPP , //(SS_LALT("x") "shell") );// arguably BABLM(BABL_RUNAPP, IMALT(X_X) "split-window" SS_TAP(X_ENTER)); // arguably - BABLM(BABL_WINDOW_NEXT, SS_LCTRL("x") "o"); - BABLM(BABL_WINDOW_PREV, SS_LCTRL("x") "o"); // arguably + BABLM(BABL_WINDOW_NEXT, SS_LCTL("x") "o"); + BABLM(BABL_WINDOW_PREV, SS_LCTL("x") "o"); // arguably // BABLM( BABL_WINDOW_NEW, IMCTL(X_X)"n" ); // - BABLM(BABL_CLOSE_APP, SS_LCTRL("x") "c"); - BABLM(BABL_HELP, SS_LCTRL("h") "a"); // start search in help + BABLM(BABL_CLOSE_APP, SS_LCTL("x") "c"); + BABLM(BABL_HELP, SS_LCTL("h") "a"); // start search in help // BABLM( BABL_LOCK, () ); // lock buffer? Too many options. // BABLM( BABL_SCREENCAPTURE, () ); // requires plugin? @@ -70,13 +70,13 @@ bool babblePaste_emacs(uint16_t keycode) { # ifdef BABL_APP BABLM(BABL_APP_SAVE, SS_LCTL("x") SS_LCTL("s")); BABLM(BABL_APP_SET_MARK, IMCTL(X_SPACE)); - /// BABLM( BABL_APP_MULTI_SELECT, SS_LCTRL("x") "rt" ); // arguably - BABLM(BABL_SPLIT_FRAME_VERT, SS_LCTRL("x") "3"); - BABLM(BABL_UNSPLIT_FRAME_VERT, SS_LCTRL("u") SS_LCTRL("x") "0"); - BABLM(BABL_SPLIT_FRAME_HORIZONTAL, SS_LCTRL("x") "2"); - BABLM(BABL_UNSPLIT_FRAME_HORIZONTAL, SS_LCTRL("u") SS_LCTRL("x") "0"); - BABLM(BABL_NEXT_FRAME, SS_LCTRL("x") "o"); - BABLM(BABL_PREV_FRAME, SS_LCTRL("u") "-1" SS_LCTRL("x") "o"); + /// BABLM( BABL_APP_MULTI_SELECT, SS_LCTL("x") "rt" ); // arguably + BABLM(BABL_SPLIT_FRAME_VERT, SS_LCTL("x") "3"); + BABLM(BABL_UNSPLIT_FRAME_VERT, SS_LCTL("u") SS_LCTL("x") "0"); + BABLM(BABL_SPLIT_FRAME_HORIZONTAL, SS_LCTL("x") "2"); + BABLM(BABL_UNSPLIT_FRAME_HORIZONTAL, SS_LCTL("u") SS_LCTL("x") "0"); + BABLM(BABL_NEXT_FRAME, SS_LCTL("x") "o"); + BABLM(BABL_PREV_FRAME, SS_LCTL("u") "-1" SS_LCTL("x") "o"); # endif // Todo, ring bell, flash light, show user this isn't supported diff --git a/users/miles2go/babl_kitty.c b/users/miles2go/babl_kitty.c index 44fd87e5ed..2a4e0d2df4 100644 --- a/users/miles2go/babl_kitty.c +++ b/users/miles2go/babl_kitty.c @@ -42,7 +42,7 @@ bool babblePaste_kitty(uint16_t keycode) { // BABLM(BABL_GO_NEXT_LINE, OMSFT(IMCTL(X_DOWN))); // BABLM(BABL_GO_PREV_LINE, OMSFT(IMCTL(X_UP))); // passthrough - BABLM(BABL_PGDN, OMSFT(IMCTL(X_PGDOWN))); // kitty pagedown + BABLM(BABL_PGDN, OMSFT(IMCTL(X_PGDN))); // kitty pagedown BABLM(BABL_PGUP, OMSFT(IMCTL(X_PGUP))); // kitty pageup // passthrough to commanrd line/shell. BABLM(BABL_DEL_RIGHT_1C, SS_LCTL("d")); @@ -84,7 +84,7 @@ bool babblePaste_kitty(uint16_t keycode) { // KITTY - missing close window. // BABLM( BABL_HELP, (SS_TAP(X_F1)) ); // NA? // BABLM(BABL_LOCK, OMCTL(IMALT(X_L))); // NA passthrough - // BABLM(BABL_SCREENCAPTURE, IMSFT(X_PSCREEN)); // NA passthrough + // BABLM(BABL_SCREENCAPTURE, IMSFT(X_PRINT_SCREEN)); // NA passthrough # endif # ifdef BABL_BROWSER diff --git a/users/miles2go/babl_linux.c b/users/miles2go/babl_linux.c index aa822d9ba1..4d8e340b01 100644 --- a/users/miles2go/babl_linux.c +++ b/users/miles2go/babl_linux.c @@ -29,10 +29,10 @@ bool babblePaste_linux(uint16_t keycode) { BABLM(BABL_GO_PREV_LINE, SS_TAP(X_UP)); BABLM(BABL_GO_PARA_START, IMCTL(X_UP)); BABLM(BABL_GO_PARA_END, IMCTL(X_DOWN)); - BABLM(BABL_PGDN, SS_TAP(X_PGDOWN)); + BABLM(BABL_PGDN, SS_TAP(X_PGDN)); BABLM(BABL_PGUP, SS_TAP(X_PGUP)); BABLM(BABL_DEL_RIGHT_1C, SS_TAP(X_DELETE)); - BABLM(BABL_DEL_LEFT_WORD, IMCTL(X_BSPACE)); + BABLM(BABL_DEL_LEFT_WORD, IMCTL(X_BACKSPACE)); BABLM(BABL_DEL_RIGHT_WORD, IMCTL(X_DELETE)); BABLM(BABL_DEL_TO_LINE_END, IMSFT(X_HOME) SS_TAP(X_DELETE)); BABLM(BABL_DEL_TO_LINE_START, IMSFT(X_END) SS_TAP(X_DELETE)); @@ -57,11 +57,11 @@ bool babblePaste_linux(uint16_t keycode) { BABLM(BABL_SWITCH_APP_NEXT, IMALT(X_TAB)); BABLM(BABL_SWITCH_APP_LAST, OMSFT(IMALT(X_TAB))); BABLM(BABL_WINDOW_NEXT, OMCTL(IMALT(X_PGUP))); // Gnome, sometimes - BABLM(BABL_WINDOW_PREV, OMCTL(IMALT(X_PGDOWN))); + BABLM(BABL_WINDOW_PREV, OMCTL(IMALT(X_PGDN))); BABLM(BABL_WINDOW_NEW, IMCTL(X_N)); // BABLM( BABL_HELP, (SS_TAP(X_F1)) ); // NA? BABLM(BABL_LOCK, OMCTL(IMALT(X_L))); - BABLM(BABL_SCREENCAPTURE, IMSFT(X_PSCREEN)); + BABLM(BABL_SCREENCAPTURE, IMSFT(X_PRINT_SCREEN)); # endif # ifdef BABL_BROWSER BABLM(BABL_BROWSER_NEW_TAB, SS_LCTL("t")); diff --git a/users/miles2go/babl_mac.c b/users/miles2go/babl_mac.c index 9f769c582d..fd67172cc8 100644 --- a/users/miles2go/babl_mac.c +++ b/users/miles2go/babl_mac.c @@ -29,12 +29,12 @@ bool babblePaste_mac(uint16_t keycode) { BABLM(BABL_GO_PARA_START, IMALT(X_UP)); BABLM(BABL_DEL_RIGHT_1C, SS_TAP(X_DELETE)); BABLM(BABL_GO_PARA_END, IMALT(X_DOWN)); - BABLM(BABL_PGDN, SS_TAP(X_PGDOWN)); + BABLM(BABL_PGDN, SS_TAP(X_PGDN)); BABLM(BABL_PGUP, SS_TAP(X_PGUP)); - BABLM(BABL_DEL_LEFT_WORD, IMALT(X_BSPACE)); + BABLM(BABL_DEL_LEFT_WORD, IMALT(X_BACKSPACE)); BABLM(BABL_DEL_RIGHT_WORD, IMALT(X_DELETE)); - BABLM(BABL_DEL_TO_LINE_END, OMSFT(IMGUI(X_RIGHT)) SS_TAP(X_BSPACE)); // this is more app agnostic than ctrl-k - BABLM(BABL_DEL_TO_LINE_START, OMSFT(IMGUI(X_LEFT)) SS_TAP(X_BSPACE)); + BABLM(BABL_DEL_TO_LINE_END, OMSFT(IMGUI(X_RIGHT)) SS_TAP(X_BACKSPACE)); // this is more app agnostic than ctrl-k + BABLM(BABL_DEL_TO_LINE_START, OMSFT(IMGUI(X_LEFT)) SS_TAP(X_BACKSPACE)); BABLM(BABL_MODE, "Mac "); # endif # ifdef BABL_OSKEYS @@ -55,8 +55,8 @@ bool babblePaste_mac(uint16_t keycode) { BABLM(BABL_SWITCH_APP_LAST, OMSFT(IMGUI(X_TAB))); // Apps vary, but this is usually tab movement, same as B_NXTB /* - BABLM( BABL_WINDOW_NEXT, OMSFT(IMGUI(X_RBRACKET)) ); // GUI Grav isn't everywhere - BABLM( BABL_WINDOW_PREV, OMSFT(IMGUI(X_LBRACKET)) ); + BABLM( BABL_WINDOW_NEXT, OMSFT(IMGUI(X_RIGHT_BRACKET)) ); // GUI Grav isn't everywhere + BABLM( BABL_WINDOW_PREV, OMSFT(IMGUI(X_LEFT_BRACKET)) ); */ BABLM(BABL_WINDOW_NEXT, IMGUI(X_GRAVE)); BABLM(BABL_WINDOW_PREV, OMSFT(IMGUI(X_GRAVE))); @@ -80,7 +80,7 @@ bool babblePaste_mac(uint16_t keycode) { BABLM(BABL_BROWSER_FIND, SS_LGUI("f")); BABLM(BABL_BROWSER_BOOKMARK, SS_LGUI("d")); BABLM(BABL_BROWSER_RELOAD, OMGUI(SS_LSFT("r"))); // hard reload w/o cache - BABLM(BABL_BROWSER_FULLSCREEN, OMGUI(SS_LCTRL("p"))); + BABLM(BABL_BROWSER_FULLSCREEN, OMGUI(SS_LCTL("p"))); BABLM(BABL_BROWSER_ZOOM_IN, IMGUI(X_KP_PLUS)); // ctr+ + BABLM(BABL_BROWSER_ZOOM_OUT, IMGUI(X_KP_MINUS)); # ifdef BABL_BROWSER_CHROME @@ -106,7 +106,7 @@ bool babblePaste_mac(uint16_t keycode) { # ifdef BABL_APP_MSOFFICE BABLM(BABL_APP_CENTER_ALIGN, IMGUI(X_E)); // BABLM( BABL_APP_CLEAR_FORMATTING, OMCTL(IMGUI(X_G)) ); // this isn't native. https://support.office.com/en-us/article/Clear-all-text-formatting-C094C4DA-7F09-4CEA-9A8D-C166949C9C80#OfficeVersion=macOS - BABLM(BABL_APP_SCROLL_ACTIVE_CELL, IMCTL(X_BSPACE)); + BABLM(BABL_APP_SCROLL_ACTIVE_CELL, IMCTL(X_BACKSPACE)); BABLM(BABL_NEWLINE_IN_CELL, IMALT(X_ENTER)); BABLM(BABL_INSERT_COMMENT, IMSFT(X_F2)); BABLM(BABL_INSERT_COL_LEFT, IMCTL(X_I)); @@ -118,10 +118,10 @@ bool babblePaste_mac(uint16_t keycode) { # ifdef BABL_APP_GOOGLE BABLM(BABL_APP_CENTER_ALIGN, OMSFT(IMGUI(X_E))); - BABLM(BABL_APP_SCROLL_ACTIVE_CELL, IMCTL(X_BSPACE)); + BABLM(BABL_APP_SCROLL_ACTIVE_CELL, IMCTL(X_BACKSPACE)); BABLM(BABL_NEWLINE_IN_CELL, IMALT(X_ENTER)); BABLM(BABL_INSERT_COMMENT, IMSFT(X_F2)); - BABLM(BABL_APP_CLEAR_FORMATTING, IMGUI(X_BSLASH)); + BABLM(BABL_APP_CLEAR_FORMATTING, IMGUI(X_BACKSLASH)); BABLM(BABL_DELETE_ROW, OMCTL(IMGUI(X_G))); BABLM(BABL_INSERT_COL_LEFT, OMALT(IMCTL(X_I)) "c"); // o for to the right. BABLM(BABL_INSERT_ROW, OMALT(IMCTL(X_I)) "b"); // r for above. diff --git a/users/miles2go/babl_nano.c b/users/miles2go/babl_nano.c index ebbe9b2bc5..7b10f0d3cb 100644 --- a/users/miles2go/babl_nano.c +++ b/users/miles2go/babl_nano.c @@ -21,35 +21,35 @@ https://www.nano-editor.org/dist/latest/cheatsheet.html bool babblePaste_nano(uint16_t keycode) { # ifdef BABL_MOVE - BABLM(BABL_GO_LEFT_1C, SS_LCTRL("b")); + BABLM(BABL_GO_LEFT_1C, SS_LCTL("b")); BABLM(BABL_GO_RIGHT_1C, SS_LCTL("f")); BABLM(BABL_GO_LEFT_WORD, IMCTL(X_LEFT)); BABLM(BABL_GO_RIGHT_WORD, IMCTL(X_RIGHT)); - BABLM(BABL_GO_START_LINE, SS_LCTRL("a")); - BABLM(BABL_GO_END_LINE, SS_LCTRL("e")); + BABLM(BABL_GO_START_LINE, SS_LCTL("a")); + BABLM(BABL_GO_END_LINE, SS_LCTL("e")); BABLM(BABL_GO_START_DOC, IMALT(X_BSLS)); BABLM(BABL_GO_END_DOC, IMALT(X_SLASH)); - BABLM(BABL_GO_NEXT_LINE, SS_LCTRL("n")); - BABLM(BABL_GO_PREV_LINE, SS_LCTRL("p")); + BABLM(BABL_GO_NEXT_LINE, SS_LCTL("n")); + BABLM(BABL_GO_PREV_LINE, SS_LCTL("p")); BABLM(BABL_GO_PARA_START, IMCTL(X_UP)); BABLM(BABL_GO_PARA_END, IMCTL(X_DOWN)); - BABLM(BABL_PGDN, SS_LCTRL("v")); - BABLM(BABL_PGUP, SS_LCTRL("y")); - BABLM(BABL_DEL_RIGHT_1C, SS_LCTRL("d")); + BABLM(BABL_PGDN, SS_LCTL("v")); + BABLM(BABL_PGUP, SS_LCTL("y")); + BABLM(BABL_DEL_RIGHT_1C, SS_LCTL("d")); BABLM(BABL_DEL_LEFT_WORD, IMCTL(X_BSPC)); BABLM(BABL_DEL_RIGHT_WORD, IMCTL(X_DEL)); - // BABLM(BABL_DEL_TO_LINE_END, SS_LCTRL("k")); - // BABLM(BABL_DEL_TO_LINE_START, SS_TAP(X_ESCAPE) "0" SS_LCTRL("k")); + // BABLM(BABL_DEL_TO_LINE_END, SS_LCTL("k")); + // BABLM(BABL_DEL_TO_LINE_START, SS_TAP(X_ESCAPE) "0" SS_LCTL("k")); BABLM(BABL_MODE, "Nano "); # endif # ifdef BABL_OSKEYS BABLM(BABL_UNDO, SS_LALT("u")); BABLM(BABL_REDO, SS_LALT("e")); - BABLM(BABL_CUT, SS_LCTRL("k")); // arguably b/c line based, not selection + BABLM(BABL_CUT, SS_LCTL("k")); // arguably b/c line based, not selection BABLM(BABL_COPY, SS_LALT("6")); // arguably - BABLM(BABL_PASTE, SS_LCTRL("u")); - // BABLM(BABL_SELECT_ALL, SS_LCTRL("x") "h"); - BABLM(BABL_FIND, SS_LCTRL("w")); + BABLM(BABL_PASTE, SS_LCTL("u")); + // BABLM(BABL_SELECT_ALL, SS_LCTL("x") "h"); + BABLM(BABL_FIND, SS_LCTL("w")); BABLM(BABL_FIND_NEXT, SS_LALT("w")); BABLM(BABL_FIND_PREV, SS_LALT("q")); BABLM(BABL_FIND_REPLACE, SS_LALT("r")); @@ -57,8 +57,8 @@ bool babblePaste_nano(uint16_t keycode) { BABLM(BABL_WINDOW_NEXT, OMALT(IMSFT(X_DOT))); BABLM(BABL_WINDOW_PREV, OMALT(IMSFT(X_COMMA))); BABLM(BABL_WINDOW_NEW, IMCTL(X_R) IMALT(X_F)); // - BABLM(BABL_CLOSE_APP, SS_LCTRL("x")); - BABLM(BABL_HELP, SS_LCTRL("g")); + BABLM(BABL_CLOSE_APP, SS_LCTL("x")); + BABLM(BABL_HELP, SS_LCTL("g")); // BABLM( BABL_LOCK, () ); // lock buffer? Too many options. // BABLM( BABL_SCREENCAPTURE, () ); // requires plugin? @@ -66,7 +66,7 @@ bool babblePaste_nano(uint16_t keycode) { # endif # ifdef BABL_APP - BABLM(BABL_APP_SAVE, SS_LCTRL("s")); // save file blurs app & os. Move? + BABLM(BABL_APP_SAVE, SS_LCTL("s")); // save file blurs app & os. Move? BABLM(BABL_APP_SET_MARK, SS_LALT("a")); # endif diff --git a/users/miles2go/babl_readmux.c b/users/miles2go/babl_readmux.c index 8887d523bb..c303912c91 100644 --- a/users/miles2go/babl_readmux.c +++ b/users/miles2go/babl_readmux.c @@ -29,7 +29,7 @@ bool babblePaste_readmux(uint16_t keycode) { // BABLM( BABL_GO_PARA_END, // undefinedBABLM( BABL_PGDN , BABLM(BABL_PGUP, SS_TAP(X_PGUP)); - BABLM(BABL_PGDN, SS_TAP(X_PGDOWN)); + BABLM(BABL_PGDN, SS_TAP(X_PGDN)); BABLM(BABL_DEL_RIGHT_1C, SS_LCTL("d")); BABLM(BABL_DEL_LEFT_WORD, SS_LCTL("w")); // meta-DEL instead? BABLM(BABL_DEL_RIGHT_WORD, SS_LALT("d")); @@ -76,7 +76,7 @@ bool babblePaste_readmux(uint16_t keycode) { // This one closes the current pane. BABLM(BABL_UNSPLIT_FRAME_HORIZONTAL, SS_LCTL("b") "x"); BABLM(BABL_NEXT_FRAME, SS_LCTL("b") "o"); - BABLM(BABL_PREV_FRAME, SS_LCTL("w") SS_TAP(X_SCOLON)); + BABLM(BABL_PREV_FRAME, SS_LCTL("w") SS_TAP(X_SEMICOLON)); # endif // Todo, ring bell, flash light, show user this isn't supported diff --git a/users/miles2go/babl_vi.c b/users/miles2go/babl_vi.c index f4b1d39d99..3209525af0 100644 --- a/users/miles2go/babl_vi.c +++ b/users/miles2go/babl_vi.c @@ -22,10 +22,10 @@ bool babblePaste_vi(uint16_t keycode) { BABLM(BABL_GO_END_DOC, IMSFT(X_G)); BABLM(BABL_GO_NEXT_LINE, "j"); BABLM(BABL_GO_PREV_LINE, "k"); - BABLM(BABL_GO_PARA_START, IMSFT(X_LBRACKET)); - BABLM(BABL_GO_PARA_END, IMSFT(X_RBRACKET)); - BABLM(BABL_PGDN, SS_LCTRL("f")); - BABLM(BABL_PGUP, SS_LCTRL("b")); + BABLM(BABL_GO_PARA_START, IMSFT(X_LEFT_BRACKET)); + BABLM(BABL_GO_PARA_END, IMSFT(X_RIGHT_BRACKET)); + BABLM(BABL_PGDN, SS_LCTL("f")); + BABLM(BABL_PGUP, SS_LCTL("b")); BABLM(BABL_DEL_RIGHT_1C, "x"); BABLM(BABL_DEL_LEFT_WORD, "dge"); BABLM(BABL_DEL_RIGHT_WORD, "dw"); @@ -35,11 +35,11 @@ bool babblePaste_vi(uint16_t keycode) { # endif # ifdef BABL_OSKEYS BABLM(BABL_UNDO, "h"); - BABLM(BABL_REDO, SS_LCTRL("r")); + BABLM(BABL_REDO, SS_LCTL("r")); BABLM(BABL_CUT, "x"); BABLM(BABL_COPY, "y"); BABLM(BABL_PASTE, "p"); - BABLM(BABL_SELECT_ALL, IMSFT(X_SCOLON) SS_TAP(X_5) "y"); // wrong but helpful? + BABLM(BABL_SELECT_ALL, IMSFT(X_SEMICOLON) SS_TAP(X_5) "y"); // wrong but helpful? BABLM(BABL_FIND, SS_TAP(X_SLASH)); BABLM(BABL_FIND_NEXT, "n"); BABLM(BABL_FIND_PREV, IMSFT(X_N)); @@ -47,8 +47,8 @@ bool babblePaste_vi(uint16_t keycode) { BABLM(BABL_RUNAPP, ":split"); // requires VIM, is vsplit better? BABLM(BABL_SWITCH_APP_NEXT, IMCTL(X_DOWN)); // Or Right? BABLM(BABL_SWITCH_APP_NEXT, IMCTL(X_UP)); // or Left? - BABLM(BABL_CLOSE_APP, IMCTL(X_SCOLON) "q"); - BABLM(BABL_HELP, SS_LSFT(SS_TAP(X_SCOLON)) "h"); // start search in help + BABLM(BABL_CLOSE_APP, IMCTL(X_SEMICOLON) "q"); + BABLM(BABL_HELP, SS_LSFT(SS_TAP(X_SEMICOLON)) "h"); // start search in help // BABLM( BABL_LOCK, () ); Perhaps VI is not an OS? // BABLM( BABL_SCREENCAPTURE, () ); // capture a buffer? # endif @@ -65,8 +65,8 @@ bool babblePaste_vi(uint16_t keycode) { BABLM(BABL_UNSPLIT_FRAME_VERT, SS_TAP(X_ESCAPE) ":hide"); // debatable. BABLM(BABL_SPLIT_FRAME_HORIZONTAL, SS_TAP(X_ESCAPE) ":vsplit"); BABLM(BABL_UNSPLIT_FRAME_HORIZONTAL, SS_TAP(X_ESCAPE) ":hide"); - BABLM(BABL_NEXT_FRAME, SS_LCTRL("w") "w"); - BABLM(BABL_PREV_FRAME, SS_LCTRL("w") SS_LSFT("w")); + BABLM(BABL_NEXT_FRAME, SS_LCTL("w") "w"); + BABLM(BABL_PREV_FRAME, SS_LCTL("w") SS_LSFT("w")); # endif # endif // app // Todo, ring bell, flash light, show user this isn't supported diff --git a/users/miles2go/babl_windows.c b/users/miles2go/babl_windows.c index e9d8c23dac..e435d1a3af 100644 --- a/users/miles2go/babl_windows.c +++ b/users/miles2go/babl_windows.c @@ -31,10 +31,10 @@ bool babblePaste_win(uint16_t keycode) { BABLM(BABL_GO_PREV_LINE, SS_TAP(X_UP)); BABLM(BABL_GO_PARA_START, IMCTL(X_UP)); BABLM(BABL_GO_PARA_END, IMCTL(X_DOWN)); - BABLM(BABL_PGDN, SS_TAP(X_PGDOWN)); + BABLM(BABL_PGDN, SS_TAP(X_PGDN)); BABLM(BABL_PGUP, SS_TAP(X_PGUP)); BABLM(BABL_DEL_RIGHT_1C, SS_TAP(X_DELETE)); - BABLM(BABL_DEL_LEFT_WORD, IMCTL(X_BSPACE)); + BABLM(BABL_DEL_LEFT_WORD, IMCTL(X_BACKSPACE)); BABLM(BABL_DEL_RIGHT_WORD, IMCTL(X_DELETE)); BABLM(BABL_DEL_TO_LINE_END, IMSFT(X_HOME) SS_TAP(X_DELETE)); BABLM(BABL_DEL_TO_LINE_START, IMSFT(X_END) SS_TAP(X_DELETE)); @@ -42,16 +42,16 @@ bool babblePaste_win(uint16_t keycode) { # endif # ifdef BABL_OSKEYS - BABLM(BABL_UNDO, SS_LCTRL("z")); - BABLM(BABL_REDO, SS_LCTRL("y")); - BABLM(BABL_CUT, SS_LCTRL("x")); - BABLM(BABL_COPY, SS_LCTRL("c")); - BABLM(BABL_PASTE, SS_LCTRL("v")); - BABLM(BABL_SELECT_ALL, SS_LCTRL("a")); - BABLM(BABL_FIND, SS_LCTRL("f")); + BABLM(BABL_UNDO, SS_LCTL("z")); + BABLM(BABL_REDO, SS_LCTL("y")); + BABLM(BABL_CUT, SS_LCTL("x")); + BABLM(BABL_COPY, SS_LCTL("c")); + BABLM(BABL_PASTE, SS_LCTL("v")); + BABLM(BABL_SELECT_ALL, SS_LCTL("a")); + BABLM(BABL_FIND, SS_LCTL("f")); BABLM(BABL_FIND_NEXT, SS_TAP(X_F3)); // BABLM( BABL_FIND_PREV, SS_TAP(X_F3) ); // doesn't have a standard one? - BABLM(BABL_FIND_REPLACE, SS_LCTRL("h")); + BABLM(BABL_FIND_REPLACE, SS_LCTL("h")); BABLM(BABL_RUNAPP, SS_LGUI("r")); BABLM(BABL_SWITCH_APP_NEXT, IMALT(X_TAB)); BABLM(BABL_SWITCH_APP_LAST, OMSFT(IMALT(X_TAB))); @@ -67,22 +67,22 @@ bool babblePaste_win(uint16_t keycode) { # endif # ifdef BABL_BROWSER - BABLM(BABL_BROWSER_NEW_TAB, SS_LCTRL("t")); - BABLM(BABL_BROWSER_CLOSE_TAB, SS_LCTRL("w")); + BABLM(BABL_BROWSER_NEW_TAB, SS_LCTL("t")); + BABLM(BABL_BROWSER_CLOSE_TAB, SS_LCTL("w")); BABLM(BABL_BROWSER_REOPEN_LAST_TAB, OMSFT(IMCTL(X_T))); BABLM(BABL_BROWSER_NEXT_TAB, IMCTL(X_TAB)); BABLM(BABL_BROWSER_PREV_TAB, OMSFT(IMCTL(X_TAB))); - BABLM(BABL_BROWSER_URL_BAR, SS_LCTRL("l")); + BABLM(BABL_BROWSER_URL_BAR, SS_LCTL("l")); BABLM(BABL_BROWSER_FORWARD, IMALT(X_RIGHT)); BABLM(BABL_BROWSER_BACK, OMSFT(IMALT(X_LEFT))); ; - BABLM(BABL_BROWSER_FIND, SS_LCTRL("f")); - BABLM(BABL_BROWSER_BOOKMARK, SS_LCTRL("d")); + BABLM(BABL_BROWSER_FIND, SS_LCTL("f")); + BABLM(BABL_BROWSER_BOOKMARK, SS_LCTL("d")); # ifdef BABL_BROWSER_MS BABLM(BABL_BROWSER_DEV_TOOLS, IMCTL(X_F12)); // EDGE # else - BABLM(BABL_BROWSER_DEV_TOOLS, SS_LCTRL("t")); // Chrome - BABLM(BABL_BROWSER_VIEWSRC, SS_LCTRL("u")); // Chrome or firefox + BABLM(BABL_BROWSER_DEV_TOOLS, SS_LCTL("t")); // Chrome + BABLM(BABL_BROWSER_VIEWSRC, SS_LCTL("u")); // Chrome or firefox # endif // chrome BABLM(BABL_BROWSER_RELOAD, IMCTL(X_F5)); // hard reload w/o cache @@ -109,7 +109,7 @@ bool babblePaste_win(uint16_t keycode) { # endif BABLM(BABL_APP_CENTER_ALIGN, IMALT(X_H) "ac"); // BABLM( BABL_APP_CLEAR_FORMATTING, OMCTL(IMGUI(X_G)) ); // this isn't native. https://support.office.com/en-us/article/Clear-all-text-formatting-C094C4DA-7F09-4CEA-9A8D-C166949C9C80#OfficeVersion=macOS - BABLM(BABL_APP_SCROLL_ACTIVE_CELL, IMCTL(X_BSPACE)); + BABLM(BABL_APP_SCROLL_ACTIVE_CELL, IMCTL(X_BACKSPACE)); BABLM(BABL_NEWLINE_IN_CELL, IMALT(X_ENTER)); BABLM(BABL_INSERT_COMMENT, IMSFT(X_F2)); BABLM(BABL_INSERT_COL_LEFT, OMCTL(IMSFT(X_KP_PLUS))); @@ -121,10 +121,10 @@ bool babblePaste_win(uint16_t keycode) { # ifdef BABL_APP_GOOGLE BABLM(BABL_APP_CENTER_ALIGN, OMSFT(IMCTL(X_E))); - BABLM(BABL_APP_SCROLL_ACTIVE_CELL, IMCTL(X_BSPACE)); + BABLM(BABL_APP_SCROLL_ACTIVE_CELL, IMCTL(X_BACKSPACE)); BABLM(BABL_NEWLINE_IN_CELL, IMALT(X_ENTER)); BABLM(BABL_INSERT_COMMENT, IMSFT(X_F2)); - BABLM(BABL_APP_CLEAR_FORMATTING, IMCTL(X_BSLASH)); + BABLM(BABL_APP_CLEAR_FORMATTING, IMCTL(X_BACKSLASH)); BABLM(BABL_DELETE_ROW, IMALT(X_E) "d"); BABLM(BABL_INSERT_COL_LEFT, OMALT(IMCTL(X_I)) "c"); // o for to the right. BABLM(BABL_INSERT_ROW, IMALT(IMCTL(X_I)) "w"); // r for above. diff --git a/users/miles2go/config.h b/users/miles2go/config.h index 2a1d6504d6..dad7acad10 100644 --- a/users/miles2go/config.h +++ b/users/miles2go/config.h @@ -2,7 +2,16 @@ #ifdef RGBLIGHT_ENABLE #define RGBLIGHT_SLEEP -#undef RGBLIGHT_ANIMATIONS +#undef RGBLIGHT_EFFECT_RAINBOW_MOOD +#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL +#undef RGBLIGHT_EFFECT_SNAKE +#undef RGBLIGHT_EFFECT_KNIGHT +#undef RGBLIGHT_EFFECT_CHRISTMAS +#undef RGBLIGHT_EFFECT_STATIC_GRADIENT +#undef RGBLIGHT_EFFECT_RGB_TEST +#undef RGBLIGHT_EFFECT_ALTERNATING +#undef RGBLIGHT_EFFECT_TWINKLE + #define RGBLIGHT_EFFECT_BREATHING #endif // RGBLIGHT_ENABLE @@ -33,11 +42,11 @@ #define BABL_MODSWAP #define BABL_MOVE // Uncomment to add basic cursor movement #define BABL_OSKEYS // This adds Cut, paste, window movement and common OS shortcuts -#define BABL_BROWSER // Browser shortcuts, with Chrome/Firefox as the default. -// edit the appropriate OS config file to enable Safari, Edge, vimpirator &etc. +#define BABL_BROWSER // Browser shortcuts, with Chrome/Firefox as the default. +// edit the appropriate OS config file to enable Safari, Edge, vimpirator &etc. #define BABL_APP // Application specific settings this has sub-options. #define BABL_APP_CELLS // spreadsheets and tables -#define BABL_APP_EDITOR // Fancy editor commands +#define BABL_APP_EDITOR // Fancy editor commands #define BABL_APP_WINDOWSPLITTING // splitting frames & windows //All OSes diff --git a/users/miles2go/keymaps/handwired/ms_sculpt_mobile/config.h b/users/miles2go/keymaps/handwired/ms_sculpt_mobile/config.h index bedc08fc02..552e98ba2e 100644 --- a/users/miles2go/keymaps/handwired/ms_sculpt_mobile/config.h +++ b/users/miles2go/keymaps/handwired/ms_sculpt_mobile/config.h @@ -14,7 +14,7 @@ #define RGBLIGHT_COLOR_VI 0x00,0x90,0x00 #define RGBLIGHT_COLOR_READMUX 0x33,0xFF,0x33 // green screen #define RGBLIGHT_COLOR_CHROMEOS 0xf4,0xc2,0xd // google yellows -#endif +#endif #endif // bablpaste @@ -29,8 +29,17 @@ #define RGBLIGHT_COLOR_LAYER_2 0xFF, 0x00, 0x00 // symbol #define RGBLIGHT_COLOR_LAYER_3 0x00, 0xFF, 0xFF // move #define RGBLIGHT_COLOR_LAYER_4 0xFF, 0x00, 0xFF // delmove -#define RGBLIGHT_COLOR_LAYER_5 0x00, 0xFF, 0xFF -#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_COLOR_LAYER_5 0x00, 0xFF, 0xFF +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE #define RGB_LIGHT_EFFECT_BREATHE_MAX 200 #define RGBLIGHT_RAINBOW_SWIRL_RANGE 127 #endif // rgblight diff --git a/users/miles2go/milestogo.h b/users/miles2go/milestogo.h index 3a99f6d2a8..c57c0cf7a2 100644 --- a/users/miles2go/milestogo.h +++ b/users/miles2go/milestogo.h @@ -36,8 +36,8 @@ enum userspace_layers { _QWERTY = 0, _CDH, _SYM, _MOV, _DMOV, _NUM }; /* define modifiers here, since MOD_* doesn't seem to work for these */ -#define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) -#define MODS_CTRL_MASK (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTRL)) +#define MODS_SHIFT_MASK (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) +#define MODS_CTRL_MASK (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) #define MODS_ALT_MASK (MOD_BIT(KC_LALT) | MOD_BIT(KC_RALT)) #define MODS_GUI_MASK (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI)) @@ -69,7 +69,7 @@ enum userspace_custom_keycodes { #define QWERTY KC_QWERTY #define COLEMAK KC_CDH -#define KC_RESET RESET +#define KC_RESET QK_BOOT #if (!defined(LAYOUT) && defined(KEYMAP)) # define LAYOUT KEYMAP diff --git a/users/moults31/gdb.c b/users/moults31/gdb.c index 42f5513eca..3b31d94159 100644 --- a/users/moults31/gdb.c +++ b/users/moults31/gdb.c @@ -45,7 +45,7 @@ bool process_record_gdb(uint16_t keycode, keyrecord_t *record) { break; case M_GDB_RESTART: if (record->event.pressed) { - SEND_STRING(SS_LCTRL(SS_LSFT(SS_TAP(X_F5)))); + SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_F5)))); } break; case M_GDB_STOP: diff --git a/users/moults31/obs.c b/users/moults31/obs.c index 0ae5f3deb4..a0d2ee5496 100644 --- a/users/moults31/obs.c +++ b/users/moults31/obs.c @@ -17,7 +17,7 @@ bool process_record_obs(uint16_t keycode, keyrecord_t *record) { // Apply all 4 mods for custom OBS macros - register_code(KC_LSHIFT); + register_code(KC_LSFT); register_code(KC_LCTL); register_code(KC_LALT); register_code(KC_LGUI); @@ -71,7 +71,7 @@ bool process_record_obs(uint16_t keycode, keyrecord_t *record) { } // Unpress all 4 mods for custom OBS macros - unregister_code(KC_LSHIFT); + unregister_code(KC_LSFT); unregister_code(KC_LCTL); unregister_code(KC_LALT); unregister_code(KC_LGUI); diff --git a/users/moults31/vscode.c b/users/moults31/vscode.c index a2fcf062dc..7900e20431 100644 --- a/users/moults31/vscode.c +++ b/users/moults31/vscode.c @@ -21,67 +21,67 @@ bool process_record_vsc(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case M_VSC_TERMFOCUS: if (record->event.pressed) { - SEND_STRING(SS_LCTRL("`")); + SEND_STRING(SS_LCTL("`")); } break; case M_VSC_SIDEBARFOCUS: if (record->event.pressed) { - SEND_STRING(SS_LCTRL("0")); + SEND_STRING(SS_LCTL("0")); } break; case M_VSC_SIDEBARCLOSE: if (record->event.pressed) { - SEND_STRING(SS_LCTRL("b")); + SEND_STRING(SS_LCTL("b")); } break; case M_VSC_FILECLOSE: if (record->event.pressed) { - SEND_STRING(SS_LCTRL("w")); + SEND_STRING(SS_LCTL("w")); } break; case M_VSC_FILENXT: if (record->event.pressed) { - SEND_STRING(SS_DOWN(X_LCTRL) SS_TAP(X_K) SS_TAP(X_PGDOWN) SS_UP(X_LCTRL)); + SEND_STRING(SS_DOWN(X_LEFT_CTRL) SS_TAP(X_K) SS_TAP(X_PAGE_DOWN) SS_UP(X_LEFT_CTRL)); } break; case M_VSC_FILEPRV: if (record->event.pressed) { - SEND_STRING(SS_DOWN(X_LCTRL) SS_TAP(X_K) SS_TAP(X_PGUP) SS_UP(X_LCTRL)); + SEND_STRING(SS_DOWN(X_LEFT_CTRL) SS_TAP(X_K) SS_TAP(X_PGUP) SS_UP(X_LEFT_CTRL)); } break; case M_VSC_DBGCNSLFOCUS: if (record->event.pressed) { - SEND_STRING(SS_LCTRL(SS_LALT(SS_TAP(X_D)))); + SEND_STRING(SS_LCTL(SS_LALT(SS_TAP(X_D)))); } break; case M_VSC_MVEDTRNXTGRP: if (record->event.pressed) { - SEND_STRING(SS_LCTRL(SS_LALT(SS_TAP(X_RIGHT)))); + SEND_STRING(SS_LCTL(SS_LALT(SS_TAP(X_RIGHT)))); } break; case M_VSC_MVEDTRPRVGRP: if (record->event.pressed) { - SEND_STRING(SS_LCTRL(SS_LALT(SS_TAP(X_LEFT)))); + SEND_STRING(SS_LCTL(SS_LALT(SS_TAP(X_LEFT)))); } break; case M_VSC_EDGRPNXT: if (record->event.pressed) { - SEND_STRING(SS_LCTRL(SS_LALT(SS_TAP(X_L)))); + SEND_STRING(SS_LCTL(SS_LALT(SS_TAP(X_L)))); } break; case M_VSC_EDGRPPRV: if (record->event.pressed) { - SEND_STRING(SS_LCTRL(SS_LALT(SS_TAP(X_K)))); + SEND_STRING(SS_LCTL(SS_LALT(SS_TAP(X_K)))); } break; case M_VSC_VIEWSIZEINC: if (record->event.pressed) { - SEND_STRING(SS_LCTRL(SS_LALT(SS_TAP(X_P)))); + SEND_STRING(SS_LCTL(SS_LALT(SS_TAP(X_P)))); } break; case M_VSC_VIEWSIZEDEC: if (record->event.pressed) { - SEND_STRING(SS_LCTRL(SS_LALT(SS_TAP(X_O)))); + SEND_STRING(SS_LCTL(SS_LALT(SS_TAP(X_O)))); } break; } diff --git a/users/mtdjr/config.h b/users/mtdjr/config.h deleted file mode 100644 index 9769ebc18a..0000000000 --- a/users/mtdjr/config.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef USERSPACE_CONFIG_H -#define USERSPACE_CONFIG_H - -// Put normal config.h settings here: -#define TAPPING_TERM 250 - -#endif // !USERSPACE_CONFIG_H diff --git a/users/mtdjr/mtdjr.c b/users/mtdjr/mtdjr.c deleted file mode 100644 index cd67bf3b5f..0000000000 --- a/users/mtdjr/mtdjr.c +++ /dev/null @@ -1,163 +0,0 @@ -#include "mtdjr.h" - -#ifdef SOLENOID_ENABLE - #include "solenoid.h" -#endif - -#ifndef RGB_MODE - #define RGB_MODE 2 -#endif -#ifndef RGB_HUE - #define RGB_HUE 285 -#endif - -// Tap Dance Definitions -qk_tap_dance_action_t tap_dance_actions[] = { - [TD_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_ESC), - [TD_ALTLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_RALT, LGUI(KC_L)), - [TD_ENDLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_END, LGUI(KC_L)), - [TD_PRINT] = ACTION_TAP_DANCE_DOUBLE(LGUI(LSFT(KC_3)), LGUI(LSFT(KC_4))), -}; - -// Macros -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - if (record->event.pressed) { - switch(id) { - case ROOT: - SEND_STRING("sudo su -\n"); - return false; break; - case PPLY: - SEND_STRING("puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp\n"); - return false; break; - case PSEF: - SEND_STRING("ps -ef | grep "); - return false; break; - } - } - return MACRO_NONE; -}; - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - rgblight_enable_noeeprom(); - rgblight_mode_noeeprom(RGB_MODE); - rgblight_sethsv (RGB_HUE, 255, 255); - #endif - #ifdef SOLENOID_ENABLE - solenoid_setup(); - #endif -} - -void matrix_scan_user(void) { - #ifdef SOLENOID_ENABLE - solenoid_check(); - #endif -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - #ifdef SOLENOID_ENABLE - if (record->event.pressed) { - solenoid_fire(); - } - #endif - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_ADJUST); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case SOLENOID_TOG: - #ifdef SOLENOID_ENABLE - if (record->event.pressed) { - solenoid_toggle(); - } - #endif - break; - case SOLENOID_DWELL_MINUS: - #ifdef SOLENOID_ENABLE - if (record->event.pressed) { - solenoid_dwell_minus(); - } - #endif - break; - case SOLENOID_DWELL_PLUS: - #ifdef SOLENOID_ENABLE - if (record->event.pressed) { - solenoid_dwell_plus(); - } - #endif - break; - case SOLENOID_BUZZ_ON: - #ifdef SOLENOID_ENABLE - if (record->event.pressed) { - solenoid_buzz_on(); - } - #endif - break; - case SOLENOID_BUZZ_OFF: - #ifdef SOLENOID_ENABLE - if (record->event.pressed) { - solenoid_buzz_off(); - } - #endif - break; - } - return true; -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - switch (get_highest_layer(state)) { - case _RAISE: - #ifdef RGBLIGHT_ENABLE - rgblight_sethsv_noeeprom (240, 255, 255); - #endif - break; - case _LOWER: - #ifdef RGBLIGHT_ENABLE - rgblight_sethsv_noeeprom (0, 255, 255); - #endif - break; - case _ADJUST: - #ifdef RGBLIGHT_ENABLE - rgblight_sethsv_noeeprom (0, 0, 255); - #endif - break; - default: - #ifdef RGBLIGHT_ENABLE - rgblight_sethsv_noeeprom (RGB_HUE, 255, 255); - #endif - break; - } - return state; -} diff --git a/users/mtdjr/mtdjr.h b/users/mtdjr/mtdjr.h deleted file mode 100644 index 4d0b046fc3..0000000000 --- a/users/mtdjr/mtdjr.h +++ /dev/null @@ -1,99 +0,0 @@ -#ifndef USERSPACE -#define USERSPACE - -#include "quantum.h" - -// Layers -enum user_enum { - // Layers - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - SUPER, - ADJUST, - // Solenoid - SOLENOID_TOG, - SOLENOID_DWELL_MINUS, - SOLENOID_DWELL_PLUS, - SOLENOID_BUZZ_ON, - SOLENOID_BUZZ_OFF, -}; - -// Macro / Send String -enum user_macros { - ROOT, - PPLY, - PSEF, -}; - -// TapDance -enum user_tapdance { - TD_ENDLOCK, - TD_ALTLOCK, - TD_PRINT, - TD_ESC, -}; - - -// Layers -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 -#define _SUPER 3 -#define _ADJUST 16 - -// Macros -#define KC_ROOT M(ROOT) -#define KC_PPLY M(PPLY) -#define KC_PSEF M(PSEF) - -// Tapdance -#define KC_EXC TD(TD_ESC) -#define KC_ELCK TD(TD_ENDLOCK) -#define KC_ALCK TD(TD_ALTLOCK) -#define KC_MPNT TD(TD_PRINT) - -// Custom Keycodes -#define KC_ KC_TRNS -#define KC_xxxx KC_NO -#define KC_LOWR LOWER -#define KC_RASE RAISE -#define KC_SUPR SUPER -#define KC_RST RESET - -// Key Combos -#define KC_XCPY LCTL(KC_INS) -#define KC_XINS LSFT(KC_INS) -#define KC_CAD LCTL(LALT(KC_DEL)) -#define KC_XCAD LCTL(LALT(KC_DEL)) -#define KC_XLCK LGUI(KC_L) - -// Solenoid -#define KC_STOG SOLENOID_TOG -#define KC_SDM SOLENOID_DWELL_MINUS -#define KC_SDP SOLENOID_DWELL_PLUS -#define KC_SBON SOLENOID_BUZZ_ON -#define KC_SBOF SOLENOID_BUZZ_OFF - -// RGB and Backlighting -#define KC_RGB RGB_TOG -#define KC_RHUI RGB_HUI -#define KC_RHUD RGB_HUD -#define KC_RSAI RGB_SAI -#define KC_RSAD RGB_SAD -#define KC_RVAI RGB_VAI -#define KC_RVAD RGB_VAD -#define KC_MOD RGB_MOD -#define KC_RMOD RGB_RMOD -#define KC_RPLN RGB_M_P -#define KC_RBTH RGB_M_B -#define KC_BLT BL_TOGG -#define KC_BLS BL_STEP -#define KC_BLI BL_INC -#define KC_BLD BL_DEC -#define KC_BLB BL_BRTG -#define KC_BLON BL_ON -#define KC_BLOF BL_OFF - - -#endif diff --git a/users/mtdjr/readme.md b/users/mtdjr/readme.md deleted file mode 100644 index e795ee23a5..0000000000 --- a/users/mtdjr/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -Copyright 2018 @mtdjr - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -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. - -You should have received a copy of the GNU General Public License -along with this program. If not, see <http://www.gnu.org/licenses/>. diff --git a/users/mtdjr/rules.mk b/users/mtdjr/rules.mk deleted file mode 100644 index 6eec4b5b85..0000000000 --- a/users/mtdjr/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -SRC += mtdjr.c -TAP_DANCE_ENABLE = yes diff --git a/users/mtdjr/solenoid.h b/users/mtdjr/solenoid.h deleted file mode 100644 index 4ef329b4ad..0000000000 --- a/users/mtdjr/solenoid.h +++ /dev/null @@ -1,98 +0,0 @@ -#ifndef SOLENOID_H -#define SOLENOID_H - -#include <timer.h> - - -#define SOLENOID_DEFAULT_DWELL 12 -#define SOLENOID_MAX_DWELL 100 -#define SOLENOID_MIN_DWELL 4 -#ifndef SOLENOID_ACTIVE - #define SOLENOID_ACTIVE false -#endif -#ifndef SOLENOID_PIN - #define SOLENOID_PIN F6 -#endif - - -bool solenoid_enabled = SOLENOID_ACTIVE; -bool solenoid_on = false; -bool solenoid_buzz = false; -bool solenoid_buzzing = false; -uint16_t solenoid_start = 0; -uint8_t solenoid_dwell = SOLENOID_DEFAULT_DWELL; - - -void solenoid_buzz_on(void) { - solenoid_buzz = true; -} - -void solenoid_buzz_off(void) { - solenoid_buzz = false; -} - -void solenoid_dwell_minus(void) { - if (solenoid_dwell > 0) solenoid_dwell--; -} - -void solenoid_dwell_plus(void) { - if (solenoid_dwell < SOLENOID_MAX_DWELL) solenoid_dwell++; -} - -void solenoid_toggle(void) { - solenoid_enabled = !solenoid_enabled; -} - -void solenoid_stop(void) { - writePinLow(SOLENOID_PIN); - solenoid_on = false; - solenoid_buzzing = false; -} - -void solenoid_fire(void) { - if (!solenoid_enabled) return; - - if (!solenoid_buzz && solenoid_on) return; - if (solenoid_buzz && solenoid_buzzing) return; - - solenoid_on = true; - solenoid_buzzing = true; - solenoid_start = timer_read(); - writePinHigh(SOLENOID_PIN); -} - -void solenoid_check(void) { - uint16_t elapsed = 0; - - if (!solenoid_on) return; - - elapsed = timer_elapsed(solenoid_start); - - //Check if it's time to finish this solenoid click cycle - if (elapsed > solenoid_dwell) { - solenoid_stop(); - return; - } - - //Check whether to buzz the solenoid on and off - if (solenoid_buzz) { - if (elapsed / SOLENOID_MIN_DWELL % 2 == 0){ - if (!solenoid_buzzing) { - solenoid_buzzing = true; - writePinHigh(SOLENOID_PIN); - } - } - else { - if (solenoid_buzzing) { - solenoid_buzzing = false; - writePinLow(SOLENOID_PIN); - } - } - } -} - -void solenoid_setup(void) { - setPinOutput(SOLENOID_PIN); -} - -#endif diff --git a/users/mtei/config.h b/users/mtei/config.h index b245d7cff2..77074357e8 100644 --- a/users/mtei/config.h +++ b/users/mtei/config.h @@ -6,7 +6,6 @@ #pragma once // Selection of RGBLIGHT MODE to use. -#undef RGBLIGHT_ANIMATIONS #undef RGBLIGHT_EFFECT_BREATHING #undef RGBLIGHT_EFFECT_RAINBOW_MOOD #undef RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -16,6 +15,7 @@ #undef RGBLIGHT_EFFECT_STATIC_GRADIENT #undef RGBLIGHT_EFFECT_RGB_TEST #undef RGBLIGHT_EFFECT_ALTERNATING +#undef RGBLIGHT_EFFECT_TWINKLE #if defined(LED_ANIMATIONS) # if LED_ANIMATIONS_LEVEL > 1 diff --git a/users/muppetjones/config.h b/users/muppetjones/config.h index e8afa9d8c5..3dd4d1b1b6 100644 --- a/users/muppetjones/config.h +++ b/users/muppetjones/config.h @@ -17,7 +17,6 @@ #pragma once #ifdef RGBLIGHT_ENABLE -// # define RGBLIGHT_ANIMATIONS # define RGBLIGHT_HUE_STEP 8 # define RGBLIGHT_SAT_STEP 16 # define RGBLIGHT_VAL_STEP 16 diff --git a/users/muppetjones/muppetjones.c b/users/muppetjones/muppetjones.c index 55051bdbcd..c4cb02124a 100644 --- a/users/muppetjones/muppetjones.c +++ b/users/muppetjones/muppetjones.c @@ -45,11 +45,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; - case CAPSWRD: - if (record->event.pressed) { - toggle_caps_word(); - } - return false; default: break; } diff --git a/users/muppetjones/muppetjones.h b/users/muppetjones/muppetjones.h index f5b2a3a465..3ada6c8198 100644 --- a/users/muppetjones/muppetjones.h +++ b/users/muppetjones/muppetjones.h @@ -52,5 +52,4 @@ enum userspace_layers { enum custom_keycodes { CLMK_DH = SAFE_RANGE, QWERTY, - CAPSWRD, }; diff --git a/users/muppetjones/readme/rgblayers.md b/users/muppetjones/readme/rgblayers.md index fb69800177..862ba75941 100644 --- a/users/muppetjones/readme/rgblayers.md +++ b/users/muppetjones/readme/rgblayers.md @@ -14,7 +14,6 @@ This bit of code allows you to define layer lighting that respects your current ``` #ifdef RGBLIGHT_ENABLE - // # define RGBLIGHT_ANIMATIONS # define RGBLIGHT_HUE_STEP 8 # define RGBLIGHT_SAT_STEP 16 # define RGBLIGHT_VAL_STEP 16 diff --git a/users/muppetjones/wrappers.h b/users/muppetjones/wrappers.h index 301554f5d5..9bcf81857c 100644 --- a/users/muppetjones/wrappers.h +++ b/users/muppetjones/wrappers.h @@ -65,7 +65,7 @@ * `----------------------------------' `----------------------------------' */ // NOTE: The "BACKLIT" keycode is planck specific -#define __ADJUST_L1________________________________ RESET, DEBUG, XXXXXXX, TERM_ON, TERM_OFF +#define __ADJUST_L1________________________________ QK_BOOT, DB_TOGG, XXXXXXX, XXXXXXX, XXXXXXX #define __ADJUST_L2________________________________ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD #define __ADJUST_L3________________________________ XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX @@ -140,19 +140,19 @@ */ // Not sure why, but this does not work (possibly due to the lowercase 's'?) // #ifdef MIDI_ADVANCED -// #define __GUITAR_1E_L______________________________ MI_E_1, MI_F_1, MI_Fs_1, MI_G_1, MI_Gs_1 -// #define __GUITAR_2A_L______________________________ MI_A_1, MI_As_1, MI_B_1, MI_C_2, MI_Cs_2 -// #define __GUITAR_3D_L______________________________ MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2 -// #define __GUITAR_4G_L______________________________ MI_G_2, MI_Gs_2, MI_A_2, MI_As_2, MI_B_2 -// #define __GUITAR_5B_L______________________________ MI_B_2, MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3 -// #define __GUITAR_6E_L______________________________ MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3 +// #define __GUITAR_1E_L______________________________ MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1 +// #define __GUITAR_2A_L______________________________ MI_A1, MI_As1, MI_B1, MI_C2, MI_Cs2 +// #define __GUITAR_3D_L______________________________ MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2 +// #define __GUITAR_4G_L______________________________ MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2 +// #define __GUITAR_5B_L______________________________ MI_B2, MI_C3, MI_Cs3, MI_D3, MI_Ds3 +// #define __GUITAR_6E_L______________________________ MI_E3, MI_F3, MI_Fs3, MI_G3, MI_Gs3 // -// #define __GUITAR_1E_R______________________________ MI_A_1, MI_As_1, MI_B_1, MI_C_2, MI_Cs_2 -// #define __GUITAR_2A_R______________________________ MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2 -// #define __GUITAR_3D_R______________________________ MI_G_2, MI_Gs_2, MI_A_2, MI_As_2, MI_B_2 -// #define __GUITAR_4G_R______________________________ MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3, MI_E_3 -// #define __GUITAR_5B_R______________________________ MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3 -// #define __GUITAR_6E_R______________________________ MI_A_3, MI_As_3, MI_B_3, MI_C_4, MI_Cs_4 +// #define __GUITAR_1E_R______________________________ MI_A1, MI_As1, MI_B1, MI_C2, MI_Cs2 +// #define __GUITAR_2A_R______________________________ MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2 +// #define __GUITAR_3D_R______________________________ MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2 +// #define __GUITAR_4G_R______________________________ MI_C3, MI_Cs3, MI_D3, MI_Ds3, MI_E3 +// #define __GUITAR_5B_R______________________________ MI_E3, MI_F3, MI_Fs3, MI_G3, MI_Gs3 +// #define __GUITAR_6E_R______________________________ MI_A3, MI_As3, MI_B3, MI_C4, MI_Cs4 // #endif diff --git a/users/ninjonas/ninjonas.h b/users/ninjonas/ninjonas.h index 94b4712a63..01df7c6b12 100644 --- a/users/ninjonas/ninjonas.h +++ b/users/ninjonas/ninjonas.h @@ -97,7 +97,7 @@ uint16_t encoder_rotated_timer; #define _____________________LOWER_R2_______________________ _______________NAV_2______________, K_LOCK, XXXXXXX #define _____________________LOWER_R3_______________________ T_RBRC, KC_M, M_TERM, M_CODE, M_XXX1, M_PYNV -#define _____________________ADJUST_L1______________________ M_MAKE, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX +#define _____________________ADJUST_L1______________________ M_MAKE, EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX #if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) #define _____________________ADJUST_L2______________________ M_VRSN, M_MALL, RGB_SPI, RGB_SAI, RGB_HUI, RGB_VAI @@ -132,8 +132,8 @@ uint16_t encoder_rotated_timer; #define _____________MOD_RIGHT____________ LT_LOW, KC_BSPC, MT_DEL, T_CPAP #define _________MEDIA_1_________ KC_BRIU, KC_MPLY, KC_MUTE -#define _________MEDIA_2_________ KC_BRID, KC_MFFD, KC__VOLUP -#define _________MEDIA_3_________ XXXXXXX, KC_MRWD, KC__VOLDOWN +#define _________MEDIA_2_________ KC_BRID, KC_MFFD, KC_VOLU +#define _________MEDIA_3_________ XXXXXXX, KC_MRWD, KC_VOLD #if defined(KEYBOARD_crkbd_rev1) || defined(KEYBOARD_kyria_rev1) #define ________MOD_LEFT_________ T_GUI, KC_LCTL, LT_RAI diff --git a/users/not-quite-neo/nqn-basic-layout.h b/users/not-quite-neo/nqn-basic-layout.h index d1b9a1c477..71db9d379b 100644 --- a/users/not-quite-neo/nqn-basic-layout.h +++ b/users/not-quite-neo/nqn-basic-layout.h @@ -118,7 +118,7 @@ The naming convention for these blocks is #define L06_LEFT_03 KC_F9, KC_F10, KC_F11, KC_F12, _______ #define L06_RIGHT_01 KC_MAIL, KC_MSEL, KC_MY_COMPUTER, KC_CALCULATOR, N_PASTE #define L06_RIGHT_02 KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, N_COPY -#define L06_RIGHT_03 KC_PSCR, KC_SLCK, KC_PAUS, KC_NLCK, N_CUT +#define L06_RIGHT_03 KC_PSCR, KC_SCRL, KC_PAUS, KC_NUM, N_CUT #endif diff --git a/users/not-quite-neo/nqn-keys-on-quertz-de-latin1.h b/users/not-quite-neo/nqn-keys-on-quertz-de-latin1.h index 8276cf207f..f5ab1631a7 100644 --- a/users/not-quite-neo/nqn-keys-on-quertz-de-latin1.h +++ b/users/not-quite-neo/nqn-keys-on-quertz-de-latin1.h @@ -23,7 +23,7 @@ Additionally, there are some common chars that we dit not yet define: // NQN key definitions in no particular order -#define N_LT KC_NONUS_BSLASH +#define N_LT KC_NONUS_BACKSLASH #define N_HS KC_NONUS_HASH #define N_DOTS RALT(KC_DOT) // … #define N_USC LSFT(KC_SLASH) // _ @@ -31,7 +31,7 @@ Additionally, there are some common chars that we dit not yet define: #define N_RSQBR RALT(KC_9) // ] #define N_CIRC KC_GRAVE // ^ #define N_EXKL LSFT(KC_1) // ! -#define N_GT LSFT(KC_NONUS_BSLASH) // > +#define N_GT LSFT(KC_NONUS_BACKSLASH) // > #define N_EQ LSFT(KC_0) // = #define N_AMP LSFT(KC_6) // & #define N_BSLS RALT(KC_MINS) // \ backslash @@ -44,23 +44,23 @@ Additionally, there are some common chars that we dit not yet define: #define N_RPARN LSFT(KC_9) // ) #define N_MINS KC_SLASH // - #define N_COLN LSFT(KC_DOT) // : -#define N_HASH KC_BSLASH // # +#define N_HASH KC_BACKSLASH // # #define N_DLR LSFT(KC_4) // $ -#define N_PIPE RALT(KC_NONUS_BSLASH) // | +#define N_PIPE RALT(KC_NONUS_BACKSLASH) // | #define N_TILD RALT(KC_RBRC) // ~ #define N_GRAVE LSFT(KC_EQUAL) // ` #define N_PLUS KC_RBRC // + #define N_PERC LSFT(KC_5) // % #define N_QUOT LSFT(KC_2) // " -#define N_SING LSFT(KC_BSLASH) // ' +#define N_SING LSFT(KC_BACKSLASH) // ' #define N_SEMI LSFT(KC_COMM) // ; #define N_EURO RALT(KC_E) // € #define N_AT RALT(KC_Q) // @ #define N_Z KC_Y #define N_Y KC_Z #define N_AE KC_QUOTE // ä -#define N_OE KC_SCOLON // ö -#define N_UE KC_LBRACKET // ü +#define N_OE KC_SCLN // ö +#define N_UE KC_LBRC // ü #define N_MU RALT(KC_M) // µ #define N_SS KC_MINS // ß #define N_DEGRE LSFT(KC_GRAVE) // ° diff --git a/users/nstickney/nstickney.c b/users/nstickney/nstickney.c index 8222e7289d..94453ec340 100644 --- a/users/nstickney/nstickney.c +++ b/users/nstickney/nstickney.c @@ -38,13 +38,13 @@ void dance_lock_finished(qk_tap_dance_state_t *state, void *user_data) { register_code(KC_LGUI); break; case 2: - register_code(KC_NLCK); + register_code(KC_NUM); break; case 3: register_code(KC_CAPS); break; case 4: - register_code(KC_SLCK); + register_code(KC_SCRL); break; default: break; @@ -57,13 +57,13 @@ void dance_lock_reset(qk_tap_dance_state_t *state, void *user_data) { unregister_code(KC_LGUI); break; case 2: - register_code(KC_NLCK); + register_code(KC_NUM); break; case 3: register_code(KC_CAPS); break; case 4: - register_code(KC_SLCK); + register_code(KC_SCRL); break; default: break; diff --git a/users/nstickney/readme.md b/users/nstickney/readme.md index b62264d687..fbd86bc607 100644 --- a/users/nstickney/readme.md +++ b/users/nstickney/readme.md @@ -38,7 +38,7 @@ Note that my Iris keyboard has an Elite-C on the left half and a ProMicro on the * `PRINT SCREEN`, `PAUSE`, `SYSREQ`, `INSERT`, and `CLEAR` also mapped, as intelligently as possible. * `Q` toggles the RGB underglow (which changes color to indicate active layer). * `A` increases RGB underglow brightness (with `SHIFT`, decreases brightness). - * `Y` is mapped to [`KC_LOCK`](https://beta.docs.qmk.fm/using-qmk/software-features/feature_key_lock). + * `Y` is mapped to [`QK_LOCK`](https://beta.docs.qmk.fm/using-qmk/software-features/feature_key_lock). ## Contribute diff --git a/users/pcoves/.gitignore b/users/pcoves/.gitignore deleted file mode 100644 index c0579ed329..0000000000 --- a/users/pcoves/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -secret.h -secret.c diff --git a/users/pcoves/combo.c b/users/pcoves/combo.c deleted file mode 100644 index a9a1ffe988..0000000000 --- a/users/pcoves/combo.c +++ /dev/null @@ -1,44 +0,0 @@ -#include "quantum.h" - -enum { - MIN, - EQL, - - ESC, - BSP, - DEL, - - TAB, - BSL, - - CUT, - GRA, -}; - -const uint16_t PROGMEM min[] = {KC_C, KC_V, COMBO_END}; -const uint16_t PROGMEM eql[] = {KC_M, KC_COMM, COMBO_END}; - -const uint16_t PROGMEM esc[] = {KC_D, KC_F, COMBO_END}; -const uint16_t PROGMEM bsp[] = {KC_J, KC_K, COMBO_END}; -const uint16_t PROGMEM del[] = {KC_DOWN, KC_UP, COMBO_END}; - -const uint16_t PROGMEM tab[] = {KC_S, KC_F, COMBO_END}; -const uint16_t PROGMEM bsl[] = {KC_J, KC_L, COMBO_END}; - -const uint16_t PROGMEM cut[] = {KC_K, KC_L, COMBO_END}; -const uint16_t PROGMEM gra[] = {KC_S, KC_D, COMBO_END}; - -combo_t key_combos[COMBO_COUNT] = { - [MIN] = COMBO(min, KC_MINS), - [EQL] = COMBO(eql, KC_EQL), - - [ESC] = COMBO(esc, KC_ESC), - [BSP] = COMBO(bsp, KC_BSPC), - [DEL] = COMBO(del, KC_DEL), - - [TAB] = COMBO(tab, KC_TAB), - [BSL] = COMBO(bsl, KC_BSLS), - - [CUT] = COMBO(cut, KC_QUOT), - [GRA] = COMBO(gra, KC_GRAVE), -}; diff --git a/users/pcoves/config.h b/users/pcoves/config.h deleted file mode 100644 index 645dcbbf4c..0000000000 --- a/users/pcoves/config.h +++ /dev/null @@ -1,2 +0,0 @@ -#define COMBO_TERM 200 -#define COMBO_COUNT 9 diff --git a/users/pcoves/pcoves.c b/users/pcoves/pcoves.c deleted file mode 100644 index af5b987a6f..0000000000 --- a/users/pcoves/pcoves.c +++ /dev/null @@ -1,44 +0,0 @@ -#include "pcoves.h" - -#ifdef RAINBOW_UNICORN_ENABLE -#include "rainbowUnicorn.h" -#endif - -#ifdef UNICODE_ENABLE -#include "unicode.h" -#endif - -#if SECRET_ENABLE -#include "secret.h" -#endif - -__attribute__((weak)) void eeconfig_init_keymap(void) {} - -void eeconfig_init_user(void) { -#ifdef UNICODE_ENABLE - set_unicode_input_mode(UC_LNX); -#endif - eeconfig_init_keymap(); -} - -__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; } - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case AUTRUCHE: - if (record->event.pressed) SEND_STRING("Autruche"); - return true; - } - - return process_record_keymap(keycode, record) -#ifdef RAINBOW_UNICORN_ENABLE - && process_record_rainbowUnicorn(keycode, record) -#endif -#ifdef UNICODE_ENABLE - && process_record_unicode(keycode, record) -#endif -#if SECRET_ENABLE - && process_record_secret(keycode, record) -#endif - ; -} diff --git a/users/pcoves/pcoves.h b/users/pcoves/pcoves.h deleted file mode 100644 index 10dfc56bd3..0000000000 --- a/users/pcoves/pcoves.h +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "quantum.h" - -#define SECRET_ENABLE (__has_include("secret.h") && !defined(NO_SECRET)) - -enum { - AUTRUCHE = SAFE_RANGE, -#ifdef RAINBOW_UNICORN_ENABLE - RAINBOW_UNICORN_TOGGLE, -#endif -#ifdef UNICODE_ENABLE - EMOTE0, - EMOTE1, - EMOTE2, - EMOTE3, -#endif -#if SECRET_ENABLE - SECRET0, - SECRET1, - SECRET2, - SECRET3, - SECRET4, -#endif - PCOVES_SAFE_RANGE, -}; - -__attribute__((weak)) void eeconfig_init_keymap(void); -void eeconfig_init_user(void); - -__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record); -bool process_record_user(uint16_t keycode, keyrecord_t *record); diff --git a/users/pcoves/rainbowUnicorn.c b/users/pcoves/rainbowUnicorn.c deleted file mode 100644 index 9520415051..0000000000 --- a/users/pcoves/rainbowUnicorn.c +++ /dev/null @@ -1,42 +0,0 @@ -#include "rainbowUnicorn.h" -#include "pcoves.h" - -static struct { - bool enabled; - uint8_t color; - char string[2]; - uint8_t mods; -} state = {false, 0}; - -bool process_record_rainbowUnicorn(uint16_t keycode, keyrecord_t* record) { - if (keycode == RAINBOW_UNICORN_TOGGLE) { - state.enabled ^= true; - return false; - } - - if (!state.enabled) return true; - - switch (keycode) { - case KC_A ... KC_Z: - case KC_1 ... KC_0: - case ALT_T(KC_A)... ALT_T(KC_Z): - case CTL_T(KC_A)... CTL_T(KC_Z): - case GUI_T(KC_A)... GUI_T(KC_Z): - case SFT_T(KC_A)... SFT_T(KC_Z): - if (record->event.pressed) { - state.mods = get_mods(); - clear_mods(); - - tap_code16(C(KC_C)); - - itoa(state.color + 3, state.string, 10); - send_string(state.string); - - set_mods(state.mods); - } else { - state.color = (state.color + 1) % 11; - } - } - - return true; -} diff --git a/users/pcoves/rainbowUnicorn.h b/users/pcoves/rainbowUnicorn.h deleted file mode 100644 index 0c709b4b7a..0000000000 --- a/users/pcoves/rainbowUnicorn.h +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -#include "quantum.h" - -__attribute__((weak)) bool process_record_rainbowUnicorn(uint16_t keycode, keyrecord_t* keyrecord); diff --git a/users/pcoves/readme.md b/users/pcoves/readme.md deleted file mode 100644 index 1d076d92f6..0000000000 --- a/users/pcoves/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -Copyright 2020 @pcoves - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -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. - -You should have received a copy of the GNU General Public License -along with this program. If not, see <http://www.gnu.org/licenses/>. diff --git a/users/pcoves/rules.mk b/users/pcoves/rules.mk deleted file mode 100644 index 400497b151..0000000000 --- a/users/pcoves/rules.mk +++ /dev/null @@ -1,30 +0,0 @@ -SRC += pcoves.c - -RAINBOW_UNICORN_ENABLE ?= no -ifneq ($(strip $(RAINBOW_UNICORN_ENABLE)), no) - SRC += rainbowUnicorn.c - OPT_DEFS += -DRAINBOW_UNICORN_ENABLE -endif - -ifeq ($(strip $(TAP_DANCE_ENABLE)), yes) - SRC += tapDance.c -endif - -ifeq ($(strip $(COMBO_ENABLE)), yes) - SRC += combo.c -endif - -ifeq ($(strip $(UNICODE_ENABLE)), yes) - SRC += unicode.c - OPT_DEFS += -DUNICODE_ENABLE -endif - -ifneq ($(strip $(NO_SECRET)), yes) - ifneq ("$(wildcard $(USER_PATH)/secret.c)","") - SRC += secret.c - else - OPT_DEFS += -DNO_SECRET - endif -else - OPT_DEFS += -DNO_SECRET -endif diff --git a/users/pcoves/tapDance.c b/users/pcoves/tapDance.c deleted file mode 100644 index f8c9aaf466..0000000000 --- a/users/pcoves/tapDance.c +++ /dev/null @@ -1,127 +0,0 @@ -#include "tapDance.h" - -#include "quantum.h" - -void left(qk_tap_dance_state_t* state, void* user_data) { - switch (state->count) { - case 1: - if (state->pressed) - tap_code16(S(KC_LBRACKET)); - else - tap_code16(S(KC_9)); - break; - case 2: - if (state->pressed) - tap_code16(S(KC_COMM)); - else - tap_code(KC_LBRACKET); - break; - default: - reset_tap_dance(state); - } -} - -void right(qk_tap_dance_state_t* state, void* user_data) { - switch (state->count) { - case 1: - if (state->pressed) - tap_code16(S(KC_RBRACKET)); - else - tap_code16(S(KC_0)); - break; - case 2: - if (state->pressed) - tap_code16(S(KC_DOT)); - else - tap_code(KC_RBRACKET); - break; - default: - reset_tap_dance(state); - } -} - -enum { REST, HOLD1, HOLD2, HOLD3 }; - -static int Alt = REST; -void altFinish(qk_tap_dance_state_t* state, void* user_data) { - switch (state->count) { - case 1: - if (state->pressed) { - register_code(KC_LALT); - Alt = HOLD1; - } - break; - case 2: - if (state->pressed) { - register_code(KC_RALT); - Alt = HOLD2; - } - break; - case 3: - if (state->pressed) { - register_code(KC_RALT); - register_code(KC_RSHIFT); - Alt = HOLD3; - } - break; - default: - reset_tap_dance(state); - } -} - -void altReset(qk_tap_dance_state_t* state, void* user_data) { - switch (Alt) { - case HOLD1: - unregister_code(KC_LALT); - break; - case HOLD2: - unregister_code(KC_RALT); - break; - case HOLD3: - unregister_code(KC_RSHIFT); - unregister_code(KC_RALT); - break; - } - Alt = REST; -} - -static int Ctrl = REST; -void ctrlFinish(qk_tap_dance_state_t* state, void* user_data) { - switch (state->count) { - case 1: - if (state->pressed) { - register_code(KC_LCTL); - Ctrl = HOLD1; - } else { - tap_code(KC_ESC); - } - break; - case 2: - if (state->pressed) { - register_code(KC_LGUI); - Ctrl = HOLD2; - } - break; - default: - reset_tap_dance(state); - } -} - -void ctrlReset(qk_tap_dance_state_t* state, void* user_data) { - switch (Ctrl) { - case HOLD1: - unregister_code(KC_LCTL); - break; - case HOLD2: - unregister_code(KC_LGUI); - break; - } - Ctrl = REST; -} - -qk_tap_dance_action_t tap_dance_actions[] = { - [ALT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, altFinish, altReset), - [CTRL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctrlFinish, ctrlReset), - [LEFT] = ACTION_TAP_DANCE_FN(left), - [RIGHT] = ACTION_TAP_DANCE_FN(right), -}; diff --git a/users/pcoves/tapDance.h b/users/pcoves/tapDance.h deleted file mode 100644 index 98fd8ae2c7..0000000000 --- a/users/pcoves/tapDance.h +++ /dev/null @@ -1,8 +0,0 @@ -#pragma once - -enum { - ALT, - CTRL, - LEFT, - RIGHT, -}; diff --git a/users/pcoves/unicode.c b/users/pcoves/unicode.c deleted file mode 100644 index 966a9d3852..0000000000 --- a/users/pcoves/unicode.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "unicode.h" -#include "pcoves.h" - -bool process_record_unicode(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case EMOTE0: - if (record->event.pressed) send_unicode_string("(╯°□°)╯︵┻━┻"); - return false; - case EMOTE1: - if (record->event.pressed) send_unicode_string("(ヘ・_・)ヘ┳━┳"); - return false; - case EMOTE2: - if (record->event.pressed) send_unicode_string("¯\\_(ツ)_/¯"); - return false; - case EMOTE3: - if (record->event.pressed) send_unicode_string("ಠ_ಠ"); - return false; - } - return true; -} diff --git a/users/pcoves/unicode.h b/users/pcoves/unicode.h deleted file mode 100644 index ba8a881787..0000000000 --- a/users/pcoves/unicode.h +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -#include "quantum.h" - -__attribute__((weak)) bool process_record_unicode(uint16_t keycode, keyrecord_t *record); diff --git a/users/pdl/pdl.h b/users/pdl/pdl.h index a976c71474..4079ba9d33 100644 --- a/users/pdl/pdl.h +++ b/users/pdl/pdl.h @@ -128,8 +128,8 @@ enum userspace_layers { #define _________________FUNCTN_L1_________________ KC_ESC, KC_F1, KC_F2, KC_F3, MY_AF4 #define _________________FUNCTN_L2_________________ KC_APP, KC_F4, KC_F5, KC_F6, MY_CF5 -#define _________________FUNCTN_L3_________________ RESET, KC_F7, KC_F8, KC_F9, MY_CF4 +#define _________________FUNCTN_L3_________________ QK_BOOT, KC_F7, KC_F8, KC_F9, MY_CF4 #define _________________FUNCTN_R1_________________ KC_VOLU, KC_F10, KC_F11, KC_F12, KC_INS #define _________________FUNCTN_R2_________________ KC_VOLD, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT -#define _________________FUNCTN_R3_________________ KC_MUTE, KC_PAUS, QWERTY, PROXIM, DEBUG +#define _________________FUNCTN_R3_________________ KC_MUTE, KC_PAUS, QWERTY, PROXIM, DB_TOGG diff --git a/users/peej/layout.h b/users/peej/layout.h index f10b6d031c..4340ed4a0b 100644 --- a/users/peej/layout.h +++ b/users/peej/layout.h @@ -49,9 +49,9 @@ #define BASE_ROW_3_M KC_LCBR, KC_RCBR #define BASE_ROW_4_M KC_LPRN, KC_RPRN -#define BASE_ROW_1 KC_GESC, BASE_ROW_1_L, BASE_ROW_1_R, KC_DEL +#define BASE_ROW_1 QK_GESC, BASE_ROW_1_L, BASE_ROW_1_R, KC_DEL #define BASE_ROW_2 KC_TAB, BASE_ROW_2_L, BASE_ROW_2_R, KC_BSPC -#define BASE_ROW_3 KC_GESC, BASE_ROW_3_L, BASE_ROW_3_R, KC_QUOT +#define BASE_ROW_3 QK_GESC, BASE_ROW_3_L, BASE_ROW_3_R, KC_QUOT #define BASE_ROW_4 KC_LSFT, BASE_ROW_4_L, BASE_ROW_4_R, KC_ENTER #define BASE_ROW_5 BASE_ROW_5_L, BASE_ROW_5_R diff --git a/users/peej/peej.c b/users/peej/peej.c index c4ea4f87b1..bd9264ea60 100644 --- a/users/peej/peej.c +++ b/users/peej/peej.c @@ -57,7 +57,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef RGBLIGHT_ENABLE rgblight_enable_noeeprom(); rgblight_mode_noeeprom(1); - rgblight_setrgb_red(); + rgblight_setrgb(RGB_RED); #endif reset_keyboard(); break; diff --git a/users/ridingqwerty/process_records.c b/users/ridingqwerty/process_records.c index 770af286e9..4aa688ca00 100644 --- a/users/ridingqwerty/process_records.c +++ b/users/ridingqwerty/process_records.c @@ -334,7 +334,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; case KC_BSPC: if (record->event.pressed) { - tap_code(KC_DELT); + tap_code(KC_DEL); } return false; case KC_SPC: diff --git a/users/ridingqwerty/ridingqwerty.c b/users/ridingqwerty/ridingqwerty.c index 19b417a80f..8934b9365b 100644 --- a/users/ridingqwerty/ridingqwerty.c +++ b/users/ridingqwerty/ridingqwerty.c @@ -7,7 +7,7 @@ void matrix_init_user(void) { matrix_init_keymap(); #if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); #endif //set_single_persistent_default_layer(_QWERTY); diff --git a/users/ridingqwerty/wrappers.h b/users/ridingqwerty/wrappers.h index f78219a56c..dbfd8ea050 100644 --- a/users/ridingqwerty/wrappers.h +++ b/users/ridingqwerty/wrappers.h @@ -81,7 +81,7 @@ #define ________________FKEYROW_R1_________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 #define ________________EDITOR_L1__________________ KC_GRV, _______, KC_END, _______, KC_F5 -#define ________________EDITOR_L2__________________ KC_HOME, _______, KC_DELT, _______, _______ +#define ________________EDITOR_L2__________________ KC_HOME, _______, KC_DEL, _______, _______ #if defined(TAP_DANCE_ENABLE) #define ________________EDITOR_L3__________________ _______, KC_VOLD, KC_VOLU, CCCV, TD_BRC #else @@ -93,12 +93,12 @@ #define ________________EDITOR_R3__________________ KC_PGDN, _______, _______, _______, KC_BSLS -#define ________________DEBUG_L1___________________ DEBUG, _______, _______, RNGWORD, SARCASM +#define ________________DEBUG_L1___________________ DB_TOGG, _______, _______, RNGWORD, SARCASM #define ________________DEBUG_L2___________________ GREEK, RUSSIAN, HIRAGAN, RUNES, _______ #define ________________DEBUG_L3___________________ _______, _______, _______, VERSION, _______ #define ________________DEBUG_R1___________________ VPRWAVE, STRAYA, _______, TESTING, _______ -#define ________________DEBUG_R2___________________ _______, _______, EEP_RST, RESET, MAKE +#define ________________DEBUG_R2___________________ _______, _______, EE_CLR, QK_BOOT, MAKE #define ________________DEBUG_R3___________________ QWERTY, DVORAK, COLEMAK, _______, _______ diff --git a/users/rmeli/config.h b/users/rmeli/config.h index 1a6db91d1b..5c31462d35 100644 --- a/users/rmeli/config.h +++ b/users/rmeli/config.h @@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define TAPPING_TERM 200 #ifdef UNICODEMAP_ENABLE -# define UNICODE_SELECTED_MODES UC_MAC, UC_LNX +# define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX #endif #ifdef AUTO_SHIFT_ENABLED diff --git a/users/rmw/rmw.h b/users/rmw/rmw.h index 272a400c75..b4018d5570 100644 --- a/users/rmw/rmw.h +++ b/users/rmw/rmw.h @@ -48,7 +48,7 @@ enum user_custom_keycodes_universal { ,R_CUT = LGUI(KC_X) ,R_COPY = LGUI(KC_C) ,R_PASTE = LGUI(KC_V) - ,DEL_WRD = LALT(KC_BSPACE) + ,DEL_WRD = LALT(KC_BACKSPACE) ,MVW_LEFT = LALT(KC_LEFT) ,MVW_RIGHT = LALT(KC_RIGHT) ,SELW_LEFT = LALT(S(KC_LEFT)) @@ -72,7 +72,7 @@ enum user_custom_keycodes_universal { ,R_CUT = LCTL(KC_X) ,R_COPY = LCTL(KC_C) ,R_PASTE = LCTL(KC_V) - ,DEL_WRD = LALT(KC_BSPACE) + ,DEL_WRD = LALT(KC_BACKSPACE) ,MVW_LEFT = LCTL(KC_LEFT) ,MVW_RIGHT = LCTL(KC_RIGHT) ,SELW_LEFT = LCTL(S(KC_LEFT)) diff --git a/users/romus/romus.c b/users/romus/romus.c index a41a6df578..7b2e330228 100644 --- a/users/romus/romus.c +++ b/users/romus/romus.c @@ -142,7 +142,7 @@ void matrix_init_user (void) { // Correct unicode #ifdef UNICODE_ENABLE - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); #endif // Make beginning layer DVORAK @@ -272,7 +272,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { stop_all_notes(); PLAY_SONG(tone_linux); #endif - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); } return false; break; @@ -282,7 +282,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { stop_all_notes(); PLAY_SONG(tone_windows); #endif - set_unicode_input_mode(UC_WIN); + set_unicode_input_mode(UNICODE_MODE_WINDOWS); } return false; break; diff --git a/users/romus/romus.h b/users/romus/romus.h index b65e32eb5b..a3d6db9523 100644 --- a/users/romus/romus.h +++ b/users/romus/romus.h @@ -183,8 +183,8 @@ enum { * | | | | | | || | | | | | | * `------------------------------------------------------------------------' */ #define ALTCHAR \ - KC_GRV, DBL_QUO,DBL_DQT,CUR_EUR,CUR_BPN,_______,_______,KC_HOME,KC_PGUP,KC_PSCREEN, KC_BSLASH, KC_SLSH, \ - REDO, DBL_ANG,DBL_PAR,DBL_SQR,DBL_BRC,KC_LALT,KC_INS, KC_END, KC_PGDN,KC_SCROLLLOCK, CUR_BIT, KC_MINUS, \ + KC_GRV, DBL_QUO,DBL_DQT,CUR_EUR,CUR_BPN,_______,_______,KC_HOME,KC_PGUP,KC_PSCR, KC_BSLS, KC_SLSH, \ + REDO, DBL_ANG,DBL_PAR,DBL_SQR,DBL_BRC,KC_LALT,KC_INS, KC_END, KC_PGDN,KC_SCRL, CUR_BIT, KC_MINUS, \ UNDO, CUT, COPY, PASTE, EXIT, KC_LSFT,_______,_______,_______,_______, CUR_YEN, KC_EQUAL, \ _______,_______,_______,_______,_______,_______,_______,DBL_SPC,_______,_______, _______, _______ @@ -199,7 +199,7 @@ enum { * | Ctrl| Alt | / | ` | SYM | Spc || F5 | Ent | 0 | < | v | > | * `------------------------------------------------------------------------' */ #define GAME \ - K_GAMES,KC_Q, KC_W, KC_E, KC_R, KC_T, KC_ESC, KC_P7, KC_P8, KC_P9, KC_NLCK,KC_BSPC, \ + K_GAMES,KC_Q, KC_W, KC_E, KC_R, KC_T, KC_ESC, KC_P7, KC_P8, KC_P9, KC_NUM, KC_BSPC, \ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_F1, KC_P4, KC_P5, KC_P6, KC_BSLS,KC_ENT , \ KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F2, KC_P1, KC_P2, KC_P3, KC_UP,K_MOUSE, \ KC_LCTL,KC_LALT,KC_SLSH,KC_GRV, K_NUMBR,KC_SPC, KC_F5, KC_ENT, KC_P0, KC_LEFT,KC_DOWN,KC_RGHT @@ -231,7 +231,7 @@ enum { * |Musir| | | | |Vol +||Vol -| Prev| Stop|TogMu| Next| | * `------------------------------------------------------------------------' */ #define SETTINGS \ - BL_STEP,KC_F1, KC_F2, KC_F3, KC_F4, UNI_LI, UNI_WN, KC_WAKE,_______,RGB_HUD,RGB_HUI,RESET , \ + BL_STEP,KC_F1, KC_F2, KC_F3, KC_F4, UNI_LI, UNI_WN, KC_WAKE,_______,RGB_HUD,RGB_HUI,QK_BOOT, \ _______,KC_F5, KC_F6, KC_F7, KC_F8, _______,KC_MUTE,_______,RGB_TOG,RGB_SAD,RGB_SAI,_______, \ K_GAMES,KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE,_______,KC_PSCR,RGB_MOD,RGB_VAD,RGB_VAI,_______, \ MU_TOG, _______,_______,_______,_______,KC_VOLU,KC_VOLD,KC_MPRV,KC_MSTP,KC_MPLY,KC_MNXT,_______ diff --git a/users/rossman360/rossman360.c b/users/rossman360/rossman360.c index dc7d766390..10911bddec 100644 --- a/users/rossman360/rossman360.c +++ b/users/rossman360/rossman360.c @@ -32,52 +32,52 @@ switch (keycode) { break; case CSPEAK: if (record->event.pressed) { - SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN)); + SEND_STRING(SS_TAP(X_PAGE_DOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PAGE_DOWN)); } break; case SPEAK1: if (record->event.pressed) { - SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN) SS_LCTRL(SS_TAP(X_1))); + SEND_STRING(SS_TAP(X_PAGE_DOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PAGE_DOWN) SS_LCTL(SS_TAP(X_1))); } break; case SPEAK2: if (record->event.pressed) { - SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN) SS_LCTRL(SS_TAP(X_2))); + SEND_STRING(SS_TAP(X_PAGE_DOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PAGE_DOWN) SS_LCTL(SS_TAP(X_2))); } break; case SPEAK3: if (record->event.pressed) { - SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN) SS_LCTRL(SS_TAP(X_3))); + SEND_STRING(SS_TAP(X_PAGE_DOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PAGE_DOWN) SS_LCTL(SS_TAP(X_3))); } break; case SPEAK4: if (record->event.pressed) { - SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN) SS_LCTRL(SS_TAP(X_4))); + SEND_STRING(SS_TAP(X_PAGE_DOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PAGE_DOWN) SS_LCTL(SS_TAP(X_4))); } break; case PARADOWN: if (record->event.pressed) { - SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN)); + SEND_STRING(SS_TAP(X_PAGE_DOWN) SS_TAP(X_ENTER) SS_TAP(X_PAGE_DOWN)); } break; case PMERGE: if (record->event.pressed) { - SEND_STRING(SS_TAP(X_HOME) SS_TAP(X_BSPACE) SS_TAP(X_SPACE) SS_LCTRL(SS_TAP(X_BSPACE)) SS_TAP(X_SPACE)); + SEND_STRING(SS_TAP(X_HOME) SS_TAP(X_BACKSPACE) SS_TAP(X_SPACE) SS_LCTL(SS_TAP(X_BACKSPACE)) SS_TAP(X_SPACE)); } break; case WREFRESH: if (record->event.pressed) { - SEND_STRING(SS_TAP(X_SPACE) SS_TAP(X_BSPACE)); + SEND_STRING(SS_TAP(X_SPACE) SS_TAP(X_BACKSPACE)); } break; case REMCAPS: if (record->event.pressed) { - SEND_STRING(SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_LCTRL(SS_TAP(X_LEFT)) SS_TAP(X_DELETE)); + SEND_STRING(SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_LCTL(SS_TAP(X_LEFT)) SS_TAP(X_DELETE)); } break; case EMDASH: if (record->event.pressed) { - SEND_STRING(SS_LCTRL(SS_LSFT(SS_TAP(X_U))) SS_TAP(X_2) SS_TAP(X_0) SS_TAP(X_1) SS_TAP(X_4) SS_TAP(X_SPACE) SS_TAP(X_SPACE)); + SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_U))) SS_TAP(X_2) SS_TAP(X_0) SS_TAP(X_1) SS_TAP(X_4) SS_TAP(X_SPACE) SS_TAP(X_SPACE)); } break; }; diff --git a/users/rs/rs.h b/users/rs/rs.h index fde8c33558..ecd9a06de6 100644 --- a/users/rs/rs.h +++ b/users/rs/rs.h @@ -27,12 +27,12 @@ enum custom_keycodes { #define KC_CODE MO(_CODE) #define KC_BCOD LT(_CODE, KC_BSPC) #define KC_FN MO(_FN) -#define KC_RST RESET +#define KC_RST QK_BOOT #define KC_CTRA LCTL(KC_A) #define KC_CTRE LCTL(KC_E) #define KC_BLTG BL_TOGG -#define KC_BLUP BL_INC -#define KC_BLDN BL_DEC +#define KC_BLUP BL_UP +#define KC_BLDN BL_DOWN #define KC_BLBR BL_BRTG #ifdef RGBLIGHT_ENABLE diff --git a/users/rupa/config.h b/users/rupa/config.h index 723d9b3b5f..42a1708f9c 100644 --- a/users/rupa/config.h +++ b/users/rupa/config.h @@ -1,6 +1,6 @@ #pragma once -#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX #define ONESHOT_TAP_TOGGLE 5 #define ONESHOT_TIMEOUT 5000 diff --git a/users/rupa/wrappers.h b/users/rupa/wrappers.h index c5cae464b8..dfc00b5120 100644 --- a/users/rupa/wrappers.h +++ b/users/rupa/wrappers.h @@ -51,7 +51,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. * │Ctrl│Alt │Gui │ Space │RAI│LOW│CAP│ ← │ ↓ │ → │ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ */ -#define ____65_QWERTY______________ROW1 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_GRV +#define ____65_QWERTY______________ROW1 QK_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_GRV #define ____65_QWERTY______________ROW2 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_DEL #define ____65_QWERTY______________ROW3 RAISE, KC_A, KC_S, KC_D, KC_F, G_LWR, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP #define ____65_QWERTY______________ROW4 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_PGDN @@ -91,8 +91,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #define ____65_LOWER_______________ROW1 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ZZZZZ, _______, _______ #define ____65_LOWER_______________ROW2 _______, U_FRACT, U_ITALI, U_MONOS, U_NORML, U_SANSI, U_SANSN, U_SCRPT, _______, _______, KC_PSCR, _______, _______, _______, _______ -#define ____65_LOWER_______________ROW3 _______, _______, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -#define ____65_LOWER_______________ROW4 _______, ZALGO , _______, KC_CAPS, VRSN, _______, KC_NLCK, _______, _______, _______, _______, _______, _______, _______ +#define ____65_LOWER_______________ROW3 _______, _______, KC_SCRL, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +#define ____65_LOWER_______________ROW4 _______, ZALGO , _______, KC_CAPS, VRSN, _______, KC_NUM, _______, _______, _______, _______, _______, _______, _______ #define ____65_LOWER_______________ROW5 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ /* _ADJUST @@ -109,14 +109,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ */ #define ____65_ADJUST______________ROW1 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______ -#define ____65_ADJUST______________ROW2 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______ -#define ____65_ADJUST______________ROW3 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, _______ -#define ____65_ADJUST______________ROW4 _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, UC_MOD, _______, _______ +#define ____65_ADJUST______________ROW2 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______ +#define ____65_ADJUST______________ROW3 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, _______ +#define ____65_ADJUST______________ROW4 _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, UC_NEXT, _______, _______ #define ____65_ADJUST______________ROW5 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -#define ____65_ADJUST__________RGB_ROW2 _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, RESET, _______ -#define ____65_ADJUST__________RGB_ROW3 _______, RGB_M_P, RGB_M_B, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, _______ +#define ____65_ADJUST__________RGB_ROW2 _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, QK_BOOT, _______ +#define ____65_ADJUST__________RGB_ROW3 _______, RGB_M_P, RGB_M_B, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, _______ -#define ____65_ADJUST___________BL_ROW2 _______, BL_TOGG, BL_BRTG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______ +#define ____65_ADJUST___________BL_ROW2 _______, BL_TOGG, BL_BRTG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______ // clang-format on diff --git a/users/rverst/config.h b/users/rverst/config.h index f5cb5c76fd..52e7c861ca 100644 --- a/users/rverst/config.h +++ b/users/rverst/config.h @@ -18,9 +18,16 @@ #ifdef RGBLIGHT_ENABLE # define RGBLIGHT_SLEEP -# ifdef RGBLIGHT_ANIMATIONS -# undef RGBLIGHT_ANIMATIONS -# endif +# undef RGBLIGHT_EFFECT_BREATHING +# undef RGBLIGHT_EFFECT_RAINBOW_MOOD +# undef RGBLIGHT_EFFECT_RAINBOW_SWIRL +# undef RGBLIGHT_EFFECT_SNAKE +# undef RGBLIGHT_EFFECT_KNIGHT +# undef RGBLIGHT_EFFECT_CHRISTMAS +# undef RGBLIGHT_EFFECT_STATIC_GRADIENT +# undef RGBLIGHT_EFFECT_RGB_TEST +# undef RGBLIGHT_EFFECT_ALTERNATING +# undef RGBLIGHT_EFFECT_TWINKLE # define RGBLIGHT_SLEEP # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/users/rverst/rverst.c b/users/rverst/rverst.c index 2cbffbc478..df37ba9b5f 100644 --- a/users/rverst/rverst.c +++ b/users/rverst/rverst.c @@ -75,13 +75,13 @@ void switch_mode(uint8_t mode) { #ifdef UNICODEMAP_ENABLE switch (mode) { case MAC_UNI: - set_unicode_input_mode(UC_MAC); + set_unicode_input_mode(UNICODE_MODE_MACOS); break; case WINDOWS_UNI: - set_unicode_input_mode(UC_WINC); + set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); break; case LINUX_UNI: - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); break; } #endif diff --git a/users/rverst/unicode.h b/users/rverst/unicode.h index 2268ffb594..45d1585809 100644 --- a/users/rverst/unicode.h +++ b/users/rverst/unicode.h @@ -18,7 +18,7 @@ #ifdef UNICODE_SELECTED_MODES # undef UNICODE_SELECTED_MODES -# define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC +# define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE #endif enum unicode_names { BANG, IRONY, SNEK }; diff --git a/users/scheiklp/koy_keys_on_quertz_de_latin1.h b/users/scheiklp/koy_keys_on_quertz_de_latin1.h index e098e75dfc..7c88eabd79 100644 --- a/users/scheiklp/koy_keys_on_quertz_de_latin1.h +++ b/users/scheiklp/koy_keys_on_quertz_de_latin1.h @@ -16,7 +16,7 @@ Additionally, there are some common chars that we dit not yet define: // NQN key definitions in no particular order -#define N_LT KC_NONUS_BSLASH +#define N_LT KC_NONUS_BACKSLASH #define N_HS KC_NONUS_HASH #define N_DOTS RALT(KC_DOT) // … #define N_USC LSFT(KC_SLASH) // _ @@ -24,7 +24,7 @@ Additionally, there are some common chars that we dit not yet define: #define N_RSQBR RALT(KC_9) // ] #define N_CIRC KC_GRAVE // ^ #define N_EXKL LSFT(KC_1) // ! -#define N_GT LSFT(KC_NONUS_BSLASH) // > +#define N_GT LSFT(KC_NONUS_BACKSLASH) // > #define N_EQ LSFT(KC_0) // = #define N_AMP LSFT(KC_6) // & #define N_BSLS RALT(KC_MINS) // \ backslash @@ -37,23 +37,23 @@ Additionally, there are some common chars that we dit not yet define: #define N_RPARN LSFT(KC_9) // ) #define N_MINS KC_SLASH // - #define N_COLN LSFT(KC_DOT) // : -#define N_HASH KC_BSLASH // # +#define N_HASH KC_BACKSLASH // # #define N_DLR LSFT(KC_4) // $ -#define N_PIPE RALT(KC_NONUS_BSLASH) // | +#define N_PIPE RALT(KC_NONUS_BACKSLASH) // | #define N_TILD RALT(KC_RBRC) // ~ #define N_GRAVE LSFT(KC_EQUAL) // ` #define N_PLUS KC_RBRC // + #define N_PERC LSFT(KC_5) // % #define N_QUOT LSFT(KC_2) // " -#define N_SING LSFT(KC_BSLASH) // ' +#define N_SING LSFT(KC_BACKSLASH) // ' #define N_SEMI LSFT(KC_COMM) // ; #define N_EURO RALT(KC_E) // € #define N_AT RALT(KC_Q) // @ #define N_Z KC_Y #define N_Y KC_Z #define N_AE KC_QUOTE // ä -#define N_OE KC_SCOLON // ö -#define N_UE KC_LBRACKET // ü +#define N_OE KC_SCLN // ö +#define N_UE KC_LBRC // ü #define N_MU RALT(KC_M) // µ #define N_SS KC_MINS // ß #define N_DEGRE LSFT(KC_GRAVE) // ° diff --git a/users/sethBarberee/tap_dance.c b/users/sethBarberee/tap_dance.c index 588ac9be66..9461e5ad60 100644 --- a/users/sethBarberee/tap_dance.c +++ b/users/sethBarberee/tap_dance.c @@ -51,7 +51,7 @@ void dance_ecap_finished (qk_tap_dance_state_t *state, void *user_data){ tap_code(KC_ESC); break; case SINGLE_HOLD: - register_code(KC_LCTRL); + register_code(KC_LCTL); break; case DOUBLE_TAP: tap_code(KC_CAPS); @@ -76,7 +76,7 @@ void dance_ecap_finished (qk_tap_dance_state_t *state, void *user_data){ void dance_ecap_reset (qk_tap_dance_state_t *state, void *user_data){ if(caps_status.state == SINGLE_HOLD){ - unregister_code(KC_LCTRL); + unregister_code(KC_LCTL); } caps_status.state = 0; } diff --git a/users/sigma/sigma.c b/users/sigma/sigma.c index 8470060a53..9a0786233b 100644 --- a/users/sigma/sigma.c +++ b/users/sigma/sigma.c @@ -67,13 +67,13 @@ void set_os(uint8_t os) { #if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE) switch (os) { case _OS_MACOS: - set_unicode_input_mode(UC_OSX); + set_unicode_input_mode(UNICODE_MODE_MACOS); break; case _OS_LINUX: - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); break; case _OS_WINDOWS: - set_unicode_input_mode(UC_WIN); + set_unicode_input_mode(UNICODE_MODE_WINDOWS); break; } #endif @@ -172,7 +172,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; default: if (pressed) - SEND_STRING(SS_LCTRL("x")); + SEND_STRING(SS_LCTL("x")); break; } break; @@ -190,7 +190,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; default: if (pressed) - SEND_STRING(SS_LCTRL("c")); + SEND_STRING(SS_LCTL("c")); break; } break; @@ -208,7 +208,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; default: if (pressed) - SEND_STRING(SS_LCTRL("v")); + SEND_STRING(SS_LCTL("v")); break; } break; @@ -226,7 +226,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; default: if (pressed) - SEND_STRING(SS_LCTRL("z")); + SEND_STRING(SS_LCTL("z")); break; } break; @@ -244,7 +244,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; default: if (pressed) - SEND_STRING(SS_LCTRL(SS_LSFT("z"))); + SEND_STRING(SS_LCTL(SS_LSFT("z"))); break; } break; @@ -253,7 +253,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (os_target) { case _OS_MACOS: if (pressed) - SEND_STRING(SS_LGUI(SS_LCTRL("q"))); + SEND_STRING(SS_LGUI(SS_LCTL("q"))); break; case _OS_LINUX: pressed ? diff --git a/users/sigul/sigul.c b/users/sigul/sigul.c index 725881ad8a..c9793ebb1f 100644 --- a/users/sigul/sigul.c +++ b/users/sigul/sigul.c @@ -25,7 +25,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case IT_SCCL: if (record->event.pressed){ - if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){ + if (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RIGHT_SHIFT)){ register_code16(IT_COLN); } else { register_code16(IT_SCLN); @@ -39,7 +39,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case IT_APDQ: if (record->event.pressed){ - if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){ + if (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RIGHT_SHIFT)){ register_code16(IT_DQUO); } else { register_code16(IT_QUOT); @@ -53,7 +53,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case IT_CMLS: if (record->event.pressed){ - if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){ + if (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RIGHT_SHIFT)){ unregister_code16(KC_LSFT); register_code16(IT_LABK); register_code16(KC_LSFT); @@ -69,7 +69,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case IT_DTMR: if (record->event.pressed){ - if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){ + if (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RIGHT_SHIFT)){ register_code16(IT_RABK); } else { register_code16(IT_DOT); @@ -83,7 +83,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case IT_SLQS: if (record->event.pressed){ - if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){ + if (get_mods() & MOD_BIT(KC_LSFT) || get_mods() & MOD_BIT(KC_RIGHT_SHIFT)){ register_code16(IT_QUES); } else { register_code16(IT_SLSH); diff --git a/users/snowe/wrappers.h b/users/snowe/wrappers.h index 9ef7dce607..47fe4a5ace 100644 --- a/users/snowe/wrappers.h +++ b/users/snowe/wrappers.h @@ -88,5 +88,5 @@ NOTE: These are all the same length. If you do a search/replace #define _________________ADJUST_L2_________________ MU_TOG , TG(_GAMING), AU_ON, AU_OFF, AG_NORM #define _________________ADJUST_L3_________________ RGB_RMOD,RGB_HUD,RGB_SAD, RGB_VAD, _______ #define _________________ADJUST_R1_________________ _______, _______, _______, _______, _______ -#define _________________ADJUST_R2_________________ RESET, CG_TOGG, _______, _______, _______ +#define _________________ADJUST_R2_________________ KC_RESET,CG_TOGG, _______, _______, _______ #define _________________ADJUST_R3_________________ _______, KC_MNXT, KC_VOLU, KC_VOLD, KC_MPLY diff --git a/users/spidey3/config.h b/users/spidey3/config.h index 91bcf910ee..0b3bf8f723 100644 --- a/users/spidey3/config.h +++ b/users/spidey3/config.h @@ -14,14 +14,8 @@ # define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF # define RGBLIGHT_STARTUP_ANIMATION -# undef RGBLIGHT_ANIMATIONS -# define RGBLIGHT_EFFECT_BREATHING -# define RGBLIGHT_EFFECT_RAINBOW_MOOD -# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -# define RGBLIGHT_EFFECT_SNAKE -# define RGBLIGHT_EFFECT_KNIGHT -# define RGBLIGHT_EFFECT_STATIC_GRADIENT -# define RGBLIGHT_EFFECT_TWINKLE +# undef RGBLIGHT_EFFECT_CHRISTMAS +# undef RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_DEFAULT_HUE 213 # define RGBLIGHT_DEFAULT_SAT UINT8_MAX @@ -37,12 +31,12 @@ #endif -#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC, UC_EMACS +#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_EMACS #define SPI_DEBUG_SCAN_RATE #undef MANUFACTURER -#define MANUFACTURER Window of Fire +#define MANUFACTURER "Window of Fire" // Some keyboards enable BACKLIGHT_CAPS_LOCK without checking if backlight is enabled. // Undef as appropriate to avoid compiler warnings in that case. diff --git a/users/spidey3/layer_rgb.c b/users/spidey3/layer_rgb.c index c867468194..75a4b4c0a1 100644 --- a/users/spidey3/layer_rgb.c +++ b/users/spidey3/layer_rgb.c @@ -61,9 +61,9 @@ const rgblight_segment_t PROGMEM _huh_layer[] = RGBLIGHT_LAYER_SEGMENTS(CORNE #define UNICODE_OFFSET 12 const rgblight_segment_t PROGMEM _uc_mac_layer[] = RGBLIGHT_LAYER_SEGMENTS(CORNER_BR(HSV_PURPLE)); -// No indicator for UC_LNX -// UC_WIN disabled in config.h -// UC_BSD not implemented +// No indicator for UNICODE_MODE_LINUX +// UNICODE_MODE_WINDOWS disabled in config.h +// UNICODE_MODE_BSD not implemented const rgblight_segment_t PROGMEM _uc_winc_layer[] = RGBLIGHT_LAYER_SEGMENTS(CORNER_BR(HSV_CYAN)); const rgblight_segment_t PROGMEM _uc_emacs_layer[] = RGBLIGHT_LAYER_SEGMENTS(CORNER_BR(HSV_GREEN)); @@ -85,19 +85,19 @@ const rgblight_segment_t *const PROGMEM _rgb_layers[] = { [ACK_OFFSET + ACK_MEH] = _meh_layer, [ACK_OFFSET + ACK_HUH] = _huh_layer, - [UNICODE_OFFSET + UC_MAC] = _uc_mac_layer, - [UNICODE_OFFSET + UC_LNX] = _none, - [UNICODE_OFFSET + UC_WIN] = _none, - [UNICODE_OFFSET + UC_BSD] = _none, - [UNICODE_OFFSET + UC_WINC] = _uc_winc_layer, - [UNICODE_OFFSET + UC_EMACS] = _uc_emacs_layer, + [UNICODE_OFFSET + UNICODE_MODE_MACOS] = _uc_mac_layer, + [UNICODE_OFFSET + UNICODE_MODE_LINUX] = _none, + [UNICODE_OFFSET + UNICODE_MODE_WINDOWS] = _none, + [UNICODE_OFFSET + UNICODE_MODE_BSD] = _none, + [UNICODE_OFFSET + UNICODE_MODE_WINCOMPOSE] = _uc_winc_layer, + [UNICODE_OFFSET + UNICODE_MODE_EMACS] = _uc_emacs_layer, - [UNICODE_OFFSET + UC__COUNT] = NULL + [UNICODE_OFFSET + UNICODE_MODE_COUNT] = NULL }; // clang-format on -const uint8_t PROGMEM _n_rgb_layers = sizeof(_rgb_layers) / sizeof(_rgb_layers[0]) - 1; +const uint8_t PROGMEM _n_rgb_layers = ARRAY_SIZE(_rgb_layers) - 1; void clear_rgb_layers() { for (uint8_t i = 0; i < _n_rgb_layers; i++) { @@ -112,9 +112,8 @@ void do_rgb_layers(layer_state_t state, uint8_t start, uint8_t end) { } } -void do_rgb_unicode(void) { - uint8_t uc_mode = get_unicode_input_mode(); - for (uint8_t i = 0; i < UC__COUNT; i++) { +void do_rgb_unicode(uint8_t uc_mode) { + for (uint8_t i = 0; i < UNICODE_MODE_COUNT; i++) { bool is_on = i == uc_mode; rgblight_set_layer_state(UNICODE_OFFSET + i, is_on); } @@ -123,7 +122,7 @@ void do_rgb_unicode(void) { void do_rgb_all(void) { do_rgb_layers(default_layer_state, LAYER_BASE_DEFAULT, LAYER_BASE_REGULAR); do_rgb_layers(layer_state, LAYER_BASE_REGULAR, LAYER_BASE_END); - do_rgb_unicode(); + do_rgb_unicode(get_unicode_input_mode()); rgblight_set_layer_state(MISC_OFFSET + 0, spi_gflock); rgblight_set_layer_state(MISC_OFFSET + 1, spi_replace_mode != SPI_NORMAL); } @@ -148,7 +147,7 @@ extern rgblight_status_t rgblight_status; # define STARTUP_ANIMATION_CYCLE_STEP 2 # define STARTUP_ANIMATION_RAMP_TO_STEPS 70 # define STARTUP_ANIMATION_STEP_TIME 10 -# define STARTUP_ANIMATION_INITIAL_DELAY 0 // milliseconds, must be < 255 * STEP_TIME +# define STARTUP_ANIMATION_INITIAL_DELAY 0 // milliseconds, must be < 255 * STEP_TIME // clang-format off typedef enum { @@ -382,6 +381,13 @@ bool led_update_user_rgb(led_t led_state) { return true; } +#if defined(UNICODE_COMMON_ENABLE) +void unicode_input_mode_set_user_rgb(uint8_t input_mode) { + rgb_layer_ack(ACK_MEH); + do_rgb_unicode(input_mode); +} +#endif + void rgb_layer_ack_yn(bool yn) { rgb_layer_ack(yn ? ACK_YES : ACK_NO); } void rgb_layer_ack(layer_ack_t n) { @@ -438,7 +444,7 @@ bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) { void post_process_record_user_rgb(uint16_t keycode, keyrecord_t *record) { switch (keycode) { // Acks follow... - case DEBUG: + case QK_DEBUG_TOGGLE: if (debug_matrix || debug_keyboard) rgb_layer_ack(ACK_HUH); else if (debug_enable) @@ -458,13 +464,13 @@ void post_process_record_user_rgb(uint16_t keycode, keyrecord_t *record) { break; case RGB_TOG: - // Hack - we only get called on the press for RGB_TOG, + // Hack - we only get called on the press for RGB_TOG, // but the flag is only flipped on the release... rgb_layer_ack_yn(!rgblight_config.enable); break; #ifdef VELOCIKEY_ENABLE - case VLK_TOG: + case QK_VELOCIKEY_TOGGLE: rgb_layer_ack_yn(velocikey_enabled()); break; #endif @@ -476,20 +482,5 @@ void post_process_record_user_rgb(uint16_t keycode, keyrecord_t *record) { rgb_layer_ack_yn(keymap_config.nkro); break; #endif - -#if defined(UNICODE_COMMON_ENABLE) - case UC_M_MA: - case UC_M_LN: - case UC_M_WI: - case UC_M_BS: - case UC_M_WC: - case UC_M_EM: - - case UC_MOD: - case UC_RMOD: - rgb_layer_ack(ACK_MEH); - do_rgb_unicode(); - break; -#endif } } diff --git a/users/spidey3/rules.mk b/users/spidey3/rules.mk index c95582e176..35cfdb4187 100644 --- a/users/spidey3/rules.mk +++ b/users/spidey3/rules.mk @@ -11,5 +11,5 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) SRC += layer_rgb.c endif ifeq ($(strip $(UNICODEMAP_ENABLE)), yes) - SRC += unicode.c + SRC += spidey3_unicode.c endif diff --git a/users/spidey3/spidey3.c b/users/spidey3/spidey3.c index 842bb465f7..0f3c08fca6 100644 --- a/users/spidey3/spidey3.c +++ b/users/spidey3/spidey3.c @@ -98,14 +98,14 @@ bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uin clear_oneshot_mods(); #endif - bool caps = host_keyboard_led_state().caps_lock; + bool caps = host_keyboard_led_state().caps_lock; uint32_t base = ((shifted == caps) ? baseAlphaLower : baseAlphaUpper); _register(base + (keycode - KC_A)); set_mods(temp_mod); } return false; case KC_0: - if (shifted) { // skip shifted numbers, so that we can still use symbols etc. + if (shifted) { // skip shifted numbers, so that we can still use symbols etc. return true; } if (record->event.pressed) { @@ -113,7 +113,7 @@ bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uin } return false; case KC_1 ... KC_9: - if (shifted) { // skip shifted numbers, so that we can still use symbols etc. + if (shifted) { // skip shifted numbers, so that we can still use symbols etc. return true; } if (record->event.pressed) { @@ -122,7 +122,7 @@ bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uin return false; case KC_SPACE: if (record->event.pressed) { - _register(spaceGlyph); // em space + _register(spaceGlyph); // em space } return false; } @@ -172,7 +172,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { #ifndef NO_DEBUG // Re-implement this here, but fix the persistence! - case DEBUG: + case QK_DEBUG_TOGGLE: if (get_mods() & MOD_MASK_SHIFT) { debug_enable = 0; debug_keyboard = 0; @@ -199,8 +199,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // clang-format off - case CH_CPNL: host_consumer_send(AL_CONTROL_PANEL); return false; - case CH_ASST: host_consumer_send(AL_ASSISTANT); return false; case CH_SUSP: tap_code16(LGUI(LSFT(KC_L))); return true; // clang-format on @@ -226,7 +224,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // to determine what Print Screen key should do. The // idea here is to make it consistent across hosts. switch (get_unicode_input_mode()) { - case UC_MAC: + case UNICODE_MODE_MACOS: if ((mods | osm) & MOD_MASK_ALT) { // Window screenshot clear_mods(); @@ -249,8 +247,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } break; - case UC_WIN: - case UC_WINC: + case UNICODE_MODE_WINDOWS: + case UNICODE_MODE_WINCOMPOSE: if ((mods | osm) & MOD_MASK_ALT) { // Window screenshot // Alt+PrintScreen should work as is @@ -285,11 +283,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } else { switch (keycode) { - case CH_CPNL: - case CH_ASST: - host_consumer_send(0); - return false; - case SPI_KP_00: unregister_code(KC_KP_0); return false; @@ -338,7 +331,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { set_mods(mods); return false; } - } else { // on release of KC_BSPC + } else { // on release of KC_BSPC // In case KC_DEL is still being sent even after the release of KC_BSPC if (delkey_registered) { unregister_code(KC_DEL); @@ -387,3 +380,11 @@ bool led_update_user(led_t led_state) { return true; #endif } + +#if defined(UNICODE_COMMON_ENABLE) +void unicode_input_mode_set_user(uint8_t input_mode) { +# ifdef RGBLIGHT_ENABLE + unicode_input_mode_set_user_rgb(input_mode); +# endif +} +#endif diff --git a/users/spidey3/spidey3.h b/users/spidey3/spidey3.h index e91b299e55..2b2cac0a20 100644 --- a/users/spidey3/spidey3.h +++ b/users/spidey3/spidey3.h @@ -6,7 +6,7 @@ #include QMK_KEYBOARD_H #ifdef UNICODEMAP_ENABLE -# include "unicode.h" +# include "spidey3_unicode.h" #endif enum userspace_layers { @@ -17,9 +17,7 @@ enum userspace_layers { }; enum custom_keycodes { - CH_CPNL = SAFE_RANGE, // AL Control Panel - CH_ASST, // AL Context-aware Desktop Assistant - CH_SUSP, // Suspend + CH_SUSP = SAFE_RANGE, // Suspend SPI_NORMAL, SPI_WIDE, @@ -65,6 +63,11 @@ void rgb_layer_ack(layer_ack_t n); void rgb_layer_ack_yn(bool yn); void clear_rgb_layers(void); void shutdown_user_rgb(void); + +# if defined(UNICODE_COMMON_ENABLE) +void unicode_input_mode_set_user_rgb(uint8_t input_mode); +# endif + #endif #ifdef UNICODEMAP_ENABLE diff --git a/users/spidey3/unicode.c b/users/spidey3/spidey3_unicode.c index 5292b0809b..bda0876b54 100644 --- a/users/spidey3/unicode.c +++ b/users/spidey3/spidey3_unicode.c @@ -2,7 +2,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later -#include "unicode.h" +#include "spidey3_unicode.h" const uint32_t PROGMEM unicode_map[] = { [BUL1] = 0x2022, // • @@ -24,5 +24,5 @@ const uint32_t PROGMEM unicode_map[] = { void eeconfig_init_user_unicode(void) { // Default to Linux style - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); } diff --git a/users/spidey3/unicode.h b/users/spidey3/spidey3_unicode.h index ee8e00056c..ee8e00056c 100644 --- a/users/spidey3/unicode.h +++ b/users/spidey3/spidey3_unicode.h diff --git a/users/stanrc85/stanrc85.c b/users/stanrc85/stanrc85.c index 56e67e52b1..5f74612848 100644 --- a/users/stanrc85/stanrc85.c +++ b/users/stanrc85/stanrc85.c @@ -22,13 +22,13 @@ void ctl_copy_finished (qk_tap_dance_state_t *state, void *user_data) { td_state = cur_dance(state); switch (td_state) { case SINGLE_TAP: - SEND_STRING(SS_LCTRL("c")); + SEND_STRING(SS_LCTL("c")); break; case SINGLE_HOLD: register_mods(MOD_BIT(KC_RCTL)); break; case DOUBLE_TAP: - SEND_STRING(SS_LCTRL("v")); + SEND_STRING(SS_LCTL("v")); } } diff --git a/users/talljoe/macros.c b/users/talljoe/macros.c index db8d28d4ce..e9c9b521b7 100644 --- a/users/talljoe/macros.c +++ b/users/talljoe/macros.c @@ -27,13 +27,13 @@ ostype_t get_os() { #define IS_OSX() (get_os() == MACOSX) -#define MOD_SEND(KEY) (IS_OSX() ? SEND_STRING(SS_LCMD(KEY)) : SEND_STRING(SS_LCTRL(KEY))) +#define MOD_SEND(KEY) (IS_OSX() ? SEND_STRING(SS_LCMD(KEY)) : SEND_STRING(SS_LCTL(KEY))) void macro_copy() { MOD_SEND("c"); } void macro_paste() { MOD_SEND("v"); } void macro_lock() { if (IS_OSX()) { - SEND_STRING(SS_LCTRL(SS_LCMD("q"))); + SEND_STRING(SS_LCTL(SS_LCMD("q"))); } else { SEND_STRING(SS_LGUI("l")); } diff --git a/users/talljoe/talljoe.c b/users/talljoe/talljoe.c index 6655170d4a..5e58bc9e3f 100644 --- a/users/talljoe/talljoe.c +++ b/users/talljoe/talljoe.c @@ -39,7 +39,7 @@ const char layer_names[32][16] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = TEMPLATE_TKL( - US_LOCK, 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_PSCR, KC_SLCK, MO_ADJ , + US_LOCK, 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_PSCR, KC_SCRL, MO_ADJ , US_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , US_BSLS, KC_INS , KC_HOME, KC_PGUP, US_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_BSPC, KC_DEL , KC_END , KC_PGDN, CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G , KC_H, KC_J, KC_K, KC_L, US_SCLN, KC_QUOT, US_ENT , diff --git a/users/talljoe/talljoe.h b/users/talljoe/talljoe.h index cdb01a9744..23dabdd883 100644 --- a/users/talljoe/talljoe.h +++ b/users/talljoe/talljoe.h @@ -176,9 +176,9 @@ enum layers { #ifndef TEMPLATE_RESET #define TEMPLATE_RESET TEMPLATE_ALT( \ - RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET , \ - RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET , \ + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, \ + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, \ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ - RESET , XXXXXXX, XXXXXXX, XXXXXXX, RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX) + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX) #endif diff --git a/users/tominabox1/config.h b/users/tominabox1/config.h index f853e18605..cf5d317fb7 100644 --- a/users/tominabox1/config.h +++ b/users/tominabox1/config.h @@ -15,14 +15,23 @@ #ifdef RGBLIGHT_ENABLE #undef RGBLED_NUM #define RGBLED_NUM 50 - #define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_SLEEP #endif // RGBLIGHT_ENABLE #ifdef RGB_MATRIX_ENABLE #undef RGBLED_NUM #define RGBLED_NUM 50 - #define DRIVER_LED_TOTAL RGBLED_NUM + #define RGB_MATRIX_LED_COUNT RGBLED_NUM #endif // RGBL_MATRIX_ENABLE #endif // KEYBOARD_lazydesigners_dimple diff --git a/users/tominabox1/dimple_rgb.c b/users/tominabox1/dimple_rgb.c index 49d95eb43a..299dc830f1 100644 --- a/users/tominabox1/dimple_rgb.c +++ b/users/tominabox1/dimple_rgb.c @@ -1,7 +1,7 @@ #include "dz60rgb.h" #include "config.h" #if defined (dzrgb60_iso) -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, K_14, J_14, L_14}, {0, K_13, J_13, L_13}, {0, K_12, J_12, L_12}, @@ -86,7 +86,7 @@ led_config_t g_led_config = { { } }; #elif defined (dzrgb60_hhkb) -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, H_15, G_15, I_15}, {0, K_14, J_14, L_14}, {0, K_13, J_13, L_13}, @@ -172,7 +172,7 @@ led_config_t g_led_config = { { } }; #elif defined (dzrgb60_hhkb_iso) -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, H_15, G_15, I_15}, {0, K_14, J_14, L_14}, {0, K_13, J_13, L_13}, @@ -258,7 +258,7 @@ led_config_t g_led_config = { { } }; #elif defined (dzrgb60_ansi) -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, K_14, J_14, L_14}, {0, K_13, J_13, L_13}, {0, K_12, J_12, L_12}, @@ -343,7 +343,7 @@ led_config_t g_led_config = { { } }; #else -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, K_14, J_14, L_14}, {0, K_13, J_13, L_13}, {0, K_12, J_12, L_12}, diff --git a/users/tominabox1/tominabox1.c b/users/tominabox1/tominabox1.c index b4ec224d07..999222fa67 100644 --- a/users/tominabox1/tominabox1.c +++ b/users/tominabox1/tominabox1.c @@ -58,7 +58,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode uint16_t time = scale16by8(g_rgb_counters.tick, speed / 8); hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); RGB rgb = hsv_to_rgb(hsv); - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], led_type)) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } @@ -68,7 +68,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode default: // Solid Color { RGB rgb = hsv_to_rgb(hsv); - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], led_type)) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } diff --git a/users/tominabox1/wrappers.h b/users/tominabox1/wrappers.h index 032fad273f..f7f4c7fd23 100644 --- a/users/tominabox1/wrappers.h +++ b/users/tominabox1/wrappers.h @@ -24,7 +24,7 @@ expanded before being used as arguments to the LAYOUT_xxx macro. |_| */ // Dimple Base layer -#define __________________DIMPLE1__________________ KC_GESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC +#define __________________DIMPLE1__________________ QK_GESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC #define __________________DIMPLE2__________________ LCTL_T(KC_TAB), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT #define __________________DIMPLE3L_________________ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B #define __________________DIMPLE3R_________________ KC_K, KC_M, KC_COMM, KC_UP, LT(_FKEY,KC_DOT) @@ -49,7 +49,7 @@ expanded before being used as arguments to the LAYOUT_xxx macro. #define ___________________FKEY4___________________ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO // Dimple Adjust layer -#define ___________________ADJST1__________________ RESET,RGBRST, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO +#define ___________________ADJST1__________________ QK_BOOT,RGBRST, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO #define ___________________ADJST2__________________ RGB_M_P, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO #define ___________________ADJST3__________________ RGB_MOD, RGB_HUI, RGB_HUD, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO #define ___________________ADJST4__________________ RGB_VAD, RGB_TOG, RGB_VAI, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO diff --git a/users/twschum/twschum.c b/users/twschum/twschum.c index 2d34f95718..f0ae1e65a9 100644 --- a/users/twschum/twschum.c +++ b/users/twschum/twschum.c @@ -79,7 +79,7 @@ static inline bool tap_ctrl_other_pressed(void) { // need to send the plain keycode plus potential mods if (get_mods() & MOD_MASK_CTRL) { // make sure to send a shift if prssed - repeat_send_keys(key->count, KC_RSHIFT, key->keycode); + repeat_send_keys(key->count, KC_RSFT, key->keycode); } else { repeat_send_keys(key->count, key->keycode); @@ -97,7 +97,6 @@ static inline bool tap_ctrl_other_pressed(void) { /* Use RGB underglow to indicate layer * https://docs.qmk.fm/reference/customizing-functionality */ -// add to quantum/rgblight_list.h #ifdef RGBLIGHT_ENABLE static bool rgb_layers_enabled = true; static bool rgb_L0_enabled = false; diff --git a/users/twschum/xtonhasvim.c b/users/twschum/xtonhasvim.c index a1adf39f04..b3f410bc26 100644 --- a/users/twschum/xtonhasvim.c +++ b/users/twschum/xtonhasvim.c @@ -70,7 +70,7 @@ static void comma_period(uint16_t keycode) { case VIM_COMMA: if (SHIFTED) { // indent - tap_code16(LGUI(KC_LBRACKET)); + tap_code16(LGUI(KC_LEFT_BRACKET)); } else { // toggle comment tap_code16(LGUI(KC_SLASH)); @@ -79,7 +79,7 @@ static void comma_period(uint16_t keycode) { case VIM_PERIOD: if (SHIFTED) { // outdent - tap_code16(LGUI(KC_RBRACKET)); + tap_code16(LGUI(KC_RIGHT_BRACKET)); } break; } @@ -144,9 +144,9 @@ bool process_record_vimlayer(uint16_t keycode, keyrecord_t *record) { break; case VIM_C: if(SHIFTED) { - register_code(KC_LSHIFT); + register_code(KC_LSFT); tap_code16(LGUI(KC_RIGHT)); - unregister_code(KC_LSHIFT); + unregister_code(KC_LSFT); tap_code16(LGUI(KC_X)); yank_was_lines = false; EDIT; @@ -225,9 +225,9 @@ bool process_record_vimlayer(uint16_t keycode, keyrecord_t *record) { // s for substitute? if(SHIFTED) { tap_code16(LGUI(KC_LEFT)); - register_code(KC_LSHIFT); + register_code(KC_LSFT); tap_code16(LGUI(KC_RIGHT)); - unregister_code(KC_LSHIFT); + unregister_code(KC_LSFT); tap_code16(LGUI(KC_X)); yank_was_lines = false; EDIT; @@ -242,7 +242,7 @@ bool process_record_vimlayer(uint16_t keycode, keyrecord_t *record) { if(SHIFTED) { register_code(KC_LSFT); tap_code16(LGUI(KC_Z)); - unregister_code(KC_LSHIFT); + unregister_code(KC_LSFT); } else { tap_code16(LGUI(KC_Z)); } @@ -305,9 +305,9 @@ bool process_record_vimlayer(uint16_t keycode, keyrecord_t *record) { case VIM_C: tap_code16(LGUI(KC_LEFT)); - register_code(KC_LSHIFT); + register_code(KC_LSFT); tap_code16(LGUI(KC_RIGHT)); - unregister_code(KC_LSHIFT); + unregister_code(KC_LSFT); tap_code16(LGUI(KC_X)); yank_was_lines = false; EDIT; @@ -327,9 +327,9 @@ bool process_record_vimlayer(uint16_t keycode, keyrecord_t *record) { switch(keycode) { case VIM_W: tap_code16(LALT(KC_LEFT)); - register_code(KC_LSHIFT); + register_code(KC_LSFT); tap_code16(LALT(KC_RIGHT)); - unregister_code(KC_LSHIFT); + unregister_code(KC_LSFT); tap_code16(LGUI(KC_X)); yank_was_lines = false; EDIT; @@ -377,9 +377,9 @@ bool process_record_vimlayer(uint16_t keycode, keyrecord_t *record) { switch(keycode) { case VIM_W: tap_code16(LALT(KC_LEFT)); - register_code(KC_LSHIFT); + register_code(KC_LSFT); tap_code16(LALT(KC_RIGHT)); - unregister_code(KC_LSHIFT); + unregister_code(KC_LSFT); tap_code16(LGUI(KC_X)); yank_was_lines = false; vstate = VIM_START; @@ -401,33 +401,33 @@ bool process_record_vimlayer(uint16_t keycode, keyrecord_t *record) { break; case VIM_B: register_code(KC_LALT); - register_code(KC_LSHIFT); + register_code(KC_LSFT); register_code(KC_LEFT); // leave open for key repeat break; case VIM_E: register_code(KC_LALT); - register_code(KC_LSHIFT); + register_code(KC_LSFT); register_code(KC_RIGHT); // leave open for key repeat break; case VIM_H: - register_code(KC_LSHIFT); + register_code(KC_LSFT); register_code(KC_LEFT); break; case VIM_I: vstate = VIM_VI; break; case VIM_J: - register_code(KC_LSHIFT); + register_code(KC_LSFT); register_code(KC_DOWN); break; case VIM_K: - register_code(KC_LSHIFT); + register_code(KC_LSFT); register_code(KC_UP); break; case VIM_L: - register_code(KC_LSHIFT); + register_code(KC_LSFT); register_code(KC_RIGHT); break; case VIM_W: @@ -468,9 +468,9 @@ bool process_record_vimlayer(uint16_t keycode, keyrecord_t *record) { switch(keycode) { case VIM_W: tap_code16(LALT(KC_LEFT)); - register_code(KC_LSHIFT); + register_code(KC_LSFT); tap_code16(LALT(KC_RIGHT)); - unregister_code(KC_LSHIFT); + unregister_code(KC_LSFT); vstate = VIM_V; default: // ignore @@ -490,11 +490,11 @@ bool process_record_vimlayer(uint16_t keycode, keyrecord_t *record) { vstate = VIM_START; break; case VIM_J: - register_code(KC_LSHIFT); + register_code(KC_LSFT); register_code(KC_DOWN); break; case VIM_K: - register_code(KC_LSHIFT); + register_code(KC_LSFT); register_code(KC_UP); break; case VIM_Y: diff --git a/users/txkyel/config.h b/users/txkyel/config.h deleted file mode 100644 index beb0a287a9..0000000000 --- a/users/txkyel/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Kyle Xiao - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#pragma once - -#define TAPPING_TERM 200 diff --git a/users/txkyel/readme.md b/users/txkyel/readme.md deleted file mode 100644 index 6f86fe28f8..0000000000 --- a/users/txkyel/readme.md +++ /dev/null @@ -1,20 +0,0 @@ -# txkyel's Userspace - -Read up on my implementation of tap dancing journey in learning QMK thus far in [tap_dance.md](tap_dance.md). - -## Licensing - -Copyright 2021 Kyle Xiao kylexiao20@gmail.com @txkyel - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -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. - -You should have received a copy of the GNU General Public License -along with this program. If not, see <http://www.gnu.org/licenses/>. diff --git a/users/txkyel/rules.mk b/users/txkyel/rules.mk deleted file mode 100644 index f7b729c83c..0000000000 --- a/users/txkyel/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -SRC += txkyel.c - -ifeq ($(strip $(TAP_DANCE_ENABLE)), yes) - SRC += tap_dance.c -endif diff --git a/users/txkyel/tap_dance.c b/users/txkyel/tap_dance.c deleted file mode 100644 index 9c1d27e8d8..0000000000 --- a/users/txkyel/tap_dance.c +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright 2021 Kyle Xiao - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#include "tap_dance.h" - -#ifdef TAP_DANCE_ENABLE -void qk_tap_dance_tap_hold_on_each_tap(qk_tap_dance_state_t *state, void *user_data) { - qk_tap_dance_tap_hold_t *kc = (qk_tap_dance_tap_hold_t *)user_data; - - // second tap within term, pseudo reset tap dance - if (state->count == 2) { - tap_code16(kc->t); - state->count = 1; - state->timer = timer_read(); - } -} - -void qk_tap_dance_tap_hold_on_finish(qk_tap_dance_state_t *state, void *user_data) { - qk_tap_dance_tap_hold_t *kc = (qk_tap_dance_tap_hold_t *)user_data; - - kc->tapped = state->interrupted || !state->pressed; - if (kc->tapped) { - register_code16(kc->t); - } else { - register_code16(kc->h); - } -} - -void qk_tap_dance_tap_hold_on_reset(qk_tap_dance_state_t *state, void *user_data) { - qk_tap_dance_tap_hold_t *kc = (qk_tap_dance_tap_hold_t *)user_data; - - if (kc->tapped) { - unregister_code16(kc->t); - } else { - unregister_code16(kc->h); - } - kc->tapped = true; -} -#endif diff --git a/users/txkyel/tap_dance.h b/users/txkyel/tap_dance.h deleted file mode 100644 index af56a9863b..0000000000 --- a/users/txkyel/tap_dance.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2021 Kyle Xiao - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#pragma once -#include "txkyel.h" - -#ifdef TAP_DANCE_ENABLE -typedef struct { - uint16_t t; - uint16_t h; - bool tapped; -} qk_tap_dance_tap_hold_t; - -# define ACTION_TAP_HOLD(t, h) \ - { .fn = {qk_tap_dance_tap_hold_on_each_tap, qk_tap_dance_tap_hold_on_finish, qk_tap_dance_tap_hold_on_reset}, .user_data = (void *)&((qk_tap_dance_tap_hold_t){t, h, true}), } -# define ACTION_TAP_HOLD_CTL(t) ACTION_TAP_HOLD(t, C(t)) - -void qk_tap_dance_tap_hold_on_each_tap(qk_tap_dance_state_t *state, void *user_data); -void qk_tap_dance_tap_hold_on_finish(qk_tap_dance_state_t *state, void *user_data); -void qk_tap_dance_tap_hold_on_reset(qk_tap_dance_state_t *state, void *user_data); -#endif diff --git a/users/txkyel/tap_dance.md b/users/txkyel/tap_dance.md deleted file mode 100644 index e36001f129..0000000000 --- a/users/txkyel/tap_dance.md +++ /dev/null @@ -1,173 +0,0 @@ -# Tap Hold Custom Tap Dance - -This custom tap dance functions similarly to the single tap and hold functionality of '[Quad Function Tap-Dance](https://docs.qmk.fm/#/feature_tap_dance?id=example-4)' by [DanielGGordon](https://github.com/danielggordon) with a reduced size per tap dance declared. - -## Motivation - -I first discovered tap dancing through [Ben Vallack](https://www.youtube.com/c/BenVallack) and was interested in the functionality of tap dancing demonstrated in his [tap dancing video](https://www.youtube.com/watch?v=pTMbzmf2sz8). And so I set off to implement my own tap dances emulating this functionality. - -## Custom Tap Dance Action - -Similar to the the action definitions in [`process_tap_dance.h`](../../quantum/process_keycode/process_tap_dance.h); I have created a custom macro and data structure used to declare tap dance actions: - -```c -typedef struct { - uint16_t t; - uint16_t h; - bool tapped; -} qk_tap_dance_tap_hold_t; - -#define ACTION_TAP_HOLD(t, h) \ - { .fn = {qk_tap_dance_tap_hold_on_each_tap, qk_tap_dance_tap_hold_on_finish, qk_tap_dance_tap_hold_on_reset}, .user_data = (void *)&((qk_tap_dance_tap_hold_t){t, h, true}), } -``` - -This allows the user to set the keycode registered when tapping `t`, the keycode registered when holding `h`, as well as prepares a boolean storing logic allowing the the reset function to determine whether a tap or hold was registered `tapped`. - -## Custom Tap Dance Functions - -The three handlers backing Tap Hold are really simple. - -The `on_each_tap` handler triggers a tap if a second tap is made within the tapping term. Following that it performs a pseudo reset, setting the count back to 1 and resetting the timer. - -```c -void qk_tap_dance_tap_hold_on_each_tap(qk_tap_dance_state_t *state, void *user_data) { - qk_tap_dance_tap_hold_t *kc = (qk_tap_dance_tap_hold_t *)user_data; - - if (state->count == 2) { - tap_code16(kc->t); - state->count = 1; - state->timer = timer_read(); - } -} -``` - -The `on_finished` handler determines whether the dance was a tap or a hold, saving the result in `kc->tapped` for `on_reset` later. After, the handler registers the respctive keycode. - -```c -void qk_tap_dance_tap_hold_on_finish(qk_tap_dance_state_t *state, void *user_data) { - qk_tap_dance_tap_hold_t *kc = (qk_tap_dance_tap_hold_t *)user_data; - - kc->tapped = state->interrupted || !state->pressed; - if (kc->tapped) { - register_code16(kc->t); - } else { - register_code16(kc->h); - } -} -``` - -Finally, the `on_reset` handler unregisters the corresponding keycode, and resets `kc->tapped` for subsequent tap dances. - -```c -void qk_tap_dance_tap_hold_on_reset(qk_tap_dance_state_t *state, void *user_data) { - qk_tap_dance_tap_hold_t *kc = (qk_tap_dance_tap_hold_t *)user_data; - - if (kc->tapped) { - unregister_code16(kc->t); - } else { - unregister_code16(kc->h); - } - kc->tapped = true; -} -``` - -## Tap: keycode; Hold: control + keycode (or any modifier + keycode) - -The macro `ACTION_TAP_HOLD` allows a user to select the keycode for both the tap and hold action of the tap dance. It goes without saying that you can also send keycodes with modifiers so instead of having to write out `ACTION_TAP_HOLD(kc, C(kc))` for each keycode, we can use more macros: - -```c -#define ACTION_TAP_HOLD_CTL(t) ACTION_TAP_HOLD(t, LCTL(t)) -``` - -Macros are rock. - -# The Journey to Lower Sized Tap Dancing - -As I said earlier, I had set out to create my own tap dancing functions with little knowledge of how QMK works. Just as a bonus, I thought I'd share my journey through making my own custom tap dance. - -## Research - -When looking through the [tap dance documentation](https://beta.docs.qmk.fm/using-qmk/software-features/feature_tap_dance), it was apparent to me that [complex example 4](https://docs.qmk.fm/#/feature_tap_dance?id=example-4) by [DanielGGordon](https://github.com/danielggordon), had the functionality I so desired, I would have to do at least three things. - -However, in order to make all the tap dances for at least all of the alpha keys I would have to do the following three things: - -1. Write a `on_dance_finished` function -2. Write a `on_reset` function -3. And create a static struct instance storing a `boolean` and `td_state_t` - -The most outrageous part was that I would have to repeat these three steps for **each and every tap dance!** - -Unable to see how I could reduce the number of functions and data structures. I decided to follow through with making functions for each keycode. - -## Naive Implementation 1: Macros with `ACTION_TAP_DANCE_FN_ADVANCED` - -For my initial implementation, I set out to make use of macros to reduce the amount of apparent duplicate code in my keymap files. - -Copying the functions by DanielGGordon, reducing its functionality to single tap and single hold, and converting them into macros, I was able to create all the necessary functions for each tap dance without having to write out the same functions dozens of times. - -My issues with this implementation were that, when compiling, this was no different from me writing the same function dozens of time. This meant that the resulting firmware was **HUGE** decreasing the amount of additional features the user is able to enable. - -## Naive Implementation 2: Custom Quantum Keycode - -Searching for another solution I searched through the files in the qmk repository and stumbled across the implementation of several quantum keycode processing files in [`process_keycode`](../../quantum/process_keycode), namely the files [`process_unicode.h`](../../quantum/process_keycode/process_unicode.h), [`process_unicode.c`](../../quantum/process_keycode/process_unicode.c), and [`process_unicode_common.h`](../../quantum/process_keycode/process_unicode_common.h). - -And so I set off to implement my own **custom quantum keycodes** overriding Unicode keycode ranges and [implementing `process_record_user()`](https://docs.qmk.fm/#/custom_quantum_functions?id=custom-keycodes). - -Upon initial testing with a single key, it appeared functional save for the fact that keys would only register when releasing the key. Additionally it saved plenty of space due to reuse of functions when processing input. - -I was really proud of my implementation and had even shown it off to several of my friends. - -Unfortunately, when testing it out on all alpha, everything started to come apart. Because keystrokes would only register when releasing the switch, faster typists would actually actuate some keystrokes in the incorrect order; particularly with space appearing before the final letter of most words. - -## Current Implementation: Custom Tap Dance Actions - -Upset that I would have to go back to naive implementation 1, I went back to digging for answers. Maybe there was something I was missing, some extra details on how tap dancing gets processed. - -Looking again in [`process_keycode`](../../quantum/process_keycode), I found [`process_tap_dance.h`](../../quantum/process_keycode/process_tap_dance.h) and [`process_tap_dance.c`](../../quantum/process_keycode/process_tap_dance.c). And in those files, I found the miracle working struct `qk_tap_dance_action_t`. - -Looking more closely, each tap dance action a user defines constructs a `qk_tap_dance_action_t` with the following: - -- Three handler functions - - An `on_each_tap` function that runs when the tap dance key is pressed within the `TAPPING_TERM` - - An `on_dance_finished` function that runs when the `TAPPING_TERM` is complete - - An `on_reset` function that runs after finishing the dance -- A `custom_tapping_term` for the tap dance action -- Last but not least, the my saving grace: `void *user_data`. A user defined struct that gets passed to each of the handler functions. - -With this discovery, I set out to implement my own custom tap dance action in my [personal userspace](.) as seen [`tap_dance.c`](tap_dance.c) and [`tap_dance.h`](tap_dance.h) which I named ACTION_TAP_HOLD. - -## Updates and Thoughts - -### 08/08/2021 - -Initially, I thought of allowing the user to hold the hold tap dance action (`KC_LCTL` + `KC_<keycode>`). Unfortunately, I ran into several issues (likely due to my lack of understanding on the runtime flow) causing control to be held indefinitely until the computer is restarted. This is why, I had handler functions perform `tap_code16` opposed to `register_code16` and `unregister_code16`. - -When handling a double tap within the `TAPPING_TERM`, the tap keycode gets sent with `tap_code16`, the status timer gets reset, and the counter gets set back to 1 in case the user wishes to tap again or to hold the second tap. - -### 09/08/2021 - -Generalized tap and hold `user_data` struct to store two keycodes; one for the tap action, the other for the hold action. - -This way the user can define the tap and hold functionality separately. - -### 09/08/2021 - -Reworked utilizing, `register_code16` and `unregister_code16`. The issues previously experienced were due to my ignorance of the runtime flow for tap dancing. - -Previously in both the `on_dance_finished` and `on_reset` functions, I checked if the key was being tapped or held using this statement: - -``` -state->interrupted || !state->pressed -``` - -In the case of a hold, when accessing the `on_dance_finished` function, `state->interrupted` would be false and `state->pressed` would be true making the above statement false making the statement work as intended. - -However, when it comes to `on_reset` the statement no longer works. - -In the runtime flow for tap dancing, `on_reset` gets called in the function [`reset_tap_dance`](../../quantum/process_keycode/process_tap_dance.c#L186). In order for the `on_reset` function to be called, **state->pressed must be false**. - -This means that the above statement is no longer reliable in determining if a key has been held in this function. In fact, the function will always act as though a tap occured, meaning the hold reset will never be reached. - -There were signs of this in [complex examples](https://docs.qmk.fm/#/feature_tap_dance?id=complex-examples) that I hadn't taken into mind when designing this custom tap dance action (mainly through the static variables used to store the state instead of using `state` in both functions). - -As such, the fix was as simple as adding a boolean to the `user_data` struct that stores the state of the tap dance, thus allowing us to now be able to properly hold the hold key without any worry of the hold action of a key being stuck on. diff --git a/users/txkyel/txkyel.c b/users/txkyel/txkyel.c deleted file mode 100644 index b01a71bb81..0000000000 --- a/users/txkyel/txkyel.c +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright 2021 Kyle Xiao - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#include "txkyel.h" - -#ifdef TAP_DANCE_ENABLE -// Default Tap Dance definitions -qk_tap_dance_action_t tap_dance_actions[] = { - [HC_A] = ACTION_TAP_HOLD_CTL(KC_A), - [HC_B] = ACTION_TAP_HOLD_CTL(KC_B), - [HC_C] = ACTION_TAP_HOLD_CTL(KC_C), - [HC_D] = ACTION_TAP_HOLD_CTL(KC_D), - [HC_E] = ACTION_TAP_HOLD_CTL(KC_E), - [HC_F] = ACTION_TAP_HOLD_CTL(KC_F), - [HC_G] = ACTION_TAP_HOLD_CTL(KC_G), - [HC_H] = ACTION_TAP_HOLD_CTL(KC_H), - [HC_I] = ACTION_TAP_HOLD_CTL(KC_I), - [HC_J] = ACTION_TAP_HOLD_CTL(KC_J), - [HC_K] = ACTION_TAP_HOLD_CTL(KC_K), - [HC_L] = ACTION_TAP_HOLD_CTL(KC_L), - [HC_M] = ACTION_TAP_HOLD_CTL(KC_M), - [HC_N] = ACTION_TAP_HOLD_CTL(KC_N), - [HC_O] = ACTION_TAP_HOLD_CTL(KC_O), - [HC_P] = ACTION_TAP_HOLD_CTL(KC_P), - [HC_Q] = ACTION_TAP_HOLD_CTL(KC_Q), - [HC_R] = ACTION_TAP_HOLD_CTL(KC_R), - [HC_S] = ACTION_TAP_HOLD_CTL(KC_S), - [HC_T] = ACTION_TAP_HOLD_CTL(KC_T), - [HC_U] = ACTION_TAP_HOLD_CTL(KC_U), - [HC_V] = ACTION_TAP_HOLD_CTL(KC_V), - [HC_W] = ACTION_TAP_HOLD_CTL(KC_W), - [HC_X] = ACTION_TAP_HOLD_CTL(KC_X), - [HC_Y] = ACTION_TAP_HOLD_CTL(KC_Y), - [HC_Z] = ACTION_TAP_HOLD_CTL(KC_Z), - [HC_BSPC] = ACTION_TAP_HOLD_CTL(KC_BSPC), - [HC_DEL] = ACTION_TAP_HOLD_CTL(KC_DEL), - [HC_LEFT] = ACTION_TAP_HOLD_CTL(KC_LEFT), - [HC_RGHT] = ACTION_TAP_HOLD_CTL(KC_RGHT), - [TH_ESC_TAB] = ACTION_TAP_HOLD(KC_TAB, KC_ESC), - [TH_HOME_BSLS] = ACTION_TAP_HOLD(KC_BSLASH, KC_HOME), - [TH_HOME_BSLS] = ACTION_TAP_HOLD(KC_PIPE, KC_END), - [TH_QUOT_GRV] = ACTION_TAP_HOLD(KC_QUOT, KC_GRV), -}; -#endif diff --git a/users/txkyel/txkyel.h b/users/txkyel/txkyel.h deleted file mode 100644 index 0b725961a4..0000000000 --- a/users/txkyel/txkyel.h +++ /dev/null @@ -1,58 +0,0 @@ -/* Copyright 2021 Kyle Xiao - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#pragma once -#include "quantum.h" -#include "tap_dance.h" - -#ifdef TAP_DANCE_ENABLE -// Tap Dance declarations for use in keymaps -enum hold_ctl_enum { - HC_A = 1, - HC_B, - HC_C, - HC_D, - HC_E, - HC_F, - HC_G, - HC_H, - HC_I, - HC_J, - HC_K, - HC_L, - HC_M, - HC_N, - HC_O, - HC_P, - HC_Q, - HC_R, - HC_S, - HC_T, - HC_U, - HC_V, - HC_W, - HC_X, - HC_Y, - HC_Z, - HC_BSPC, - HC_DEL, - HC_LEFT, - HC_RGHT, - TH_ESC_TAB, - TH_HOME_BSLS, - TH_END_PIPE, - TH_QUOT_GRV, -}; -#endif diff --git a/users/uqs/config.h b/users/uqs/config.h index b8a140fe87..4bb793532b 100644 --- a/users/uqs/config.h +++ b/users/uqs/config.h @@ -4,7 +4,6 @@ #ifdef RGBLIGHT_ENABLE # define RGBLIGHT_SLEEP -//# define RGBLIGHT_ANIMATIONS // disabled to save space # define RGBLIGHT_LAYERS # define RGBLIGHT_MAX_LAYERS 8 // default is 16 # define RGBLIGHT_DISABLE_KEYCODES // RGB_foo keys no longer work, saves 600 bytes @@ -23,7 +22,7 @@ #define LEADER_TIMEOUT 400 #define LEADER_PER_KEY_TIMING -#define UNICODE_SELECTED_MODES UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX // make KC_ACL0 et al work when held. #define MK_COMBINED diff --git a/users/uqs/uqs.c b/users/uqs/uqs.c index 72284143c6..82cf70c439 100644 --- a/users/uqs/uqs.c +++ b/users/uqs/uqs.c @@ -78,9 +78,9 @@ const rgblight_segment_t* const PROGMEM my_rgb_layers[] = { my_rgb_segments[L_MOUSE], }; -_Static_assert(sizeof(my_rgb_layers) / sizeof(my_rgb_layers[0]) == - sizeof(my_rgb_segments) / sizeof(my_rgb_segments[0]), - "Number of rgb_segment definitions does not match up!"); +_Static_assert(ARRAY_SIZE(my_rgb_layers) == + ARRAY_SIZE(my_rgb_segments), + "Number of rgb_segment definitions does not match up!"); #endif #ifdef COMBO_ENABLE @@ -125,7 +125,7 @@ const uint16_t PROGMEM my_combos[][4] = { {KC_BTN1, KC_BTN2, KC_BTN3, COMBO_END}, }; -const uint16_t COMBO_LEN = sizeof(my_action_combos) / sizeof(my_action_combos[0]) + sizeof(my_combos) / sizeof(my_combos[0]); +const uint16_t COMBO_LEN = ARRAY_SIZE(my_action_combos) + ARRAY_SIZE(my_combos); #define MY_ACTION_COMBO(ck) \ [ck] = { .keys = &(my_action_combos[ck][0]) } @@ -162,11 +162,11 @@ combo_t key_combos[] = { MY_COMBO(14), }; -_Static_assert(sizeof(key_combos) / sizeof(key_combos[0]) == - (sizeof(my_action_combos) / sizeof(my_action_combos[0]) + sizeof(my_combos) / sizeof(my_combos[0])), - "Number of combo definitions does not match up!"); +_Static_assert(ARRAY_SIZE(key_combos) == + (ARRAY_SIZE(my_action_combos) + ARRAY_SIZE(my_combos)), + "Number of combo definitions does not match up!"); #else -combo_t key_combos[sizeof(my_action_combos) / sizeof(my_action_combos[0]) + sizeof(my_combos) / sizeof(my_combos[0])]; +combo_t key_combos[ARRAY_SIZE(my_action_combos) + ARRAY_SIZE(my_combos)]; #endif void process_combo_event(uint16_t combo_index, bool pressed) { @@ -235,10 +235,10 @@ void keyboard_post_init_user(void) { #endif #if defined(COMBO_ENABLE) && !defined(COMBO_STATICALLY) uint8_t i = 0; - for (; i < sizeof(my_action_combos) / sizeof(my_action_combos[0]); i++) { + for (; i < ARRAY_SIZE(my_action_combos); i++) { key_combos[i].keys = &(my_action_combos[i][0]); } - for (uint8_t j = 0; j < sizeof(my_combos) / sizeof(my_combos[0]); j++, i++) { + for (uint8_t j = 0; j < ARRAY_SIZE(my_combos); j++, i++) { key_combos[i].keycode = my_combos[j][0]; key_combos[i].keys = &(my_combos[j][1]); } @@ -502,10 +502,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { /* * Obsoleted by making tmux understand Ctrl-(Shift)-Tab natively. case TM_NEXT: - if (record->event.pressed) SEND_STRING(SS_LCTRL("a") "n"); + if (record->event.pressed) SEND_STRING(SS_LCTL("a") "n"); break; case TM_PREV: - if (record->event.pressed) SEND_STRING(SS_LCTRL("a") "p"); + if (record->event.pressed) SEND_STRING(SS_LCTL("a") "p"); break; */ // TODO: use key overrides to turn, e.g. Win+Ctrl-Tab into VIM_NEXT. @@ -517,16 +517,16 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) SEND_STRING(SS_TAP(X_ESC) SS_TAP(X_G) SS_LSFT("t")); break; case WIN_LEFT: - if (record->event.pressed) SEND_STRING(SS_LCTRL("w") SS_TAP(X_H)); + if (record->event.pressed) SEND_STRING(SS_LCTL("w") SS_TAP(X_H)); break; case WIN_DN: - if (record->event.pressed) SEND_STRING(SS_LCTRL("w") SS_TAP(X_J)); + if (record->event.pressed) SEND_STRING(SS_LCTL("w") SS_TAP(X_J)); break; case WIN_UP: - if (record->event.pressed) SEND_STRING(SS_LCTRL("w") SS_TAP(X_K)); + if (record->event.pressed) SEND_STRING(SS_LCTL("w") SS_TAP(X_K)); break; case WIN_RGHT: - if (record->event.pressed) SEND_STRING(SS_LCTRL("w") SS_TAP(X_L)); + if (record->event.pressed) SEND_STRING(SS_LCTL("w") SS_TAP(X_L)); break; } @@ -560,13 +560,13 @@ void matrix_scan_user(void) { } // tableflip (LEADER - TF) SEQ_TWO_KEYS(KC_T, KC_F) { - //set_unicode_input_mode(UC_LNX); + //set_unicode_input_mode(UNICODE_MODE_LINUX); //send_unicode_hex_string("0028 30CE 0CA0 75CA 0CA0 0029 30CE 5F61 253B 2501 253B"); send_unicode_string("(╯°□°)╯︵ ┻━┻"); } // untableflip SEQ_THREE_KEYS(KC_U, KC_T, KC_F) { - //set_unicode_input_mode(UC_LNX); + //set_unicode_input_mode(UNICODE_MODE_LINUX); //send_unicode_hex_string("0028 30CE 0CA0 75CA 0CA0 0029 30CE 5F61 253B 2501 253B"); send_unicode_string("┬─┬ノ( º _ ºノ)"); } diff --git a/users/uqs/uqs.h b/users/uqs/uqs.h index f8b30caf79..b5026e5b59 100644 --- a/users/uqs/uqs.h +++ b/users/uqs/uqs.h @@ -52,7 +52,7 @@ enum custom_keycodes { }; #ifndef LEADER_ENABLE -#define KC_LEAD KC_NO +#define QK_LEAD KC_NO #endif // Shorter names diff --git a/users/vitoni/rgb_matrix_effects.h b/users/vitoni/rgb_matrix_effects.h index ed74500b18..c3234b159b 100644 --- a/users/vitoni/rgb_matrix_effects.h +++ b/users/vitoni/rgb_matrix_effects.h @@ -22,7 +22,7 @@ enum states { #if defined(RGB_DISABLE_WITH_FADE_OUT) ,FADE_OUT //!< before supending #endif - ,SUSPENDED //!< expecting to be suspended by RGB_DISABLE_TIMEOUT any time + ,SUSPENDED //!< expecting to be suspended by RGB_MATRIX_TIMEOUT any time }; /** @@ -99,8 +99,8 @@ bool fade_in(const uint8_t time); #endif #if defined(RGB_DISABLE_WITH_FADE_OUT) -# if !defined(RGB_DISABLE_TIMEOUT) -# warning "RGB_DISABLE_WITH_FADE_OUT expects RGB_DISABLE_TIMEOUT to be defined" +# if !defined(RGB_MATRIX_TIMEOUT) +# warning "RGB_DISABLE_WITH_FADE_OUT expects RGB_MATRIX_TIMEOUT to be defined" # endif #endif diff --git a/users/vitoni/vitoni.c b/users/vitoni/vitoni.c index 2a0ff5c46f..f8cb50ea78 100644 --- a/users/vitoni/vitoni.c +++ b/users/vitoni/vitoni.c @@ -31,17 +31,17 @@ void matrix_scan_user_rgb(void) { #endif #if defined(RGB_DISABLE_WITH_FADE_OUT) const uint32_t fade_out_duration = scale_2_rgb_time(128); - const uint32_t start_fade_out_after_millis = (RGB_DISABLE_TIMEOUT) > fade_out_duration - ? (RGB_DISABLE_TIMEOUT) - fade_out_duration + const uint32_t start_fade_out_after_millis = (RGB_MATRIX_TIMEOUT) > fade_out_duration + ? (RGB_MATRIX_TIMEOUT) - fade_out_duration : 0; if (start_fade_out_after_millis <= inactivity_millis) { update_value(&state, FADE_OUT, &calc_offset); } -#elif defined(RGB_DISABLE_TIMEOUT) +#elif defined(RGB_MATRIX_TIMEOUT) // having to set brightness "manually" to black as starting point for fade in // for the time when returning from suspended state - if (RGB_DISABLE_TIMEOUT <= inactivity_millis + 15) { + if (RGB_MATRIX_TIMEOUT <= inactivity_millis + 15) { rgb_matrix_config.hsv.v = 0; state = SUSPENDED; } diff --git a/users/wanleg/tapdances.c b/users/wanleg/tapdances.c index 1be5636dc7..cfd84a2644 100644 --- a/users/wanleg/tapdances.c +++ b/users/wanleg/tapdances.c @@ -72,15 +72,15 @@ void CAD_finished (qk_tap_dance_state_t *state, void *user_data) { case SINGLE_HOLD: //register_code(KC_NO); //take a screenshot of a single window, open Paint and paste - SEND_STRING(SS_LALT(SS_TAP(X_PSCREEN)) SS_LGUI("r")); + SEND_STRING(SS_LALT(SS_TAP(X_PRINT_SCREEN)) SS_LGUI("r")); wait_ms(500); SEND_STRING("mspaint" SS_TAP(X_ENTER)); wait_ms(700); - SEND_STRING(SS_LCTRL("v")); + SEND_STRING(SS_LCTL("v")); break; //register this keycode when button is held case DOUBLE_TAP: //register_code(KC_ENT); - SEND_STRING(SS_LCTRL(SS_LALT(SS_TAP(X_DELETE)))); + SEND_STRING(SS_LCTL(SS_LALT(SS_TAP(X_DELETE)))); #ifdef BACKLIGHT_ENABLE backlight_level(0); #endif @@ -224,7 +224,7 @@ void BSW_finished (qk_tap_dance_state_t *state, void *user_data) { #endif break; case DOUBLE_TAP: - register_code(KC_LCTRL); + register_code(KC_LCTL); register_code(KC_C); break; case DOUBLE_HOLD: @@ -237,7 +237,7 @@ void BSW_reset (qk_tap_dance_state_t *state, void *user_data) { switch (BSWtap_state.state) { case SINGLE_TAP: unregister_code(KC_ENTER); break; case DOUBLE_TAP: - unregister_code(KC_LCTRL); + unregister_code(KC_LCTL); unregister_code(KC_C); break; } diff --git a/users/wanleg/wanleg.c b/users/wanleg/wanleg.c index aa7b1c9a4c..c8ca77676b 100644 --- a/users/wanleg/wanleg.c +++ b/users/wanleg/wanleg.c @@ -124,12 +124,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; break; //on RESET, underglow red if present - case RESET: + case QK_BOOT: if (record->event.pressed) { #if defined(RGBLIGHT_ENABLE) rgblight_enable_noeeprom(); // enables Rgb, without saving settings rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - rgblight_sethsv_noeeprom_red(); + rgblight_sethsv_noeeprom(HSV_RED); #endif } return true; // Let QMK send the press/release events as normal diff --git a/users/wanleg/wanleg.h b/users/wanleg/wanleg.h index 2aea1a31e7..a9d1bbf6a6 100644 --- a/users/wanleg/wanleg.h +++ b/users/wanleg/wanleg.h @@ -169,7 +169,7 @@ enum { * | Sft//Cp| CAPS | | | | C-A-D | mScrL | mScrR | ALT | DEL | * '-----------------------------------------------------------------------------------------' */ -#define _______________Gherkin_ETC_0_______________ KC_GRV, KC_MS_U, _______,KC_ESC, RESET, KC_RSFT, KC_WH_D, KC_WH_U, _______, KC_BSLS +#define _______________Gherkin_ETC_0_______________ KC_GRV, KC_MS_U, _______,KC_ESC, QK_BOOT, KC_RSFT, KC_WH_D, KC_WH_U, _______, KC_BSLS #define _______________Gherkin_ETC_1_______________ KC_MS_L, KC_MS_D, KC_MS_R,_______, KC_LSFT, KC_BTN3, KC_BTN1, KC_BTN2, KC_SCLN, KC_QUOT #define _______________Gherkin_ETC_2_______________ TD(TD_SFT_CAPS),KC_CAPS, _______,_______, _______, LALT(LCTL(KC_DEL)), KC_WH_L, KC_WH_R, KC_LALT, KC_DEL @@ -219,7 +219,7 @@ enum { * | | | | | | | | | | | | | * '-----------------------------------------------------------------------------------------------------------' */ -#define ________________SUPRA_Row_0________________ RESET, KC_TAB, KC_UP, _______, KC_INS, KC_LCTL, KC_RSFT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_DEL +#define ________________SUPRA_Row_0________________ QK_BOOT, KC_TAB, KC_UP, _______, KC_INS, KC_LCTL, KC_RSFT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_DEL #define ________________SUPRA_Row_1________________ _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PSCR, KC_LSFT, KC_RCTL, KC_PGDN, KC_END, KC_LBRC, KC_RBRC, KC_BSLS #define ________________SUPRA_Row_2________________ _______, KC_PAUS, _______, _______, _______, _______, _______, _______, KC_RGUI, KC_RALT, _______, _______ #define ________________SUPRA_Row_3________________ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ @@ -317,6 +317,6 @@ enum { * | UG_hue- | UG_hue+ | UG_sat- | UG_sat+ | | | | | |QWERTY| * '-----------------------------------------------------------------------------------------------------' */ -#define _______________Gherkin_FN_0________________ BL_BRTG, BL_DEC, BL_INC, BL_TOGG, BL_STEP, BL_ON, _______, _______, _______, _______ +#define _______________Gherkin_FN_0________________ BL_BRTG, BL_DOWN, BL_UP, BL_TOGG, BL_STEP, BL_ON, _______, _______, _______, _______ #define _______________Gherkin_FN_1________________ RGB_M_B, RGB_VAD, RGB_VAI, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______ #define _______________Gherkin_FN_2________________ RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, QWERTY diff --git a/users/xtonhasvim/xtonhasvim.c b/users/xtonhasvim/xtonhasvim.c index 5f6701830f..2d59cf2c62 100644 --- a/users/xtonhasvim/xtonhasvim.c +++ b/users/xtonhasvim/xtonhasvim.c @@ -36,15 +36,15 @@ static void CMD(uint16_t keycode) { } static void CTRL(uint16_t keycode) { - PRESS(KC_LCTRL); + PRESS(KC_LCTL); TAP(keycode); - RELEASE(KC_LCTRL); + RELEASE(KC_LCTL); } static void SHIFT(uint16_t keycode) { - PRESS(KC_LSHIFT); + PRESS(KC_LSFT); TAP(keycode); - RELEASE(KC_LSHIFT); + RELEASE(KC_LSFT); } static void ALT(uint16_t keycode) { @@ -108,7 +108,7 @@ static void comma_period(uint16_t keycode) { case VIM_COMMA: if (SHIFTED) { // indent - CMD(KC_LBRACKET); + CMD(KC_LEFT_BRACKET); } else { // toggle comment CMD(KC_SLASH); @@ -117,7 +117,7 @@ static void comma_period(uint16_t keycode) { case VIM_PERIOD: if (SHIFTED) { // outdent - CMD(KC_RBRACKET); + CMD(KC_RIGHT_BRACKET); } break; } @@ -194,9 +194,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; case VIM_C: if(SHIFTED) { - PRESS(KC_LSHIFT); + PRESS(KC_LSFT); CMD(KC_RIGHT); - RELEASE(KC_LSHIFT); + RELEASE(KC_LSFT); CMD(KC_X); yank_was_lines = false; EDIT; @@ -275,9 +275,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // s for substitute? if(SHIFTED) { CMD(KC_LEFT); - PRESS(KC_LSHIFT); + PRESS(KC_LSFT); CMD(KC_RIGHT); - RELEASE(KC_LSHIFT); + RELEASE(KC_LSFT); CMD(KC_X); yank_was_lines = false; EDIT; @@ -292,7 +292,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if(SHIFTED) { PRESS(KC_LSFT); CMD(KC_Z); - RELEASE(KC_LSHIFT); + RELEASE(KC_LSFT); } else { CMD(KC_Z); } @@ -355,9 +355,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case VIM_C: CMD(KC_LEFT); - PRESS(KC_LSHIFT); + PRESS(KC_LSFT); CMD(KC_RIGHT); - RELEASE(KC_LSHIFT); + RELEASE(KC_LSFT); CMD(KC_X); yank_was_lines = false; EDIT; @@ -377,9 +377,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch(keycode) { case VIM_W: ALT(KC_LEFT); - PRESS(KC_LSHIFT); + PRESS(KC_LSFT); ALT(KC_RIGHT); - RELEASE(KC_LSHIFT); + RELEASE(KC_LSFT); CMD(KC_X); yank_was_lines = false; EDIT; @@ -427,9 +427,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch(keycode) { case VIM_W: ALT(KC_LEFT); - PRESS(KC_LSHIFT); + PRESS(KC_LSFT); ALT(KC_RIGHT); - RELEASE(KC_LSHIFT); + RELEASE(KC_LSFT); CMD(KC_X); yank_was_lines = false; vstate = VIM_START; @@ -451,33 +451,33 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; case VIM_B: PRESS(KC_LALT); - PRESS(KC_LSHIFT); + PRESS(KC_LSFT); PRESS(KC_LEFT); // leave open for key repeat break; case VIM_E: PRESS(KC_LALT); - PRESS(KC_LSHIFT); + PRESS(KC_LSFT); PRESS(KC_RIGHT); // leave open for key repeat break; case VIM_H: - PRESS(KC_LSHIFT); + PRESS(KC_LSFT); PRESS(KC_LEFT); break; case VIM_I: vstate = VIM_VI; break; case VIM_J: - PRESS(KC_LSHIFT); + PRESS(KC_LSFT); PRESS(KC_DOWN); break; case VIM_K: - PRESS(KC_LSHIFT); + PRESS(KC_LSFT); PRESS(KC_UP); break; case VIM_L: - PRESS(KC_LSHIFT); + PRESS(KC_LSFT); PRESS(KC_RIGHT); break; case VIM_W: @@ -518,9 +518,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch(keycode) { case VIM_W: ALT(KC_LEFT); - PRESS(KC_LSHIFT); + PRESS(KC_LSFT); ALT(KC_RIGHT); - RELEASE(KC_LSHIFT); + RELEASE(KC_LSFT); vstate = VIM_V; default: // ignore @@ -540,11 +540,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { vstate = VIM_START; break; case VIM_J: - PRESS(KC_LSHIFT); + PRESS(KC_LSFT); PRESS(KC_DOWN); break; case VIM_K: - PRESS(KC_LSHIFT); + PRESS(KC_LSFT); PRESS(KC_UP); break; case VIM_Y: diff --git a/users/xulkal/config.h b/users/xulkal/config.h index 88e3efbe72..7f7782807e 100644 --- a/users/xulkal/config.h +++ b/users/xulkal/config.h @@ -31,5 +31,5 @@ #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // 20m timeout (20m * 60s * 1000mil) -#define RGB_DISABLE_TIMEOUT 1200000 +#define RGB_MATRIX_TIMEOUT 1200000 #define OLED_SCROLL_TIMEOUT 20000 diff --git a/users/xulkal/custom_tap_dance.c b/users/xulkal/custom_tap_dance.c index 2c5d145f1b..bcbfb577bb 100644 --- a/users/xulkal/custom_tap_dance.c +++ b/users/xulkal/custom_tap_dance.c @@ -6,7 +6,7 @@ //Tap Dance Definitions qk_tap_dance_action_t tap_dance_actions[] = { [COMM_QUOT] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_QUOT), - [BACKSPACE] = ACTION_TAP_DANCE_DOUBLE (KC_BSPACE, LCTL(KC_BSPACE)), + [BACKSPACE] = ACTION_TAP_DANCE_DOUBLE (KC_BACKSPACE, LCTL(KC_BACKSPACE)), [DELETE] = ACTION_TAP_DANCE_DOUBLE (KC_DELETE, LCTL(KC_DELETE)) }; @@ -17,7 +17,7 @@ static uint16_t td_timer; const uint16_t PROGMEM td_keymaps[TD_MAX - TD_MIN][2] = { [TD_COMM - TD_MIN] = { KC_COMM, KC_QUOT }, - [TD_BSPC - TD_MIN] = { KC_BSPACE, LCTL(KC_BSPACE) }, + [TD_BSPC - TD_MIN] = { KC_BACKSPACE, LCTL(KC_BACKSPACE) }, [TD_DEL - TD_MIN] = { KC_DELETE, LCTL(KC_DELETE) } }; diff --git a/users/xulkal/layouts.h b/users/xulkal/layouts.h index 63e73c32e6..9eec97ac6e 100644 --- a/users/xulkal/layouts.h +++ b/users/xulkal/layouts.h @@ -14,17 +14,17 @@ * `-----------------------------------------' `-----------------------------------------' */ -#define _________________QWERTY_L1_________________ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5 +#define _________________QWERTY_L1_________________ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5 #define _________________QWERTY_L2_________________ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T #define _________________QWERTY_L3_________________ RIS_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G -#define _________________QWERTY_L4_________________ KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B -#define _________________QWERTY_L5_________________ KC_LCPO, KC_LGUI, KC_LALT, LOWER, RAISE, KC_SPC +#define _________________QWERTY_L4_________________ SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B +#define _________________QWERTY_L5_________________ SC_LCPO, KC_LGUI, KC_LALT, LOWER, RAISE, KC_SPC #define _________________QWERTY_R1_________________ KC_6, KC_7, KC_8, KC_9, KC_0, TD_BSPC #define _________________QWERTY_R2_________________ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS #define _________________QWERTY_R3_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT -#define _________________QWERTY_R4_________________ KC_N, KC_M, TD_COMM, KC_DOT, KC_SLASH, KC_RSPC -#define _________________QWERTY_R5_________________ KC_SPC, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT, KC_RCPC +#define _________________QWERTY_R4_________________ KC_N, KC_M, TD_COMM, KC_DOT, KC_SLASH, SC_RSPC +#define _________________QWERTY_R5_________________ KC_SPC, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT, SC_RCPC #define ___________________GAME_L1_________________ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5 @@ -62,7 +62,7 @@ #define __________________RAISE_R1_________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 #define __________________RAISE_R2_________________ _______, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, _______ -#define __________________RAISE_R3_________________ _______, KC_DEL, KC_END, KC_PGDN, KC_SLCK, _______ +#define __________________RAISE_R3_________________ _______, KC_DEL, KC_END, KC_PGDN, KC_SCRL, _______ #define __________________RAISE_R4_________________ _______, _______, _______, _______, _______, _______ #define __________________RAISE_R5_________________ _______, KC_MPRV, KC_VOLU, KC_VOLD, KC_MNXT, KC_MPLY @@ -81,12 +81,12 @@ */ #define __________________LOWER_L1_________________ _______, RGB_RMOD, RGB_MOD, RGB_TOG, _______, _______ -#define __________________LOWER_L2_________________ RGB_SPI, RGB_SAI, RGB_VAI, RGB_HUI, RESET, _______ +#define __________________LOWER_L2_________________ RGB_SPI, RGB_SAI, RGB_VAI, RGB_HUI, QK_BOOT, _______ #define __________________LOWER_L3_________________ RGB_SPD, RGB_SAD, RGB_VAD, RGB_HUD, RGBRST, _______ #define __________________LOWER_L4_________________ _______, _______, _______, _______, _______, _______ #define __________________LOWER_L5_________________ _______, _______, _______, _______, _______, _______ -#define __________________LOWER_R1_________________ _______, _______, _______, KC_SLCK, KC_NLCK, KC_DEL +#define __________________LOWER_R1_________________ _______, _______, _______, KC_SCRL, KC_NUM, KC_DEL #define __________________LOWER_R2_________________ _______, _______, KC_KP_7, KC_KP_8, KC_KP_9, _______ #define __________________LOWER_R3_________________ _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, _______ #define __________________LOWER_R4_________________ _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, _______ @@ -96,7 +96,7 @@ * ,-----------------------------------------. ,-----------------------------------------. * | | | | | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | RESET| DEBUG| | | | | |TERM_ON|TERM_OFF| | | | + * | | RESET| Debug| | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | |MusMod|Aud on|AudOff|AGnorm| |AGswap|ClkUp |ClkDwn| | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| @@ -107,13 +107,13 @@ */ #define _________________ADJUST_L1_________________ _______, _______, _______, _______, _______, _______ -#define _________________ADJUST_L2_________________ _______, RESET, DEBUG, _______, _______, _______ +#define _________________ADJUST_L2_________________ _______, QK_BOOT, DB_TOGG, _______, _______, _______ #define _________________ADJUST_L3_________________ _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM #define _________________ADJUST_L4_________________ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON #define _________________ADJUST_L5_________________ _______, _______, _______, _______, _______, _______ #define _________________ADJUST_R1_________________ _______, _______, _______, _______, _______, _______ -#define _________________ADJUST_R2_________________ _______, TERM_ON, TERM_OFF, _______, _______, _______ +#define _________________ADJUST_R2_________________ _______, _______, _______, _______, _______, _______ #define _________________ADJUST_R3_________________ AG_SWAP, CK_UP, CK_DOWN, _______, _______, _______ #define _________________ADJUST_R4_________________ MI_OFF, CK_ON, CK_OFF, _______, _______, _______ #define _________________ADJUST_R5_________________ _______, _______, _______, _______, _______, _______ diff --git a/users/xulkal/process_records.c b/users/xulkal/process_records.c index 47996110bb..804dd4677a 100644 --- a/users/xulkal/process_records.c +++ b/users/xulkal/process_records.c @@ -29,7 +29,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) rgb_reset(); #endif return false; - case RESET: + case QK_BOOT: { if (record->event.pressed) reset_timer = timer_read() + 500; diff --git a/users/yanfali/config.h b/users/yanfali/config.h index a39e95c9dd..fa5ec42c09 100644 --- a/users/yanfali/config.h +++ b/users/yanfali/config.h @@ -14,7 +14,16 @@ #undef RGBLED_NUM #define RGBLED_NUM 20 -#undef RGBLIGHT_ANIMATIONS +#undef RGBLIGHT_EFFECT_BREATHING +#undef RGBLIGHT_EFFECT_RAINBOW_MOOD +#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL +#undef RGBLIGHT_EFFECT_SNAKE +#undef RGBLIGHT_EFFECT_KNIGHT +#undef RGBLIGHT_EFFECT_CHRISTMAS +#undef RGBLIGHT_EFFECT_STATIC_GRADIENT +#undef RGBLIGHT_EFFECT_RGB_TEST +#undef RGBLIGHT_EFFECT_ALTERNATING +#undef RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/users/yet-another-developer/process_records.h b/users/yet-another-developer/process_records.h index d4576f541e..d4b9e21326 100644 --- a/users/yet-another-developer/process_records.h +++ b/users/yet-another-developer/process_records.h @@ -80,7 +80,7 @@ bool process_record_keymap( uint16_t keycode, keyrecord_t *record); #define WORKMAN KC_WORKMAN #define UNICODE KC_UNICODE -#define KC_RESET RESET +#define KC_RESET QK_BOOT #define KC_RST KC_RESET #define BK_LWER LT(_LOWER, KC_BSPC) diff --git a/users/yet-another-developer/yet-another-developer.c b/users/yet-another-developer/yet-another-developer.c index b729c06219..0e62d0cc88 100644 --- a/users/yet-another-developer/yet-another-developer.c +++ b/users/yet-another-developer/yet-another-developer.c @@ -4,9 +4,9 @@ userspace_config_t userspace_config; #if (defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE)) - #define YAD_UNICODE_MODE UC_WIN + #define YAD_UNICODE_MODE UNICODE_MODE_WINDOWS #else -// set to 2 for UC_WIN, set to 4 for UC_WINC +// set to 2 for UNICODE_MODE_WINDOWS, set to 4 for UNICODE_MODE_WINCOMPOSE #define YAD_UNICODE_MODE 2 #endif diff --git a/users/zer09/tap_dance.c b/users/zer09/tap_dance.c index e99b26cca0..4c7d182d8a 100644 --- a/users/zer09/tap_dance.c +++ b/users/zer09/tap_dance.c @@ -55,11 +55,11 @@ int cur_dance(qk_tap_dance_state_t *state) { void dance_lctl_finished(qk_tap_dance_state_t *state, void *user_data) { rbw_led_keys[RBW_LCTL].status = ENABLED; - register_code(KC_LCTRL); + register_code(KC_LCTL); }; void dance_lctl_reset(qk_tap_dance_state_t *state, void *user_data) { - unregister_code(KC_LCTRL); + unregister_code(KC_LCTL); rbw_led_keys[RBW_LCTL].status = DISABLED; }; @@ -91,11 +91,11 @@ void dance_lspr_reset(qk_tap_dance_state_t *state, void *user_data) { void dance_rctl_finished(qk_tap_dance_state_t *state, void *user_data) { rbw_led_keys[RBW_RCTL].status = ENABLED; - register_code(KC_RCTRL); + register_code(KC_RCTL); }; void dance_rctl_reset(qk_tap_dance_state_t *state, void *user_data) { - unregister_code(KC_RCTRL); + unregister_code(KC_RCTL); rbw_led_keys[RBW_RCTL].status = DISABLED; }; diff --git a/users/zigotica/combos.c b/users/zigotica/combos.c index 8fb5b3c9fc..a4d4f15618 100644 --- a/users/zigotica/combos.c +++ b/users/zigotica/combos.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM caps_combo[] = {KC_C, KC_L, COMBO_END}; combo_t key_combos[] = { [EM_EMAIL] = COMBO_ACTION(email_combo), - [CL_CAPSL] = COMBO(caps_combo, KC_CAPSLOCK), + [CL_CAPSL] = COMBO(caps_combo, KC_CAPS), }; void process_combo_event(uint16_t combo_index, bool pressed) { diff --git a/users/zigotica/tapdances.c b/users/zigotica/tapdances.c index 74bb1b605e..06015fc64d 100644 --- a/users/zigotica/tapdances.c +++ b/users/zigotica/tapdances.c @@ -27,7 +27,7 @@ void ios_media(qk_tap_dance_state_t *state, void *user_data) { qk_tap_dance_action_t tap_dance_actions[] = { [0] = ACTION_TAP_DANCE_FN(ios_media), - [1] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_SCOLON), + [1] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_SCLN), [2] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_COLON), [3] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC), [4] = ACTION_TAP_DANCE_DOUBLE(KC_LPRN, KC_RPRN), |