Bump to latest QMK, cleanup

This commit is contained in:
2022-12-27 13:22:07 -08:00
parent 5165e637e7
commit 18596b85e9
20 changed files with 281 additions and 354 deletions

View File

@ -1,25 +1,77 @@
#include "keymap.h"
#include "layers/layers.h"
#include QMK_KEYBOARD_H
#include "version.h"
#include "keymap_russian.h"
#include "keymap_us_international.h"
// Values that should not be saved to git.
// There should be a`secrets.h` in this directory
// with the following contents:
//
// #define SECRET_EMAIL "value"
// #define SECRET_GMAIL "value"
// #define SECRET_SCHOOL_EMAIL "value"
#include "secrets.h"
// Macro keycodes
enum custom_keycodes {
M_SHUTDOWN = BETA_SAFE_RANGE,
// Macros
M_RESETWM,
M_RU_CTRL,
M_RU_ALT,
// Special characters.
// M_SPECIAL_TOP and M_SPECIAL_BOTTOM are
// bounds used to parse these. Only special
// characters should be between them.
//
// Сharacters here should be in the same
// order as they are in the host inteface.
M_SPECIAL_TOP,
M_SC_GRAVE,
M_SC_TILD,
M_SC_QUOT,
M_SC_LBR,
M_SC_RBR,
M_SC_LCBR,
M_SC_RCBR,
M_SC_LKVCH,
M_SC_RKVCH,
M_SPECIAL_BOTTOM
};
// Tapdance keycodes
enum tap_dance_codes {
TD_WMLAYOUT,
TD_SCREENSHOT,
TD_OCR
};
// LED colors
#define LC_OFF LC_HSV( 0, 0, 0)
#define LC_GREEN LC_HSV( 85, 203, 158)
#define LC_YELLOW LC_HSV( 32, 176, 255)
#define LC_PINK LC_HSV(243, 222, 234)
#define LC_CYAN LC_HSV(134, 255, 213)
#define LC_ORANGE LC_HSV( 14, 255, 255)
#define LC_WHITE LC_HSV( 0, 0, 150)
#define LC_RU_B LC_HSV( 0, 0, 165)
#define LC_RU_G LC_HSV(153, 255, 153)
#define LC_RU_K LC_HSV( 0, 255, 145)
#ifdef ENABLE_HID_SPELLCHECK
#include "features/hid_spellcheck.h"
#endif
#include "features/beta_rawhid.h"
#ifdef ENABLE_AUTOCORRECT
#include "features/autocorrect/autocorrect.h"
#endif
// Values that should not be saved to git.
// Create a `secrets.h` in the keymap directory.
//
// It should contain the following:
// #define SECRET_EMAIL "val"
// #define SECRET_GMAIL "val"
// #define SECRET_SCHOOL_EMAIL "val"
#include "secrets.h"
#include "features/beta_rawhid.h"
// Send a special character.
// Returns false if character was caught, true otherwise.
@ -31,42 +83,13 @@ bool send_special_character(uint16_t keycode) {
return true;
}
LEADER_EXTERNS();
void leader_start(void) { ergodox_right_led_3_on(); }
void leader_end(void) { ergodox_right_led_3_off(); }
void matrix_scan_user(void) {
LEADER_DICTIONARY() {
leading = false;
leader_end();
SEQ_TWO_KEYS(KC_E, KC_M) {
SEND_STRING(SECRET_EMAIL);
}
SEQ_TWO_KEYS(KC_G, KC_M) {
SEND_STRING(SECRET_GMAIL);
}
SEQ_TWO_KEYS(KC_L, KC_I) {
SEND_STRING(SECRET_SCHOOL_EMAIL);
}
SEQ_TWO_KEYS(KC_P, KC_L) {
layer_move(LAYER_PLAIN);
}
//SEQ_ONE_KEY(KC_F) {}
//
//SEQ_TWO_KEYS(KC_A, KC_S) {
// register_code(KC_LGUI);
// register_code(KC_S);
// unregister_code(KC_S);
// unregister_code(KC_LGUI);
//}
}
}
// Include all other parts of configuration
#include "layers/layers.c"
#include "parts/leader.c"
#include "parts/tapdance.c"
// Process macros.
// Return FALSE to halt key processing,
// Return TRUE to allow QMK to handle keypress.
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
@ -101,9 +124,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case M_RU_CTRL:
if (record->event.pressed) {
layer_move(LAYER_MAIN);
register_code16(KC_LCTRL);
register_code16(KC_LCTL);
} else {
unregister_code16(KC_LCTRL);
unregister_code16(KC_LCTL);
layer_move(LAYER_RUSSIAN);
}
return false;
@ -121,4 +144,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
}

View File

@ -1,54 +0,0 @@
#pragma once
#include "betalupi_ergodox.h"
#include "version.h"
#include "keymap_russian.h"
#include "keymap_us_international.h"
#include "tapdance/tapdance.h"
extern rgb_config_t rgb_matrix_config;
// LED colors, in HSV.
#define LC_OFF LC_HSV( 0, 0, 0)
#define LC_GREEN LC_HSV( 85, 203, 158)
#define LC_YELLOW LC_HSV( 32, 176, 255)
#define LC_PINK LC_HSV(243, 222, 234)
#define LC_CYAN LC_HSV(134, 255, 213)
#define LC_ORANGE LC_HSV( 14, 255, 255)
#define LC_WHITE LC_HSV( 0, 0, 150)
#define LC_RU_B LC_HSV( 0, 0, 165)
#define LC_RU_G LC_HSV(153, 255, 153)
#define LC_RU_K LC_HSV( 0, 255, 145)
// Define custom keys
// (Must be done before keymaps are loaded)
enum custom_keycodes {
M_SHUTDOWN = BETA_SAFE_RANGE,
// Macros
M_RESETWM,
M_RU_CTRL,
M_RU_ALT,
// Special characters.
// M_SPECIAL_TOP and M_SPECIAL_BOTTOM are
// bounds used to parse these. Only special
// characters should be between them.
//
// Сharacters here should be in the same
// order as they are in the host inteface.
M_SPECIAL_TOP,
M_SC_GRAVE,
M_SC_TILD,
M_SC_QUOT,
M_SC_LBR,
M_SC_RBR,
M_SC_LCBR,
M_SC_RCBR,
M_SC_LKVCH,
M_SC_RKVCH,
M_SPECIAL_BOTTOM
};

View File

@ -11,8 +11,8 @@
#define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\
KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_TRANSPARENT, LGUI(LCTL(KC_ENTER)), KC_NO, KC_UP, KC_NO, KC_PGUP, KC_TRANSPARENT,\
KC_LGUI, LALT(KC_LCTRL), KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN,\
KC_TRANSPARENT, LGUI(KC_LCTRL), KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT,\
KC_LGUI, LALT(KC_LCTL), KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN,\
KC_TRANSPARENT, LGUI(KC_LCTL), KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT,\
KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,\
\
KC_TRANSPARENT, KC_TRANSPARENT,\

View File

@ -10,14 +10,14 @@
#ifdef BETA_LAYER_KEYS
#define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\
KC_TRANSPARENT, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), TO(LAYER_MAIN),\
KC_NO, KC_NO, LGUI(LCTL(KC_ENTER)), KC_NO, KC_NO, LGUI(KC_T), LGUI(KC_ENTER),\
KC_NO, KC_NO, LGUI(LCTL(KC_ENTER)), KC_NO, KC_NO, LGUI(KC_T), KC_NO,\
KC_NO, LGUI(KC_EQL), LGUI(KC_MINUS), KC_NO, LGUI(KC_F), LGUI(KC_G),\
KC_NO, KC_NO, KC_NO, LGUI(LSFT(KC_C)), LGUI(KC_N), LGUI(KC_M), LGUI(KC_BSLASH),\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_NO, KC_NO, KC_NO, LGUI(LSFT(KC_C)), LGUI(KC_N), LGUI(KC_M), KC_NO,\
TO(LAYER_MAIN), KC_NO, KC_NO, KC_NO, KC_NO,\
\
KC_NO, M_RESETWM,\
KC_NO,\
KC_NO, KC_NO, TO(LAYER_MAIN),\
LGUI(KC_ENTER), LGUI(KC_BSLS), KC_NO,\
\
\
M_SHUTDOWN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\

View File

@ -28,7 +28,7 @@
\
KC_NO, RGB_TOG,\
KC_NO,\
RESET, KC_NO, KC_NO\
QK_BOOTLOADER, KC_NO, KC_NO\
)
BETA_LAYER_MAGIC_MACRO

View File

@ -9,15 +9,15 @@
#ifdef BETA_LAYER_KEYS
#define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\
KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, OSL(LAYER_DESKTOP),\
KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, TO(LAYER_NUMPAD),\
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI,\
KC_DELETE, KC_A, KC_S, KC_D, KC_F, KC_G,\
KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, TO(LAYER_NUMPAD),\
KC_LALT, KC_NO, KC_NO, KC_LSHIFT, MO(LAYER_ARROWS),\
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT,\
OSL(LAYER_DESKTOP), KC_NO, KC_NO, KC_LSFT, MO(LAYER_ARROWS),\
\
TD(TD_SCREENSHOT), TD(TD_OCR),\
TD(TD_WMLAYOUT),\
KC_SPACE, KC_BSPACE, OSL(LAYER_DESKTOP),\
KC_SPACE, KC_BSPC, KC_NO,\
\
\
KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, LGUI(KC_TAB),\
@ -28,7 +28,7 @@
\
KC_LNG1, KC_LNG2,\
KC_LNG3,\
TO(LAYER_RUSSIAN), KC_RSHIFT, KC_ENTER\
TO(LAYER_RUSSIAN), KC_RSFT, KC_ENTER\
)
BETA_LAYER_MAGIC_MACRO

View File

@ -12,12 +12,12 @@
KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_PSCR,\
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI,\
KC_DELETE, KC_A, KC_S, KC_D, KC_F, KC_G,\
KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP,\
KC_LALT, KC_NO, KC_NO, KC_LSHIFT, MO(LAYER_ARROWS),\
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP,\
KC_LALT, KC_NO, KC_NO, KC_LSFT, MO(LAYER_ARROWS),\
\
KC_F1, KC_F2,\
KC_F3,\
KC_SPACE, KC_BSPACE, KC_F4,\
KC_SPACE, KC_BSPC, KC_F4,\
\
\
KC_SCRL, KC_6, KC_7, KC_8, KC_9, KC_0, TO(LAYER_MAIN),\
@ -28,7 +28,7 @@
\
KC_F7, KC_F8,\
KC_F6,\
KC_F5, KC_RSHIFT, KC_ENTER\
KC_F5, KC_RSFT, KC_ENTER\
)
BETA_LAYER_MAGIC_MACRO

View File

@ -39,7 +39,7 @@
KC_NO, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO,\
KC_NO, KC_GRAVE, KC_LPRN, KC_RPRN, KC_QUES, KC_LCBR, KC_TRNS,\
KC_NO, KC_TILD, KC_QUOTE, KC_COMMA, KC_DOT, KC_DQUO,\
KC_NO, KC_NO, KC_LBRACKET, KC_RBRACKET, KC_EXLM, KC_RCBR, KC_NO,\
KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_EXLM, KC_RCBR, KC_NO,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
\
KC_NO, KC_NO,\
@ -48,9 +48,9 @@
\
\
KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, KC_NO, KC_NO, KC_NO,\
KC_NO, KC_LABK, KC_RABK, KC_SLASH, KC_NO, KC_BSLASH, KC_NO,\
KC_NO, KC_LABK, KC_RABK, KC_SLASH, KC_NO, KC_BSLS, KC_NO,\
KC_UNDS, KC_MINUS, KC_COLN, KC_TRANSPARENT, KC_PIPE, KC_NO,\
KC_NO, KC_EQUAL, KC_PLUS, KC_SCOLON, KC_NO, KC_NO, KC_NO,\
KC_NO, KC_EQUAL, KC_PLUS, KC_SCLN, KC_NO, KC_NO, KC_NO,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
\
KC_NO, KC_NO,\

View File

@ -1,5 +1,39 @@
#include "layers.h"
#include "extra_mappings.h"
#define LAYER_INCLUDE_FILE "definitions/layers.inc"
/*
Setup
*/
// Generate layer ids
#define BETA_LAYER_KEYS
#define BETA_LAYER(name) LAYER_##name,
enum layer_indices {
#include LAYER_INCLUDE_FILE
X_LAYER_MAX
};
#undef BETA_LAYER
#undef BETA_LAYER_KEYS
// Generate RGBMatrix ids
// We don't use the same id for layers and layer colors
// to save memory. Not every layer has colors!
#define BETA_LAYER_LEDS
#define BETA_LAYER(name) LAYER_##name##_LEDS,
enum led_indices {
#include LAYER_INCLUDE_FILE
X_LAYER_LEDS_MAX
};
#undef BETA_LAYER
#undef BETA_LAYER_LEDS
/*
Load layers
*/
// Create keymap array
#define BETA_LAYER_KEYS
@ -14,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Create led map array
#define BETA_LAYER_LEDS
#define BETA_LAYER(name) [LAYER_##name##_LEDS] = BETA_LAYER_CONTEXT_DATA,
const uint8_t PROGMEM ledmaps[][DRIVER_LED_TOTAL][3] = {
const uint8_t PROGMEM ledmaps[][RGB_MATRIX_LED_COUNT][3] = {
#include LAYER_INCLUDE_FILE
};
#undef BETA_LAYER
@ -31,7 +65,7 @@ uint8_t layer_layouts[] = {
void set_layer_color(int layer) {
for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
HSV hsv = {
.h = pgm_read_byte(&ledmaps[layer][i][0]),
.s = pgm_read_byte(&ledmaps[layer][i][1]),
@ -49,9 +83,9 @@ void set_layer_color(int layer) {
void rgb_matrix_indicators_user(void) {
bool rgb_matrix_indicators_user(void) {
if (keyboard_config.disable_layer_led) {
return;
return true;
}
switch (biton32(layer_state)) {
@ -74,11 +108,13 @@ void rgb_matrix_indicators_user(void) {
}
break;
}
return true;
}
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
uint8_t layer = biton32(state);
ergodox_board_led_off();

View File

@ -1,41 +0,0 @@
#pragma once
// This header declares custom keycodes
#include "keymap.h"
#define LAYER_INCLUDE_FILE "definitions/layers.inc"
// Generate layer ids
#define BETA_LAYER_KEYS
#define BETA_LAYER(name) LAYER_##name,
enum layer_indices {
#include LAYER_INCLUDE_FILE
X_LAYER_MAX
};
#undef BETA_LAYER
#undef BETA_LAYER_KEYS
// Generate RGBMatrix ids
// We don't use the same id for layers and layer colors
// to save memory. Not every layer has colors!
#define BETA_LAYER_LEDS
#define BETA_LAYER(name) LAYER_##name##_LEDS,
enum led_indices {
#include LAYER_INCLUDE_FILE
X_LAYER_LEDS_MAX
};
#undef BETA_LAYER
#undef BETA_LAYER_LEDS
// We don't need these in the header,
// they shouldn't be used anywhere else.
//const uint16_t PROGMEM keymaps[X_LAYER_MAX][MATRIX_ROWS][MATRIX_COLS];
//const uint8_t PROGMEM ledmaps[X_LAYER_LEDS_MAX][DRIVER_LED_TOTAL][3];
extern uint8_t layer_layouts[];
void set_layer_color(int layer); // Helper method
void rgb_matrix_indicators_user(void); // QMK method
uint32_t layer_state_set_user(uint32_t state); // QMK method

View File

@ -0,0 +1,35 @@
LEADER_EXTERNS();
void leader_start(void) { ergodox_right_led_3_on(); }
void leader_end(void) { ergodox_right_led_3_off(); }
void matrix_scan_user(void) {
LEADER_DICTIONARY() {
leading = false;
leader_end();
SEQ_TWO_KEYS(KC_E, KC_M) {
SEND_STRING(SECRET_EMAIL);
}
SEQ_TWO_KEYS(KC_G, KC_M) {
SEND_STRING(SECRET_GMAIL);
}
SEQ_TWO_KEYS(KC_L, KC_I) {
SEND_STRING(SECRET_SCHOOL_EMAIL);
}
SEQ_TWO_KEYS(KC_P, KC_L) {
layer_move(LAYER_PLAIN);
}
//SEQ_ONE_KEY(KC_F) {}
//
//SEQ_TWO_KEYS(KC_A, KC_S) {
// register_code(KC_LGUI);
// register_code(KC_S);
// unregister_code(KC_S);
// unregister_code(KC_LGUI);
//}
}
}

View File

@ -1,13 +1,10 @@
#include "keymap.h"
#include "tapdance.h"
void td_screenshot(qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 1) {
tap_code16(KC_PSCREEN);
tap_code16(KC_PSCR);
} else if (state->count == 2) {
tap_code16(LSFT(KC_PSCREEN));
tap_code16(LSFT(KC_PSCR));
} else if (state->count == 3) {
tap_code16(LALT(KC_PSCREEN));
tap_code16(LALT(KC_PSCR));
} else {
reset_tap_dance(state);
}
@ -15,9 +12,9 @@ void td_screenshot(qk_tap_dance_state_t *state, void *user_data) {
void td_ocr(qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 1) {
tap_code16(LCTL(KC_PSCREEN));
tap_code16(LCTL(KC_PSCR));
} else if (state->count == 2) {
tap_code16(LCTL(LSFT(KC_PSCREEN)));
tap_code16(LCTL(LSFT(KC_PSCR)));
} else {
reset_tap_dance(state);
}
@ -33,10 +30,8 @@ void td_wmlayout(qk_tap_dance_state_t *state, void *user_data) {
}
}
qk_tap_dance_action_t tap_dance_actions[] = {
[TD_WMLAYOUT] = ACTION_TAP_DANCE_FN(td_wmlayout),
[TD_SCREENSHOT] = ACTION_TAP_DANCE_FN(td_screenshot),
[TD_OCR] = ACTION_TAP_DANCE_FN(td_ocr),
};
};

View File

@ -2,7 +2,3 @@
LEADER_ENABLE = yes
TAP_DANCE_ENABLE = yes
SRC += \
tapdance/tapdance.c \
layers/layers.c

View File

@ -1,12 +0,0 @@
#pragma once
#include "keymap.h"
enum tap_dance_codes {
TD_WMLAYOUT,
TD_SCREENSHOT,
TD_OCR
};
void td_screenshot(qk_tap_dance_state_t *state, void *user_data);
void td_ocr(qk_tap_dance_state_t *state, void *user_data);
void td_wmlayout(qk_tap_dance_state_t *state, void *user_data);