|
|
|
@ -13,6 +13,7 @@ extern keymap_config_t keymap_config;
|
|
|
|
|
#define _NINEKEY 6
|
|
|
|
|
#define _NAVIGAT 7
|
|
|
|
|
#define _QWERTY 8
|
|
|
|
|
#define _MLAYER 9
|
|
|
|
|
#define _GRVTABL 15
|
|
|
|
|
|
|
|
|
|
enum custom_keycodes {
|
|
|
|
@ -25,58 +26,65 @@ enum custom_keycodes {
|
|
|
|
|
NINEKEY,
|
|
|
|
|
NAVIGAT,
|
|
|
|
|
QWERTY,
|
|
|
|
|
MLAYER,
|
|
|
|
|
GRVTABL,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//TD Declarations
|
|
|
|
|
enum {
|
|
|
|
|
VOM = 0,
|
|
|
|
|
PRN,
|
|
|
|
|
EGT,
|
|
|
|
|
HRD,
|
|
|
|
|
DSH,
|
|
|
|
|
QUT,
|
|
|
|
|
ESC,
|
|
|
|
|
EQE,
|
|
|
|
|
PGN,
|
|
|
|
|
UND,
|
|
|
|
|
BSDEL,
|
|
|
|
|
bsdel_mods,
|
|
|
|
|
BOOTME,
|
|
|
|
|
VOM = 0,
|
|
|
|
|
PRN,
|
|
|
|
|
EGT,
|
|
|
|
|
HRD,
|
|
|
|
|
XRD,
|
|
|
|
|
DSH,
|
|
|
|
|
ESC,
|
|
|
|
|
EQE,
|
|
|
|
|
PGN,
|
|
|
|
|
HND,
|
|
|
|
|
COD,
|
|
|
|
|
UND,
|
|
|
|
|
F11,
|
|
|
|
|
F12,
|
|
|
|
|
F13,
|
|
|
|
|
F14,
|
|
|
|
|
F15,
|
|
|
|
|
F16,
|
|
|
|
|
F17,
|
|
|
|
|
F18,
|
|
|
|
|
F19,
|
|
|
|
|
F20,
|
|
|
|
|
//unicode_inputctl
|
|
|
|
|
LINUX,
|
|
|
|
|
WIN,
|
|
|
|
|
WINSH,
|
|
|
|
|
OSX,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#define _______ KC_TRNS
|
|
|
|
|
#define XXXXXXX KC_NO
|
|
|
|
|
|
|
|
|
|
// action-TAP for key/mod behavior LT(layer, kc)
|
|
|
|
|
// action-TAP for key/mod behavior LT(layer, KC)
|
|
|
|
|
#define XK_TAB LT(_FNCTION, KC_TAB)
|
|
|
|
|
#define XK_BSP LT(_KAMELOC, M(3))
|
|
|
|
|
#define XK_BSP LT(_KAMELOC, KC_BSPC)
|
|
|
|
|
#define XK_APO LT(_KAMELOC, KC_QUOT)
|
|
|
|
|
|
|
|
|
|
#define XK_HARD LT(_FNCTION, M(1))
|
|
|
|
|
#define XK_SPC LT(_IKAPILA, KC_SPC)
|
|
|
|
|
#define XK_ENT LT(_IKAPILA, KC_ENT)
|
|
|
|
|
#define XK_PGDN LT(_NAVIGAT, TD(PGN))
|
|
|
|
|
#define XK_PREN LT(_IKASHFT, M(0))
|
|
|
|
|
#define XK_PGDN LT(_IKASHFT, KC_PGDN)
|
|
|
|
|
#define XK_PGUP LT(_IKASHFT, KC_PGUP)
|
|
|
|
|
#define PIPBOY LT(_FNCTION, KC_BSLS)
|
|
|
|
|
|
|
|
|
|
#define XK_DEL LT(_KAMELOC, KC_DEL)
|
|
|
|
|
#define XK_DEL LT(_IKASHFT, KC_DEL)
|
|
|
|
|
#define XK_GRV LT(_GRVTABL, KC_GRV)
|
|
|
|
|
|
|
|
|
|
// mod-TAP for mod/key behavior MT(modkey, kc)
|
|
|
|
|
#define ESC_IT MT(MOD_MEH, TD(ESC))
|
|
|
|
|
|
|
|
|
|
#define ALT_IT MT(MOD_LALT, KC_SCLN)
|
|
|
|
|
#define CTL_IT MT(MOD_LCTL, KC_SLSH)
|
|
|
|
|
#define XK_EGPT MT((MOD_LCTL | MOD_LALT | MOD_LGUI), M(2))
|
|
|
|
|
|
|
|
|
|
#define SFT_IT MT(MOD_RSFT, TG(_NAVIGAT))
|
|
|
|
|
// mod-TAP for mod/key behavior MT(modkey, KC)
|
|
|
|
|
#define ALT_IT MT(MOD_RALT, KC_SCLN)
|
|
|
|
|
#define CTL_IT MT(MOD_RCTL, KC_DOT)
|
|
|
|
|
#define SFT_ENT MT(MOD_RSFT, KC_ENT)
|
|
|
|
|
|
|
|
|
|
//sticky modifiers
|
|
|
|
|
#define KYCTL OSM(MOD_LCTL)
|
|
|
|
|
#define KYGUI OSM(MOD_LGUI)
|
|
|
|
|
#define KYSFT OSM(MOD_LSFT)
|
|
|
|
|
#define KYALT OSM(MOD_LALT)
|
|
|
|
|
#define CAKY OSM(MOD_LCTL | MOD_LALT)
|
|
|
|
|
|
|
|
|
|
//shortcuts
|
|
|
|
@ -100,10 +108,6 @@ enum {
|
|
|
|
|
#define KC_NDSH LCTL(KC_PMNS)
|
|
|
|
|
#define KC_MDSH LALT(LCTL(KC_PMNS))
|
|
|
|
|
|
|
|
|
|
//!not sure if this old TMK code will work
|
|
|
|
|
//#define BOOTME ACTION_FUNCTION(BOOTLOADER)
|
|
|
|
|
#define LCLEAR ACTION_LAYER_SET_CLEAR(0)
|
|
|
|
|
|
|
|
|
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
@ -113,9 +117,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│BKSP│ A │ R │ S │ T │ G │ │ M │ N │ E │ I │ O │ ' │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│OSFT│ X │ C │ D │ V │ Z │ │ K │ H │ , │ . │ / │LNAV│
|
|
|
|
|
│OSFT│ X │ C │ D │ V │ Z │ │ K │ H │ , │ │ . │ / │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│OCTL│OALT│L9KY│ [] │OGUI│SPC │ │ENT │PGDN│ () │ {} │ \ │ ` │
|
|
|
|
|
│OCTL│GUI │ESC │ALT │PGUP│SPC │ │ENT │PGDN│ () │ {} │ \ │ ` │
|
|
|
|
|
└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
|
|
|
|
HOLD
|
|
|
|
|
┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
|
|
|
@ -125,80 +129,85 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│SFT │ │ │ │ │ │ │ │ │ │ │CTL │SFT │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│CTL │ALT │L9KY│L!@#│GUI │L123│ │L123│LNAV│L!@#│MEH │L FN│LGRV│
|
|
|
|
|
│CTL │GUI │ESC │ALT │L!@#│L123│ │L123│L!@#│L M│ │L FN│LGRV│
|
|
|
|
|
└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
|
|
|
|
DOUBLETAP
|
|
|
|
|
┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
|
|
|
|
│ │!F4 │ │ │ │ │ │ │ │ │ │ │ │
|
|
|
|
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│OSML│ │ │ │ │UNDO│ │ │ │ │ │ │ │
|
|
|
|
|
│OSML│ │ │ │ │ │ │ │ │ │ │ │ │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│OSML│OSML│ESC │ │OSML│ │ │ │PGUP│ │ │ │ │
|
|
|
|
|
│OSML│OSML│!F4 │ │ │ │ │ │ │ │ │ │ │
|
|
|
|
|
└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
|
|
|
|
Switch type
|
|
|
|
|
┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
|
|
|
|
│Br │Z │Z │Z │Z │Z │ │Z │Z │Z │Z │Br │G │
|
|
|
|
|
│Br │mxC │Z │Z │Z │Z │ │Z │Z │Z │Z │Br │G │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│G │Z │Z │Z │Z │Z │ │Z │Z │Z │Z │Z │Z │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│Y │Z │Z │Z │Z │Z │ │Z │Z │Z │Z │B │Y │
|
|
|
|
|
│Y │Z │Z │Z │Z │Z │ │Z │Z │Z │B │B │Y │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│Y │Y │C │Z │BLK │BLK │ │BLK │BLK │Z │Z │B │G │
|
|
|
|
|
│Y │Y │mxC │Z │BLK │BLK │ │BLK │BLK │Z │Z │B │G │
|
|
|
|
|
└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
|
|
|
|
with DCS keycaps
|
|
|
|
|
Top Row R1 (reversed?)
|
|
|
|
|
M Row1 R3 (with reversed pointer finger)
|
|
|
|
|
M Row2 R4
|
|
|
|
|
B Row R2 (reversed)
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// Colemak PB&J (Mod-DH)
|
|
|
|
|
[_COLEMAK] = KEYMAP( \
|
|
|
|
|
XK_TAB, TD(QUT), KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, ALT_IT, XK_GRV, \
|
|
|
|
|
XK_BSP, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, XK_DEL, \
|
|
|
|
|
KYSFT, KC_X, KC_C, KC_D, KC_V, TD(UND), KC_K, KC_H, KC_COMM, KC_DOT, CTL_IT, SFT_IT, \
|
|
|
|
|
KYCTL, KYALT, ESC_IT, XK_HARD, KYGUI, XK_SPC, XK_ENT, XK_PGDN, XK_PREN, XK_EGPT, PIPBOY, XK_GRV \
|
|
|
|
|
XK_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, ALT_IT, XK_DEL, \
|
|
|
|
|
XK_BSP, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, XK_APO, \
|
|
|
|
|
KYSFT, KC_X, KC_C, KC_D, KC_V, KC_Z, KC_K, KC_H, TD(COD), KC_DOT, CTL_IT, SFT_T(KC_SLSH), \
|
|
|
|
|
KYCTL, KC_LGUI, TD(ESC), KC_LALT, XK_PGUP, XK_SPC, XK_ENT, XK_PGDN, MO(_MLAYER), TT(_NAVIGAT), PIPBOY, XK_GRV \
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
// useful for one-handed typing
|
|
|
|
|
[_KAMELOC] = KEYMAP( \
|
|
|
|
|
_______, KC_SCLN, KC_Y, KC_U, KC_L, KC_J, KC_B, KC_P, KC_F, KC_W, TD(QUT), _______, \
|
|
|
|
|
XK_DEL, KC_SCLN, KC_Y, KC_U, KC_L, KC_J, KC_B, KC_P, KC_F, KC_W, KC_Q, XK_TAB, \
|
|
|
|
|
_______, KC_O, KC_I, KC_E, KC_N, KC_M, KC_G, KC_T, KC_S, KC_R, KC_A, _______, \
|
|
|
|
|
_______, KC_SLSH, KC_DOT, KC_COMM, KC_H, KC_K, TD(UND), KC_V, KC_D, KC_C, KC_X, _______, \
|
|
|
|
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
|
|
|
|
KYSFT, KC_SLSH, KC_DOT, KC_COMM, KC_H, KC_K, TD(UND), KC_V, KC_D, KC_C, KC_X, KYSFT, \
|
|
|
|
|
XK_GRV, PIPBOY, M(1), KC_BTN1, KC_HOME, KC_ENT, KC_ENT, KC_END, KC_LGUI, TD(ESC), KC_LALT, KYCTL \
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
|
|
|
|
│ ~ │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ │
|
|
|
|
|
│ │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │DASH│MV- │ V+ │NEXT│PLAY│ │ ← │ ↓ │ ↑ │ → │INS │ │
|
|
|
|
|
│ │ M │ V- │ V+ │NEXT│PLAY│ │ ← │ ↓ │ ↑ │ → │DASH│INS │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │ - │ = │ [ │ ] │ \ │ │HOME│PGDN│PGUP│END │ \ │ │
|
|
|
|
|
│ │ - │ = │TGL │ │ │ │HOME│END │HOME│ │ \ │ ~ │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │
|
|
|
|
|
└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
|
|
|
|
*/
|
|
|
|
|
[_IKAPILA] = KEYMAP( \
|
|
|
|
|
KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
|
|
|
|
|
_______, TD(DSH), TD(VOM), KC_VOLU, KC_MNXT, KC_MPLY, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_INS, _______, \
|
|
|
|
|
_______, KC_MINS, KC_EQL, TD(HRD), KC_RBRC, KC_BSLS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_BSLS, _______, \
|
|
|
|
|
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
|
|
|
|
|
_______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TD(DSH), KC_INS, \
|
|
|
|
|
_______, KC_MINS, KC_EQL, XXXXXXX, XXXXXXX, LCTL(KC_Z), KC_HOME, TD(HND), KC_HOME, XXXXXXX, KC_BSLS, KC_TILD, \
|
|
|
|
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
|
|
|
|
│ │ ! │ @ │ # │ $ │ % │ │ ^ │ & │ * │ ( │ ) │ │
|
|
|
|
|
│ │ ! │ @ │ # │ $ │ % │ │ ^ │ & │ * │ ( │ ) │BSPC│
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │DASH│MV- │ V+ │NEXT│PLAY│ │HOME│PGDN│PGUP│END │PSCR│ │
|
|
|
|
|
│DEL │ │ ← │ ↓ │ ↑ │ → │ │NEXT│PGUP│ V+ │ V- │DASH│PSCR│
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │ _ │ + │ { │ } │ | │ │ ← │ ↓ │ ↑ │ → │ │ │
|
|
|
|
|
│ │ _ │ + │END │HOME│END │ │ │ │ │ [ │ ] │ │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │
|
|
|
|
|
└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
[_IKASHFT] = KEYMAP( \
|
|
|
|
|
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \
|
|
|
|
|
KC_DEL, TD(DSH), TD(VOM), KC_VOLU, KC_MNXT, KC_MPLY, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_PSCR, _______, \
|
|
|
|
|
_______, KC_UNDS, KC_PLUS, TD(EGT), KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PAUS, _______, \
|
|
|
|
|
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
|
|
|
|
|
KC_DEL, TD(PGN), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_MNXT, KC_PGUP, KC_VOLU, TD(VOM), KC_MDSH, KC_PSCR, \
|
|
|
|
|
_______, KC_UNDS, KC_PLUS, KC_END, KC_HOME, KC_END, M(1), M(0), M(2), KC_LBRC, KC_RBRC, _______, \
|
|
|
|
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
@ -210,14 +219,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ >>init network SEQUENCE
|
|
|
|
|
│ │ ↑ │ ← │ ↓ │ → │ ↑ │ │ ↓ │ ← │ ↑ │ → │ ← │ │ sleep 11; echo "DONE\n"
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ throttle INPUT 11001001 OUTPUT 010011001 ? FULL )); \
|
|
|
|
|
│ │ │ │ → │ ← │ ↓ │ │ → │ ↑ │ ← │ ↓ │ ↑ │ │ <<chkconfig cargoCode ==== "'1'"
|
|
|
|
|
└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ up down left right kc_b kc_a GUI
|
|
|
|
|
│ │ │ │ → │ ← │ ↓ │ │ → │ ↑ │ ← │ ↓ │ ↑ │ │ <<chKConfig cargoCode ==== "'1'"
|
|
|
|
|
└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ up down left right KC_b KC_a GUI
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
[_ARROWKY] = KEYMAP( \
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_______, KC_RGHT, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT, KC_UP, _______, \
|
|
|
|
|
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT, KC_UP, KC_LEFT, KC_DOWN, _______, \
|
|
|
|
|
_______, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT, KC_UP, KC_LEFT, _______, \
|
|
|
|
|
_______, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, KC_LEFT, _______, \
|
|
|
|
|
_______, _______, KC_RGHT, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT, _______ \
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
@ -225,56 +236,56 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
|
|
┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
|
|
|
|
│ │ F1 │ F2 │ F3 │ F4 │ F5 │ │ F6 │ F7 │ F8 │ F9 │ F10│ │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │ F11│ F12│ F13│ F14│ F15│ │ F16│ F17│ F18│ F19│ F20│ │
|
|
|
|
|
│ │ F21│ F22│ F23│ F24│PAUS│ │ │SCLK│BOOT│ │NKRO│CAPS│
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │ F21│ F22│ F23│ F24│PAUS│ │ │ │BOOT│RSET│NKRO│CAPS│
|
|
|
|
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │
|
|
|
|
|
└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
[_FNCTION] = KEYMAP( \
|
|
|
|
|
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, \
|
|
|
|
|
_______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, _______, \
|
|
|
|
|
_______, KC_F21, KC_F22, KC_F23, KC_F24, _______, _______, _______,M(BOOTME), RESET, TGNKRO, KC_CAPS, \
|
|
|
|
|
_______, TD(F11), TD(F12), TD(F13), TD(F14), TD(F15), TD(F16), TD(F17), TD(F18), TD(F19), TD(F20), _______, \
|
|
|
|
|
_______, KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, KC_SLCK, XXXXXXX, XXXXXXX, TGNKRO, XXXXXXX, \
|
|
|
|
|
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, \
|
|
|
|
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
|
|
|
|
│ │ → │ F7 │ F8 │ F9 │ ↑ │ │NLCK│ P7 │ P8 │ P9 │ P- │BDEL│
|
|
|
|
|
│ │ → │ F7 │ F8 │ F9 │ ↑ │ │ P7 │ P8 │ P9 │NLCK│ P- │BDEL│
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │ ← │ F4 │ F5 │ F6 │ ↓ │ │^INS│ P4 │ P5 │ P6 │ P+ │ () │
|
|
|
|
|
│ │ ← │ F4 │ F5 │ F6 │ ↓ │ │ P4 │ P5 │ P6 │^INS│ P+ │ () │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │CALT│ F1 │ F2 │ F3 │ │ │CALT│ P1 │ P2 │ P3 │ P* │ = │
|
|
|
|
|
│ │CALT│ F1 │ F2 │ F3 │ │ │ P1 │ P2 │ P3 │ │ P* │ = │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │ │ F0?│ │ │ │ │TGL │ P0 │ 0 │ P. │ P/ │ │
|
|
|
|
|
│ │ │ F0?│ │ │ │ │ P0 │ 0 │ P. │TGL │ P/ │ │
|
|
|
|
|
└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
[_NINEKEY] = KEYMAP( \
|
|
|
|
|
_______, KC_RGHT, KC_F7, KC_F8, KC_F9, KC_UP, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_PMNS, M(BSDEL), \
|
|
|
|
|
_______, KC_LEFT, KC_F4, KC_F5, KC_F6, KC_DOWN, CAINS, KC_P4, KC_P5, KC_P6, KC_PPLS, XK_PREN, \
|
|
|
|
|
_______, CAKY, KC_F1, KC_F2, KC_F3, _______, CAKY, KC_P1, KC_P2, KC_P3, KC_PAST, TD(EQE), \
|
|
|
|
|
_______, _______, _______, KC_F11, _______, _______, TG(_NINEKEY), KC_P0, KC_0, KC_PDOT, KC_PSLS, _______ \
|
|
|
|
|
_______, KC_RGHT, KC_F7, KC_F8, KC_F9, KC_UP, KC_P7, KC_P8, KC_P9, KC_NLCK,KC_PMNS, KC_DEL, \
|
|
|
|
|
_______, KC_LEFT, KC_F4, KC_F5, KC_F6, KC_DOWN, KC_P4, KC_P5, KC_P6, CAINS,KC_PPLS, M(0), \
|
|
|
|
|
_______, CAKY, KC_F1, KC_F2, KC_F3, XXXXXXX, KC_P1, KC_P2, KC_P3, XXXXXXX,KC_PAST, TD(EQE), \
|
|
|
|
|
_______, _______, _______, KC_F11, _______, _______, KC_P0, KC_0, KC_PDOT, CAKY,KC_PSLS, _______ \
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
|
|
|
|
│ESC │^PGD│^UP │^PGU│^PGU│^HOM│ │ │MW_L│ MU │MW_R│ AC2│ │
|
|
|
|
|
│ESC │^HOM│^PGD│^UP │^PGU│^PGU│ │ │MW_L│ MU │MW_R│ AC2│ │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │^LFT│^DWN│^RGT│^PGD│^END│ │ │ ML │ MD │ MR │ AC1│ │
|
|
|
|
|
│ │^END│^LFT│^DWN│^RGT│^PGD│ │ │ ML │ MD │ MR │ AC1│ │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │ M2 │ M4 │ M3 │ M1 │ M5 │ │ │MW_D│MW_U│SLCK│ AC0│ │
|
|
|
|
|
│ │ M5 │ M2 │ M4 │ M3 │ M1 │ │ │MW_D│MW_U│ │ AC0│ │
|
|
|
|
|
├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
|
|
|
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │
|
|
|
|
|
└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
[_NAVIGAT] = KEYMAP( \
|
|
|
|
|
KC_ESC, NAVCPD, NAVCU, NAVCPU, NAVCPU, NAVCH, XXXXXXX, KC_WH_L, KC_MS_U, KC_WH_R, KC_ACL2, _______, \
|
|
|
|
|
_______, NAVCL, NAVCD, NAVCR, NAVCPD, NAVCE, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, KC_ACL1, _______, \
|
|
|
|
|
_______, KC_BTN2, KC_BTN4, KC_BTN3, KC_BTN1, KC_BTN5, XXXXXXX, KC_WH_D, KC_WH_U, KC_SLCK, KC_ACL0, _______, \
|
|
|
|
|
KC_ESC, NAVCH, NAVCPD, NAVCU, NAVCPU, NAVCPU, XXXXXXX, KC_WH_L, KC_MS_U, KC_WH_R, KC_ACL2, _______, \
|
|
|
|
|
_______, NAVCE, NAVCL, NAVCD, NAVCR, NAVCPD, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, KC_ACL1, _______, \
|
|
|
|
|
_______, KC_BTN5, KC_BTN2, KC_BTN4, KC_BTN3, KC_BTN1, XXXXXXX, KC_WH_D, KC_WH_U, XXXXXXX, KC_ACL0, _______, \
|
|
|
|
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
@ -286,67 +297,74 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
|
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
//add greek symbols
|
|
|
|
|
//set_unicode_input_mode(UC_WINC); // Windows (with WinCompose, see wiki)
|
|
|
|
|
[_MLAYER] = KEYMAP( \
|
|
|
|
|
_______,UC(0x250C),UC(0x252C),UC(0x2510),UC(0x2500),UC(0x2502), _______, _______, _______, _______, _______, _______, \
|
|
|
|
|
KC_QUOT,UC(0x251C),UC(0x253C),UC(0x2524), _______, _______, M(1), M(0), M(2), _______, _______, _______, \
|
|
|
|
|
_______,UC(0x2514),UC(0x2534),UC(0x2518), _______, _______, _______, _______, _______, _______, _______, _______, \
|
|
|
|
|
_______, WINSH, WIN, OSX, _______, _______, _______, _______, _______, _______, _______, _______ \
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
//UC(0x250C),UC(0x252C),UC(0x2510),UC(0x2500),UC(0x2502)
|
|
|
|
|
//UC(0x251C),UC(0x253C),UC(0x2524),
|
|
|
|
|
//UC(0x2514),UC(0x2534),UC(0x2518),
|
|
|
|
|
*/
|
|
|
|
|
[_GRVTABL] = KEYMAP( \
|
|
|
|
|
TG(5), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(3), \
|
|
|
|
|
TG(1), XXXXXXX, TD(VOM), KC_VOLU, KC_MNXT, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(1), \
|
|
|
|
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(0), XXXXXXX, TG(4), XXXXXXX, TG(8), LCLEAR, \
|
|
|
|
|
XXXXXXX, XXXXXXX, TG(6), TG(3), XXXXXXX, TG(2), TG(2), TG(7), TG(3), OSM(MOD_MEH), TG(5), _______ \
|
|
|
|
|
TG(5),LALT(KC_PSCR), M(4), KC_PWR,KC_POWER, RESET, RESET, KC_R, KC_E, KC_I,LALT(KC_PSCR),TG(3), \
|
|
|
|
|
TG(1), TG(6), TG(7), TG(9), TG(3), TG(2), TG(2), KC_S, KC_U, KC_B, TG(6), TG(1), \
|
|
|
|
|
M(3), TG(8), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MYCM, KC_CALC, XXXXXXX, XXXXXXX, TG(8), M(3), \
|
|
|
|
|
TT(15), TG(6), TG(7), TG(9), TG(3), TG(2), TG(2), TG(3), TG(9), TG(7), TG(6), _______ \
|
|
|
|
|
)};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
qk_tap_dance_action_t tap_dance_actions[] = {
|
|
|
|
|
[VOM] = ACTION_TAP_DANCE_DOUBLE(KC_VOLD, KC_MUTE),
|
|
|
|
|
[PRN] = ACTION_TAP_DANCE_DOUBLE(KC_LPRN, KC_RPRN),
|
|
|
|
|
[EGT] = ACTION_TAP_DANCE_DOUBLE(KC_LCBR, KC_RCBR),
|
|
|
|
|
[HRD] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC),
|
|
|
|
|
[DSH] = ACTION_TAP_DANCE_DOUBLE(KC_NDSH, KC_MDSH),
|
|
|
|
|
[QUT] = ACTION_TAP_DANCE_DOUBLE(KC_Q, LALT(KC_F4)),
|
|
|
|
|
[ESC] = ACTION_TAP_DANCE_DOUBLE(TT(_NINEKEY), KC_ESC),
|
|
|
|
|
[ESC] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, LALT(KC_F4)),
|
|
|
|
|
[EQE] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_ENT),
|
|
|
|
|
[PGN] = ACTION_TAP_DANCE_DOUBLE(KC_PGDN, KC_PGUP),
|
|
|
|
|
[UND] = ACTION_TAP_DANCE_DOUBLE(KC_Z, LCTL(KC_Z)),
|
|
|
|
|
[PGN] = ACTION_TAP_DANCE_DOUBLE(KC_PGDN, KC_PGUP),
|
|
|
|
|
[HND] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_END),
|
|
|
|
|
[COD] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_DOT),
|
|
|
|
|
[F11] = ACTION_TAP_DANCE_DOUBLE(KC_F1, KC_F11),
|
|
|
|
|
[F12] = ACTION_TAP_DANCE_DOUBLE(KC_F2, KC_F12),
|
|
|
|
|
[F13] = ACTION_TAP_DANCE_DOUBLE(KC_F3, KC_F13),
|
|
|
|
|
[F14] = ACTION_TAP_DANCE_DOUBLE(KC_F4, KC_F14),
|
|
|
|
|
[F15] = ACTION_TAP_DANCE_DOUBLE(KC_F5, KC_F15),
|
|
|
|
|
[F16] = ACTION_TAP_DANCE_DOUBLE(KC_F6, KC_F16),
|
|
|
|
|
[F17] = ACTION_TAP_DANCE_DOUBLE(KC_F7, KC_F17),
|
|
|
|
|
[F18] = ACTION_TAP_DANCE_DOUBLE(KC_F8, KC_F18),
|
|
|
|
|
[F19] = ACTION_TAP_DANCE_DOUBLE(KC_F9, KC_F19),
|
|
|
|
|
[F20] = ACTION_TAP_DANCE_DOUBLE(KC_F10, KC_F20),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
void matrix_init_user(){
|
|
|
|
|
set_unicode_input_mode(UC_LNX);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|
|
|
|
if (record->event.pressed) {
|
|
|
|
|
switch(id) {
|
|
|
|
|
case 0:
|
|
|
|
|
return MACRO(D(LSHIFT),T(9), T(0),U(LSHIFT), T(LEFT), END);
|
|
|
|
|
return MACRO( D(LSFT), T(9), U(LSFT), D(LSFT), T(0), U(LSFT), T(LEFT), END );
|
|
|
|
|
case 1:
|
|
|
|
|
return MACRO(T(LBRC), T(RBRC), T(LEFT), END);
|
|
|
|
|
return MACRO( D(LSFT), T(LBRC), U(LSFT), D(LSFT), T(RBRC), U(LSFT), T(LEFT), END );
|
|
|
|
|
case 2:
|
|
|
|
|
return MACRO(D(LSHIFT),T(LBRC), T(RBRC),U(LSHIFT), T(ENT), T(UP), END);
|
|
|
|
|
return MACRO( T(LBRC), T(RBRC), T(LEFT), END);
|
|
|
|
|
case 3:
|
|
|
|
|
return MACRO(T(BSPC), END);
|
|
|
|
|
/* static bool bsdel_mods = false;
|
|
|
|
|
case BSDEL: {
|
|
|
|
|
uint8_t kc = KC_BSPC;
|
|
|
|
|
if (record->event.pressed) {
|
|
|
|
|
if (keyboard_report->mods) {
|
|
|
|
|
kc = KC_DEL;
|
|
|
|
|
}
|
|
|
|
|
register_code (kc);
|
|
|
|
|
bsdel_mods = keyboard_report->mods;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
if (bsdel_mods) {
|
|
|
|
|
kc = KC_DEL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
unregister_code (kc);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
*/ case 4:
|
|
|
|
|
if (!record->event.pressed) {
|
|
|
|
|
// bootloader();
|
|
|
|
|
}
|
|
|
|
|
clear_keyboard();
|
|
|
|
|
case 4:
|
|
|
|
|
return MACRO( D(LSFT), T(SCOLON), U(LSFT), D(LSFT), T(9), U(LSFT), D(LSFT), T(0), U(LSFT), D(LSFT), T(LBRACKET), U(LSFT), D(LSFT), T(9), U(LSFT), D(LSFT), T(SCOLON), U(LSFT), D(LSFT), T(0), U(LSFT), D(LSFT), T(BSLASH), U(LSFT), D(LSFT), T(SCOLON), U(LSFT), D(LSFT), T(7), U(LSFT), D(LSFT), T(RBRACKET), U(LSFT), T(SCOLON), D(LSFT), T(SCOLON), U(LSFT), END );
|
|
|
|
|
case WINSH:
|
|
|
|
|
set_unicode_input_mode(UC_WIN);
|
|
|
|
|
return false;
|
|
|
|
|
break;
|
|
|
|
|
case WIN:
|
|
|
|
|
set_unicode_input_mode(UC_WINC);
|
|
|
|
|
return false;
|
|
|
|
|
break;
|
|
|
|
|
case OSX:
|
|
|
|
|
set_unicode_input_mode(UC_OSX);
|
|
|
|
|
return false;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return MACRO_NONE;
|
|
|
|
|