added game layout
This commit is contained in:
parent
fab75ada44
commit
6bfd7c5f12
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -19,7 +19,8 @@
|
||||
"cstdint": "c",
|
||||
"chrono": "c",
|
||||
"typeindex": "c",
|
||||
"typeinfo": "c"
|
||||
"typeinfo": "c",
|
||||
"unordered_map": "c"
|
||||
},
|
||||
"C_Cpp.errorSquiggles": "disabled",
|
||||
}
|
||||
|
@ -3,7 +3,6 @@
|
||||
#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:
|
||||
@ -14,7 +13,8 @@
|
||||
#include "secrets.h"
|
||||
|
||||
// Macro keycodes
|
||||
enum custom_keycodes {
|
||||
enum custom_keycodes
|
||||
{
|
||||
M_SHUTDOWN = BETA_SAFE_RANGE,
|
||||
|
||||
// Macros
|
||||
@ -44,22 +44,19 @@ enum custom_keycodes {
|
||||
};
|
||||
|
||||
// LED colors
|
||||
#define LC_OFF { 0, 0, 0}
|
||||
#define LC_GRN { 85, 203, 158}
|
||||
#define LC_YLW { 32, 176, 255}
|
||||
#define LC_OFF {0, 0, 0}
|
||||
#define LC_GRN {85, 203, 158}
|
||||
#define LC_YLW {32, 176, 255}
|
||||
#define LC_PNK {243, 222, 234}
|
||||
#define LC_CYN {134, 255, 213}
|
||||
#define LC_ORN { 14, 255, 255}
|
||||
#define LC_WHT { 0, 0, 150}
|
||||
#define LC_RED { 0, 255, 145}
|
||||
#define LC_ORN {14, 255, 255}
|
||||
#define LC_WHT {0, 0, 150}
|
||||
#define LC_RED {0, 255, 145}
|
||||
#define LC_BLU {153, 255, 153}
|
||||
|
||||
#define LC_RUB { 0, 0, 165}
|
||||
#define LC_RUB {0, 0, 165}
|
||||
#define LC_RUG {153, 255, 153}
|
||||
#define LC_RUK { 0, 255, 145}
|
||||
|
||||
|
||||
|
||||
#define LC_RUK {0, 255, 145}
|
||||
|
||||
#ifdef ENABLE_HID_SPELLCHECK
|
||||
#include "features/hid_spellcheck.h"
|
||||
@ -73,7 +70,7 @@ enum custom_keycodes {
|
||||
#include "features/leader/beta_leader.h"
|
||||
#endif
|
||||
|
||||
//#include "features/beta_rawhid.h"
|
||||
// #include "features/beta_rawhid.h"
|
||||
|
||||
/*
|
||||
// Send a special character.
|
||||
@ -99,18 +96,20 @@ combo_t key_combos[] = {
|
||||
COMBO(combo6, LCTL(KC_DELETE)),
|
||||
};
|
||||
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
#ifdef ENABLE_BETA_LEADER
|
||||
beta_qk_leader_check();
|
||||
#endif
|
||||
void matrix_scan_user(void)
|
||||
{
|
||||
#ifdef ENABLE_BETA_LEADER
|
||||
beta_qk_leader_check();
|
||||
#endif
|
||||
}
|
||||
|
||||
// Must be done early, layers need this enum
|
||||
enum tap_dance_codes {
|
||||
enum tap_dance_codes
|
||||
{
|
||||
TD_WMLAYOUT,
|
||||
TD_SCREENSHOT,
|
||||
TD_ESCAPE,
|
||||
TD_NOGAME
|
||||
};
|
||||
|
||||
// Include all other parts of configuration
|
||||
@ -118,27 +117,32 @@ enum tap_dance_codes {
|
||||
#include "parts/leader.c"
|
||||
#include "parts/tapdance.c"
|
||||
|
||||
bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) {
|
||||
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)) {
|
||||
combo_index == 1)
|
||||
{
|
||||
if (layer_state_is(LAYER_RUSSIAN))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
} else if (
|
||||
}
|
||||
else if (
|
||||
combo_index == 2 ||
|
||||
combo_index == 3
|
||||
) {
|
||||
if (!layer_state_is(LAYER_RUSSIAN)) {
|
||||
combo_index == 3)
|
||||
{
|
||||
if (!layer_state_is(LAYER_RUSSIAN))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -149,71 +153,86 @@ bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode
|
||||
// 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) {
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
|
||||
#ifdef ENABLE_BETA_LEADER
|
||||
if (!beta_process_leader(keycode, record)) { return false; }
|
||||
#endif
|
||||
#ifdef ENABLE_BETA_LEADER
|
||||
if (!beta_process_leader(keycode, record))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_HID_SPELLCHECK
|
||||
if (!process_spellcheck(keycode, record)) { return false; }
|
||||
#endif
|
||||
#ifdef ENABLE_HID_SPELLCHECK
|
||||
if (!process_spellcheck(keycode, record))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_AUTOCORRECT
|
||||
if (!process_autocorrection(keycode, record)) { return false; }
|
||||
#endif
|
||||
#ifdef ENABLE_AUTOCORRECT
|
||||
if (!process_autocorrection(keycode, record))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Handle special chars
|
||||
//if (record->event.pressed) {
|
||||
// if (record->event.pressed) {
|
||||
// if (!send_special_character(keycode)) { return false; }
|
||||
//}
|
||||
|
||||
// Handle macros
|
||||
switch (keycode) {
|
||||
case M_RESETWM:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(SS_LCTL(SS_LGUI(SS_LSFT(SS_TAP(X_R)))));
|
||||
}
|
||||
return false;
|
||||
switch (keycode)
|
||||
{
|
||||
case M_RESETWM:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
SEND_STRING(SS_LCTL(SS_LGUI(SS_LSFT(SS_TAP(X_R)))));
|
||||
}
|
||||
return false;
|
||||
|
||||
// Workaround for one-shot LGUI key.
|
||||
// Using just LGUI with LAYER_DESKTOP as OSL
|
||||
// does not allow you to hold lgui. This does.
|
||||
case M_GUI:
|
||||
if (record->event.pressed) {
|
||||
register_code16(KC_LGUI);
|
||||
} else {
|
||||
unregister_code16(KC_LGUI);
|
||||
}
|
||||
return false;
|
||||
// Workaround for one-shot LGUI key.
|
||||
// Using just LGUI with LAYER_DESKTOP as OSL
|
||||
// does not allow you to hold lgui. This does.
|
||||
case M_GUI:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
register_code16(KC_LGUI);
|
||||
}
|
||||
else
|
||||
{
|
||||
unregister_code16(KC_LGUI);
|
||||
}
|
||||
return false;
|
||||
|
||||
case M_SHUTDOWN:
|
||||
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));
|
||||
}
|
||||
return false;
|
||||
/*
|
||||
case M_RU_CTRL:
|
||||
if (record->event.pressed) {
|
||||
layer_move(LAYER_MAIN);
|
||||
register_code16(KC_LCTL);
|
||||
} else {
|
||||
unregister_code16(KC_LCTL);
|
||||
layer_move(LAYER_RUSSIAN);
|
||||
}
|
||||
return false;
|
||||
case M_SHUTDOWN:
|
||||
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));
|
||||
}
|
||||
return false;
|
||||
/*
|
||||
case M_RU_CTRL:
|
||||
if (record->event.pressed) {
|
||||
layer_move(LAYER_MAIN);
|
||||
register_code16(KC_LCTL);
|
||||
} else {
|
||||
unregister_code16(KC_LCTL);
|
||||
layer_move(LAYER_RUSSIAN);
|
||||
}
|
||||
return false;
|
||||
|
||||
case M_RU_ALT:
|
||||
if (record->event.pressed) {
|
||||
layer_move(LAYER_MAIN);
|
||||
register_code16(KC_LALT);
|
||||
} else {
|
||||
unregister_code16(KC_LALT);
|
||||
layer_move(LAYER_RUSSIAN);
|
||||
}
|
||||
return false;*/
|
||||
case M_RU_ALT:
|
||||
if (record->event.pressed) {
|
||||
layer_move(LAYER_MAIN);
|
||||
register_code16(KC_LALT);
|
||||
} else {
|
||||
unregister_code16(KC_LALT);
|
||||
layer_move(LAYER_RUSSIAN);
|
||||
}
|
||||
return false;*/
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
@ -11,8 +11,8 @@
|
||||
#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_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_V, 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_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,22 +3,19 @@
|
||||
//
|
||||
// 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 "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"
|
||||
@ -26,4 +23,3 @@
|
||||
#include "macros.h"
|
||||
#include "fkeys.h"
|
||||
#include "keyboard.h"
|
||||
|
||||
|
@ -3,46 +3,42 @@
|
||||
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(MACROS)
|
||||
|
||||
#ifdef BETA_LAYER_LAYOUTS
|
||||
#define BETA_LAYER_CONTEXT_DATA LAYOUT_EN
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
#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, 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,\
|
||||
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 \
|
||||
)
|
||||
#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
|
||||
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_OFF, \
|
||||
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 \
|
||||
}
|
||||
#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
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
#endif
|
||||
|
||||
|
||||
#undef BETA_LAYER_CONTEXT_DATA
|
||||
#undef BETA_LAYER_MAGIC_MACRO
|
@ -17,12 +17,12 @@
|
||||
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, \
|
||||
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_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_H, KC_J, KC_K, MO(LAYER_SYMBOLS), KC_L, QK_LEAD, \
|
||||
KC_N, KC_M, KC_P, KC_V, KC_NO, KC_NO, \
|
||||
|
@ -1,21 +1,51 @@
|
||||
void td_screenshot(tap_dance_state_t *state, void *user_data) {
|
||||
if (state->count == 1) {
|
||||
void td_screenshot(tap_dance_state_t *state, void *user_data)
|
||||
{
|
||||
if (state->count == 1)
|
||||
{
|
||||
tap_code16(KC_PSCR);
|
||||
} else if (state->count == 2) {
|
||||
}
|
||||
else if (state->count == 2)
|
||||
{
|
||||
tap_code16(LSFT(KC_PSCR));
|
||||
} else if (state->count == 3) {
|
||||
}
|
||||
else if (state->count == 3)
|
||||
{
|
||||
tap_code16(LALT(KC_PSCR));
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
reset_tap_dance(state);
|
||||
}
|
||||
}
|
||||
|
||||
void td_wmlayout(tap_dance_state_t *state, void *user_data) {
|
||||
if (state->count == 1) {
|
||||
void td_wmlayout(tap_dance_state_t *state, void *user_data)
|
||||
{
|
||||
if (state->count == 1)
|
||||
{
|
||||
tap_code16(LGUI(KC_COMMA));
|
||||
} else if (state->count == 2) {
|
||||
}
|
||||
else if (state->count == 2)
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
@ -23,4 +53,5 @@ void td_wmlayout(tap_dance_state_t *state, void *user_data) {
|
||||
tap_dance_action_t tap_dance_actions[] = {
|
||||
[TD_WMLAYOUT] = ACTION_TAP_DANCE_FN(td_wmlayout),
|
||||
[TD_SCREENSHOT] = ACTION_TAP_DANCE_FN(td_screenshot),
|
||||
[TD_NOGAME] = ACTION_TAP_DANCE_FN(td_nogame),
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user