Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware
commit
c9f509f016
|
@ -154,7 +154,8 @@
|
|||
},
|
||||
"S\n\n\n\n<i class=\"fa fa-caret-left\" aria-hidden=\"true\"></i>",
|
||||
{
|
||||
"x": 1
|
||||
"x": 1,
|
||||
"c": "#c4bcbc"
|
||||
},
|
||||
"F\n\n\n\n<i class=\"fa fa-caret-right\" aria-hidden=\"true\"></i>",
|
||||
{
|
||||
|
@ -162,7 +163,8 @@
|
|||
},
|
||||
"J",
|
||||
{
|
||||
"x": 1
|
||||
"x": 1,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"L"
|
||||
],
|
||||
|
@ -223,7 +225,7 @@
|
|||
"y": -0.75,
|
||||
"x": 3.5
|
||||
},
|
||||
"C",
|
||||
"C\n\n\n\n<i class=\"fa fa-hand-o-up\" aria-hidden=\"true\"></i>",
|
||||
{
|
||||
"x": 10.5,
|
||||
"a": 4
|
||||
|
@ -236,11 +238,11 @@
|
|||
"x": 2.5,
|
||||
"a": 7
|
||||
},
|
||||
"X",
|
||||
"X\n\n\n\n<i class=\"fa fa-hand-o-left\" aria-hidden=\"true\"></i>",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"V",
|
||||
"V\n\n\n\n<i class=\"fa fa-hand-o-right\" aria-hidden=\"true\"></i>",
|
||||
{
|
||||
"x": 8.5
|
||||
},
|
||||
|
@ -286,7 +288,7 @@
|
|||
"x": 3.5,
|
||||
"a": 7
|
||||
},
|
||||
"Alt\n\n\n\n<i class=\"fa fa-hand-o-left\" aria-hidden=\"true\"></i>",
|
||||
"Alt\n\n\n\n<i class=\"fa fa-search-minus\" aria-hidden=\"true\"></i>",
|
||||
{
|
||||
"x": 10.5
|
||||
},
|
||||
|
@ -297,15 +299,15 @@
|
|||
"y": -0.875,
|
||||
"x": 2.5
|
||||
},
|
||||
"<i class='fa fa-linux'></i>",
|
||||
"<i class='fa fa-linux'></i>\n\n\n\n<i class=\"fa fa-search\" aria-hidden=\"true\"></i>",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"Alt\n\n\n\n<i class=\"fa fa-hand-o-right\" aria-hidden=\"true\"></i>",
|
||||
"Alt\n\n\n\n<i class=\"fa fa-search-plus\" aria-hidden=\"true\"></i>",
|
||||
{
|
||||
"x": 8.5
|
||||
},
|
||||
"<i class=\"fa fa-long-arrow-left\" aria-hidden=\"true\"></i>",
|
||||
"<i class=\"fa fa-long-arrow-left\" aria-hidden=\"true\"></i>\n\n\n\n<i class=\"fa fa-undo\" aria-hidden=\"true\"></i>",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 79 KiB |
|
@ -8,6 +8,15 @@
|
|||
#define CAPS_CTL CTL_T(KC_CAPS) // Caps on tap, Ctrl on hold.
|
||||
#define COPY LCTL(KC_V) // C-c Copy
|
||||
#define PASTE LCTL(KC_V) // C-v Paste
|
||||
#define ZM_NRM LCTL(KC_0) // C-0 Zoom Normal
|
||||
#define ZM_OUT LCTL(KC_MINS) // C-- Zoom Out
|
||||
#define ZM_IN LCTL(KC_PLUS) // C-+ Zoom In
|
||||
#define EM_UNDO LCTL(KC_UNDS) // C-_ Emacs Undo
|
||||
|
||||
#define _MOB 1 // Mobile#
|
||||
#define _CUS1 2 // Custom macro 1
|
||||
#define _CUS2 3 // Custom macro 2
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
|
@ -34,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
|
||||
// Otherwise, it needs KC_*
|
||||
[BASE] = KEYMAP( // layer 0 : default
|
||||
// left hand
|
||||
// Left hand
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_WBAK,
|
||||
CAPS_CTL, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
|
@ -43,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
COPY, KC_LCBR,
|
||||
KC_LPRN,
|
||||
KC_SPC, KC_DEL, KC_LBRC,
|
||||
// right hand
|
||||
// Right hand
|
||||
KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_WFWD, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
|
||||
|
@ -61,9 +70,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* | | | LClk | MClk | RClk | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |Teensy| | | Lclk | Rclk | | |VolDn |VolUp | Mute | |
|
||||
* |Teensy| | ZmNrm| ZmOut| ZmIn | | Undo |VolDn |VolUp | Mute | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
|
@ -75,20 +84,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
*/
|
||||
// FN1 Layer
|
||||
[FN1] = KEYMAP(
|
||||
// Left hand
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
|
||||
KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN3, KC_BTN2, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, ZM_NRM, ZM_OUT, ZM_IN,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
RESET, KC_TRNS, KC_TRNS,
|
||||
// right hand
|
||||
// Right hand
|
||||
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC,
|
||||
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_MPLY,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS,
|
||||
KC_TRNS, M(_MOB), KC_TRNS, M(_CUS1),M(_CUS2),KC_TRNS, KC_TRNS,
|
||||
EM_UNDO, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
|
@ -102,14 +112,16 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
{
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
} else {
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case _MOB: // Your mobile# here.
|
||||
return MACRODOWN(T(1), T(2), T(3), T(MINS),
|
||||
T(1), T(2), T(3), T(MINS),
|
||||
T(1), T(2), T(3), T(4),
|
||||
END);
|
||||
case _CUS1: // Your custom macro 1
|
||||
return MACRODOWN(T(E), T(M), T(A), T(C), T(S), T(SPC), END);
|
||||
case _CUS2: // Your custom macro 2
|
||||
return MACRODOWN(T(L), T(S), T(SPC), T(MINS), T(L), T(ENT), END);
|
||||
};
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
|
|
|
@ -4,60 +4,122 @@
|
|||
"author": "Anand Babu Periasamy"
|
||||
},
|
||||
[
|
||||
"1\nF1\n!\n\n\n\n\n\n\nTab",
|
||||
"2\nF2\n@\n\n\n\n\n\n\nQ",
|
||||
"3\nF3\n#\n\n\n\n\n\n\nW",
|
||||
"4\nF4\n$\n\n\n\n\n\n\nE",
|
||||
"5\nF5\n%\n\n\n\n\n\n\nR",
|
||||
"6\nF6\n^\n\n\n\n\n\n\nT",
|
||||
"7\nF7\n&\n\n\n\n\n\n\nY",
|
||||
"8\nF8\n*\n\n\n\n\n\n\nU",
|
||||
"9\nF9\n(\n\n\n\n\n\n\nI",
|
||||
"0\nF10\n)\n\n\n\n\n\n\nO",
|
||||
"-\nF11\n_\n\n\n\n\n\n\nP",
|
||||
"=\nF12\n+\n\n\n\n\n\n\n<i class=\"fa fa-chevron-circle-left\" aria-hidden=\"true\"></i>"
|
||||
{
|
||||
"fa": [
|
||||
2,
|
||||
2,
|
||||
0,
|
||||
2
|
||||
]
|
||||
},
|
||||
"F1\n1\n\n!\n\n\n\n\n\nTab",
|
||||
"F2\n2\n\n@\n\n\n\n\n\nQ",
|
||||
"F3\n3\n\n#\n\n\n\n\n\nW",
|
||||
"F4\n4\n\n$\n\n\n\n\n\nE",
|
||||
"F5\n5\n\n%\n\n\n\n\n\nR",
|
||||
"F6\n6\n\n^\n\n\n\n\n\nT",
|
||||
"F7\n7\n\n&\n\n\n\n\n\nY",
|
||||
"F8\n8\n\n*\n\n\n\n\n\nU",
|
||||
"F9\n9\n\n(\n\n\n\n\n\nI",
|
||||
"F10\n0\n\n)\n\n\n\n\n\nO",
|
||||
"F11\n-\n\n_\n\n\n\n\n\nP",
|
||||
"F12\n=\n\n+\n\n\n\n\n\n<i class=\"fa fa-chevron-circle-left\" aria-hidden=\"true\"></i>"
|
||||
],
|
||||
[
|
||||
{
|
||||
"a": 7
|
||||
"a": 7,
|
||||
"f": 3
|
||||
},
|
||||
"Ctrl",
|
||||
{
|
||||
"f": 3
|
||||
},
|
||||
"A",
|
||||
{
|
||||
"f": 3
|
||||
},
|
||||
"S",
|
||||
{
|
||||
"f": 3
|
||||
},
|
||||
"D",
|
||||
{
|
||||
"a": 4
|
||||
"c": "#c4bcbc",
|
||||
"a": 4,
|
||||
"f": 3
|
||||
},
|
||||
"(\n\n\n\n\n\n\n\n\nF",
|
||||
")\n\n\n\n\n\n\n\n\nG",
|
||||
"{\n\n\n\n\n\n\n\n\nH",
|
||||
"}\n\n\n\n\n\n\n\n\nJ",
|
||||
"\n(\n\n\n\n\n\n\n\nF",
|
||||
{
|
||||
"a": 7
|
||||
"c": "#cccccc",
|
||||
"f": 3
|
||||
},
|
||||
"\n)\n\n\n\n\n\n\n\nG",
|
||||
{
|
||||
"f": 3
|
||||
},
|
||||
"\n{\n\n\n\n\n\n\n\nH",
|
||||
{
|
||||
"c": "#c4bcbc",
|
||||
"f": 3
|
||||
},
|
||||
"\n}\n\n\n\n\n\n\n\nJ",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"a": 7,
|
||||
"f": 3
|
||||
},
|
||||
"K",
|
||||
{
|
||||
"f": 3
|
||||
},
|
||||
"L",
|
||||
{
|
||||
"a": 6
|
||||
"a": 6,
|
||||
"f": 3
|
||||
},
|
||||
";\n\n:",
|
||||
{
|
||||
"a": 7
|
||||
"a": 7,
|
||||
"f": 3
|
||||
},
|
||||
"Enter"
|
||||
],
|
||||
[
|
||||
{
|
||||
"f": 3
|
||||
},
|
||||
"Shift",
|
||||
{
|
||||
"f": 3
|
||||
},
|
||||
"Z",
|
||||
{
|
||||
"f": 3
|
||||
},
|
||||
"X",
|
||||
{
|
||||
"f": 3
|
||||
},
|
||||
"C",
|
||||
{
|
||||
"a": 4
|
||||
"a": 4,
|
||||
"fa": [
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
]
|
||||
},
|
||||
"[\n`\n\n\n\n\n\n\n\nV",
|
||||
"]\n~\n\n\n\n\n\n\n\nB",
|
||||
"'\n\\\n\n\n\n\n\n\n\nN",
|
||||
"\"\n|\n\n\n\n\n\n\n\nM",
|
||||
"\\\n[\n\n\n\n\n\n\n\nV",
|
||||
"|\n]\n\n\n\n\n\n\n\nB",
|
||||
"`\n'\n\n\n\n\n\n\n\nN",
|
||||
"~\n\"\n\n\n\n\n\n\n\nM",
|
||||
{
|
||||
"a": 6
|
||||
},
|
||||
|
@ -71,31 +133,53 @@
|
|||
],
|
||||
[
|
||||
{
|
||||
"a": 4
|
||||
"a": 4,
|
||||
"fa": [
|
||||
2,
|
||||
2
|
||||
]
|
||||
},
|
||||
"<i class='fa fa-lightbulb-o'></i>\n<i class='fa fa-download'></i>\n\n\n\n\n\n\n\nCtrl",
|
||||
"<i class='fa fa-download'></i>\n<i class='fa fa-lightbulb-o'></i>\n\n\n\n\n\n\n\nCtrl",
|
||||
"\n<i class=\"fa fa-search\" aria-hidden=\"true\"></i>\n\n\n\n\n\n\n\nEsc",
|
||||
"\n<i class=\"fa fa-search-minus\" aria-hidden=\"true\"></i>\n\n\n\n\n\n\n\n<i class='fa fa-linux'></i>",
|
||||
"\n<i class=\"fa fa-search-plus\" aria-hidden=\"true\"></i>\n\n\n\n\n\n\n\nAlt",
|
||||
{
|
||||
"a": 7
|
||||
"a": 7,
|
||||
"f": 3
|
||||
},
|
||||
"<i class='fa fa-sort-down'></i>",
|
||||
{
|
||||
"a": 4,
|
||||
"fa": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"w": 2
|
||||
},
|
||||
"PgUp\nPgDn\n\n\n\n\n\n\n\nSpace",
|
||||
{
|
||||
"a": 7,
|
||||
"f": 3
|
||||
},
|
||||
"Esc",
|
||||
"<i class='fa fa-linux'></i>",
|
||||
"Alt",
|
||||
"<i class='fa fa-sort-up'></i>",
|
||||
{
|
||||
"a": 4,
|
||||
"w": 2
|
||||
"fa": [
|
||||
2
|
||||
]
|
||||
},
|
||||
"\nPgUP\n\nPgDn\n\n\n\n\n\nSpace",
|
||||
"<i class=\"fa fa-undo\" aria-hidden=\"true\"></i>\n\n\n\n\n\n\n\n\n<i class=\"fa fa-long-arrow-left\" aria-hidden=\"true\"></i>",
|
||||
{
|
||||
"a": 7
|
||||
"f": 3
|
||||
},
|
||||
"<i class='fa fa-sort-down'></i>",
|
||||
"<i class=\"fa fa-long-arrow-left\" aria-hidden=\"true\"></i>",
|
||||
"<i class='fa fa-volume-down'></i>\n\n\n\n\n\n\n\n\n<i class=\"fa fa-long-arrow-down\" aria-hidden=\"true\"></i>",
|
||||
{
|
||||
"a": 4
|
||||
"f": 3
|
||||
},
|
||||
"\n<i class='fa fa-volume-down'></i>\n\n\n\n\n\n\n\n<i class=\"fa fa-long-arrow-up\" aria-hidden=\"true\"></i>",
|
||||
"\n<i class='fa fa-volume-up'></i>\n\n\n\n\n\n\n\n<i class=\"fa fa-long-arrow-down\" aria-hidden=\"true\"></i>",
|
||||
"\n<i class='fa fa-volume-off'></i>\n\n\n\n\n\n\n\n<i class=\"fa fa-long-arrow-right\" aria-hidden=\"true\"></i>"
|
||||
"<i class='fa fa-volume-up'></i>\n\n\n\n\n\n\n\n\n<i class=\"fa fa-long-arrow-up\" aria-hidden=\"true\"></i>",
|
||||
{
|
||||
"f": 3
|
||||
},
|
||||
"<i class='fa fa-volume-off'></i>\n\n\n\n\n\n\n\n\n<i class=\"fa fa-long-arrow-right\" aria-hidden=\"true\"></i>"
|
||||
]
|
||||
]
|
Binary file not shown.
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
@ -12,59 +12,74 @@ extern keymap_config_t keymap_config;
|
|||
|
||||
// Symbolic names for macro IDs.
|
||||
#define _QWERTY 0 // QUERTY layer
|
||||
#define _RAISE 1 // Raise layer
|
||||
#define _LOWER 2 // Lower layer
|
||||
#define _CUSTOM 3 // Custom layer
|
||||
#define _LOWER 1 // Lower layer
|
||||
#define _RAISE 2 // Raise layer
|
||||
#define _CUSTOM 3 // Custom layer (LOWER + RAISE)
|
||||
#define _BL 4 // Backlight
|
||||
#define _MOBILE 5 // Mobile#
|
||||
#define _CUSTOM1 6 // Custom macro 1
|
||||
#define _CUSTOM2 7 // Custom macro 2
|
||||
#define _MOB 5 // Mobile#
|
||||
#define _CUS1 6 // Custom macro 1
|
||||
#define _CUS2 7 // Custom macro 2
|
||||
|
||||
// Macro shortcuts.
|
||||
#define RAISE M(_RAISE)
|
||||
#define QWERTY M(_LOWER)
|
||||
#define LOWER M(_LOWER)
|
||||
#define CUSTOM M(_CUSTOM) // RAISE + LOWER
|
||||
#define RAISE M(_RAISE)
|
||||
#define CUSTOM M(_CUSTOM)
|
||||
#define BL M(_BL)
|
||||
#define MOBILE M(_MOBILE)
|
||||
#define CUSTOM1 M(_CUSTOM1)
|
||||
#define CUSTOM2 M(_CUSTOM2)
|
||||
#define MOB M(_MOB)
|
||||
#define CUS1 M(_CUS1)
|
||||
#define CUS2 M(_CUS2)
|
||||
|
||||
// Func macro definitions.
|
||||
#define LWR_PGDN FUNC(0) // Tap for PgDn, hold for LOWER
|
||||
#define RSE_PGUP FUNC(1) // Tap for PgUp, hold for RAISE
|
||||
#define CTL_CAPS FUNC(2) // Tap for Caps, hold for Ctrl (DOESN'T SEEM TO WORK)
|
||||
#define SFT_ENT FUNC(3) // Tap for Enter, hold for Shift
|
||||
#define ZM_NRM FUNC(4) // Zoom normal
|
||||
#define ZM_IN FUNC(5) // Zoom out
|
||||
#define ZM_OUT FUNC(6) // Zoom in
|
||||
#define EM_UNDO FUNC(7) // Emacs Undo
|
||||
|
||||
// Enable these functions using FUNC(n) macro.
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
[0] = ACTION_LAYER_TAP_KEY(_LOWER, KC_PGDN),
|
||||
[1] = ACTION_LAYER_TAP_KEY(_RAISE, KC_PGUP),
|
||||
[2] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_CAPS),
|
||||
[3] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT),
|
||||
[4] = ACTION_MODS_KEY(MOD_LCTL, KC_0),
|
||||
[5] = ACTION_MODS_KEY(MOD_LCTL, KC_MINS),
|
||||
[6] = ACTION_MODS_KEY(MOD_LCTL, KC_PLUS),
|
||||
[7] = ACTION_MODS_KEY(MOD_LCTL, KC_UNDS),
|
||||
};
|
||||
|
||||
// This config can be found at Keyboard layout editor site: http://goo.gl/zjXL2l
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = { /* QWERTY */
|
||||
{KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
|
||||
{KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT},
|
||||
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, FUNC(3)},
|
||||
{KC_LCTL, KC_ESC, KC_LGUI, KC_LALT, RAISE, KC_SPC, KC_SPC, LOWER, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT}
|
||||
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT},
|
||||
{KC_LCTL, KC_ESC, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
},
|
||||
[_RAISE] = { /* RAISE */
|
||||
[_LOWER] = { /* LOWER */
|
||||
{KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL},
|
||||
{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
|
||||
{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_QUOT, KC_DQT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
|
||||
{BL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
|
||||
{BL, ZM_NRM, ZM_IN, ZM_OUT, KC_TRNS, KC_PGDN, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
|
||||
},
|
||||
[_LOWER] = { /* LOWER */
|
||||
[_RAISE] = { /* RAISE */
|
||||
{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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_LCBR, KC_BSLS, KC_TRNS},
|
||||
{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_GRV, KC_TILD, KC_BSLS, KC_PIPE, KC_LBRC, KC_LBRC, KC_TRNS, KC_TRNS},
|
||||
{RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGDN, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE}
|
||||
{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_PIPE, KC_GRV, KC_TILD, KC_LBRC, KC_LBRC, KC_TRNS, KC_TRNS},
|
||||
{RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGUP, KC_TRNS, EM_UNDO, KC_VOLD, KC_VOLU, KC_MUTE}
|
||||
},
|
||||
[_CUSTOM] = { /* CUSTOM */
|
||||
{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, MOBILE, KC_TRNS, CUSTOM1, CUSTOM2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
|
||||
{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MOB, KC_TRNS, CUS1, CUS2, 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}
|
||||
}
|
||||
};
|
||||
|
||||
// Enable these functions using FUNC(n) macro. They seem to be buggy mostly.
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
[0] = ACTION_LAYER_TAP_KEY(_RAISE, KC_PGUP), // Tap for PgUp, hold for RAISE
|
||||
[1] = ACTION_LAYER_TAP_KEY(_LOWER, KC_PGDN), // Tap for PgDn, hold for LOWER
|
||||
[2] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_CAPS), // Tap for Caps, hold for Ctrl
|
||||
[3] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT), // Tap for Enter, hold for Shift
|
||||
};
|
||||
|
||||
// Set a layer persistantly.
|
||||
void persistant_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
|
@ -75,11 +90,6 @@ void persistant_default_layer_set(uint16_t default_layer) {
|
|||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
switch(id) {
|
||||
case _QWERTY: // Default QWERTY layer. // This case not used for now.
|
||||
if (record->event.pressed) {
|
||||
persistant_default_layer_set(1UL<<_QWERTY);
|
||||
}
|
||||
break;
|
||||
case _RAISE: // Raised layer.
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
|
@ -98,7 +108,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
update_tri_layer(_LOWER, _RAISE, _CUSTOM);
|
||||
}
|
||||
break;
|
||||
case _BL:// Backlight
|
||||
case _BL: // Backlight
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
|
@ -108,14 +118,14 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
unregister_code(KC_RSFT);
|
||||
}
|
||||
break;
|
||||
case _MOBILE:// Your mobile# here.
|
||||
case _MOB: // Your mobile# here.
|
||||
return MACRODOWN(T(1), T(2), T(3), T(MINS),
|
||||
T(1), T(2), T(3), T(MINS),
|
||||
T(1), T(2), T(3), T(4),
|
||||
END);
|
||||
case _CUSTOM1:// Your custom macro 1
|
||||
case _CUS1: // Your custom macro 1
|
||||
return MACRODOWN(T(E), T(M), T(A), T(C), T(S), T(SPC), END);
|
||||
case _CUSTOM2:// Your custom macro 2
|
||||
case _CUS2: // Your custom macro 2
|
||||
return MACRODOWN(T(L), T(S), T(SPC), T(MINS), T(L), T(ENT), END);
|
||||
};
|
||||
return MACRO_NONE;
|
||||
|
|
|
@ -22,16 +22,16 @@ extern keymap_config_t keymap_config;
|
|||
#define _PLOVER 5
|
||||
#define _ADJUST 16
|
||||
|
||||
// Macro name shortcuts
|
||||
#define QWERTY M(_QWERTY)
|
||||
#define COLEMAK M(_COLEMAK)
|
||||
#define DVORAK M(_DVORAK)
|
||||
#define LOWER M(_LOWER)
|
||||
#define RAISE M(_RAISE)
|
||||
#define M_BL 5
|
||||
#define PLOVER M(12)
|
||||
#define EXT_PLV M(13)
|
||||
#define TOG_OUT M(14)
|
||||
enum planck_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
COLEMAK,
|
||||
DVORAK,
|
||||
PLOVER,
|
||||
LOWER,
|
||||
RAISE,
|
||||
BACKLIT,
|
||||
EXT_PLV
|
||||
};
|
||||
|
||||
// Fillers to make layering more clear
|
||||
#define _______ KC_TRNS
|
||||
|
@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
{KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
|
||||
{KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
|
||||
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
|
||||
{M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
{BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
},
|
||||
|
||||
/* Colemak
|
||||
|
@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
{KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
|
||||
{KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
|
||||
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
|
||||
{M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
{BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
},
|
||||
|
||||
/* Dvorak
|
||||
|
@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
{KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
|
||||
{KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
|
||||
{KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
|
||||
{M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
{BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
},
|
||||
|
||||
/* Lower
|
||||
|
@ -144,7 +144,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
[_PLOVER] = {
|
||||
{KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 },
|
||||
{XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC},
|
||||
{TOG_OUT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
|
||||
{XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
|
||||
{EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX}
|
||||
},
|
||||
|
||||
|
@ -167,10 +167,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
};
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
|
@ -192,10 +188,9 @@ void persistant_default_layer_set(uint16_t default_layer) {
|
|||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
switch(id) {
|
||||
case _QWERTY:
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
|
||||
|
@ -203,7 +198,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
persistant_default_layer_set(1UL<<_QWERTY);
|
||||
}
|
||||
break;
|
||||
case _COLEMAK:
|
||||
return false;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_NOTE_ARRAY(tone_colemak, false, 0);
|
||||
|
@ -211,7 +207,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
persistant_default_layer_set(1UL<<_COLEMAK);
|
||||
}
|
||||
break;
|
||||
case _DVORAK:
|
||||
return false;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_NOTE_ARRAY(tone_dvorak, false, 0);
|
||||
|
@ -219,7 +216,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
persistant_default_layer_set(1UL<<_DVORAK);
|
||||
}
|
||||
break;
|
||||
case _LOWER:
|
||||
return false;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
|
@ -228,7 +226,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
break;
|
||||
case _RAISE:
|
||||
return false;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
|
@ -237,7 +236,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
break;
|
||||
case M_BL:
|
||||
return false;
|
||||
case BACKLIT:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
|
@ -246,8 +246,9 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
} else {
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
break;
|
||||
case 12:
|
||||
break;
|
||||
return false;
|
||||
case PLOVER:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
stop_all_notes();
|
||||
|
@ -264,23 +265,20 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
keymap_config.nkro = 1;
|
||||
eeconfig_update_keymap(keymap_config.raw);
|
||||
}
|
||||
break;
|
||||
case 13:
|
||||
break;
|
||||
return false;
|
||||
case EXT_PLV:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_NOTE_ARRAY(tone_plover_gb, false, 0);
|
||||
#endif
|
||||
layer_off(_PLOVER);
|
||||
}
|
||||
break;
|
||||
case 14:
|
||||
if (record->event.pressed) {
|
||||
return MACRO( D(E), D(R), D(F), D(V), D(O), D(L), U(E), U(R), U(F), U(V), U(O), U(L), END );
|
||||
}
|
||||
break;
|
||||
break;
|
||||
return false;
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
return true;
|
||||
}
|
||||
|
||||
void matrix_init_user(void) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
|
|
|
@ -16,13 +16,14 @@
|
|||
#define _RAISE 4
|
||||
#define _ADJUST 16
|
||||
|
||||
// Macro name shortcuts
|
||||
#define QWERTY M(_QWERTY)
|
||||
#define COLEMAK M(_COLEMAK)
|
||||
#define DVORAK M(_DVORAK)
|
||||
#define LOWER M(_LOWER)
|
||||
#define RAISE M(_RAISE)
|
||||
#define M_BL 5
|
||||
enum preonic_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
COLEMAK,
|
||||
DVORAK,
|
||||
LOWER,
|
||||
RAISE,
|
||||
BACKLIT
|
||||
};
|
||||
|
||||
// Fillers to make layering more clear
|
||||
#define _______ KC_TRNS
|
||||
|
@ -48,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
{KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL},
|
||||
{KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
|
||||
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
|
||||
{M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
{BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
},
|
||||
|
||||
/* Colemak
|
||||
|
@ -69,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
{KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL},
|
||||
{KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
|
||||
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
|
||||
{M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
{BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
},
|
||||
|
||||
/* Dvorak
|
||||
|
@ -90,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
{KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL},
|
||||
{KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
|
||||
{KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
|
||||
{M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
{BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
},
|
||||
|
||||
/* Lower
|
||||
|
@ -157,10 +158,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
};
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
|
@ -185,10 +182,9 @@ void persistant_default_layer_set(uint16_t default_layer) {
|
|||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
switch(id) {
|
||||
case _QWERTY:
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
|
||||
|
@ -196,7 +192,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
persistant_default_layer_set(1UL<<_QWERTY);
|
||||
}
|
||||
break;
|
||||
case _COLEMAK:
|
||||
return false;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_NOTE_ARRAY(tone_colemak, false, 0);
|
||||
|
@ -204,7 +201,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
persistant_default_layer_set(1UL<<_COLEMAK);
|
||||
}
|
||||
break;
|
||||
case _DVORAK:
|
||||
return false;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_NOTE_ARRAY(tone_dvorak, false, 0);
|
||||
|
@ -212,7 +210,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
persistant_default_layer_set(1UL<<_DVORAK);
|
||||
}
|
||||
break;
|
||||
case _LOWER:
|
||||
return false;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
|
@ -221,7 +220,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
break;
|
||||
case _RAISE:
|
||||
return false;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
|
@ -230,7 +230,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
break;
|
||||
case M_BL:
|
||||
return false;
|
||||
case BACKLIT:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
|
@ -239,9 +240,10 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
} else {
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
break;
|
||||
break;
|
||||
return false;
|
||||
}
|
||||
return MACRO_NONE;
|
||||
return true;
|
||||
};
|
||||
|
||||
void matrix_init_user(void) {
|
||||
|
|
|
@ -141,6 +141,10 @@ action_t action_for_key(uint8_t layer, keypos_t key)
|
|||
return action;
|
||||
}
|
||||
|
||||
__attribute__ ((weak))
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
};
|
||||
|
||||
/* Macro */
|
||||
__attribute__ ((weak))
|
||||
|
|
|
@ -51,7 +51,7 @@ Before you are able to compile, you'll need to install an environment for AVR de
|
|||
4. Clone this repository. [This link will download it as a zip file, which you'll need to extract.](https://github.com/jackhumbert/qmk_firmware/archive/master.zip) Open the extracted folder in Windows Explorer.
|
||||
5. Double-click on the 1-setup-path-win batch script to run it. You'll need to accept a User Account Control prompt. Press the spacebar to dismiss the success message in the command prompt that pops up.
|
||||
6. Right-click on the 2-setup-environment-win batch script, select "Run as administrator", and accept the User Account Control prompt. This part may take a couple of minutes, and you'll need to approve a driver installation, but once it finishes, your environment is complete!
|
||||
7. Future build commands should be run from the standard Windows command prompt, which you can find by searching for "command prompt" from the start menu or start screen. Ignore the "MHV AVR Shell".
|
||||
7. Future build commands should be run from the MHV AVR Shell, which sets up an environment compatible with colorful build output. The standard Command Prompt will also work, but add `COLOR=false` to the end of all make commands when using it.
|
||||
|
||||
### Mac
|
||||
If you're using [homebrew,](http://brew.sh/) you can use the following commands:
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
@ECHO OFF
|
||||
SET CMDLINERUNSTR=%SystemRoot%\system32\cmd.exe
|
||||
|
||||
CD UTIL
|
||||
DEL script1.log > NUL 2>&1
|
||||
DEL add-paths.log > NUL 2>&1
|
||||
DEL add-paths-detail.log > NUL 2>&1
|
||||
DEL UPDATE > NUL 2>&1
|
||||
|
||||
ELEVATE -wait %cd%\add-paths.bat > NUL 2>&1
|
||||
ELEVATE -wait add-paths.bat >> script1.log 2>&1
|
||||
|
||||
IF ERRORLEVEL 1 (
|
||||
ECHO You denied admin access. Rerun the script, and be sure to press the yes button this time.
|
||||
|
@ -44,9 +44,14 @@ EXIT /b
|
|||
:: -----------------------------------------------------------------------------
|
||||
|
||||
:KillExplorer
|
||||
ECHO.
|
||||
ECHO.
|
||||
ECHO Your desktop will be restarted.
|
||||
ECHO.
|
||||
ECHO All file explorer windows except for the one you launched this script from WILL BE CLOSED.
|
||||
ECHO.
|
||||
ECHO Press enter when ready, or close this window if you would rather do a full restart of your computer at a later time.
|
||||
ECHO.
|
||||
PAUSE
|
||||
ping -n 5 127.0.0.1 > NUL 2>&1
|
||||
ECHO Killing process Explorer.exe. . .
|
||||
|
@ -57,5 +62,5 @@ ECHO Your desktop is now loading. . .
|
|||
ECHO.
|
||||
ping -n 5 127.0.0.1 > NUL 2>&1
|
||||
START explorer.exe
|
||||
START explorer.exe %CD%\..
|
||||
START explorer.exe %CD%
|
||||
EXIT /b
|
|
@ -1,46 +1,55 @@
|
|||
@SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
|
||||
@ECHO OFF
|
||||
|
||||
CD %~dp0
|
||||
|
||||
SET STARTINGDIR=%CD%
|
||||
echo %STARTINGDIR%
|
||||
|
||||
:: Check for admin privilages
|
||||
SETX /M test test > nul 2>&1
|
||||
IF NOT ["%ERRORLEVEL%"]==["0"] (
|
||||
ECHO FAILED. Rerun with administrator privileges.
|
||||
GOTO ExitBatch
|
||||
ELEVATE -wait 2-setup-environment-win.bat & goto :EOF
|
||||
)
|
||||
|
||||
DEL %STARTINGDIR%\environment-setup.log
|
||||
|
||||
:: Make sure path to MinGW exists - if so, CD to it
|
||||
SET MINGWPATH="C:\MinGW\bin"
|
||||
IF NOT EXIST !MINGWPATH! (ECHO Path not found: %MINGWPATH% && GOTO ExitBatch)
|
||||
IF NOT EXIST !MINGWPATH! (ECHO Path not found: %MINGWPATH%. Did you install MinGW to the default location? && GOTO ExitBatch)
|
||||
CD /D %MINGWPATH%
|
||||
|
||||
|
||||
ECHO.
|
||||
ECHO ------------------------------------------
|
||||
ECHO Installing wget and unzip
|
||||
ECHO ------------------------------------------
|
||||
mingw-get install msys-wget-bin msys-unzip-bin
|
||||
ECHO.
|
||||
mingw-get install msys-wget-bin msys-unzip-bin
|
||||
|
||||
MKDIR temp
|
||||
CD temp
|
||||
|
||||
ECHO.
|
||||
ECHO ------------------------------------------
|
||||
ECHO Installing dfu-programmer.
|
||||
ECHO ------------------------------------------
|
||||
wget http://iweb.dl.sourceforge.net/project/dfu-programmer/dfu-programmer/0.7.2/dfu-programmer-win-0.7.2.zip
|
||||
unzip dfu-programmer-win-0.7.2.zip
|
||||
COPY dfu-programmer.exe ..
|
||||
ECHO.
|
||||
wget 'http://downloads.sourceforge.net/project/dfu-programmer/dfu-programmer/0.7.2/dfu-programmer-win-0.7.2.zip' >> %STARTINGDIR%\environment-setup.log
|
||||
unzip -o dfu-programmer-win-0.7.2.zip >> %STARTINGDIR%\environment-setup.log
|
||||
COPY dfu-programmer.exe .. >> %STARTINGDIR%\environment-setup.log
|
||||
|
||||
ECHO ------------------------------------------
|
||||
ECHO Downloading driver
|
||||
ECHO ------------------------------------------
|
||||
wget http://iweb.dl.sourceforge.net/project/libusb-win32/libusb-win32-releases/1.2.6.0/libusb-win32-bin-1.2.6.0.zip
|
||||
unzip libusb-win32-bin-1.2.6.0.zip
|
||||
COPY libusb-win32-bin-1.2.6.0\bin\x86\libusb0_x86.dll ../libusb0.dll
|
||||
wget http://downloads.sourceforge.net/project/libusb-win32/libusb-win32-releases/1.2.6.0/libusb-win32-bin-1.2.6.0.zip >> %STARTINGDIR%\environment-setup.log
|
||||
unzip -o libusb-win32-bin-1.2.6.0.zip >> %STARTINGDIR%\environment-setup.log
|
||||
COPY libusb-win32-bin-1.2.6.0\bin\x86\libusb0_x86.dll ../libusb0.dll >> %STARTINGDIR%\environment-setup.log
|
||||
|
||||
ECHO.
|
||||
ECHO ------------------------------------------
|
||||
ECHO Installing driver. Accept prompt.
|
||||
ECHO ------------------------------------------
|
||||
ECHO.
|
||||
IF EXIST "%WinDir%\System32\PnPUtil.exe" (%WinDir%\System32\PnPUtil.exe -i -a dfu-prog-usb-1.2.2\atmel_usb_dfu.inf && GOTO PNPUTILFOUND)
|
||||
IF EXIST "%WinDir%\Sysnative\PnPUtil.exe" (%WinDir%\Sysnative\PnPUtil.exe -i -a dfu-prog-usb-1.2.2\atmel_usb_dfu.inf && GOTO PNPUTILFOUND)
|
||||
|
||||
|
|
Loading…
Reference in New Issue