diff options
Diffstat (limited to 'users/dvorak_42_key/dvorak_42_key.h')
-rw-r--r-- | users/dvorak_42_key/dvorak_42_key.h | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/users/dvorak_42_key/dvorak_42_key.h b/users/dvorak_42_key/dvorak_42_key.h new file mode 100644 index 0000000000..4a3c34ba52 --- /dev/null +++ b/users/dvorak_42_key/dvorak_42_key.h @@ -0,0 +1,161 @@ +// Copyright 2022 LucW (@luc-languagetools) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +// LAYERS +// ====== + +enum layer_names { + BASE, // base dvorak layer + KEYNAV, // arrow navigation (right hand) + KEYSEL, // arrow navigation + shift (allow text selection) + SHELL_NAV, // bash shortcuts + SHELL_SCREEN, // linux screen shortcuts + BROWSER_CONTROL, // control browser and mouse + COMBINED, // combined numbers and symbols layer + ANDROID_STUDIO, // android studio specific layer + VSCODE, // visual studio code specific layer + SHORTCUTS, // shortcuts to be intercepted by autohotkey +}; + +enum custom_keycodes { + PLACEHOLDER = SAFE_RANGE, // can always be here + + // shell nav macros + SHELL_LS, + SHELL_LSLTR, + SHELL_LSLA, + SHELL_CDPRE, + SHELL_LESS, + SHELL_PLESS, + SHELL_PGREP, + SHELL_TAILF, + + SHELL_SCREENRD, + SHELL_SCREEN_NEW, + SHELL_SCREEN_LIST, + + SHELL_GIT_DIFF, + SHELL_GIT_STATUS, + + // linux screen macros + SCREEN_TAB_LEFT, + SCREEN_TAB_RIGHT, + + SCREEN_NEW_TAB, + SCREEN_DETACH, + SCREEN_RENAME, + SCREEN_NUMBER, + SCREEN_KILL, + + SCREEN_0, + SCREEN_1, + SCREEN_2, + SCREEN_3, + SCREEN_4, + SCREEN_5, + SCREEN_6, + SCREEN_7, + SCREEN_8, + SCREEN_9, + + SCREEN_COPY_MODE, + SCREEN_PASTE, + + SCREEN_READREG_1, + SCREEN_READREG_2, + SCREEN_READREG_3, + SCREEN_PASTEREG_1, + SCREEN_PASTEREG_2, + SCREEN_PASTEREG_3, + + // Windows 10 macros + WINDOWS10_WORKSPACE_LEFT, + WINDOWS10_WORKSPACE_RIGHT, + WINDOWS10_TASK_VIEW, + +}; + + + + + + +// Notepad++ shortcuts +// =================== +#define NP_DUPE_LINE LCTL(KC_D) + +// ChromeOS shortcuts +// ================== +#define CO_WS_LEFT RGUI(KC_LBRC) +#define CO_WS_RIGHT RGUI(KC_RBRC) + + +// Android Studio shortcuts +#define AS_TABLEFT LALT(KC_LEFT) +#define AS_TABRIGHT LALT(KC_RIGHT) +#define AS_SYMBOL LCTL(LALT(KC_N)) +#define AS_CLASS LCTL(KC_N) +#define AS_FINDUSAGE LALT(KC_F7) +#define AS_BACK LCTL(LALT(KC_LEFT)) +#define AS_BRACKET LCTL(LSFT(KC_M)) +#define AS_GO_DECLARATION LCTL(KC_B) +#define AS_GO_IMPLEMENTATION LCTL(LALT(KC_B)) +#define AS_CLOSETAB LCTL(KC_F4) +#define AS_CLOSETOOLWINDOW LCTL(LSFT(KC_F4)) +#define AS_COPYLINEDOWN LCTL(KC_D) +#define AS_DEL_LINE LCTL(KC_Y) +#define AS_LINE LCTL(KC_G) +#define AS_CMT_BLOCK LCTL(LSFT(KC_SLSH)) +#define AS_CMT_LINE LCTL(KC_SLSH) +#define AS_BM_PREV LALT(KC_P) +#define AS_BM_NEXT LALT(KC_N) +#define AS_BM_TOGGLE KC_F11 +#define AS_BM_LIST LSFT(KC_F11) + +// visual studio code shortcuts +// ============================ + +#include "vscode_macros.h" + +// unused vscode shortcuts +// #define VS_BM_LIST LCTL(LALT(KC_L)) +// #define VS_BM_LISTALL LCTL(LALT(KC_A)) +// #define VS_BM_CLEARALL LCTL(LALT(KC_C)) + +// #define VS_TERMINAL_PREV MEH(KC_F12) +// #define VS_TERMINAL_NEXT MEH(KC_F13) +// #define VS_TERMINAL_NEW MEH(KC_F14) +// #define VS_TERMINAL_DETACH MEH(KC_F15) +// #define VS_TERMINAL_RENAME MEH(KC_F16) +// #define VS_JUMPY MEH(KC_F17) +// #define VS_FIND MEH(KC_F19) +// #define VS_CLOSEPANEL LCTL(LSFT(KC_W)) +// #define VS_BUILD LCTL(LSFT(KC_B)) +// #define VS_OPEN_FILE MEH(KC_F2) +// #define VS_TERMINAL MEH(KC_F15) + + + + +// tap-dance configuration +// ======================= + +enum { + // TD_BSPC_CTL_BSPC, + // TD_BSPC_CTL_BSPC_IOS, + TD_DEL_WORD_DEL, + TD_DEL_WORD_DEL_IOS +}; + +typedef struct { + uint16_t tap; + uint16_t hold; + uint16_t held; +} tap_dance_tap_hold_t; + +#define ACTION_TAP_DANCE_TAP_HOLD(tap, hold) \ + { .fn = {NULL, tap_dance_tap_hold_finished, tap_dance_tap_hold_reset}, .user_data = (void *)&((tap_dance_tap_hold_t){tap, hold, 0}), } |