Compare commits
9 Commits
e0d54f8e79
...
master
Author | SHA1 | Date | |
---|---|---|---|
3991994177 | |||
6bfd7c5f12 | |||
fab75ada44 | |||
a36926391a | |||
41b6c60810 | |||
2845481490 | |||
08f3cee0a7 | |||
e6318b045d | |||
741d87e0a8 |
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -19,7 +19,8 @@
|
|||||||
"cstdint": "c",
|
"cstdint": "c",
|
||||||
"chrono": "c",
|
"chrono": "c",
|
||||||
"typeindex": "c",
|
"typeindex": "c",
|
||||||
"typeinfo": "c"
|
"typeinfo": "c",
|
||||||
|
"unordered_map": "c"
|
||||||
},
|
},
|
||||||
"C_Cpp.errorSquiggles": "disabled",
|
"C_Cpp.errorSquiggles": "disabled",
|
||||||
}
|
}
|
||||||
|
4
Makefile
4
Makefile
@ -1,3 +1,5 @@
|
|||||||
|
all: voyager ergodox
|
||||||
|
|
||||||
voyager:
|
voyager:
|
||||||
@mkdir -p "$$(pwd)/output"
|
@mkdir -p "$$(pwd)/output"
|
||||||
docker run -it --rm \
|
docker run -it --rm \
|
||||||
@ -23,4 +25,4 @@ docker:
|
|||||||
docker build docker -t git.betalupi.com/mark/qmk
|
docker build docker -t git.betalupi.com/mark/qmk
|
||||||
|
|
||||||
|
|
||||||
.PHONY: voyager ergodox ergodox_upload docker
|
.PHONY: voyager ergodox ergodox_upload docker all
|
@ -97,6 +97,12 @@ void matrix_scan_user(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const uint16_t PROGMEM test_combo2[] = {KC_D, KC_F, COMBO_END};
|
||||||
|
combo_t key_combos[] = {
|
||||||
|
COMBO(test_combo2, KC_TAB),
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Include all other parts of configuration
|
// Include all other parts of configuration
|
||||||
#include "layers/layers.c"
|
#include "layers/layers.c"
|
||||||
|
@ -10,9 +10,9 @@
|
|||||||
#ifdef BETA_LAYER_KEYS
|
#ifdef BETA_LAYER_KEYS
|
||||||
#define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\
|
#define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\
|
||||||
TO(LAYER_MAIN), RGB_HUD, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NO,\
|
TO(LAYER_MAIN), RGB_HUD, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NO,\
|
||||||
TOGGLE_LAYER_COLOR, RGB_SAD, RGB_SAI, KC_NO, KC_NO, KC_NO, RGB_HUI,\
|
TOGGLE_LAYER_COLOR, RGB_SAD, RGB_SAI, KC_NO, KC_NO, KC_NO, KC_NO,\
|
||||||
KC_NO, RGB_VAD, RGB_VAI, KC_NO, KC_NO, KC_NO,\
|
KC_NO, RGB_VAD, RGB_VAI, KC_NO, KC_NO, KC_NO,\
|
||||||
KC_NO, RGB_SPD, RGB_SPI, KC_NO, KC_NO, KC_NO, RGB_HUD,\
|
KC_NO, RGB_SPD, RGB_SPI, KC_NO, KC_NO, KC_NO, KC_NO,\
|
||||||
KC_NO, KC_NO, KC_NO, KC_NO, RGB_MOD,\
|
KC_NO, KC_NO, KC_NO, KC_NO, RGB_MOD,\
|
||||||
\
|
\
|
||||||
RGB_TOG, KC_NO,\
|
RGB_TOG, KC_NO,\
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, LGUI(KC_TAB),\
|
KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, LGUI(KC_TAB),\
|
||||||
KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_NO, KC_NO,\
|
KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_NO, KC_NO,\
|
||||||
KC_H, KC_J, KC_K, MO(LAYER_SYMBOLS), KC_L, QK_LEAD,\
|
KC_H, KC_J, KC_K, MO(LAYER_SYMBOLS), KC_L, QK_LEAD,\
|
||||||
KC_NO, KC_N, KC_M, KC_P, KC_NO, KC_NO, KC_NO,\
|
KC_NO, KC_N, KC_M, KC_P, KC_V, KC_NO, KC_NO,\
|
||||||
KC_RIGHT, KC_NO, KC_NO, KC_NO, LGUI(KC_SPACE),\
|
KC_RIGHT, KC_NO, KC_NO, KC_NO, LGUI(KC_SPACE),\
|
||||||
\
|
\
|
||||||
KC_NO, KC_NO,\
|
KC_NO, KC_NO,\
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#include "extra_mappings.h"
|
#include "extra_mappings.h"
|
||||||
#define LAYER_INCLUDE_FILE "definitions/layers.inc"
|
#define LAYER_INCLUDE_FILE "definitions/include.c"
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
# rules.mk overrides
|
# rules.mk overrides
|
||||||
|
|
||||||
TAP_DANCE_ENABLE = yes
|
TAP_DANCE_ENABLE = yes
|
||||||
|
COMBO_ENABLE = yes
|
@ -3,6 +3,8 @@
|
|||||||
// No timeout after initial leader key press
|
// No timeout after initial leader key press
|
||||||
#define LEADER_NO_TIMEOUT
|
#define LEADER_NO_TIMEOUT
|
||||||
|
|
||||||
|
#define COMBO_SHOULD_TRIGGER
|
||||||
|
|
||||||
// Timeout resets after each keypress
|
// Timeout resets after each keypress
|
||||||
#define LEADER_PER_KEY_TIMING
|
#define LEADER_PER_KEY_TIMING
|
||||||
#define LEADER_TIMEOUT 500
|
#define LEADER_TIMEOUT 500
|
||||||
@ -33,6 +35,6 @@
|
|||||||
#define USB_SUSPEND_WAKEUP_DELAY 200
|
#define USB_SUSPEND_WAKEUP_DELAY 200
|
||||||
#define RAW_USAGE_PAGE 0xFF60
|
#define RAW_USAGE_PAGE 0xFF60
|
||||||
#define RAW_USAGE_ID 0x61
|
#define RAW_USAGE_ID 0x61
|
||||||
#define LAYER_STATE_8BIT
|
#define LAYER_STATE_32BIT
|
||||||
|
|
||||||
#define RGB_MATRIX_STARTUP_SPD 60
|
#define RGB_MATRIX_STARTUP_SPD 60
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
#include "keymap_russian.h"
|
#include "keymap_russian.h"
|
||||||
#include "keymap_us_international.h"
|
#include "keymap_us_international.h"
|
||||||
|
|
||||||
|
|
||||||
// Values that should not be saved to git.
|
// Values that should not be saved to git.
|
||||||
// There should be a`secrets.h` in this directory
|
// There should be a`secrets.h` in this directory
|
||||||
// with the following contents:
|
// with the following contents:
|
||||||
@ -14,7 +13,8 @@
|
|||||||
#include "secrets.h"
|
#include "secrets.h"
|
||||||
|
|
||||||
// Macro keycodes
|
// Macro keycodes
|
||||||
enum custom_keycodes {
|
enum custom_keycodes
|
||||||
|
{
|
||||||
M_SHUTDOWN = BETA_SAFE_RANGE,
|
M_SHUTDOWN = BETA_SAFE_RANGE,
|
||||||
|
|
||||||
// Macros
|
// Macros
|
||||||
@ -43,13 +43,6 @@ enum custom_keycodes {
|
|||||||
M_SPECIAL_BOTTOM
|
M_SPECIAL_BOTTOM
|
||||||
};
|
};
|
||||||
|
|
||||||
// Tapdance keycodes
|
|
||||||
enum tap_dance_codes {
|
|
||||||
TD_WMLAYOUT,
|
|
||||||
TD_SCREENSHOT,
|
|
||||||
TD_OCR
|
|
||||||
};
|
|
||||||
|
|
||||||
// LED colors
|
// LED colors
|
||||||
#define LC_OFF {0, 0, 0}
|
#define LC_OFF {0, 0, 0}
|
||||||
#define LC_GRN {85, 203, 158}
|
#define LC_GRN {85, 203, 158}
|
||||||
@ -61,10 +54,9 @@ enum tap_dance_codes {
|
|||||||
#define LC_RED {0, 255, 145}
|
#define LC_RED {0, 255, 145}
|
||||||
#define LC_BLU {153, 255, 153}
|
#define LC_BLU {153, 255, 153}
|
||||||
|
|
||||||
#define LC_RU_B LC_HSV( 0, 0, 165)
|
#define LC_RUB {0, 0, 165}
|
||||||
#define LC_RU_G LC_HSV(153, 255, 153)
|
#define LC_RUG {153, 255, 153}
|
||||||
#define LC_RU_K LC_HSV( 0, 255, 145)
|
#define LC_RUK {0, 255, 145}
|
||||||
|
|
||||||
|
|
||||||
#ifdef ENABLE_HID_SPELLCHECK
|
#ifdef ENABLE_HID_SPELLCHECK
|
||||||
#include "features/hid_spellcheck.h"
|
#include "features/hid_spellcheck.h"
|
||||||
@ -91,40 +83,98 @@ bool send_special_character(uint16_t keycode) {
|
|||||||
return true;
|
return true;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
const uint16_t PROGMEM test_combo2[] = {KC_D, KC_F, COMBO_END};
|
const uint16_t PROGMEM combo2[] = {KC_D, KC_F, COMBO_END};
|
||||||
const uint16_t PROGMEM test_combo3[] = {KC_M, KC_P, COMBO_END};
|
const uint16_t PROGMEM combo3[] = {KC_M, KC_P, COMBO_END};
|
||||||
|
const uint16_t PROGMEM combo4[] = {RU_ER, RU_TE, COMBO_END};
|
||||||
|
const uint16_t PROGMEM combo5[] = {RU_EF, RU_GHE, COMBO_END};
|
||||||
|
const uint16_t PROGMEM combo6[] = {KC_DELETE, KC_A, COMBO_END};
|
||||||
combo_t key_combos[] = {
|
combo_t key_combos[] = {
|
||||||
COMBO(test_combo2, KC_TAB),
|
COMBO(combo2, KC_TAB),
|
||||||
COMBO(test_combo3, KC_RIGHT),
|
COMBO(combo3, KC_RIGHT),
|
||||||
|
COMBO(combo4, RU_YO),
|
||||||
|
COMBO(combo5, RU_E),
|
||||||
|
COMBO(combo6, LCTL(KC_DELETE)),
|
||||||
};
|
};
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void)
|
||||||
|
{
|
||||||
#ifdef ENABLE_BETA_LEADER
|
#ifdef ENABLE_BETA_LEADER
|
||||||
beta_qk_leader_check();
|
beta_qk_leader_check();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Must be done early, layers need this enum
|
||||||
|
enum tap_dance_codes
|
||||||
|
{
|
||||||
|
TD_WMLAYOUT,
|
||||||
|
TD_SCREENSHOT,
|
||||||
|
TD_ESCAPE,
|
||||||
|
TD_NOGAME
|
||||||
|
};
|
||||||
|
|
||||||
// Include all other parts of configuration
|
// Include all other parts of configuration
|
||||||
#include "layers/layers.c"
|
#include "layers/layers.c"
|
||||||
#include "parts/leader.c"
|
#include "parts/leader.c"
|
||||||
//#include "parts/tapdance.c"
|
#include "parts/tapdance.c"
|
||||||
|
|
||||||
|
bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record)
|
||||||
|
{
|
||||||
|
if (
|
||||||
|
false
|
||||||
|
//|| layer_state_is(LAYER_SIMPLEARROWS)
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Disable combo `SOME_COMBO` on layer `_LAYER_A` */
|
||||||
|
if (
|
||||||
|
combo_index == 0 ||
|
||||||
|
combo_index == 1)
|
||||||
|
{
|
||||||
|
if (layer_state_is(LAYER_RUSSIAN))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (
|
||||||
|
combo_index == 2 ||
|
||||||
|
combo_index == 3)
|
||||||
|
{
|
||||||
|
if (!layer_state_is(LAYER_RUSSIAN))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// Process macros.
|
// Process macros.
|
||||||
// Return FALSE to halt key processing,
|
// Return FALSE to halt key processing,
|
||||||
// Return TRUE to allow QMK to handle keypress.
|
// Return TRUE to allow QMK to handle keypress.
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||||
|
{
|
||||||
|
|
||||||
#ifdef ENABLE_BETA_LEADER
|
#ifdef ENABLE_BETA_LEADER
|
||||||
if (!beta_process_leader(keycode, record)) { return false; }
|
if (!beta_process_leader(keycode, record))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ENABLE_HID_SPELLCHECK
|
#ifdef ENABLE_HID_SPELLCHECK
|
||||||
if (!process_spellcheck(keycode, record)) { return false; }
|
if (!process_spellcheck(keycode, record))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ENABLE_AUTOCORRECT
|
#ifdef ENABLE_AUTOCORRECT
|
||||||
if (!process_autocorrection(keycode, record)) { return false; }
|
if (!process_autocorrection(keycode, record))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Handle special chars
|
// Handle special chars
|
||||||
@ -133,9 +183,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
//}
|
//}
|
||||||
|
|
||||||
// Handle macros
|
// Handle macros
|
||||||
switch (keycode) {
|
switch (keycode)
|
||||||
|
{
|
||||||
case M_RESETWM:
|
case M_RESETWM:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed)
|
||||||
|
{
|
||||||
SEND_STRING(SS_LCTL(SS_LGUI(SS_LSFT(SS_TAP(X_R)))));
|
SEND_STRING(SS_LCTL(SS_LGUI(SS_LSFT(SS_TAP(X_R)))));
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -144,15 +196,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
// Using just LGUI with LAYER_DESKTOP as OSL
|
// Using just LGUI with LAYER_DESKTOP as OSL
|
||||||
// does not allow you to hold lgui. This does.
|
// does not allow you to hold lgui. This does.
|
||||||
case M_GUI:
|
case M_GUI:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed)
|
||||||
|
{
|
||||||
register_code16(KC_LGUI);
|
register_code16(KC_LGUI);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
unregister_code16(KC_LGUI);
|
unregister_code16(KC_LGUI);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
case M_SHUTDOWN:
|
case M_SHUTDOWN:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed)
|
||||||
|
{
|
||||||
SEND_STRING(SS_LGUI(SS_TAP(X_P)) SS_DELAY(100) SS_TAP(X_Y) SS_DELAY(100) SS_TAP(X_ENTER));
|
SEND_STRING(SS_LGUI(SS_TAP(X_P)) SS_DELAY(100) SS_TAP(X_Y) SS_DELAY(100) SS_TAP(X_ENTER));
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -178,6 +234,5 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
return false;*/
|
return false;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
@ -1,3 +1,5 @@
|
|||||||
|
|
||||||
|
|
||||||
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(ARROWS)
|
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(ARROWS)
|
||||||
|
|
||||||
#ifdef BETA_LAYER_LAYOUTS
|
#ifdef BETA_LAYER_LAYOUTS
|
||||||
@ -9,13 +11,13 @@
|
|||||||
#define BETA_LAYER_CONTEXT_DATA LAYOUT_voyager(\
|
#define BETA_LAYER_CONTEXT_DATA LAYOUT_voyager(\
|
||||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||||
KC_TRNS, KC_NO, KC_NO, KC_UP, KC_NO, KC_PGUP, \
|
KC_TRNS, KC_NO, KC_NO, KC_UP, KC_NO, KC_PGUP, \
|
||||||
KC_TRNS, LALT(KC_LCTL), KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, \
|
KC_TRNS, KC_LCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, \
|
||||||
KC_LCTL, LGUI(KC_LCTL), KC_NO, KC_NO, KC_NO, KC_NO, \
|
KC_LCTL, LGUI(KC_LCTL), KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||||
KC_NO, KC_NO, \
|
KC_NO, KC_NO, \
|
||||||
\
|
\
|
||||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
KC_NO, KC_NO, KC_PGUP, KC_NO, KC_NO, KC_NO, \
|
||||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
KC_NO, LCTL(KC_LEFT), KC_PGDN, LCTL(KC_RIGHT), KC_NO, KC_NO, \
|
||||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||||
KC_TRNS, KC_TRNS \
|
KC_TRNS, KC_TRNS \
|
||||||
)
|
)
|
||||||
@ -31,8 +33,8 @@
|
|||||||
LC_OFF, LC_ORN, LC_OFF, LC_OFF, LC_RED, LC_OFF, \
|
LC_OFF, LC_ORN, LC_OFF, LC_OFF, LC_RED, LC_OFF, \
|
||||||
LC_OFF, LC_OFF, \
|
LC_OFF, LC_OFF, \
|
||||||
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||||
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
LC_OFF, LC_OFF, LC_OFF, LC_ORN, LC_OFF, LC_OFF, \
|
||||||
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
LC_OFF, LC_OFF, LC_GRN, LC_ORN, LC_GRN, LC_OFF, \
|
||||||
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||||
LC_OFF, LC_OFF \
|
LC_OFF, LC_OFF \
|
||||||
}
|
}
|
||||||
|
@ -11,8 +11,8 @@
|
|||||||
#define BETA_LAYER_CONTEXT_DATA LAYOUT_voyager(\
|
#define BETA_LAYER_CONTEXT_DATA LAYOUT_voyager(\
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
|
KC_TRNS, LGUI(KC_A), LGUI(KC_S), LGUI(KC_D), KC_TRNS, KC_TRNS,\
|
||||||
KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_V, KC_TRNS,\
|
KC_NO, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), KC_TRNS,\
|
||||||
KC_TRNS, KC_TRNS, \
|
KC_TRNS, KC_TRNS, \
|
||||||
\
|
\
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
|
||||||
|
@ -0,0 +1,47 @@
|
|||||||
|
// See symbols.h for docs
|
||||||
|
|
||||||
|
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(GAME)
|
||||||
|
|
||||||
|
#ifdef BETA_LAYER_LAYOUTS
|
||||||
|
#define BETA_LAYER_CONTEXT_DATA LAYOUT_EN
|
||||||
|
BETA_LAYER_MAGIC_MACRO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef BETA_LAYER_KEYS
|
||||||
|
#define BETA_LAYER_CONTEXT_DATA LAYOUT_voyager( \
|
||||||
|
KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, \
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, \
|
||||||
|
KC_DELETE, KC_A, KC_S, KC_D, KC_F, KC_G, \
|
||||||
|
KC_LCTL, KC_Z, KC_X, KC_C, MO(LAYER_ARROWS), TD(TD_NOGAME), \
|
||||||
|
\
|
||||||
|
KC_SPACE, KC_BSPC, \
|
||||||
|
\
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||||
|
KC_NO, KC_NO)
|
||||||
|
|
||||||
|
BETA_LAYER_MAGIC_MACRO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef BETA_LAYER_LEDS
|
||||||
|
#define BETA_LAYER_CONTEXT_DATA { \
|
||||||
|
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||||
|
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||||
|
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||||
|
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_RED, \
|
||||||
|
LC_OFF, LC_OFF, \
|
||||||
|
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||||
|
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||||
|
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||||
|
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||||
|
LC_OFF, LC_OFF}
|
||||||
|
|
||||||
|
// This is important.
|
||||||
|
// The magic macro MUST be here, AFTER the RGBMatrix data.
|
||||||
|
BETA_LAYER_MAGIC_MACRO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef BETA_LAYER_CONTEXT_DATA
|
||||||
|
#undef BETA_LAYER_MAGIC_MACRO
|
@ -3,26 +3,23 @@
|
|||||||
//
|
//
|
||||||
// Learned that the hard way.
|
// Learned that the hard way.
|
||||||
|
|
||||||
|
|
||||||
// First layer will be "default" layer in QMK.
|
// First layer will be "default" layer in QMK.
|
||||||
// Second will have index 1, etc. See layers.h
|
// Second will have index 1, etc. See layers.h
|
||||||
|
|
||||||
|
|
||||||
// These MUST be first.
|
// These MUST be first.
|
||||||
// (For example, LAYER_ARROWS overlays on top of LAYER_MAIN)
|
// (For example, LAYER_ARROWS overlays on top of LAYER_MAIN)
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
#include "game.h"
|
||||||
#include "ctrl.h"
|
#include "ctrl.h"
|
||||||
|
|
||||||
|
#include "russian.h"
|
||||||
|
|
||||||
#include "numbers.h" // Must be under symbols and arrows
|
#include "numbers.h" // Must be under symbols and arrows
|
||||||
|
|
||||||
|
|
||||||
// The order of the layers below doesn't matter,
|
// The order of the layers below doesn't matter,
|
||||||
// since they avoid transparent keys.
|
// since they avoid transparent keys.
|
||||||
#include "symbols.h"
|
#include "symbols.h"
|
||||||
|
|
||||||
#include "arrows.h"
|
#include "arrows.h"
|
||||||
#include "macros.h"
|
#include "macros.h"
|
||||||
#include "fkeys.h"
|
#include "fkeys.h"
|
||||||
#include "keyboard.h"
|
#include "keyboard.h"
|
||||||
|
|
@ -9,9 +9,9 @@
|
|||||||
|
|
||||||
#ifdef BETA_LAYER_KEYS
|
#ifdef BETA_LAYER_KEYS
|
||||||
#define BETA_LAYER_CONTEXT_DATA LAYOUT_voyager(\
|
#define BETA_LAYER_CONTEXT_DATA LAYOUT_voyager(\
|
||||||
TO(LAYER_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
TO(LAYER_MAIN), RGB_HUD, RGB_HUI, KC_NO, KC_NO, KC_NO, \
|
||||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
KC_NO, RGB_SAD, RGB_SAI, KC_NO, KC_NO, KC_NO, \
|
||||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
KC_NO, RGB_VAD, RGB_VAI, KC_NO, KC_NO, KC_NO, \
|
||||||
RGB_MOD, RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, \
|
RGB_MOD, RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||||
KC_NO, KC_NO, \
|
KC_NO, KC_NO, \
|
||||||
\
|
\
|
||||||
|
@ -10,39 +10,35 @@
|
|||||||
#ifdef BETA_LAYER_KEYS
|
#ifdef BETA_LAYER_KEYS
|
||||||
#define BETA_LAYER_CONTEXT_DATA LAYOUT_voyager( \
|
#define BETA_LAYER_CONTEXT_DATA LAYOUT_voyager( \
|
||||||
TO(LAYER_MAIN), LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), \
|
TO(LAYER_MAIN), LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), \
|
||||||
KC_LGUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
|
KC_LGUI, KC_NO, TD(TD_SCREENSHOT), KC_NO, KC_NO, LGUI(KC_T), \
|
||||||
KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_NO, KC_NO, OSL(LAYER_FKEYS), KC_NO, \
|
KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_NO, KC_NO, OSL(LAYER_FKEYS), KC_NO, \
|
||||||
KC_NO, KC_MEDIA_PREV_TRACK, KC_NO, LGUI(LSFT(KC_C)), KC_NO, KC_NO,\
|
KC_NO, KC_MEDIA_PREV_TRACK, KC_NO, LGUI(KC_W), KC_NO, TO(LAYER_GAME), \
|
||||||
LGUI(KC_ENTER), LGUI(KC_BSLS), \
|
LGUI(KC_ENTER), LGUI(KC_BSLS), \
|
||||||
\
|
\
|
||||||
M_SHUTDOWN, KC_NO, KC_NO, KC_NO, KC_NO, LCTL(LGUI(LSFT(KC_R))), \
|
M_SHUTDOWN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
KC_NO, KC_NO, KC_NO, KC_NO, LGUI(KC_SPACE), TD(TD_WMLAYOUT), \
|
||||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TT(LAYER_RUSSIAN), \
|
||||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
LCTL(LGUI(LSFT(KC_R))), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||||
KC_NO, KC_NO \
|
KC_NO, KC_NO)
|
||||||
)
|
|
||||||
|
|
||||||
BETA_LAYER_MAGIC_MACRO
|
BETA_LAYER_MAGIC_MACRO
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef BETA_LAYER_LEDS
|
#ifdef BETA_LAYER_LEDS
|
||||||
#define BETA_LAYER_CONTEXT_DATA { \
|
#define BETA_LAYER_CONTEXT_DATA { \
|
||||||
LC_RED, LC_PNK, LC_PNK, LC_PNK, LC_PNK, LC_PNK, \
|
LC_RED, LC_PNK, LC_PNK, LC_PNK, LC_PNK, LC_PNK, \
|
||||||
LC_CYN, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
LC_CYN, LC_OFF, LC_CYN, LC_OFF, LC_OFF, LC_OFF, \
|
||||||
LC_GRN, LC_GRN, LC_OFF, LC_OFF, LC_BLU, LC_OFF, \
|
LC_GRN, LC_GRN, LC_OFF, LC_OFF, LC_BLU, LC_OFF, \
|
||||||
LC_OFF, LC_GRN, LC_OFF, LC_ORN, LC_OFF, LC_OFF, \
|
LC_OFF, LC_GRN, LC_OFF, LC_ORN, LC_OFF, LC_RED, \
|
||||||
LC_PNK, LC_PNK, \
|
LC_PNK, LC_PNK, \
|
||||||
LC_RED, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_ORN, \
|
LC_RED, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||||
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_RED, LC_RED, \
|
||||||
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_BLU, \
|
||||||
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
LC_ORN, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||||
LC_OFF, LC_OFF \
|
LC_OFF, LC_OFF}
|
||||||
}
|
|
||||||
|
|
||||||
BETA_LAYER_MAGIC_MACRO
|
BETA_LAYER_MAGIC_MACRO
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#undef BETA_LAYER_CONTEXT_DATA
|
#undef BETA_LAYER_CONTEXT_DATA
|
||||||
#undef BETA_LAYER_MAGIC_MACRO
|
#undef BETA_LAYER_MAGIC_MACRO
|
@ -8,9 +8,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// TODO:
|
// TODO:
|
||||||
// screenshot keys
|
|
||||||
// russian
|
// russian
|
||||||
// keyboard led controls
|
|
||||||
// spellcheck
|
// spellcheck
|
||||||
// shared features
|
// shared features
|
||||||
|
|
||||||
@ -19,12 +17,12 @@
|
|||||||
KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, \
|
KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, \
|
||||||
OSL(LAYER_MACROS), KC_Q, KC_W, KC_E, KC_R, KC_T, \
|
OSL(LAYER_MACROS), KC_Q, KC_W, KC_E, KC_R, KC_T, \
|
||||||
KC_DELETE, MT(MOD_LALT, KC_A), KC_S, KC_D, KC_F, KC_G, \
|
KC_DELETE, MT(MOD_LALT, KC_A), KC_S, KC_D, KC_F, KC_G, \
|
||||||
LM(MOD_LCTL, LAYER_CTRL), KC_Z, MT(MOD_LSFT, KC_X), KC_C, MO(LAYER_ARROWS), KC_B, \
|
MO(LAYER_CTRL), KC_Z, MT(MOD_LSFT, KC_X), KC_C, MO(LAYER_ARROWS), KC_B, \
|
||||||
\
|
\
|
||||||
KC_SPACE, KC_BSPC, \
|
KC_SPACE, KC_BSPC, \
|
||||||
\
|
\
|
||||||
\
|
\
|
||||||
KC_6, KC_7, KC_8, KC_9, KC_0, LGUI(KC_TAB), \
|
KC_6, KC_7, KC_8, KC_9, KC_0, LGUI(KC_SPACE), \
|
||||||
KC_Y, KC_U, KC_I, KC_O, KC_NO, KC_NO, \
|
KC_Y, KC_U, KC_I, KC_O, KC_NO, KC_NO, \
|
||||||
KC_H, KC_J, KC_K, MO(LAYER_SYMBOLS), KC_L, QK_LEAD, \
|
KC_H, KC_J, KC_K, MO(LAYER_SYMBOLS), KC_L, QK_LEAD, \
|
||||||
KC_N, KC_M, KC_P, KC_V, KC_NO, KC_NO, \
|
KC_N, KC_M, KC_P, KC_V, KC_NO, KC_NO, \
|
||||||
|
@ -0,0 +1,47 @@
|
|||||||
|
// See symbols.h for docs
|
||||||
|
|
||||||
|
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(RUSSIAN)
|
||||||
|
|
||||||
|
#ifdef BETA_LAYER_LAYOUTS
|
||||||
|
#define BETA_LAYER_CONTEXT_DATA LAYOUT_EN
|
||||||
|
BETA_LAYER_MAGIC_MACRO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef BETA_LAYER_KEYS
|
||||||
|
#define BETA_LAYER_CONTEXT_DATA LAYOUT_voyager(\
|
||||||
|
KC_ESCAPE, RU_1, RU_2, RU_3, RU_4, RU_5, \
|
||||||
|
OSL(LAYER_MACROS), RU_CHE, RU_SHA, RU_IE, RU_ER, RU_TE, \
|
||||||
|
KC_DELETE, MT(MOD_LALT, RU_A), RU_ES, RU_DE, RU_EF, RU_GHE, \
|
||||||
|
LM(MOD_LCTL, LAYER_CTRL), RU_ZE, MT(MOD_LSFT, RU_YA), RU_TSE, MO(LAYER_ARROWS), RU_BE, \
|
||||||
|
KC_SPACE, KC_BSPC, \
|
||||||
|
\
|
||||||
|
RU_6, RU_7, RU_8, RU_9, RU_0, LGUI(KC_TAB), \
|
||||||
|
RU_U, RU_YU, RU_I, RU_O, RU_SHCH, RU_HARD, \
|
||||||
|
RU_HA, RU_ZHE, RU_KA, MO(LAYER_SYMBOLS), RU_EL, RU_SOFT, \
|
||||||
|
RU_EN, RU_EM, RU_PE, RU_VE, RU_YERU, RU_SHTI, \
|
||||||
|
KC_RSFT, KC_ENTER \
|
||||||
|
)
|
||||||
|
|
||||||
|
BETA_LAYER_MAGIC_MACRO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef BETA_LAYER_LEDS
|
||||||
|
#define BETA_LAYER_CONTEXT_DATA {\
|
||||||
|
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||||
|
LC_RUB, LC_RUB, LC_RUB, LC_RUB, LC_RUB, LC_RUB, \
|
||||||
|
LC_RUG, LC_RUG, LC_RUG, LC_RUG, LC_RUG, LC_RUG, \
|
||||||
|
LC_RUK, LC_RUK, LC_RUK, LC_RUK, LC_RUK, LC_RUK, \
|
||||||
|
LC_OFF, LC_OFF, \
|
||||||
|
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||||
|
LC_RUB, LC_RUB, LC_RUB, LC_RUB, LC_RUB, LC_RUB, \
|
||||||
|
LC_RUG, LC_RUG, LC_RUG, LC_RUG, LC_RUG, LC_RUG, \
|
||||||
|
LC_RUK, LC_RUK, LC_RUK, LC_RUK, LC_RUK, LC_RUK, \
|
||||||
|
LC_OFF, LC_OFF \
|
||||||
|
}
|
||||||
|
|
||||||
|
BETA_LAYER_MAGIC_MACRO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#undef BETA_LAYER_CONTEXT_DATA
|
||||||
|
#undef BETA_LAYER_MAGIC_MACRO
|
@ -1,5 +1,5 @@
|
|||||||
//#include "extra_mappings.h"
|
//#include "extra_mappings.h"
|
||||||
#define LAYER_INCLUDE_FILE "definitions/layers.inc"
|
#define LAYER_INCLUDE_FILE "definitions/include.c"
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -55,6 +55,7 @@ const uint8_t PROGMEM ledmaps[][RGB_MATRIX_LED_COUNT][3] = {
|
|||||||
#undef BETA_LAYER
|
#undef BETA_LAYER
|
||||||
#undef BETA_LAYER_LEDS
|
#undef BETA_LAYER_LEDS
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// Create os layout array
|
// Create os layout array
|
||||||
#define BETA_LAYER_LAYOUTS
|
#define BETA_LAYER_LAYOUTS
|
||||||
@ -118,8 +119,15 @@ bool rgb_matrix_indicators_user(void) {
|
|||||||
|
|
||||||
if (biton32(layer_state) == LAYER_KEYBOARD) {
|
if (biton32(layer_state) == LAYER_KEYBOARD) {
|
||||||
rgb_matrix_set_color(0, 0xFF, 0x00, 0x00);
|
rgb_matrix_set_color(0, 0xFF, 0x00, 0x00);
|
||||||
rgb_matrix_set_color(18, 0x00, 0xFF, 0x00);
|
rgb_matrix_set_color(18, 0x95, 0xFF, 0x00);
|
||||||
rgb_matrix_set_color(19, 0x00, 0xFF, 0x00);
|
rgb_matrix_set_color(19, 0x95, 0xFF, 0x00);
|
||||||
|
|
||||||
|
rgb_matrix_set_color(14, 0x00, 0xFF, 0x8C);
|
||||||
|
rgb_matrix_set_color(13, 0x00, 0xFF, 0x8C);
|
||||||
|
rgb_matrix_set_color(8, 0x00, 0xFF, 0x8C);
|
||||||
|
rgb_matrix_set_color(7, 0x00, 0xFF, 0x8C);
|
||||||
|
rgb_matrix_set_color(2, 0x00, 0xFF, 0x8C);
|
||||||
|
rgb_matrix_set_color(1, 0x00, 0xFF, 0x8C);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,31 +1,51 @@
|
|||||||
void td_screenshot(tap_dance_state_t *state, void *user_data) {
|
void td_screenshot(tap_dance_state_t *state, void *user_data)
|
||||||
if (state->count == 1) {
|
{
|
||||||
|
if (state->count == 1)
|
||||||
|
{
|
||||||
tap_code16(KC_PSCR);
|
tap_code16(KC_PSCR);
|
||||||
} else if (state->count == 2) {
|
}
|
||||||
|
else if (state->count == 2)
|
||||||
|
{
|
||||||
tap_code16(LSFT(KC_PSCR));
|
tap_code16(LSFT(KC_PSCR));
|
||||||
} else if (state->count == 3) {
|
}
|
||||||
|
else if (state->count == 3)
|
||||||
|
{
|
||||||
tap_code16(LALT(KC_PSCR));
|
tap_code16(LALT(KC_PSCR));
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
reset_tap_dance(state);
|
reset_tap_dance(state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void td_ocr(tap_dance_state_t *state, void *user_data) {
|
void td_wmlayout(tap_dance_state_t *state, void *user_data)
|
||||||
if (state->count == 1) {
|
{
|
||||||
tap_code16(LCTL(KC_PSCR));
|
if (state->count == 1)
|
||||||
} else if (state->count == 2) {
|
{
|
||||||
tap_code16(LCTL(LSFT(KC_PSCR)));
|
|
||||||
} else {
|
|
||||||
reset_tap_dance(state);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void td_wmlayout(tap_dance_state_t *state, void *user_data) {
|
|
||||||
if (state->count == 1) {
|
|
||||||
tap_code16(LGUI(KC_COMMA));
|
tap_code16(LGUI(KC_COMMA));
|
||||||
} else if (state->count == 2) {
|
}
|
||||||
|
else if (state->count == 2)
|
||||||
|
{
|
||||||
tap_code16(LGUI(KC_DOT));
|
tap_code16(LGUI(KC_DOT));
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reset_tap_dance(state);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void td_nogame(tap_dance_state_t *state, void *user_data)
|
||||||
|
{
|
||||||
|
if (state->count == 1)
|
||||||
|
{
|
||||||
|
tap_code16(KC_B);
|
||||||
|
}
|
||||||
|
else if (state->count == 2)
|
||||||
|
{
|
||||||
|
layer_move(LAYER_MAIN);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
reset_tap_dance(state);
|
reset_tap_dance(state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -33,5 +53,5 @@ void td_wmlayout(tap_dance_state_t *state, void *user_data) {
|
|||||||
tap_dance_action_t tap_dance_actions[] = {
|
tap_dance_action_t tap_dance_actions[] = {
|
||||||
[TD_WMLAYOUT] = ACTION_TAP_DANCE_FN(td_wmlayout),
|
[TD_WMLAYOUT] = ACTION_TAP_DANCE_FN(td_wmlayout),
|
||||||
[TD_SCREENSHOT] = ACTION_TAP_DANCE_FN(td_screenshot),
|
[TD_SCREENSHOT] = ACTION_TAP_DANCE_FN(td_screenshot),
|
||||||
[TD_OCR] = ACTION_TAP_DANCE_FN(td_ocr),
|
[TD_NOGAME] = ACTION_TAP_DANCE_FN(td_nogame),
|
||||||
};
|
};
|
@ -1,3 +1,3 @@
|
|||||||
# rules.mk overrides
|
# rules.mk overrides
|
||||||
|
|
||||||
TAP_DANCE_ENABLE = no
|
TAP_DANCE_ENABLE = yes
|
Reference in New Issue
Block a user