Update qmk, navigator
This commit is contained in:
@ -0,0 +1,10 @@
|
||||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = false
|
@ -0,0 +1,47 @@
|
||||
|
||||
|
||||
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(ARROWS)
|
||||
|
||||
#ifdef BETA_LAYER_LAYOUTS
|
||||
#define BETA_LAYER_CONTEXT_DATA LAYOUT_NULL
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
#endif
|
||||
|
||||
#ifdef BETA_LAYER_KEYS
|
||||
#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_UP, KC_NO, KC_PGUP, \
|
||||
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_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, 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_TRNS, KC_TRNS \
|
||||
)
|
||||
|
||||
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_GRN, LC_OFF, LC_ORN, \
|
||||
LC_OFF, LC_ORN, LC_GRN, LC_GRN, LC_GRN, LC_ORN, \
|
||||
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_ORN, 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 \
|
||||
}
|
||||
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
#endif
|
||||
|
||||
|
||||
#undef BETA_LAYER_CONTEXT_DATA
|
||||
#undef BETA_LAYER_MAGIC_MACRO
|
@ -0,0 +1,46 @@
|
||||
// See symbols.h for docs
|
||||
|
||||
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(CTRL)
|
||||
|
||||
#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_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, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), KC_TRNS, \
|
||||
KC_LALT, KC_LSFT, \
|
||||
\
|
||||
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)
|
||||
|
||||
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_RED, LC_ORN, LC_GRN, LC_GRN, LC_CYN, 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, 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
|
@ -0,0 +1,48 @@
|
||||
// See symbols.h for docs
|
||||
|
||||
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(FKEYS)
|
||||
|
||||
#ifdef BETA_LAYER_LAYOUTS
|
||||
#define BETA_LAYER_CONTEXT_DATA LAYOUT_NULL
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
#endif
|
||||
|
||||
#ifdef BETA_LAYER_KEYS
|
||||
#define BETA_LAYER_CONTEXT_DATA LAYOUT_voyager(\
|
||||
TO(LAYER_MAIN), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, \
|
||||
KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \
|
||||
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_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_RED, LC_BLU, LC_BLU, LC_BLU, LC_BLU, LC_BLU, \
|
||||
LC_OFF, LC_BLU, LC_BLU, LC_BLU, LC_BLU, LC_BLU, \
|
||||
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, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||
LC_OFF, LC_OFF \
|
||||
}
|
||||
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
#endif
|
||||
|
||||
#undef BETA_LAYER_CONTEXT_DATA
|
||||
#undef BETA_LAYER_MAGIC_MACRO
|
@ -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
|
@ -0,0 +1,26 @@
|
||||
// ORDER MATTERS!
|
||||
// Don't forget how QMK layers work...
|
||||
//
|
||||
// Learned that the hard way.
|
||||
|
||||
// First layer will be "default" layer in QMK.
|
||||
// Second will have index 1, etc. See layers.h
|
||||
|
||||
// These MUST be first.
|
||||
// (For example, LAYER_ARROWS overlays on top of LAYER_MAIN)
|
||||
#include "main.h"
|
||||
#include "game.h"
|
||||
#include "ctrl.h"
|
||||
#include "mouse.h"
|
||||
|
||||
#include "russian.h"
|
||||
|
||||
#include "numbers.h" // Must be under symbols and arrows
|
||||
|
||||
// The order of the layers below doesn't matter,
|
||||
// since they avoid transparent keys.
|
||||
#include "symbols.h"
|
||||
#include "arrows.h"
|
||||
#include "macros.h"
|
||||
#include "fkeys.h"
|
||||
#include "keyboard.h"
|
@ -0,0 +1,29 @@
|
||||
// See symbols.h for docs
|
||||
|
||||
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(KEYBOARD)
|
||||
|
||||
#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(\
|
||||
TO(LAYER_MAIN), RGB_HUD, RGB_HUI, KC_NO, KC_NO, KC_NO, \
|
||||
KC_NO, RGB_SAD, RGB_SAI, 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, \
|
||||
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 \
|
||||
)
|
||||
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
#endif
|
||||
|
||||
#undef BETA_LAYER_CONTEXT_DATA
|
||||
#undef BETA_LAYER_MAGIC_MACRO
|
@ -0,0 +1,44 @@
|
||||
// See symbols.h for docs
|
||||
|
||||
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(MACROS)
|
||||
|
||||
#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( \
|
||||
TO(LAYER_MAIN), LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), \
|
||||
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_NO, KC_MEDIA_PREV_TRACK, KC_NO, LGUI(KC_W), KC_NO, TO(LAYER_GAME), \
|
||||
LGUI(KC_ENTER), LGUI(KC_BSLS), \
|
||||
\
|
||||
M_SHUTDOWN, 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, TT(LAYER_RUSSIAN), \
|
||||
LCTL(LGUI(LSFT(KC_R))), 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_RED, LC_PNK, LC_PNK, LC_PNK, LC_PNK, LC_PNK, \
|
||||
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_OFF, LC_GRN, LC_OFF, LC_ORN, LC_OFF, LC_RED, \
|
||||
LC_PNK, LC_PNK, \
|
||||
LC_RED, 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_BLU, \
|
||||
LC_ORN, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||
LC_OFF, LC_OFF}
|
||||
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
#endif
|
||||
|
||||
#undef BETA_LAYER_CONTEXT_DATA
|
||||
#undef BETA_LAYER_MAGIC_MACRO
|
@ -0,0 +1,35 @@
|
||||
// See symbols.h for docs
|
||||
|
||||
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(MAIN)
|
||||
|
||||
#ifdef BETA_LAYER_LAYOUTS
|
||||
#define BETA_LAYER_CONTEXT_DATA LAYOUT_EN
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
#endif
|
||||
|
||||
// TODO:
|
||||
// russian
|
||||
// spellcheck
|
||||
// shared features
|
||||
|
||||
#ifdef BETA_LAYER_KEYS
|
||||
#define BETA_LAYER_CONTEXT_DATA LAYOUT_voyager( \
|
||||
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, \
|
||||
KC_DELETE, MT(MOD_LALT, KC_A), KC_S, KC_D, KC_F, KC_G, \
|
||||
MO(LAYER_CTRL), KC_Z, MT(MOD_LSFT, KC_X), KC_C, MO(LAYER_ARROWS), KC_B, \
|
||||
\
|
||||
KC_SPACE, KC_BSPC, \
|
||||
\
|
||||
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_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_RSFT, KC_ENTER)
|
||||
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
#endif
|
||||
|
||||
#undef BETA_LAYER_CONTEXT_DATA
|
||||
#undef BETA_LAYER_MAGIC_MACRO
|
@ -0,0 +1,44 @@
|
||||
|
||||
|
||||
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(MOUSE)
|
||||
|
||||
#ifdef BETA_LAYER_LAYOUTS
|
||||
#define BETA_LAYER_CONTEXT_DATA LAYOUT_NULL
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
#endif
|
||||
|
||||
#ifdef BETA_LAYER_KEYS
|
||||
#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_MS_BTN1, NAVIGATOR_AIM, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, DRAG_SCROLL, KC_MS_BTN2, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, \
|
||||
\
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS)
|
||||
|
||||
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_GRN, LC_ORN, LC_OFF, \
|
||||
LC_OFF, LC_OFF, LC_OFF, 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, 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}
|
||||
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
#endif
|
||||
|
||||
#undef BETA_LAYER_CONTEXT_DATA
|
||||
#undef BETA_LAYER_MAGIC_MACRO
|
@ -0,0 +1,49 @@
|
||||
// See symbols.h for docs
|
||||
|
||||
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(NUMBERS)
|
||||
|
||||
#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(\
|
||||
TO(LAYER_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
|
||||
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, \
|
||||
KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, \
|
||||
KC_TRNS, KC_NO, KC_NO, KC_DOT, KC_COMMA, KC_NO,\
|
||||
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 \
|
||||
)
|
||||
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef BETA_LAYER_LEDS
|
||||
#define BETA_LAYER_CONTEXT_DATA {\
|
||||
LC_RED, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||
LC_OFF, LC_GRN, LC_GRN, LC_GRN, LC_GRN, LC_GRN, \
|
||||
LC_OFF, LC_GRN, LC_GRN, LC_GRN, LC_GRN, LC_GRN, \
|
||||
LC_OFF, LC_OFF, LC_OFF, LC_PNK, LC_PNK, 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, 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
|
@ -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
|
@ -0,0 +1,112 @@
|
||||
// Layers are defined in macros,
|
||||
// so that all supporting code can be
|
||||
// auto-generated by the preprocessor.
|
||||
//
|
||||
// When making a new layer, make sure you update EVERY
|
||||
// reference to BETA_LAYER() with your layer's name!
|
||||
|
||||
|
||||
|
||||
// This macro isn't used anywhere else.
|
||||
// It's here for convenience, so we only have to write
|
||||
// the layer name in one place.
|
||||
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(SYMBOLS)
|
||||
|
||||
|
||||
// What OS keyboard layout this layer is designed for.
|
||||
// See extra_mappings.h for possible values.
|
||||
//
|
||||
// Every layer must have this section.
|
||||
#ifdef BETA_LAYER_LAYOUTS
|
||||
#define BETA_LAYER_CONTEXT_DATA LAYOUT_EN
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
#endif
|
||||
|
||||
|
||||
// If BETA_LAYER_NAME is defined, the preprocessor is making
|
||||
// enums for this layer. See keymap.h.
|
||||
//
|
||||
// IMPORTANT:
|
||||
// Things will break if BETA_LAYER_MAGIC_MACRO is written outside #ifdef/#endif guards.
|
||||
|
||||
// If BETA_LAYER_KEYS is defined, the preprocessor is either...
|
||||
// - making LAYER_* enums (see keymap.h)
|
||||
// - filling the keymap array (see keymap.c)
|
||||
//
|
||||
// Every layer must have this section.
|
||||
#ifdef BETA_LAYER_KEYS
|
||||
#define BETA_LAYER_CONTEXT_DATA LAYOUT_voyager(\
|
||||
KC_NO, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC,\
|
||||
KC_NO, KC_GRAVE, KC_LPRN, KC_RPRN, KC_QUES, KC_LCBR,\
|
||||
KC_NO, KC_TILD, KC_QUOT, KC_COMMA, KC_DOT, KC_DQUO,\
|
||||
KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_EXLM, KC_RCBR,\
|
||||
\
|
||||
KC_NO, KC_NO,\
|
||||
\
|
||||
\
|
||||
KC_CIRC, KC_AMPR, KC_ASTR, KC_NO, 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_EQUAL, KC_PLUS, KC_SCLN, KC_NO, KC_NO, KC_NO,\
|
||||
\
|
||||
KC_NO, KC_NO\
|
||||
)
|
||||
|
||||
// This is important.d
|
||||
// The magic macro MUST be here, AFTER the keymap data.
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
#endif
|
||||
|
||||
|
||||
// If BETA_LAYER_KEYS is defined, the preprocessor is either...
|
||||
// - making LAYER_*_LEDS enums (see keymap.h)
|
||||
// - filling the ledmap array (see keymap.c)
|
||||
// - building the layer color switch statement (see keymap.c)
|
||||
//
|
||||
// This section is optional. If it is missing, this layer will not have
|
||||
// an RGBMatrix color.
|
||||
#ifdef BETA_LAYER_LEDS
|
||||
#define BETA_LAYER_CONTEXT_DATA {\
|
||||
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||
LC_OFF, LC_ORN, LC_CYN, LC_CYN, LC_PNK, LC_CYN, \
|
||||
LC_OFF, LC_ORN, LC_PNK, LC_PNK, LC_PNK, LC_PNK, \
|
||||
LC_OFF, LC_OFF, LC_CYN, LC_CYN, LC_PNK, LC_CYN, \
|
||||
LC_OFF, LC_OFF, \
|
||||
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||
LC_GRN, LC_GRN, LC_CYN, LC_OFF, LC_CYN, LC_OFF, \
|
||||
LC_CYN, LC_GRN, LC_PNK, LC_RED, LC_CYN, LC_OFF, \
|
||||
LC_GRN, LC_GRN, LC_PNK, 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
|
||||
|
||||
|
||||
|
||||
// If BETA_LAYER_INDICATORS is defined, the preprocessor is
|
||||
// building the indicator led switch statement (see keymap.c)
|
||||
//
|
||||
// This should be a `case` statement that looks exactly like the following example.
|
||||
//
|
||||
// This section is optional. If it is missing, this layer will
|
||||
// not set indicator leds.
|
||||
/*
|
||||
#ifdef BETA_LAYER_INDICATORS
|
||||
case LAYER_MAGIC_MACRO:
|
||||
ergodox_right_led_1_on();
|
||||
//ergodox_right_led_2_on();
|
||||
//ergodox_right_led_3_on();
|
||||
break;
|
||||
#endif
|
||||
*/
|
||||
|
||||
|
||||
// Cleanup.
|
||||
// This is not optional,
|
||||
// we MUST undef these here so the next layer
|
||||
// we load can re-define them.
|
||||
#undef BETA_LAYER_CONTEXT_DATA
|
||||
#undef BETA_LAYER_MAGIC_MACRO
|
165
keyboards/zsa/voyager/keymaps/betalupi/layers/layers.c
Normal file
165
keyboards/zsa/voyager/keymaps/betalupi/layers/layers.c
Normal file
@ -0,0 +1,165 @@
|
||||
// #include "extra_mappings.h"
|
||||
#define LAYER_INCLUDE_FILE "definitions/include.c"
|
||||
|
||||
/*
|
||||
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
|
||||
#define BETA_LAYER(name) [LAYER_##name] = BETA_LAYER_CONTEXT_DATA,
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
#include LAYER_INCLUDE_FILE
|
||||
};
|
||||
#undef BETA_LAYER
|
||||
#undef BETA_LAYER_KEYS
|
||||
|
||||
// Create led map array
|
||||
#define BETA_LAYER_LEDS
|
||||
#define BETA_LAYER(name) [LAYER_##name##_LEDS] = BETA_LAYER_CONTEXT_DATA,
|
||||
const uint8_t PROGMEM ledmaps[][RGB_MATRIX_LED_COUNT][3] = {
|
||||
#include LAYER_INCLUDE_FILE
|
||||
};
|
||||
#undef BETA_LAYER
|
||||
#undef BETA_LAYER_LEDS
|
||||
|
||||
/*
|
||||
// Create os layout array
|
||||
#define BETA_LAYER_LAYOUTS
|
||||
#define BETA_LAYER(name) [LAYER_##name] = BETA_LAYER_CONTEXT_DATA,
|
||||
uint8_t layer_layouts[] = {
|
||||
#include LAYER_INCLUDE_FILE
|
||||
};
|
||||
#undef BETA_LAYER
|
||||
#undef BETA_LAYER_LAYOUTS
|
||||
*/
|
||||
|
||||
void set_layer_color(int layer)
|
||||
{
|
||||
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]),
|
||||
.v = pgm_read_byte(&ledmaps[layer][i][2]),
|
||||
};
|
||||
if (!hsv.h && !hsv.s && !hsv.v)
|
||||
{
|
||||
rgb_matrix_set_color(i, 0, 0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
RGB rgb = hsv_to_rgb(hsv);
|
||||
float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
|
||||
rgb_matrix_set_color(i, f * rgb.r, f * rgb.g, f * rgb.b);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extern bool beta_leading;
|
||||
|
||||
bool rgb_matrix_indicators_user(void)
|
||||
{
|
||||
if (keyboard_config.disable_layer_led)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
switch (biton32(layer_state))
|
||||
{
|
||||
|
||||
// Load layer RGBMatrix colors
|
||||
#define BETA_LAYER_LEDS
|
||||
#define BETA_LAYER(name) \
|
||||
case LAYER_##name: \
|
||||
set_layer_color(LAYER_##name##_LEDS); \
|
||||
break;
|
||||
|
||||
#include LAYER_INCLUDE_FILE
|
||||
|
||||
#undef BETA_LAYER
|
||||
#undef BETA_LAYER_LEDS
|
||||
|
||||
default:
|
||||
if (rgb_matrix_get_flags() == LED_FLAG_NONE)
|
||||
{
|
||||
rgb_matrix_set_color_all(0, 0, 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (beta_leading)
|
||||
{
|
||||
rgb_matrix_set_color(43, 0x00, 0x00, 0xFF);
|
||||
}
|
||||
|
||||
if (biton32(layer_state) == LAYER_KEYBOARD)
|
||||
{
|
||||
rgb_matrix_set_color(0, 0xFF, 0x00, 0x00);
|
||||
rgb_matrix_set_color(18, 0x95, 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;
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state)
|
||||
{
|
||||
uint8_t layer = biton32(state);
|
||||
|
||||
STATUS_LED_1(false);
|
||||
STATUS_LED_2(false);
|
||||
STATUS_LED_3(false);
|
||||
STATUS_LED_4(false);
|
||||
|
||||
switch (layer)
|
||||
{
|
||||
|
||||
// Load indicator LED cases
|
||||
#define BETA_LAYER_INDICATORS
|
||||
#define BETA_LAYER(name) LAYER_##name
|
||||
#include LAYER_INCLUDE_FILE
|
||||
#undef BETA_LAYER
|
||||
#undef BETA_LAYER_INDICATORS
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return state;
|
||||
};
|
Reference in New Issue
Block a user