[Keymap Removal] keyboard with most keymaps (#23092)
This commit is contained in:
parent
b8646bc40b
commit
78a74ca974
@ -1,30 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum keyboard_layers {
|
||||
_BL = 0, // Base Layer
|
||||
_FL // Function Layer
|
||||
};
|
||||
|
||||
// Custom #defined keycodes (shorter macros for readability)
|
||||
#define KC_CTES CTL_T(KC_ESC)
|
||||
#define KC_RSUP RSFT_T(KC_UP)
|
||||
#define KC_FNLT LT(_FL, KC_LEFT)
|
||||
#define KC_RADN RALT_T(KC_DOWN)
|
||||
#define KC_RCRT RCTL_T(KC_RIGHT)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BL] = LAYOUT_60_ansi(
|
||||
KC_GRV, 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_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_CTES, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSUP,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_FNLT, KC_RADN, KC_RCRT
|
||||
),
|
||||
[_FL] = LAYOUT_60_ansi(
|
||||
KC_ESC, 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_DEL,
|
||||
_______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, QK_BOOT,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SCRL, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
@ -1,30 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum keyboard_layers {
|
||||
_BL = 0, // Base Layer
|
||||
_FL // Function Layer
|
||||
};
|
||||
|
||||
// Custom #defined keycodes (shorter macros for readability)
|
||||
#define KC_CTES CTL_T(KC_ESC)
|
||||
#define KC_RSUP RSFT_T(KC_UP)
|
||||
#define KC_RGLT RGUI_T(KC_LEFT)
|
||||
#define KC_RADN RALT_T(KC_DOWN)
|
||||
#define KC_RCRT RCTL_T(KC_RIGHT)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BL] = LAYOUT_60_tsangan_hhkb(
|
||||
KC_GRV, 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_BSLS, KC_ESC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
|
||||
KC_CTES, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSUP, MO(_FL),
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGLT, KC_RADN, KC_RCRT
|
||||
),
|
||||
[_FL] = LAYOUT_60_tsangan_hhkb(
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT,
|
||||
_______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, KC_DEL,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SCRL, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
@ -1,41 +0,0 @@
|
||||
/* Copyright 2019 Devinceble AKA Vimwarrior
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_60_tsangan_hhkb(
|
||||
KC_ESC, 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_BSLS, KC_GRV,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, 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_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
|
||||
KC_LALT, KC_LCTL, KC_LGUI, KC_SPC, KC_RCTL, KC_RGUI, MO(2)
|
||||
),
|
||||
[1] = LAYOUT_60_tsangan_hhkb(
|
||||
KC_ESC, 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_INS, KC_DEL,
|
||||
KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_RGHT, KC_TRNS,
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[2] = LAYOUT_60_tsangan_hhkb(
|
||||
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, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS,
|
||||
KC_CAPS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN,BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
@ -1,9 +0,0 @@
|
||||
# Devinceble AKA Vimwarrior WKL Tofu Keymap
|
||||
|
||||
Build Hex File:
|
||||
|
||||
make dz60:devinceble_wkl_tofu
|
||||
|
||||
Flash Keyboard
|
||||
|
||||
make dz60:devinceble_wkl_tofu:flash
|
@ -1 +0,0 @@
|
||||
MOUSEKEY_ENABLE = yes
|
@ -1,49 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
|
||||
/* BASE LAYER
|
||||
*
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \| | Del |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | LCTRL | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | LShift | Z | X | C | V | B | N | M | , | . | / | RShift | FN1 |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | LGUI | LAlt | Space | RAlt | RCTRL |
|
||||
* `-----------------------------------------------------------------------------------------'
|
||||
*/
|
||||
LAYOUT_60_hhkb(
|
||||
QK_GESC, 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_BSLS, KC_DEL,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, 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_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
|
||||
KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL),
|
||||
|
||||
|
||||
/* FN1 LAYER
|
||||
*
|
||||
* ,---------------------------------------------------------------------------------------------------------------------
|
||||
* | KC_GRV | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | INSERT | QK_BOOT |
|
||||
* |---------------------------------------------------------------------------------------------------------------------+
|
||||
* | RGB_TOG | _ | _ | _ | _ | _ | _ | _ | PSCR | SLCK | PAUS | UP | _ | CLR |
|
||||
* |---------------------------------------------------------------------------------------------------------------------+
|
||||
* | CAPS | VOLD | VOLU | MUTE | _ | _ | PAST | PSLS | HOME | PGUP | LEFT | RIGHT | RETURN |
|
||||
* |---------------------------------------------------------------------------------------------------------------------+
|
||||
* | _ | _ | _ | _ | _ | _ | PPLS | PMNS | END | PGDN | DOWN | _ | _ |
|
||||
* |---------------------------------------------------------------------------------------------------------------------+
|
||||
* | _ | _ | _ | APP | _ |
|
||||
* `---------------------------------------------------------------------------------------------------------------------'
|
||||
*/
|
||||
LAYOUT_60_hhkb(
|
||||
KC_GRV, 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_INS, QK_BOOT,
|
||||
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_CLR,
|
||||
KC_CAPS, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_RETURN,
|
||||
_______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
|
||||
_______, _______, _______, KC_APP, _______),
|
||||
};
|
@ -1,113 +0,0 @@
|
||||
/* Copyright 2020 Oliver Granlund
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
/* ISO 60 layout by olligranlund
|
||||
*
|
||||
* This layout starts from a standard ISO 60% layout, and adds one function layer.
|
||||
* If you wish to only have one wide spacebar, you can easily do that by dismissing the "side" spacebar switches.
|
||||
*
|
||||
* Default Layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | Esc | 1 ! | 2 " | 3 § | 4 $ | 5 % | 6 & | 7 / | 8 ( | 9 ) | 0 = | ß ? | ´ ` | Del | BSPC|
|
||||
* |-----------------------------------------------------------------------------------------|
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Ä | + * | Enter |
|
||||
* |---------------------------------------------------------------------------------- |
|
||||
* | FN | A | S | D | F | G | H | J | K | L | Ö | Ü | # ' | |
|
||||
* |-----------------------------------------------------------------------------------------|
|
||||
* | Shift | < > | Z | X | C | V | B | N | M | , ; | . : | - _ | Shift |Shift|
|
||||
* |-----------------------------------------------------------------------------------------|
|
||||
* | LCtl | LGUI | LAlt | Space | Space | Space | RAlt | FN | App | RCtl |
|
||||
* `-----------------------------------------------------------------------------------------'
|
||||
*/
|
||||
|
||||
enum custom_keycodes {
|
||||
EMOJI_DANCERS = SAFE_RANGE,
|
||||
EMOJI_PERJANTAI,
|
||||
EMOJI_THISISFINE,
|
||||
EMOJI_KOVAAAJOA,
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case EMOJI_DANCERS:
|
||||
if (record->event.pressed) {
|
||||
// when keycode QMKBEST is pressed
|
||||
SEND_STRING(">dancers>");
|
||||
}
|
||||
break;
|
||||
|
||||
case EMOJI_PERJANTAI:
|
||||
if (record->event.pressed) {
|
||||
// when keycode QMKBEST is pressed
|
||||
SEND_STRING(">perjantaideploy>");
|
||||
}
|
||||
break;
|
||||
|
||||
case EMOJI_THISISFINE:
|
||||
if (record->event.pressed) {
|
||||
// when keycode QMKBEST is pressed
|
||||
SEND_STRING(">this/is/fine>");
|
||||
}
|
||||
break;
|
||||
|
||||
case EMOJI_KOVAAAJOA:
|
||||
if (record->event.pressed) {
|
||||
// when keycode QMKBEST is pressed
|
||||
SEND_STRING(">kovaaajoa>");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// 0 Base
|
||||
LAYOUT_60_iso_split_space_bs_rshift(
|
||||
KC_ESC, 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_DEL, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
MO(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, TG(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(3), KC_APP, KC_RCTL),
|
||||
|
||||
// 1 Base with arrows
|
||||
LAYOUT_60_iso_split_space_bs_rshift(
|
||||
KC_ESC, 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_DEL, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
MO(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_TRNS,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
// 2 FN
|
||||
LAYOUT_60_iso_split_space_bs_rshift(
|
||||
KC_GRV, 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_DEL, KC_DEL,
|
||||
KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_PGDN, KC_UP, KC_PGUP, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_VOLD, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_CAPS,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_NO, KC_APP, KC_RCTL),
|
||||
|
||||
// 3 FN with RGB and macros
|
||||
LAYOUT_60_iso_split_space_bs_rshift(
|
||||
KC_GRV, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_F10, KC_F11, KC_F12, KC_DEL, QK_BOOT,
|
||||
KC_NO, KC_NO, EMOJI_DANCERS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, EMOJI_PERJANTAI, EMOJI_THISISFINE,EMOJI_KOVAAAJOA, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_CAPS,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_NO, KC_APP, KC_RCTL),
|
||||
|
||||
};
|
@ -1,6 +0,0 @@
|
||||
# DZ60 with splitted parts with VIA support
|
||||
### by Oliver Granlund
|
||||
|
||||
![Finished product](https://i.imgur.com/HlEo5Ygl.jpg)
|
||||
|
||||
This is still under progress, but currently works on Windows as a daily driver.
|
@ -1,3 +0,0 @@
|
||||
EXTRAKEY_ENABLE = yes
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
@ -1,113 +0,0 @@
|
||||
/* Copyright 2020 Oliver Granlund
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
/* ISO 60 layout by olligranlund
|
||||
*
|
||||
* This layout starts from a standard ISO 60% layout, and adds one function layer.
|
||||
* If you wish to only have one wide spacebar, you can easily do that by dismissing the "side" spacebar switches.
|
||||
*
|
||||
* Default Layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | Esc | 1 ! | 2 " | 3 § | 4 $ | 5 % | 6 & | 7 / | 8 ( | 9 ) | 0 = | ß ? | ´ ` | Del | BSPC|
|
||||
* |-----------------------------------------------------------------------------------------|
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Ä | + * | Enter |
|
||||
* |---------------------------------------------------------------------------------- |
|
||||
* | FN | A | S | D | F | G | H | J | K | L | Ö | Ü | # ' | |
|
||||
* |-----------------------------------------------------------------------------------------|
|
||||
* | Shift | < > | Z | X | C | V | B | N | M | , ; | . : | - _ | Shift |Shift|
|
||||
* |-----------------------------------------------------------------------------------------|
|
||||
* | LCtl | LGUI | LAlt | Space | Space | Space | RAlt | FN | App | RCtl | |
|
||||
* `-----------------------------------------------------------------------------------------'
|
||||
*/
|
||||
|
||||
enum custom_keycodes {
|
||||
EMOJI_DANCERS = SAFE_RANGE,
|
||||
EMOJI_PERJANTAI,
|
||||
EMOJI_THISISFINE,
|
||||
EMOJI_KOVAAAJOA,
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case EMOJI_DANCERS:
|
||||
if (record->event.pressed) {
|
||||
// when keycode QMKBEST is pressed
|
||||
SEND_STRING(">dancers>");
|
||||
}
|
||||
break;
|
||||
|
||||
case EMOJI_PERJANTAI:
|
||||
if (record->event.pressed) {
|
||||
// when keycode QMKBEST is pressed
|
||||
SEND_STRING(">perjantaideploy>");
|
||||
}
|
||||
break;
|
||||
|
||||
case EMOJI_THISISFINE:
|
||||
if (record->event.pressed) {
|
||||
// when keycode QMKBEST is pressed
|
||||
SEND_STRING(">this/is/fine>");
|
||||
}
|
||||
break;
|
||||
|
||||
case EMOJI_KOVAAAJOA:
|
||||
if (record->event.pressed) {
|
||||
// when keycode QMKBEST is pressed
|
||||
SEND_STRING(">kovaaajoa>");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// 0 Base
|
||||
LAYOUT_60_iso_5x1u_split_bs_rshift_spc(
|
||||
KC_ESC, 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_DEL, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
MO(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, TG(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(3), KC_APP, KC_PSCR, KC_RCTL),
|
||||
|
||||
// 1 Base with arrows
|
||||
LAYOUT_60_iso_5x1u_split_bs_rshift_spc(
|
||||
KC_ESC, 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_DEL, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
MO(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_TRNS,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(3), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
// 2 FN
|
||||
LAYOUT_60_iso_5x1u_split_bs_rshift_spc(
|
||||
KC_GRV, 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_DEL, KC_DEL,
|
||||
KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_PGDN, KC_UP, KC_PGUP, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_VOLD, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_CAPS,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_NO, KC_APP, KC_PSCR, KC_RCTL),
|
||||
|
||||
// 3 FN with RGB and macros
|
||||
LAYOUT_60_iso_5x1u_split_bs_rshift_spc(
|
||||
KC_GRV, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_F10, KC_F11, KC_F12, KC_DEL, QK_BOOT,
|
||||
KC_NO, KC_NO, EMOJI_DANCERS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, EMOJI_PERJANTAI, EMOJI_THISISFINE,EMOJI_KOVAAAJOA, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_CAPS,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_NO, KC_APP, KC_PSCR, KC_RCTL),
|
||||
|
||||
};
|
@ -1,6 +0,0 @@
|
||||
# DZ60 with splitted parts with VIA support
|
||||
### by Oliver Granlund
|
||||
|
||||
![Finished product](https://i.imgur.com/AT1Lyrxl.jpg)
|
||||
|
||||
This is still under progress, but currently works on Windows as a daily driver. Also added macros for Slack emojis
|
@ -1,3 +0,0 @@
|
||||
EXTRAKEY_ENABLE = yes
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
@ -1,20 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
// Sets good default for the speed of the mouse.
|
||||
#undef MOUSEKEY_INTERVAL
|
||||
#undef MOUSEKEY_DELAY
|
||||
#undef MOUSEKEY_TIME_TO_MAX
|
||||
#undef MOUSEKEY_MAX_SPEED
|
||||
|
||||
#define MOUSEKEY_INTERVAL 20
|
||||
#define MOUSEKEY_DELAY 100
|
||||
#define MOUSEKEY_TIME_TO_MAX 60
|
||||
#define MOUSEKEY_MAX_SPEED 7
|
||||
|
||||
#undef MOUSEKEY_WHEEL_MAX_SPEED
|
||||
#undef MOUSEKEY_WHEEL_TIME_TO_MAX
|
||||
#undef MOUSEKEY_WHEEL_DELAY
|
||||
|
||||
#define MOUSEKEY_WHEEL_MAX_SPEED 5
|
||||
#define MOUSEKEY_WHEEL_TIME_TO_MAX 60
|
||||
#define MOUSEKEY_WHEEL_DELAY 100
|
@ -1,397 +0,0 @@
|
||||
/*
|
||||
Copyright 2019 Mario Arias <mario@marioarias.org>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "version.h"
|
||||
|
||||
#include "keymap_spanish.h"
|
||||
|
||||
enum layers {
|
||||
BASE = 0, //Colemak
|
||||
QWERTY, //Qwerty
|
||||
FN, //Colemak but FN1 to FN12 instead of numbers
|
||||
NUM, //Numpad
|
||||
MOUSE, //Mouse and media controls
|
||||
IDEA //Shortcuts for IDEA / Other tools
|
||||
};
|
||||
|
||||
//Special paste
|
||||
#define S_PASTE LSFT(LGUI(KC_V))
|
||||
//tmux prefix
|
||||
#define T_PREFIX LCTL(KC_B)
|
||||
// Column mode
|
||||
#define I_COLUMN ALGR(LCTL(LGUI(ES_MINS)))
|
||||
// Terminal
|
||||
#define I_TERM ALGR(KC_F12)
|
||||
// Line comment
|
||||
#define I_LN_COM LCTL(LGUI(KC_7))
|
||||
// Block comment
|
||||
#define I_BK_COM LCTL(LGUI(KC_8))
|
||||
// Reformat code
|
||||
#define I_REFORM LALT(LGUI(KC_L))
|
||||
// Rename
|
||||
#define I_RENAME LSFT(KC_F6)
|
||||
// Find usages
|
||||
#define I_FUSAGE LALT(KC_F7)
|
||||
// Code for Packt
|
||||
#define P_CODE LCTL(ALGR(KC_X))
|
||||
// Search
|
||||
#define I_SEARCH LCTL(LSFT(KC_F))
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Colemak MacOS Spanish layer
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | Esc | 1 ! | 2 " | 3 · | 4 $ | 5 % | º \ | | ¡ ¿ | 6 & | 7 / | 8 ( | 9 ) | 0 = | Backsp |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | TAB | Q | W | F | P | G | Home | | End | J | L | U | Y | Ñ | ' ? |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | CAPS | A | R | S | T | D |------| |------| H | N | E | I | O | ENT |
|
||||
* |--------+------+------+------+------+------| <> | | -_ |------+------+------+------+------+--------|
|
||||
* | Shift | Z | X | C | V | B | | | | K | M | , ; | . : | UP | Shift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | Del | PgUp |Ctl/PD|Alt/[ |Cmd/] | |Cmd/{ |Alt/} | LEFT | DOWN | RIGHT|
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,--------------. ,--------------.
|
||||
* | Num | Mouse | | Qwer | Ctrl |
|
||||
* ,------|------|-------| |------+-------+------.
|
||||
* | | | FN | |SPaste| | |
|
||||
* |LShift|Backsp|-------| |------| ENT |Space |
|
||||
* | | | IDEA | | T-pre| | |
|
||||
* `---------------------' `---------------------'
|
||||
*/
|
||||
[BASE] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, ES_LABK,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_HOME,
|
||||
KC_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV,
|
||||
KC_DEL, KC_PGUP, CTL_T(KC_PGDN), ALT_T(ES_GRV), GUI_T(ES_PLUS),
|
||||
|
||||
DF(NUM), DF(MOUSE),
|
||||
DF(FN),
|
||||
KC_LSFT, KC_BSPC, MO(IDEA),
|
||||
|
||||
// right hand
|
||||
ES_IEXL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_END, KC_J, KC_L, KC_U, KC_Y, ES_NTIL, ES_QUOT,
|
||||
KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT,
|
||||
ES_MINS, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
|
||||
GUI_T(ES_ACUT), ALT_T(KC_BSLS), KC_LEFT, KC_DOWN, KC_RIGHT,
|
||||
|
||||
DF(QWERTY), KC_RCTL,
|
||||
S_PASTE,
|
||||
T_PREFIX, KC_ENT, KC_SPC
|
||||
),
|
||||
/* Keymap 1: Spanish QWERTY layer (games) //Will probably change it for a Linux/Windows Colemak layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | Q | W | E | R | T | | | | Y | U | I | O | P | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | A | S | D | F | G |------| |------| H | J | K | L | Ñ | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | Z | X | C | V | B | | | | N | M | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | Base | |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
[QWERTY] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_Q, KC_W, KC_E, KC_R, KC_T, _______,
|
||||
_______, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
_______, KC_Z, KC_X, KC_C, KC_V, KC_B, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
|
||||
// right hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_Y, KC_U, KC_I, KC_O, KC_P, _______,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, _______,
|
||||
_______, KC_N, KC_M, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
DF(BASE), _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
),
|
||||
/* Keymap 2: Function Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | Base | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[FN] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
|
||||
_______, _______,
|
||||
DF(BASE),
|
||||
_______, _______, _______,
|
||||
|
||||
// right hand
|
||||
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
),
|
||||
/* Mouse and media controls
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | Esc | | | | | | Play | | Vol+ | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | Ms U | | | | | | | | Wh U | | | |
|
||||
* |--------+------+------+------+------+------| Rwd | | Vol- |------+------+------+------+------+--------|
|
||||
* | | | Ms L | Ms D | Ms R | |------| |------| | Wh L | Wh D | Wh R | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | Acc0 | Acc1 | Acc2 | | Fwd | | Mute | | Btn1 | Btn2 | Btn3 | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | Num | Base | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------ |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[MOUSE] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_U, XXXXXXX, XXXXXXX, KC_MRWD,
|
||||
XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, KC_MFFD,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
DF(NUM), DF(BASE),
|
||||
XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
// right hand
|
||||
KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
KC_VOLD, XXXXXXX, XXXXXXX, KC_WH_U, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, KC_WH_L, KC_WH_D, KC_WH_R, XXXXXXX, XXXXXXX,
|
||||
KC_MUTE, XXXXXXX, KC_BTN1, KC_BTN2, KC_BTN3, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
XXXXXXX, XXXXXXX,
|
||||
XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX
|
||||
),
|
||||
/* Num pad
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | ( | ) | = | / | * | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | Up | | | | | | | 7 | 8 | 9 | - | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | Left | Down |Right | |------| |------| | 4 | 5 | 6 | + | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | 1 | 2 | 3 |Enter | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | 0 | 0 | , |Enter | . |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | Base | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------ |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[NUM] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, KC_UP, _______, _______, _______,
|
||||
_______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
|
||||
DF(BASE), _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
|
||||
// right hand
|
||||
_______, LSFT(KC_8), LSFT(KC_9), KC_PEQL, KC_PSLS, KC_PAST, _______,
|
||||
_______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
|
||||
_______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
|
||||
_______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
|
||||
KC_P0, KC_P0, KC_PDOT, KC_PENT, KC_DOT,
|
||||
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
),
|
||||
/* IDEA
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | Renm | | Usag | | LnCm | BkCm | | Term | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | |Search| | | | | | | Refm | | | | |
|
||||
* |--------+------+------+------+------+------| | | Col |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | Code | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------ |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[IDEA] = LAYOUT_ergodox(
|
||||
|
||||
//Left hand
|
||||
_______, _______, _______, _______, _______, _______, I_RENAME,
|
||||
_______, _______, _______, I_SEARCH, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, P_CODE, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
|
||||
_______, DF(BASE),
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
|
||||
// right hand
|
||||
I_FUSAGE, _______, I_LN_COM, I_BK_COM, _______, I_TERM, _______,
|
||||
I_COLUMN, _______, I_REFORM, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
|
||||
void led_1_off(void) {
|
||||
ergodox_right_led_1_off();
|
||||
}
|
||||
|
||||
void led_2_off(void) {
|
||||
ergodox_right_led_2_off();
|
||||
}
|
||||
|
||||
void led_3_off(void) {
|
||||
ergodox_right_led_3_off();
|
||||
}
|
||||
|
||||
//Runs just one time when the keyboard initializes
|
||||
void matrix_init_use(void) {
|
||||
led_1_off();
|
||||
led_2_off();
|
||||
led_3_off();
|
||||
}
|
||||
|
||||
// Value to use to switch LEDs on. The default value of 255 is far too bright.
|
||||
static const uint8_t max_led_value = 20;
|
||||
|
||||
|
||||
void led_1_on(void) {
|
||||
ergodox_right_led_1_on();
|
||||
ergodox_right_led_1_set(max_led_value);
|
||||
}
|
||||
|
||||
void led_2_on(void) {
|
||||
ergodox_right_led_2_on();
|
||||
ergodox_right_led_2_set(max_led_value);
|
||||
}
|
||||
|
||||
void led_3_on(void) {
|
||||
ergodox_right_led_3_on();
|
||||
ergodox_right_led_3_set(max_led_value);
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
|
||||
if(layer_state_cmp(state ,IDEA)) {
|
||||
led_1_on();
|
||||
led_3_on();
|
||||
} else {
|
||||
led_1_off();
|
||||
led_3_off();
|
||||
}
|
||||
|
||||
return state;
|
||||
};
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
ergodox_board_led_off();
|
||||
led_1_off();
|
||||
led_2_off();
|
||||
led_3_off();
|
||||
|
||||
if(layer_state_cmp(default_layer_state, QWERTY)) {
|
||||
led_3_on();
|
||||
}
|
||||
|
||||
if(layer_state_cmp(default_layer_state, FN)) {
|
||||
led_2_on();
|
||||
}
|
||||
|
||||
if(layer_state_cmp(default_layer_state, NUM)) {
|
||||
led_2_on();
|
||||
led_3_on();
|
||||
}
|
||||
|
||||
if(layer_state_cmp(default_layer_state, MOUSE)) {
|
||||
led_1_on();
|
||||
}
|
||||
};
|
@ -1,67 +0,0 @@
|
||||
# ErgoDox EZ Spanish Colemak configuration
|
||||
|
||||
## Description
|
||||
|
||||
A Colemak keymap adapted for Spanish.
|
||||
|
||||
### Base Layer - Spanish Colemak
|
||||
|
||||
The Base Layer is a Colemak keymap with an additional "ñ" next to the "y" key. The arrow cluster has a proper T inverted shape.
|
||||
|
||||
It includes almost all Spanish Symbols from a normal 100% keyboard thanks to the use of tap keys
|
||||
|
||||
|
||||
| Pressed | Tap | Shift | Alt |
|
||||
|---|---|---|---|
|
||||
|Left Ctrl|PgDn|||
|
||||
|Left Alt|`|ˆ|[|
|
||||
|Left Cmd|+|*|]|
|
||||
|Right Cmd|´|¨|{|
|
||||
|Right Alt|ç|Ç|}|
|
||||
|
||||
For example, if you want to type ```[]```, you keep pressing the "Left Alt" (To modify) and tap "Right Alt" and "Right Cmd" to send "[" and "]"
|
||||
|
||||
### Qwerty Layer
|
||||
|
||||
A Qwerty layer for gaming and maybe some VIM commands. It just modifies the few keys that are different between Colemak and Qwerty and keep all the others keys
|
||||
|
||||
### Fn Layer
|
||||
|
||||
A layer to change the number row including "º" and "¡" for "Fn1" to "Fn12". The rest is just the same as the Base layer
|
||||
|
||||
### Mouse and media controls
|
||||
|
||||
Mouse movement on the left hand, wheel and buttons on the right hand. "Play/Pause", "Rewind", "Forward" in the Left inner column. "Volume Up", "Volume Down" and "Mute" in the Right inner column
|
||||
|
||||
### Numpad
|
||||
|
||||
A complete numpad in the right hand, plus and Arrow cluster on the left hand
|
||||
|
||||
### IDEA (JetBrains IDEs)
|
||||
|
||||
A momentary layer for IDEA shortcuts that require more than two fingers or any Fn key
|
||||
|
||||
## How to build it
|
||||
|
||||
If you already have all the dependencies (Check QMK's documentation), you can run the command:
|
||||
|
||||
```bash
|
||||
make ergodox_ez:colemak_es_osx
|
||||
```
|
||||
|
||||
On MacOS, if you're using MacPorts you can install the following dependencies:
|
||||
|
||||
```bash
|
||||
port install avr-binutils
|
||||
port install avr-gcc
|
||||
port install avr-libc
|
||||
```
|
||||
|
||||
This isn't an exhaustive list and maybe there other dependencies that are technically necessary
|
||||
|
||||
## Changelog
|
||||
|
||||
* Jul 2019:
|
||||
* Initial version for the new QMK version
|
||||
|
||||
![](https://imgur.com/AyWNGlL.png)
|
@ -1,2 +0,0 @@
|
||||
node_modules/
|
||||
package-lock.json
|
@ -1,88 +0,0 @@
|
||||
/*
|
||||
Set any config.h overrides for your specific keymap here.
|
||||
See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#undef TAPPING_TERM
|
||||
#define TAPPING_TERM 175
|
||||
#define TAPPING_TERM_PER_KEY
|
||||
|
||||
#undef DEBOUNCE
|
||||
#define DEBOUNCE 15
|
||||
|
||||
|
||||
#define RGB_MATRIX_SLEEP
|
||||
|
||||
#undef FORCE_NKRO
|
||||
#define FORCE_NKRO
|
||||
|
||||
#undef TAPPING_TOGGLE
|
||||
#define TAPPING_TOGGLE 5
|
||||
|
||||
#define LEADER_TIMEOUT 1000
|
||||
#define PERMISSIVE_HOLD
|
||||
#define DANCING_TERM 175
|
||||
|
||||
#define ONESHOT_TAP_TOGGLE 5
|
||||
|
||||
#undef ONESHOT_TIMEOUT
|
||||
#define ONESHOT_TIMEOUT 5000
|
||||
|
||||
#define COMBO_TERM 200
|
||||
|
||||
#undef RGBLIGHT_HUE_STEP
|
||||
#define RGBLIGHT_HUE_STEP 24
|
||||
|
||||
#undef RGBLIGHT_SAT_STEP
|
||||
#define RGBLIGHT_SAT_STEP 24
|
||||
|
||||
#undef RGBLIGHT_VAL_STEP
|
||||
#define RGBLIGHT_VAL_STEP 24
|
||||
|
||||
#undef RGBLIGHT_BRI_STEP
|
||||
#define RGBLIGHT_BRI_STEP 24
|
||||
|
||||
#undef RGBLIGHT_LIMIT_VAL
|
||||
#define RGBLIGHT_LIMIT_VAL 255
|
||||
|
||||
|
||||
#undef MOUSEKEY_INTERVAL
|
||||
#define MOUSEKEY_INTERVAL 10
|
||||
|
||||
#undef MOUSEKEY_DELAY
|
||||
#define MOUSEKEY_DELAY 15
|
||||
|
||||
#undef MOUSEKEY_MAX_SPEED
|
||||
#define MOUSEKEY_MAX_SPEED 20
|
||||
|
||||
#undef MOUSEKEY_TIME_TO_MAX
|
||||
#define MOUSEKEY_TIME_TO_MAX 200
|
||||
|
||||
#undef MOUSEKEY_WHEEL_MAX_SPEED
|
||||
#define MOUSEKEY_WHEEL_MAX_SPEED 20
|
||||
|
||||
#undef MOUSEKEY_WHEEL_TIME_TO_MAX
|
||||
#define MOUSEKEY_WHEEL_TIME_TO_MAX 200
|
||||
|
||||
|
||||
// #undef NO_DEBUG
|
||||
// #define NO_DEBUG
|
||||
|
||||
// #undef NO_PRINT
|
||||
// #define NO_PRINT
|
||||
|
||||
// #define RETRO_TAPPING
|
||||
// #define QUICK_TAP_TERM 0
|
||||
|
||||
// #define AUTO_SHIFT_TIMEOUT 150
|
||||
// #define NO_AUTO_SHIFT_SPECIAL
|
||||
// #define NO_AUTO_SHIFT_NUMERIC
|
||||
// #define NO_AUTO_SHIFT_ALPHA
|
||||
|
||||
// #define EXTRA_LONG_COMBOS
|
||||
// #define EXTRA_EXTRA_LONG_COMBOS
|
||||
// #define COMBO_ALLOW_ACTION_KEYS
|
||||
|
||||
// #define RGBLIGHT_SLEEP
|
@ -1,22 +0,0 @@
|
||||
const gulp = require('gulp');
|
||||
const run = require('gulp-run-command').default;
|
||||
|
||||
|
||||
const ROOT_DIR = '../../../../';
|
||||
const BUILD_DIR = `${ROOT_DIR}.build`;
|
||||
const HACKER_DVORAK_DIR = './**/*';
|
||||
|
||||
const CLEAN_CMD = `rm -rf ${BUILD_DIR}`;
|
||||
const BUILD_CMD = `make -C ${ROOT_DIR} ergodox_ez:hacker_dvorak`;
|
||||
|
||||
gulp.task('clean', run(CLEAN_CMD));
|
||||
|
||||
gulp.task('build', gulp.series('clean', run(BUILD_CMD, {
|
||||
ignoreErrors: true
|
||||
})));
|
||||
|
||||
gulp.task('watch', gulp.series('build', () => {
|
||||
gulp.watch(HACKER_DVORAK_DIR, gulp.series('build'));
|
||||
}));
|
||||
|
||||
gulp.task('default', gulp.series('watch'));
|
@ -1,353 +0,0 @@
|
||||
// Keyboard keymap:
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[DVORAK] = LAYOUT_ergodox(
|
||||
|
||||
// HACKER DVORAK left hand
|
||||
|
||||
//------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
|
||||
// ESCAPE | | | | | | START RECORDING //
|
||||
// | | | | | | //
|
||||
KC_ESC, TD(GRV_TILD), TD(AT_DLR), TD(LCBR_LABK), TD(LPRN_LBRC), TD(EXLM_QUES), DM_REC1, //
|
||||
// | ~ | $ | < | [ | ? | //
|
||||
// | TAP DANCE: ` | TAP DANCE: @ TAP DANCE: { | TAP DANCE: ( | TAP DANCE: ! | DYNAMIC MARCO 1 //
|
||||
//------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
|
||||
// TAB | MOD TAP: ALT+SHIFT | MOD TAP: CTRL+ALT | MOD TAP: CTRL+SHIFT | P | Y | //
|
||||
// | | | | | | //
|
||||
KC_TAB, TD(NONE_LEAD), TD(QUOT_DQUO), TD(DOT_COMM), LCG_T(KC_P), LAG_T(KC_Y), DM_PLY1, //
|
||||
// | LEAD | " | , | | | //
|
||||
// | TAP DANCE: NONE | TAP DANCE: ' | TAP DANCE: . | MOD TAP: CTRL+GUI | MOD TAP: ALT+GUI | //
|
||||
//------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------| PLAY DYNAMIC MACRO 1 //
|
||||
// | MOD TAP: ALT | MOD TAP: CTRL | LAYER TAP: SHIFT | M TAP DANCE: ARROWS/GUI | MOD TAP: SHIFT+GUI | //
|
||||
// | | | | Ü | | //
|
||||
TD(EQL_PLUS), LALT_T(KC_A), LCTL_T(KC_O), LSFT_T(KC_E), TD(U_ARR_GUI), SGUI_T(KC_I), //-----------------------//
|
||||
// + | Á | Ó | É | Ú | Í | //
|
||||
// TAP DANCE: = | TAP DANCE: A | TAP DANCE: O | TAP DANCE: E | TAP DANCE: U | TAP DANCE: I | //
|
||||
//------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------| META //
|
||||
// STOP RECORDING | MOD TAP: GUI+SHIFT+ALT | Q | J | K | X | //
|
||||
// | | | | | | //
|
||||
DM_RSTP, TD(SCLN_COLN), LCAG_T(KC_Q), TD(J_MED_MEH), TD(K_NUM_HYP), LCSG_T(KC_X), KC_LGUI, //
|
||||
// | : | | | | | //
|
||||
// DYNAMIC MACRO | TAP DANCE: ; | MOD TAP: SHIFT+GUI | M TAP DANCE: MEDIA/MEH | M TAP DANCE: ATM/HYPER | MOD TAP: CTL+SHIFT+GUI | //
|
||||
//------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
|
||||
// LAYERS SWITCHER | APPLICATION MENU | | | //
|
||||
// | | | | SCROLL //
|
||||
TG(LAYERS), KC_APP, KC_NUM, KC_SCRL, KC_CAPS, //
|
||||
// | | | | NUM //
|
||||
// LAYER TOGGLE | | | | TAP DANCE: CAPS //
|
||||
//------------------------+-------------------------+-------------------------+-------------------------+------------------------//
|
||||
|
||||
// HACKER DVORAK left thumb
|
||||
|
||||
//------------------------+------------------------//
|
||||
// MOUSE WHEEL LEFT | MOUSE WHEEL RIGHT //
|
||||
// | //
|
||||
KC_WH_L, KC_WH_R, //
|
||||
// | //
|
||||
// | //
|
||||
//-------------------------+-------------------------+------------------------//
|
||||
// | | HOME //
|
||||
// | | //
|
||||
/* SPACE | BACKSPACE */ KC_HOME, //
|
||||
// | | //
|
||||
// | | //
|
||||
KC_SPC, KC_BSPC, //-----------------------//
|
||||
// | | END //
|
||||
// | | //
|
||||
/* | */ KC_END, //
|
||||
// | | //
|
||||
// | | //
|
||||
//-------------------------+-------------------------+------------------------//
|
||||
|
||||
// HACKER DVORAK right hand
|
||||
|
||||
//------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
|
||||
// | | | | | | //
|
||||
// | | | | | | //
|
||||
DM_REC2, TD(APMR_PIPE), TD(RPRN_RBRC), TD(RCBR_RABK), TD(HASH_PERC), TD(ASTR_CIRC), XXXXXXX, //
|
||||
// | | | | | | //
|
||||
// | | | | | | //
|
||||
//------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
|
||||
// | | | | | | //
|
||||
// | | | | | | //
|
||||
DM_PLY2, LAG_T(KC_F), LCG_T(KC_G), C_S_T(KC_C), LCA_T(KC_R), LAS_T(KC_L), TD(SLSH_BSLS), //
|
||||
// | | | | | | //
|
||||
// | | | | | | //
|
||||
// |-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
|
||||
// | | | | | | //
|
||||
// | | | | | | //
|
||||
/*-----------------------*/ SGUI_T(KC_D), TD(H_MOU_GUI), LSFT_T(KC_T), LCTL_T(KC_N), LALT_T(KC_S), TD(MINS_UNDS), //
|
||||
// | | | | | | //
|
||||
// | | | | | | //
|
||||
// |-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
|
||||
// | | | | | | //
|
||||
// | | | | | | //
|
||||
KC_LGUI, LCSG_T(KC_B), TD(M_CHO_HYP), TD(W_MED_MEH), LCAG_T(KC_V), LASG_T(KC_Z), COMPOSE, //
|
||||
// | | | | | | //
|
||||
// | | | | | | ⎄ //
|
||||
//------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
|
||||
// | | | | //
|
||||
// | | | | //
|
||||
KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_SYRQ, //
|
||||
// | | | | //
|
||||
// | | | | //
|
||||
//------------------------+-------------------------+-------------------------+-------------------------+------------------------//
|
||||
|
||||
// HACKER DVORAK right thumb
|
||||
|
||||
//------------------------+------------------------//
|
||||
// | //
|
||||
// | //
|
||||
KC_WH_U, KC_WH_D, //
|
||||
// | //
|
||||
// | //
|
||||
//------------------------+-------------------------+------------------------//
|
||||
// | | //
|
||||
// | | //
|
||||
KC_PGUP, // | //
|
||||
// | | //
|
||||
// | | //
|
||||
//------------------------| | //
|
||||
// | | //
|
||||
// | | //
|
||||
KC_PGDN, KC_DEL, KC_ENT //
|
||||
// | | //
|
||||
// | | //
|
||||
//------------------------+-------------------------+------------------------//
|
||||
|
||||
),
|
||||
|
||||
[PLOVER] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
XXXXXXX, XXXXXXX, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_BTN3, GUI_T(KC_NO),
|
||||
KC_ESC, KC_MS_BTN4, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_BTN5, PV_NUM,
|
||||
KC_TAB, PV_LS, PV_LT, PV_LP, PV_LH, PV_STAR,
|
||||
KC_CAPS, PV_LS, PV_LK, PV_LW, PV_LR, PV_STAR, PV_STAR,
|
||||
XXXXXXX, TG(LAYERS), PV_NUM, PV_NUM, PV_NUM,
|
||||
|
||||
// left thumb
|
||||
KC_SPACE, KC_BSPC,
|
||||
KC_HOME,
|
||||
PV_A, PV_O, KC_END,
|
||||
|
||||
// right hand
|
||||
KC_MS_ACCEL2, KC_MS_ACCEL1, KC_MS_ACCEL0, KC_UP, KC_APPLICATION, XXXXXXX, KC_MS_WH_UP,
|
||||
PV_NUM, KC_MS_WH_LEFT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MS_WH_RIGHT, KC_MS_WH_DOWN,
|
||||
PV_STAR, PV_RF, PV_RP, PV_RL, PV_RT, PV_RD,
|
||||
PV_STAR, PV_STAR, PV_RR, PV_RB, PV_RG, PV_RS, PV_RZ,
|
||||
PV_NUM, PV_NUM, PV_NUM, PV_NUM, XXXXXXX,
|
||||
|
||||
// right thumb
|
||||
KC_DELETE, KC_ENTER,
|
||||
KC_PGUP,
|
||||
KC_PGDN, PV_E, PV_U
|
||||
),
|
||||
|
||||
[GAMING] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_ESCAPE, GUI_T(KC_MINS), KC_I, KC_O, KC_P, ALGR_T(KC_EQL), KC_T,
|
||||
KC_TAB, KC_LALT, KC_Q, KC_W, KC_E, ALL_T(KC_R), KC_G,
|
||||
LT(MOUSE, KC_GRV), KC_LCTL, KC_A, KC_S, KC_D, MEH_T(KC_F),
|
||||
KC_BSLS, KC_LSFT, KC_Z, KC_X, KC_C, SCMD_T(KC_V), KC_M,
|
||||
XXXXXXX, TG(LAYERS), KC_COMM, KC_DOT, KC_LBRC,
|
||||
|
||||
// left thumb
|
||||
MO(MEDIA_FN), KC_NUM,
|
||||
KC_SCLN,
|
||||
KC_SPACE, KC_ENTER, KC_BSPC,
|
||||
|
||||
// right hand
|
||||
KC_QUOT, KC_Y, KC_K, KC_U, KC_KP_7, KC_KP_8, KC_KP_9,
|
||||
KC_MS_WH_UP, KC_H, KC_J, KC_L, KC_KP_4, KC_KP_2, KC_KP_6,
|
||||
KC_B, KC_MS_UP, KC_N, KC_KP_1, KC_KP_5, KC_KP_3,
|
||||
KC_MS_WH_DOWN, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_UP, KC_KP_0, KC_SLASH,
|
||||
KC_RBRC, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX,
|
||||
|
||||
// right thumb
|
||||
KC_MS_BTN5, MO(CHORD),
|
||||
KC_MS_BTN4,
|
||||
KC_MS_BTN3, KC_MS_BTN2, KC_MS_BTN1
|
||||
),
|
||||
|
||||
[ARROWS] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, SCMD_T(KC_NO), MEH_T(KC_NO), ALL_T(KC_NO), XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, KC_LCTL, KC_LSFT, XXXXXXX, _______, XXXXXXX,
|
||||
XXXXXXX, KC_RALT, KC_LALT, GUI_T(KC_NO), XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
// left thumb
|
||||
XXXXXXX, XXXXXXX,
|
||||
KC_HOME,
|
||||
KC_SPACE, KC_BSPC, KC_END,
|
||||
|
||||
// right hand
|
||||
LGUI(KC_X), XXXXXXX, LCTL(KC_X), KC_MS_WH_UP, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
LGUI(KC_C), XXXXXXX, LCTL(KC_C), KC_UP, SCTL(KC_C), LCTL(KC_Z), LGUI(KC_Z),
|
||||
KC_MS_WH_LEFT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MS_WH_RIGHT, KC_APPLICATION,
|
||||
LGUI(KC_V), XXXXXXX, LCTL(KC_V), KC_MS_WH_DOWN, SCTL(KC_V), LCTL(KC_Y), SGUI(KC_Z),
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCRL,
|
||||
|
||||
// right thumb
|
||||
XXXXXXX, XXXXXXX,
|
||||
KC_PGUP,
|
||||
KC_PGDN, KC_DELETE, KC_ENTER
|
||||
),
|
||||
|
||||
[MOUSE] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_WH_UP, LCTL(KC_X), XXXXXXX, LGUI(KC_X),
|
||||
LGUI(KC_Z), LCTL(KC_Z), SCTL(KC_C), KC_MS_UP, LCTL(KC_C), KC_MS_BTN4, LGUI(KC_C),
|
||||
KC_MS_BTN3, KC_MS_WH_LEFT, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_RIGHT,
|
||||
LGUI(KC_Z), LCTL(KC_Y), SCTL(KC_V), KC_MS_WH_DOWN, LCTL(KC_V), KC_MS_BTN5, LGUI(KC_V),
|
||||
KC_SCRL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
// left thumb
|
||||
XXXXXXX, XXXXXXX,
|
||||
XXXXXXX,
|
||||
KC_MS_BTN1, KC_MS_BTN2, XXXXXXX,
|
||||
|
||||
// right hand
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, ALL_T(KC_NO), MEH_T(KC_NO), SCMD_T(KC_NO), XXXXXXX,
|
||||
XXXXXXX, _______, KC_MS_ACCEL1, KC_LSFT, KC_LCTL, KC_MS_ACCEL2,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, GUI_T(KC_NO), KC_LALT, KC_RALT, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
// right thumb
|
||||
XXXXXXX, XXXXXXX,
|
||||
XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, KC_MS_ACCEL0
|
||||
),
|
||||
|
||||
[NUMPAD] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, GUI_T(KC_NO), XXXXXXX, ALL_T(KC_NO), XXXXXXX, XXXXXXX,
|
||||
_______, KC_LCTL, KC_LSFT, _______, MEH_T(KC_NO), XXXXXXX,
|
||||
XXXXXXX, KC_RALT, KC_LALT, XXXXXXX, SCMD_T(KC_NO), XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
// left thumb
|
||||
XXXXXXX, XXXXXXX,
|
||||
KC_HOME,
|
||||
KC_SPACE, KC_BSPC, KC_END,
|
||||
|
||||
// right hand
|
||||
KC_X, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F,
|
||||
KC_O, KC_I, KC_1, KC_2, KC_3, KC_SLSH, KC_PERC,
|
||||
KC_M, KC_4, KC_5, KC_6, KC_PLUS, KC_MINS,
|
||||
KC_L, KC_J, KC_7, KC_8, KC_9, KC_ASTR, KC_CIRC,
|
||||
KC_DOT, KC_0, KC_COMM, KC_UNDS, KC_BSLS,
|
||||
|
||||
// right thumb
|
||||
XXXXXXX, XXXXXXX,
|
||||
KC_PGUP,
|
||||
KC_PGDN, KC_DELETE, KC_ENTER
|
||||
),
|
||||
|
||||
[LAYERS] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
// left thumb
|
||||
XXXXXXX, XXXXXXX,
|
||||
XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
// right hand
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, TO(DVORAK), TO(PLOVER), TO(GAMING), XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
// right thumb
|
||||
XXXXXXX, XXXXXXX,
|
||||
XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX
|
||||
),
|
||||
|
||||
[MEDIA_FN] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_VOLD, KC_MUTE, RGB_TOG, XXXXXXX, KC_MAIL, KC_FIND, KC_WWW_REFRESH,
|
||||
KC_MPRV, KC_F9, KC_F7, KC_F5, KC_F3, KC_F1, KC_WWW_HOME,
|
||||
KC_PAUS, KC_F19, KC_F17, KC_F15, KC_F13, KC_F11,
|
||||
RGB_HUD, XXXXXXX, XXXXXXX, _______, KC_F23, KC_F21, KC_WWW_BACK,
|
||||
RGB_VAD, KC_CAPS, KC_PSCR, XXXXXXX, MO(FIRMWARE),
|
||||
|
||||
// left thumb
|
||||
_______, XXXXXXX,
|
||||
XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, KC_MEDIA_EJECT,
|
||||
|
||||
// right hand
|
||||
KC_WWW_FAVORITES, KC_MYCM, KC_CALC, XXXXXXX, RGB_MOD, RGB_M_P, KC_VOLU,
|
||||
KC_WWW_SEARCH, KC_F2, KC_F4, KC_F6, KC_F8, KC_F10, KC_MNXT,
|
||||
KC_F12, KC_F14, KC_F16, KC_F18, KC_F20, KC_MPLY,
|
||||
KC_WWW_FORWARD, KC_F22, KC_F24, _______, XXXXXXX, XXXXXXX, RGB_HUI,
|
||||
KC_PWR, XXXXXXX, KC_SLEP, KC_WAKE, RGB_VAI,
|
||||
|
||||
// right thumb
|
||||
XXXXXXX, XXXXXXX,
|
||||
XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX
|
||||
),
|
||||
|
||||
[CHORD] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
XXXXXXX, HYPR(KC_F1), HYPR(KC_F2), HYPR(KC_F3), HYPR(KC_F4), HYPR(KC_F5), XXXXXXX,
|
||||
XXXXXXX, HYPR(KC_F6), HYPR(KC_F7), HYPR(KC_F8), HYPR(KC_F9), HYPR(KC_F10), XXXXXXX,
|
||||
XXXXXXX, HYPR(KC_F11), HYPR(KC_F12), HYPR(KC_F13), HYPR(KC_F14), HYPR(KC_F15),
|
||||
XXXXXXX, HYPR(KC_F16), HYPR(KC_F17), HYPR(KC_F18), HYPR(KC_F19), HYPR(KC_F20), XXXXXXX,
|
||||
XXXXXXX, HYPR(KC_F21), HYPR(KC_F22), HYPR(KC_F23), HYPR(KC_F24),
|
||||
|
||||
// left thumb
|
||||
XXXXXXX, XXXXXXX,
|
||||
XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
// right hand
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
// right thumb
|
||||
XXXXXXX, _______,
|
||||
XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX
|
||||
),
|
||||
|
||||
[FIRMWARE] = LAYOUT_ergodox(
|
||||
|
||||
// left hand
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||
|
||||
// left thumb
|
||||
XXXXXXX, XXXXXXX,
|
||||
XXXXXXX,
|
||||
QK_BOOT, XXXXXXX, XXXXXXX,
|
||||
|
||||
// right hand
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
// right thumb
|
||||
XXXXXXX, XXXXXXX,
|
||||
XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, EE_CLR
|
||||
)
|
||||
};
|
@ -1,13 +0,0 @@
|
||||
// Compound keycode aliases
|
||||
#define SCTL(kc) LSFT(LCTL(kc)) // Modifier keys: SHIFT+CTRL+kc combination.
|
||||
|
||||
// Tap
|
||||
#define LASG_T(kc) MT(MOD_LGUI | MOD_LALT | MOD_LSFT, kc) // Mod tap: kc when tapped, GUI+ALT+SHIFT when held.
|
||||
#define LCSG_T(kc) MT(MOD_LGUI | MOD_LSFT | MOD_LCTL, kc) // Mod tap: kc when tapped, GUI+CTL+SHIFT when held.
|
||||
|
||||
#define LCG_T(kc) MT(MOD_LCTL | MOD_LGUI, kc) // Mod tap: kc when tapped, CTL+GUI when held.
|
||||
#define LAS_T(kc) MT(MOD_LALT | MOD_LSFT, kc) // Mod tap: kc when tapped, ALT+SHIFT when held.
|
||||
#define LAG_T(kc) MT(MOD_LALT | MOD_LGUI, kc) // Mod tap: kc when tapped, ALT+GUI when held.
|
||||
|
||||
// Others
|
||||
#define COMPOSE KC_RALT // Compose key (used to input characters like á, ñ, ü).
|
@ -1,7 +0,0 @@
|
||||
// Define custom user keycodes:
|
||||
enum custom_keycodes {
|
||||
PLACEHOLDER = SAFE_RANGE, // Can always be here.
|
||||
MY_CUSTOM_MACRO, // Custom macro example.
|
||||
MY_OTHER_MACRO, // Custom macro example.
|
||||
DYNAMIC_MACRO_RANGE // Should always be the last.
|
||||
};
|
@ -1,28 +0,0 @@
|
||||
#include QMK_KEYBOARD_H // Includes the QMK-verse.
|
||||
#include "keymap_plover.h" // Includes the Plover keymap for easier readability.
|
||||
|
||||
|
||||
// TODO: No eeprom changes unless needed, custom rgb settings for animations.
|
||||
#include "keycodes/aliases_definitions.c"
|
||||
#include "layers/layers_definitions.c"
|
||||
#include "tap_dance/tap_dance_setup.c"
|
||||
#include "tap_dance/tap_dances.c"
|
||||
#include "user/matrix_scan_user.c"
|
||||
#include "tap_dance/mod_tap_layer_dances/none_lead.c"
|
||||
#include "tap_dance/mod_tap_layer_dances/dot_comm.c"
|
||||
#include "tap_dance/mod_tap_layer_dances/quot_dquot.c"
|
||||
#include "tap_dance/mod_tap_layer_dances/scln_coln.c"
|
||||
#include "tap_dance/mod_tap_layer_dances/u_arrows_gui.c"
|
||||
#include "tap_dance/mod_tap_layer_dances/h_mouse_gui.c"
|
||||
#include "tap_dance/mod_tap_layer_dances/j_media_meh.c"
|
||||
#include "tap_dance/mod_tap_layer_dances/w_media_meh.c"
|
||||
#include "tap_dance/mod_tap_layer_dances/k_numpad_hyper.c"
|
||||
#include "tap_dance/mod_tap_layer_dances/m_chords_hyper.c"
|
||||
#include "tap_dance/tap_dance_actions.c"
|
||||
#include "keycodes/custom_keycodes.c"
|
||||
#include "dynamic_macro.h" // Includes dynamic macro definitions, needed *after* the custom keycodes.
|
||||
#include "hacker_dvorak.c"
|
||||
#include "user/eeconfig_init_user.c"
|
||||
#include "user/process_record_user.c"
|
||||
#include "plover/plover_mode.c"
|
||||
#include "user/layer_set_state_user.c"
|
@ -1,12 +0,0 @@
|
||||
enum layers { // Hacker Dvorak keyboard layers:
|
||||
DVORAK = 0, // * Dvorak base layer.
|
||||
PLOVER = 1, // * Steno layer for use with Plover.
|
||||
GAMING = 2, // * Gaming layer intended for general purpose playing.
|
||||
ARROWS = 3, // * Arrows movement keys and edition shortcuts.
|
||||
MOUSE = 4, // * Mouse movement keys and edition shortcuts.
|
||||
NUMPAD = 5, // * ATM style numpad with symbols and letters that should suffice to input any numeric literal.
|
||||
LAYERS = 6, // * Layer switcher used to change between DVORAK, PLOVER and GAMING layers.
|
||||
MEDIA_FN = 7, // * Media, RGB and function keys from F1 to F24 in symmetric fashion.
|
||||
CHORD = 8, // * Hot keys layer (uses hyper + F1 .. F24) suitable for global shortcut tasks.
|
||||
FIRMWARE = 9 // * Layer with firmware related functionality, like the reset and EEPROM keys.
|
||||
};
|
@ -1,15 +0,0 @@
|
||||
{
|
||||
"name": "hacker_dvorak",
|
||||
"version": "1.0.0",
|
||||
"description": "Inspired by the [*Programmer Dvorak*](https://www.kaufmann.no/roland/dvorak) keyboard layout, cherry picked ideas from other layouts in the [EZ Repository](https://configure.ergodox-ez.com/search?q=dvorak&legacy=true), a character distribution [heatmap vizualizer](https://run.plnkr.co/plunks/5EEO8nJ2wRzYAfT3), my own subjective use cases and lots of trial and error.",
|
||||
"main": "gulpfile.js",
|
||||
"scripts": {
|
||||
"test": "test"
|
||||
},
|
||||
"author": "SalchiPapa",
|
||||
"license": "GPL-2.0",
|
||||
"dependencies": {
|
||||
"gulp": "^4.0.0",
|
||||
"gulp-run-command": "0.0.9"
|
||||
}
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
// TODO: improve feedback
|
||||
void plover_toggle(void) {
|
||||
// Press "PHROLG"
|
||||
register_code(PV_LP);
|
||||
register_code(PV_LH);
|
||||
register_code(PV_LR);
|
||||
register_code(PV_O);
|
||||
register_code(PV_RL);
|
||||
register_code(PV_RG);
|
||||
|
||||
// Release "PHROLG"
|
||||
unregister_code(PV_LP);
|
||||
unregister_code(PV_LH);
|
||||
unregister_code(PV_LR);
|
||||
unregister_code(PV_O);
|
||||
unregister_code(PV_RL);
|
||||
unregister_code(PV_RG);
|
||||
}
|
||||
|
||||
bool PLOVER_MODE = false;
|
@ -1,62 +0,0 @@
|
||||
# [Ergodox EZ Hacker Dvorak Layout](https://configure.ergodox-ez.com/layouts/Wadz/latest/0)
|
||||
|
||||
Inspired by the [*Programmer Dvorak*](https://www.kaufmann.no/roland/dvorak) keyboard layout, cherry picked ideas from other layouts in the [EZ Repository](https://configure.ergodox-ez.com/search?q=dvorak&legacy=true), a character distribution [heatmap vizualizer](https://run.plnkr.co/plunks/5EEO8nJ2wRzYAfT3), my own subjective use cases and lots of trial and error.
|
||||
|
||||
## Setup
|
||||
|
||||
Configure your OS keyboard layout to US, or the keymap will be incorrect.
|
||||
|
||||
## Limitations
|
||||
|
||||
I plan to use [QMK](https://docs.qmk.fm) in the future, in order to overcome some limitations of the Ergodox EZ [graphical configurator](https://configure.ergodox-ez.com/layouts/default/latest/0)), however I will defer that, until more progress is made to the new [configurator](https://medium.com/the-ergo/the-configurator-is-out-of-beta-e107aec80cae).
|
||||
|
||||
## Layers
|
||||
|
||||
1. Dvorak
|
||||
* US Dvorak layout.
|
||||
* All symbols (including shifted symbols).
|
||||
* All modifier are dual keys positioned near the home row.
|
||||
2. Querty
|
||||
* Used to overcome the limitation pointed above, when your OS layout is set to Dvorak instead of US, this way you can use
|
||||
Standard Dvorak (available by default on all the main operating systems) on other normal keybdoards and Hacker Dvorak on
|
||||
the Ergodox EZ Shine at the same time, without changing back and forth tho OS layout.
|
||||
3. Gaming
|
||||
* Still in development.
|
||||
* Left side is mainly "normal" Qwerty.
|
||||
* Right side is mainly for movement, either using the mouse, the arrow keys, the number pad or the `H`, `J`, `K`, `L` as direction keys.
|
||||
4. Arrows
|
||||
* Arrow keys navigation.
|
||||
* All modifier keys.
|
||||
* Common text edititng shortcuts (doesn't work for MacOS).
|
||||
5. Mouse
|
||||
* Mouse navigation.
|
||||
* All modifier keys.
|
||||
* Common text edititng shortcuts (doesn't work for MacOS).
|
||||
6. Numpad
|
||||
* ATM style numpad.
|
||||
* All modifier keys.
|
||||
* Letters from `A` to `F` for hexadecimal numbers (`B` is also used for binary numeric literals in most programming
|
||||
languages, ie. `0b11001`).
|
||||
* `X` for hexadecimal numeric literals in most programming languages, ie. `0xbeef`.
|
||||
* `O` for octal numeric literals in most programming languages, ie `0o123`.
|
||||
* `J` for complex numeric literals in Python, ie. `3j`.
|
||||
* `I` and `M` for complex Julia numeric literals, ie. `3im`.
|
||||
* Common symbols for mathematical operations.
|
||||
7. Hyper Fn
|
||||
* Useful for custom global shortcuts.
|
||||
8. Media Fn
|
||||
* Media keys.
|
||||
* Function keys.
|
||||
* EZ Shine keys.
|
||||
9. Meh Fn
|
||||
* Useful for custom application shortcuts.
|
||||
10. Meh Fn +
|
||||
* Useful for custom standard shortcuts.
|
||||
|
||||
## To Do
|
||||
|
||||
Add images.
|
||||
|
||||
***
|
||||
|
||||
Please comment below if you have any ideas or suggestions. If you have used this layout or used it as a base, I'd love to hear about your experience!
|
@ -1,37 +0,0 @@
|
||||
# Set any rules.mk overrides for your specific keymap here.
|
||||
# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file
|
||||
|
||||
LTO_ENABLE = yes
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
TAP_DANCE_ENABLE = yes
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700b).
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450b).
|
||||
RGBLIGHT_ENABLE = yes
|
||||
LEADER_ENABLE = yes
|
||||
|
||||
UNICODE_ENABLE = no
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
SWAP_HANDS_ENABLE = no # Allow swapping hands of keyboard.
|
||||
|
||||
|
||||
# This are by default off:
|
||||
# COMBO_ENABLE = no
|
||||
# UCIS_ENABLE = no # For Unicode.
|
||||
# UNICODEMAP_ENABLE = no
|
||||
# SLEEP_LED_ENABLE = no # Turn off leds when computer is sleeping.
|
||||
# KEY_LOCK_ENABLE = no # (+1730b)
|
||||
# CONSOLE_ENABLE = no # Console for debug(+400b)
|
||||
# MIDI_ENABLE = no
|
||||
# BLUETOOTH_ENABLE = no
|
||||
# AUDIO_ENABLE = no
|
||||
# VARIABLE_TRACE = no
|
||||
# BACKLIGHT_ENABLE = no
|
||||
# RGB_MATRIX_ENABLE = no
|
||||
|
||||
# POINTING_DEVICE_ENABLE = no
|
||||
|
||||
# AUTO_SHIFT_ENABLE = no
|
||||
|
||||
# This don't need argument?
|
||||
# CUSTOM_MATRIX # Custom matrix file for the ErgoDox EZ
|
||||
# SPLIT_KEYBOARD
|
@ -1,41 +0,0 @@
|
||||
//instanalize an instance of 'tap' for the Dot - Comma tap dance.
|
||||
static tap dot_comm_state = {
|
||||
.is_press_action = true,
|
||||
.state = 0
|
||||
};
|
||||
|
||||
void dot_comm_finished(tap_dance_state_t *state, void *user_data) {
|
||||
dot_comm_state.state = current_dance(state);
|
||||
switch (dot_comm_state.state) {
|
||||
case SINGLE_TAP:
|
||||
register_code(KC_DOT);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
register_code(KC_LCTL);
|
||||
register_code(KC_LSFT);
|
||||
break;
|
||||
|
||||
case DOUBLE_TAP:
|
||||
register_code(KC_COMM);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void dot_comm_reset(tap_dance_state_t *state, void *user_data) {
|
||||
switch (dot_comm_state.state) {
|
||||
case SINGLE_TAP:
|
||||
unregister_code(KC_DOT);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
unregister_code(KC_LCTL);
|
||||
unregister_code(KC_LSFT);
|
||||
break;
|
||||
|
||||
case DOUBLE_TAP:
|
||||
unregister_code(KC_COMM);
|
||||
break;
|
||||
}
|
||||
dot_comm_state.state = 0;
|
||||
}
|
@ -1,39 +0,0 @@
|
||||
//instanalize an instance of 'tap' for the H - Mouse - Gui tap dance.
|
||||
static tap h_mouse_gui_state = {
|
||||
.is_press_action = true,
|
||||
.state = 0
|
||||
};
|
||||
|
||||
void h_mouse_gui_finished(tap_dance_state_t *state, void *user_data) {
|
||||
h_mouse_gui_state.state = current_dance(state);
|
||||
switch (h_mouse_gui_state.state) {
|
||||
case SINGLE_TAP:
|
||||
register_code(KC_H);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
layer_on(MOUSE);
|
||||
break;
|
||||
|
||||
case DOUBLE_HOLD:
|
||||
register_code(KC_LGUI);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void h_mouse_gui_reset(tap_dance_state_t *state, void *user_data) {
|
||||
switch (h_mouse_gui_state.state) {
|
||||
case SINGLE_TAP:
|
||||
unregister_code(KC_H);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
layer_off(MOUSE);
|
||||
break;
|
||||
|
||||
case DOUBLE_HOLD:
|
||||
unregister_code(KC_LGUI);
|
||||
break;
|
||||
}
|
||||
h_mouse_gui_state.state = 0;
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
//instanalize an instance of 'tap' for the J - Media - Meh tap dance.
|
||||
static tap j_media_meh_state = {
|
||||
.is_press_action = true,
|
||||
.state = 0
|
||||
};
|
||||
|
||||
void j_media_meh_finished(tap_dance_state_t *state, void *user_data) {
|
||||
j_media_meh_state.state = current_dance(state);
|
||||
switch (j_media_meh_state.state) {
|
||||
case SINGLE_TAP:
|
||||
register_code(KC_J);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
layer_on(MEDIA_FN);
|
||||
break;
|
||||
|
||||
case DOUBLE_HOLD:
|
||||
register_code(KC_LCTL);
|
||||
register_code(KC_LSFT);
|
||||
register_code(KC_LALT);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void j_media_meh_reset(tap_dance_state_t *state, void *user_data) {
|
||||
switch (j_media_meh_state.state) {
|
||||
case SINGLE_TAP:
|
||||
unregister_code(KC_J);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
layer_off(MEDIA_FN);
|
||||
break;
|
||||
|
||||
case DOUBLE_HOLD:
|
||||
unregister_code(KC_LCTL);
|
||||
unregister_code(KC_LSFT);
|
||||
unregister_code(KC_LALT);
|
||||
break;
|
||||
}
|
||||
j_media_meh_state.state = 0;
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
//instanalize an instance of 'tap' for the K - Numpad - Hyper tap dance.
|
||||
static tap k_numpad_hyper_state = {
|
||||
.is_press_action = true,
|
||||
.state = 0
|
||||
};
|
||||
|
||||
void k_numpad_hyper_finished(tap_dance_state_t *state, void *user_data) {
|
||||
k_numpad_hyper_state.state = current_dance(state);
|
||||
switch (k_numpad_hyper_state.state) {
|
||||
case SINGLE_TAP:
|
||||
register_code(KC_K);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
layer_on(NUMPAD);
|
||||
break;
|
||||
|
||||
case DOUBLE_HOLD:
|
||||
register_code(KC_LCTL);
|
||||
register_code(KC_LSFT);
|
||||
register_code(KC_LALT);
|
||||
register_code(KC_LGUI);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void k_numpad_hyper_reset(tap_dance_state_t *state, void *user_data) {
|
||||
switch (k_numpad_hyper_state.state) {
|
||||
case SINGLE_TAP:
|
||||
unregister_code(KC_K);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
layer_off(NUMPAD);
|
||||
break;
|
||||
|
||||
case DOUBLE_HOLD:
|
||||
unregister_code(KC_LCTL);
|
||||
unregister_code(KC_LSFT);
|
||||
unregister_code(KC_LALT);
|
||||
unregister_code(KC_LGUI);
|
||||
break;
|
||||
}
|
||||
k_numpad_hyper_state.state = 0;
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
//instanalize an instance of 'tap' for the M - Chords - Hyper tap dance.
|
||||
static tap m_chords_hyper_state = {
|
||||
.is_press_action = true,
|
||||
.state = 0
|
||||
};
|
||||
|
||||
void m_chords_hyper_finished(tap_dance_state_t *state, void *user_data) {
|
||||
m_chords_hyper_state.state = current_dance(state);
|
||||
switch (m_chords_hyper_state.state) {
|
||||
case SINGLE_TAP:
|
||||
register_code(KC_M);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
layer_on(CHORD);
|
||||
break;
|
||||
|
||||
case DOUBLE_HOLD:
|
||||
register_code(KC_LCTL);
|
||||
register_code(KC_LSFT);
|
||||
register_code(KC_LALT);
|
||||
register_code(KC_LGUI);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void m_chords_hyper_reset(tap_dance_state_t *state, void *user_data) {
|
||||
switch (m_chords_hyper_state.state) {
|
||||
case SINGLE_TAP:
|
||||
unregister_code(KC_M);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
layer_off(CHORD);
|
||||
break;
|
||||
|
||||
case DOUBLE_HOLD:
|
||||
unregister_code(KC_LCTL);
|
||||
unregister_code(KC_LSFT);
|
||||
unregister_code(KC_LALT);
|
||||
unregister_code(KC_LGUI);
|
||||
break;
|
||||
}
|
||||
m_chords_hyper_state.state = 0;
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
//instanalize an instance of 'tap' for the None - Lead tap dance.
|
||||
static tap none_lead_state = {
|
||||
.is_press_action = true,
|
||||
.state = 0
|
||||
};
|
||||
|
||||
void none_lead_finished(tap_dance_state_t *state, void *user_data) {
|
||||
none_lead_state.state = current_dance(state);
|
||||
switch (none_lead_state.state) {
|
||||
case SINGLE_TAP:
|
||||
register_code(KC_NO);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
register_code(KC_LALT);
|
||||
register_code(KC_LSFT);
|
||||
break;
|
||||
|
||||
case DOUBLE_TAP:
|
||||
leader_start();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void none_lead_reset(tap_dance_state_t *state, void *user_data) {
|
||||
switch (none_lead_state.state) {
|
||||
case SINGLE_TAP:
|
||||
unregister_code(KC_NO);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
unregister_code(KC_LALT);
|
||||
unregister_code(KC_LSFT);
|
||||
break;
|
||||
|
||||
case DOUBLE_TAP:
|
||||
break;
|
||||
}
|
||||
none_lead_state.state = 0;
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
//instanalize an instance of 'tap' for the Quote - Double Quote tap dance.
|
||||
static tap quot_dquot_state = {
|
||||
.is_press_action = true,
|
||||
.state = 0
|
||||
};
|
||||
|
||||
void quot_dquot_finished(tap_dance_state_t *state, void *user_data) {
|
||||
quot_dquot_state.state = current_dance(state);
|
||||
switch (quot_dquot_state.state) {
|
||||
case SINGLE_TAP:
|
||||
register_code(KC_QUOT);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
register_code(KC_LCTL);
|
||||
register_code(KC_LALT);
|
||||
break;
|
||||
|
||||
case DOUBLE_TAP:
|
||||
register_code16(KC_DQUO);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void quot_dquot_reset(tap_dance_state_t *state, void *user_data) {
|
||||
switch (quot_dquot_state.state) {
|
||||
case SINGLE_TAP:
|
||||
unregister_code(KC_QUOT);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
unregister_code(KC_LCTL);
|
||||
unregister_code(KC_LALT);
|
||||
break;
|
||||
|
||||
case DOUBLE_TAP:
|
||||
unregister_code16(KC_DQUO);
|
||||
break;
|
||||
}
|
||||
quot_dquot_state.state = 0;
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
//instanalize an instance of 'tap' for the Semicolon - Colon tap dance.
|
||||
static tap scln_coln_state = {
|
||||
.is_press_action = true,
|
||||
.state = 0
|
||||
};
|
||||
|
||||
void scln_coln_finished(tap_dance_state_t *state, void *user_data) {
|
||||
scln_coln_state.state = current_dance(state);
|
||||
switch (scln_coln_state.state) {
|
||||
case SINGLE_TAP:
|
||||
register_code(KC_SCLN);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
register_code(KC_LALT);
|
||||
register_code(KC_LSFT);
|
||||
register_code(KC_LGUI);
|
||||
break;
|
||||
|
||||
case DOUBLE_TAP:
|
||||
register_code16(KC_COLN);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void scln_coln_reset(tap_dance_state_t *state, void *user_data) {
|
||||
switch (scln_coln_state.state) {
|
||||
case SINGLE_TAP:
|
||||
unregister_code(KC_SCLN);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
unregister_code(KC_LALT);
|
||||
unregister_code(KC_LSFT);
|
||||
unregister_code(KC_LGUI);
|
||||
break;
|
||||
|
||||
case DOUBLE_TAP:
|
||||
unregister_code16(KC_COLN);
|
||||
break;
|
||||
}
|
||||
scln_coln_state.state = 0;
|
||||
}
|
@ -1,39 +0,0 @@
|
||||
//instanalize an instance of 'tap' for the U - Arrows - Gui tap dance.
|
||||
static tap u_arrows_gui_state = {
|
||||
.is_press_action = true,
|
||||
.state = 0
|
||||
};
|
||||
|
||||
void u_arrows_gui_finished(tap_dance_state_t *state, void *user_data) {
|
||||
u_arrows_gui_state.state = current_dance(state);
|
||||
switch (u_arrows_gui_state.state) {
|
||||
case SINGLE_TAP:
|
||||
register_code(KC_U);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
layer_on(ARROWS);
|
||||
break;
|
||||
|
||||
case DOUBLE_HOLD:
|
||||
register_code(KC_LGUI);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void u_arrows_gui_reset(tap_dance_state_t *state, void *user_data) {
|
||||
switch (u_arrows_gui_state.state) {
|
||||
case SINGLE_TAP:
|
||||
unregister_code(KC_U);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
layer_off(ARROWS);
|
||||
break;
|
||||
|
||||
case DOUBLE_HOLD:
|
||||
unregister_code(KC_LGUI);
|
||||
break;
|
||||
}
|
||||
u_arrows_gui_state.state = 0;
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
//instanalize an instance of 'tap' for the W - Media - Meh tap dance.
|
||||
static tap w_media_meh_state = {
|
||||
.is_press_action = true,
|
||||
.state = 0
|
||||
};
|
||||
|
||||
void w_media_meh_finished(tap_dance_state_t *state, void *user_data) {
|
||||
w_media_meh_state.state = current_dance(state);
|
||||
switch (w_media_meh_state.state) {
|
||||
case SINGLE_TAP:
|
||||
register_code(KC_W);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
layer_on(MEDIA_FN);
|
||||
break;
|
||||
|
||||
case DOUBLE_HOLD:
|
||||
register_code(KC_LCTL);
|
||||
register_code(KC_LSFT);
|
||||
register_code(KC_LALT);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void w_media_meh_reset(tap_dance_state_t *state, void *user_data) {
|
||||
switch (w_media_meh_state.state) {
|
||||
case SINGLE_TAP:
|
||||
unregister_code(KC_W);
|
||||
break;
|
||||
|
||||
case SINGLE_HOLD:
|
||||
layer_off(MEDIA_FN);
|
||||
break;
|
||||
|
||||
case DOUBLE_HOLD:
|
||||
unregister_code(KC_LCTL);
|
||||
unregister_code(KC_LSFT);
|
||||
unregister_code(KC_LALT);
|
||||
break;
|
||||
}
|
||||
w_media_meh_state.state = 0;
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
// Register the double tap dances:
|
||||
tap_dance_action_t tap_dance_actions[] = {
|
||||
[EQL_PLUS] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS),
|
||||
[MINS_UNDS] = ACTION_TAP_DANCE_DOUBLE(KC_MINS, KC_UNDS),
|
||||
[SLSH_BSLS] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_BSLS),
|
||||
[GRV_TILD] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_TILD),
|
||||
[ASTR_CIRC] = ACTION_TAP_DANCE_DOUBLE(KC_ASTR, KC_CIRC),
|
||||
[APMR_PIPE] = ACTION_TAP_DANCE_DOUBLE(KC_AMPR, KC_PIPE),
|
||||
[EXLM_QUES] = ACTION_TAP_DANCE_DOUBLE(KC_EXLM, KC_QUES),
|
||||
[HASH_PERC] = ACTION_TAP_DANCE_DOUBLE(KC_HASH, KC_PERC),
|
||||
[AT_DLR] = ACTION_TAP_DANCE_DOUBLE(KC_AT, KC_DLR),
|
||||
[LPRN_LBRC] = ACTION_TAP_DANCE_DOUBLE(KC_LPRN, KC_LBRC),
|
||||
[RPRN_RBRC] = ACTION_TAP_DANCE_DOUBLE(KC_RPRN, KC_RBRC),
|
||||
[LCBR_LABK] = ACTION_TAP_DANCE_DOUBLE(KC_LCBR, KC_LABK),
|
||||
[RCBR_RABK] = ACTION_TAP_DANCE_DOUBLE(KC_RCBR, KC_RABK),
|
||||
[SCLN_COLN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, scln_coln_finished, scln_coln_reset),
|
||||
[QUOT_DQUO] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, quot_dquot_finished, quot_dquot_reset),
|
||||
[DOT_COMM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dot_comm_finished, dot_comm_reset),
|
||||
[NONE_LEAD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, none_lead_finished, none_lead_reset),
|
||||
[U_ARR_GUI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, u_arrows_gui_finished, u_arrows_gui_reset),
|
||||
[H_MOU_GUI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, h_mouse_gui_finished, h_mouse_gui_reset),
|
||||
[J_MED_MEH] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, j_media_meh_finished, j_media_meh_reset),
|
||||
[W_MED_MEH] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, w_media_meh_finished, w_media_meh_reset),
|
||||
[K_NUM_HYP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, k_numpad_hyper_finished, k_numpad_hyper_reset),
|
||||
[M_CHO_HYP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, m_chords_hyper_finished, m_chords_hyper_reset),
|
||||
};
|
||||
|
||||
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case TD(SCLN_COLN):
|
||||
case TD(QUOT_DQUO):
|
||||
case TD(DOT_COMM):
|
||||
case TD(NONE_LEAD):
|
||||
case TD(U_ARR_GUI):
|
||||
case TD(H_MOU_GUI):
|
||||
case TD(J_MED_MEH):
|
||||
case TD(W_MED_MEH):
|
||||
case TD(K_NUM_HYP):
|
||||
case TD(M_CHO_HYP):
|
||||
return DANCING_TERM;
|
||||
default:
|
||||
return TAPPING_TERM;
|
||||
}
|
||||
}
|
@ -1,75 +0,0 @@
|
||||
typedef struct {
|
||||
bool is_press_action;
|
||||
int state;
|
||||
} tap;
|
||||
|
||||
enum {
|
||||
SINGLE_TAP = 1,
|
||||
SINGLE_HOLD = 2,
|
||||
DOUBLE_TAP = 3,
|
||||
DOUBLE_HOLD = 4,
|
||||
DOUBLE_SINGLE_TAP = 5, // Send two single taps.
|
||||
TRIPLE_TAP = 6,
|
||||
TRIPLE_HOLD = 7,
|
||||
TRIPLE_SINGLE_TAP = 8 // Send three single taps.
|
||||
};
|
||||
|
||||
/* Return an integer that corresponds to what kind of tap dance should be executed.
|
||||
*
|
||||
* How to figure out tap dance state: interrupted and pressed.
|
||||
*
|
||||
* Interrupted: If the state of a dance dance is "interrupted", that means that another key has been hit
|
||||
* under the tapping term. This is typically indicitive that you are trying to "tap" the key.
|
||||
*
|
||||
* Pressed: Whether or not the key is still being pressed. If this value is true, that means the tapping term
|
||||
* has ended, but the key is still being pressed down. This generally means the key is being "held".
|
||||
*
|
||||
* One thing that is currenlty not possible with qmk software in regards to tap dance is to mimic the "permissive hold"
|
||||
* feature. In general, advanced tap dances do not work well if they are used with commonly typed letters.
|
||||
* For example "A". Tap dances are best used on non-letter keys that are not hit while typing letters.
|
||||
*
|
||||
* Good places to put an advanced tap dance:
|
||||
* z,q,x,j,k,v,b, any function key, home/end, comma, semi-colon
|
||||
*
|
||||
* Criteria for "good placement" of a tap dance key:
|
||||
* Not a key that is hit frequently in a sentence
|
||||
* Not a key that is used frequently to double tap, for example 'tab' is often double tapped in a terminal, or
|
||||
* in a web form. So 'tab' would be a poor choice for a tap dance.
|
||||
* Letters used in common words as a double. For example 'p' in 'pepper'. If a tap dance function existed on the
|
||||
* letter 'p', the word 'pepper' would be quite frustating to type.
|
||||
*
|
||||
* For the third point, there does exist the 'DOUBLE_SINGLE_TAP', however this is not fully tested
|
||||
*
|
||||
*/
|
||||
int current_dance(tap_dance_state_t *state) {
|
||||
int current_state = 0;
|
||||
if (state->count == 1) {
|
||||
if (state->interrupted || !state->pressed) {
|
||||
current_state = SINGLE_TAP;
|
||||
} else {
|
||||
current_state = SINGLE_HOLD; //key has not been interrupted, but they key is still held. Means you want to send a 'HOLD'.
|
||||
}
|
||||
} else if (state->count == 2) {
|
||||
/*
|
||||
* DOUBLE_SINGLE_TAP is to distinguish between typing "pepper", and actually wanting a double tap
|
||||
* action when hitting 'pp'. Suggested use case for this return value is when you want to send two
|
||||
* keystrokes of the key, and not the 'double tap' action/macro.
|
||||
*/
|
||||
if (state->interrupted) {
|
||||
current_state = DOUBLE_SINGLE_TAP;
|
||||
} else if (state->pressed) {
|
||||
current_state = DOUBLE_HOLD;
|
||||
} else {
|
||||
current_state = DOUBLE_TAP;
|
||||
}
|
||||
} else if (state->count == 3) {
|
||||
if (state->interrupted) {
|
||||
current_state = TRIPLE_SINGLE_TAP;
|
||||
} else if (state->pressed) {
|
||||
current_state = TRIPLE_HOLD;
|
||||
} else {
|
||||
current_state = TRIPLE_TAP;
|
||||
}
|
||||
}
|
||||
return current_state;
|
||||
}
|
@ -1,98 +0,0 @@
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
// Single tap | Single hold | Double tap | Double hold | Triple tap | Triple hold //
|
||||
// Mod tap dances: // | | | | | //
|
||||
enum tap_dances { //--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
EQL_PLUS = 0, // = | | + | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
MINS_UNDS = 1, // - | | _ | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
SLSH_BSLS = 2, // / | | \ | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
GRV_TILD = 3, // ` | | ~ | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
QUOT_DQUO = 4, // ' | CTRL+ALT | " | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
SCLN_COLN = 5, // ; |ALT+SHIFT+META | : | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
ASTR_CIRC = 6, // * | | ^ | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
APMR_PIPE = 7, // & | | | | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
EXLM_QUES = 8, // ! | | ? | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
HASH_PERC = 9, // # | | % | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
AT_DLR = 10, // @ | | $ | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
LPRN_LBRC = 11, // ( | | [ | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
RPRN_RBRC = 12, // ) | | ] | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
LCBR_LABK = 13, // { | | < | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
RCBR_RABK = 14, // } | | > | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
DOT_COMM = 15, // . | CTRL+SHIFT | , | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
NONE_LEAD = 16, // NONE | ALT+SHIFT | LEAD | | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
U_ARR_GUI = 17, // U | ARROWS | | GUI | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
H_MOU_GUI = 18, // H | MOUSE | | GUI | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
J_MED_MEH = 19, // J | MEDIA_FN | | MEH | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
W_MED_MEH = 20, // W | MEDIA_FN | | MEH | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
K_NUM_HYP = 21, // K | NUMPAD | | HYPER | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
// | | | | | //
|
||||
M_CHO_HYP = 22, // M | CHORD | | HYPER | | //
|
||||
// | | | | | //
|
||||
//--------------------------------------------------------------------------------------------//
|
||||
};
|
@ -1,3 +0,0 @@
|
||||
// void eeconfig_init_user(void) {
|
||||
//
|
||||
// };
|
@ -1,121 +0,0 @@
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
uint8_t layer = get_highest_layer(state);
|
||||
|
||||
switch (layer) {
|
||||
case DVORAK:
|
||||
rgblight_sethsv_noeeprom(HSV_GREEN);
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
|
||||
if (PLOVER_MODE) {
|
||||
plover_toggle();
|
||||
PLOVER_MODE = false;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case PLOVER:
|
||||
rgblight_sethsv_noeeprom(HSV_RED);
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
|
||||
|
||||
if (!(PLOVER_MODE)) {
|
||||
plover_toggle();
|
||||
PLOVER_MODE = true;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case GAMING:
|
||||
rgblight_sethsv_noeeprom(HSV_RED);
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
|
||||
|
||||
if (PLOVER_MODE) {
|
||||
plover_toggle();
|
||||
PLOVER_MODE = false;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case ARROWS:
|
||||
rgblight_sethsv_noeeprom(HSV_BLUE);
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
|
||||
|
||||
if (PLOVER_MODE) {
|
||||
plover_toggle();
|
||||
PLOVER_MODE = false;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case MOUSE:
|
||||
rgblight_sethsv_noeeprom(HSV_BLUE);
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
|
||||
|
||||
if (PLOVER_MODE) {
|
||||
plover_toggle();
|
||||
PLOVER_MODE = false;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case NUMPAD:
|
||||
rgblight_sethsv_noeeprom(HSV_BLUE);
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
|
||||
|
||||
if (PLOVER_MODE) {
|
||||
plover_toggle();
|
||||
PLOVER_MODE = false;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case LAYERS:
|
||||
rgblight_sethsv_noeeprom(HSV_CYAN);
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
|
||||
|
||||
if (PLOVER_MODE) {
|
||||
plover_toggle();
|
||||
PLOVER_MODE = false;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case MEDIA_FN:
|
||||
rgblight_sethsv_noeeprom(HSV_YELLOW);
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
|
||||
|
||||
if (PLOVER_MODE) {
|
||||
plover_toggle();
|
||||
PLOVER_MODE = false;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case CHORD:
|
||||
rgblight_sethsv_noeeprom(HSV_MAGENTA);
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
|
||||
|
||||
if (PLOVER_MODE) {
|
||||
plover_toggle();
|
||||
PLOVER_MODE = false;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case FIRMWARE:
|
||||
rgblight_sethsv_noeeprom(HSV_MAGENTA);
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
|
||||
|
||||
if (PLOVER_MODE) {
|
||||
plover_toggle();
|
||||
PLOVER_MODE = false;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
bool MATRIX_SCANNED = false;
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
if (!(MATRIX_SCANNED)) {
|
||||
rgblight_sethsv_noeeprom(HSV_GREEN);
|
||||
MATRIX_SCANNED = true;
|
||||
}
|
||||
};
|
||||
|
||||
void leader_end_user(void) {
|
||||
if (leader_sequence_one_key(TD(APMR_PIPE))) {
|
||||
register_code(KC_LCTL);
|
||||
register_code(KC_LSFT);
|
||||
register_code(KC_U);
|
||||
|
||||
unregister_code(KC_U);
|
||||
unregister_code(KC_LSFT);
|
||||
unregister_code(KC_LCTL);
|
||||
}
|
||||
}
|
@ -1,75 +0,0 @@
|
||||
// TODO: Improve this currently there is no feedback if activated by other means.
|
||||
bool CAPS_LOCK = false;
|
||||
bool NUM_LOCK = false;
|
||||
bool SCROLL_LOCK = false;
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_record_dynamic_macro(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
switch (keycode) {
|
||||
case KC_CAPS_LOCK:
|
||||
if (record->event.pressed) {
|
||||
if (!(CAPS_LOCK)) {
|
||||
ergodox_right_led_1_on();
|
||||
CAPS_LOCK = true;
|
||||
} else {
|
||||
ergodox_right_led_1_off();
|
||||
CAPS_LOCK = false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
case KC_NUM_LOCK:
|
||||
if (record->event.pressed) {
|
||||
if (!(NUM_LOCK)) {
|
||||
ergodox_right_led_2_on();
|
||||
NUM_LOCK = true;
|
||||
} else {
|
||||
ergodox_right_led_2_off();
|
||||
NUM_LOCK = false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
case KC_SCROLL_LOCK:
|
||||
if (record->event.pressed) {
|
||||
if (!(SCROLL_LOCK)) {
|
||||
ergodox_right_led_3_on();
|
||||
SCROLL_LOCK = true;
|
||||
} else {
|
||||
ergodox_right_led_3_off();
|
||||
SCROLL_LOCK = false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
case KC_MS_WH_UP ... KC_MS_WH_RIGHT:
|
||||
if (record->event.pressed) {
|
||||
if (SCROLL_LOCK) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
case MY_CUSTOM_MACRO:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("QMK is the best thing ever!"); // this is our macro!
|
||||
return false;
|
||||
}
|
||||
|
||||
case MY_OTHER_MACRO:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(SS_LCTL("ac")); // selects all and copies
|
||||
return false;
|
||||
}
|
||||
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// lshift split, backspace split, full ANSI enter, full right shift
|
||||
#define LAYOUT_BZIO( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
|
||||
K40, K41, K42, K45, K4A, K4B, K4C, K4D \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D }, \
|
||||
{ K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D } \
|
||||
}
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* 0: HHKB with hyper key where ctrl used to be, and right half of left
|
||||
shift used as a key lock */
|
||||
LAYOUT_BZIO(
|
||||
KC_ESC, 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_BSLS, KC_GRV,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, 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_QUOT, KC_ENT,
|
||||
KC_LSFT, QK_LOCK, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_HYPR, KC_LGUI, KC_LALT, LT(1, KC_SPC), KC_RALT, KC_RGUI, KC_APP, KC_RCTL),
|
||||
|
||||
/* 1: spacefn with WASD arrows/navigation block and extra space key for
|
||||
realignment of source code, plus IJKL mouse arrows, volume up/down in <>,
|
||||
and caps lock where it used to be */
|
||||
LAYOUT_BZIO(
|
||||
KC_ESC, 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_PGUP, KC_UP, KC_PGDN, KC_INSERT, KC_MS_BTN2, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
|
||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DELETE, KC_MS_BTN1, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_HOME, KC_SPC, KC_END, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
};
|
@ -1 +0,0 @@
|
||||
KEY_LOCK_ENABLE = yes
|
@ -1,96 +0,0 @@
|
||||
# [dragonchasers](https://github.com/dragonchaser) GH60 layout
|
||||
|
||||
Layout derived from the default GH60 keymap.
|
||||
|
||||
![Photo of the keyboard](https://pbs.twimg.com/media/DQzlD0yX0AA8spX.jpg)
|
||||
|
||||
## Layers
|
||||
|
||||
### Base Layer
|
||||
```
|
||||
,-----------------------------------------------------------.
|
||||
|Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
|
||||
|-----------------------------------------------------------|
|
||||
|Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
|
||||
|-----------------------------------------------------------|
|
||||
|FN | A| S| D| F| G| H| J| K| L| ;| '|Return |
|
||||
|-----------------------------------------------------------|
|
||||
|Shift | Z| X| C| V| B| N| M| ,| .| /| Up |FN |
|
||||
|-----------------------------------------------------------|
|
||||
|Ctrl|Gui |Alt | Space |Alt |Left |Down|Right|
|
||||
`-----------------------------------------------------------'
|
||||
|
||||
Note: right FN triggers function layer,
|
||||
left FN(CAPS) is a one-shot button for the macro layer
|
||||
```
|
||||
|
||||
### Function Layer
|
||||
```
|
||||
,-----------------------------------------------------------.
|
||||
|GRV|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| DEL |
|
||||
|-----------------------------------------------------------|
|
||||
| MB3|MB2|MUP|MB1|MWU| | | |INS| |RST| | |Print|
|
||||
|-----------------------------------------------------------|
|
||||
| | ML|MDN|MR |MWD| | | | | | | |
|
||||
|-----------------------------------------------------------|
|
||||
|CAPS | | | | | | | | | | |PGUP| |
|
||||
|-----------------------------------------------------------|
|
||||
| | | | |Ctrl|HOME|PGD |END |
|
||||
`-----------------------------------------------------------'
|
||||
```
|
||||
|
||||
### Macro Layer
|
||||
```
|
||||
,-----------------------------------------------------------.
|
||||
|DEF| |DUE| | | | | | | | | |GAM| ARR|
|
||||
|-----------------------------------------------------------|
|
||||
| |MAG|CLO|DUT|RBS|TIG| | | |COU|PSH| | | |
|
||||
|-----------------------------------------------------------|
|
||||
| |ADD|STS|DFF|FTC|PLL| | |LOG| | | |
|
||||
|-----------------------------------------------------------|
|
||||
| | | |COM| |BRN| | | | |MUT|VOL+|PLPA|
|
||||
|-----------------------------------------------------------|
|
||||
| | | | |APP |PREV|VOL-|NEXT|
|
||||
`-----------------------------------------------------------'
|
||||
|
||||
Abbreviations:
|
||||
--------------
|
||||
DEF - return to default layer
|
||||
DUE - enable git duet mode
|
||||
GAM - backlight WASD
|
||||
ARR - backlight arrows
|
||||
-
|
||||
MAG - git submodule sync --recursive \
|
||||
&& git submodule update --init --recursive \
|
||||
&& git submodule foreach --recursive "git co . \
|
||||
&& git reset --hard && git clean -dffx"
|
||||
CLO - git clone
|
||||
DUT - git duet (when in duet mode)
|
||||
RBS - git rebase
|
||||
TIG - tig
|
||||
COU - git checkout
|
||||
PSH - git push
|
||||
-
|
||||
ADD - git add
|
||||
STS - git status
|
||||
DFF - git diff
|
||||
FTC - git fetch
|
||||
PLL - git pull
|
||||
LOG - git log
|
||||
-
|
||||
COM - git commit (or git duet commit if in duet mode)
|
||||
BRN - git branch
|
||||
MUT - audio mute
|
||||
VOL+ - increase volume
|
||||
PLPA - play/pause
|
||||
-
|
||||
APP - application (windows menu key)
|
||||
PREV - previous song
|
||||
VOL- - decrease volume
|
||||
NEXT - next song
|
||||
|
||||
Note: git commands are SEND_STRING macros sent to the
|
||||
currently focused window Make sure it is your terminal :)
|
||||
```
|
||||
|
||||
**NOTE:** an outdated version of this keymap is also present for the Satan keyboard, which is no longer maintained since I could not get my hands on a properly working PCB.
|
@ -1,328 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include <util/delay.h>
|
||||
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _QW 0
|
||||
#define _FL 1
|
||||
#define _MC 2
|
||||
|
||||
bool git_duet = false;
|
||||
bool backlight_arrows = false;
|
||||
bool backlight_gaming = false;
|
||||
enum custom_keycodes {
|
||||
/* GIT related keycodes */
|
||||
G_ADD = SAFE_RANGE, G_BRN, G_COM, G_COU, G_CLO,
|
||||
G_DFF, G_DUE, G_DUT, G_FTC, G_LOG, G_MAG, G_MRG,
|
||||
G_MRT, G_PSH, G_PLL, G_RBS, G_STH, G_STS, G_TIG,
|
||||
|
||||
/* Multi-media related keycodes */
|
||||
A_MUTE, A_NEXT, A_PLPA, A_PREV, A_VOUP, A_VDWN,
|
||||
|
||||
/* System related shortcuts */
|
||||
F_BTN, M_WAPP, K_ARR, K_WASD,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/*
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
|
||||
* |-----------------------------------------------------------|
|
||||
* |FN | A| S| D| F| G| H| J| K| L| ;| '|Return |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /| FN |Up |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Ctrl|Gui |Alt | Space |Alt |Left |Down|Right|
|
||||
* `-----------------------------------------------------------'
|
||||
*
|
||||
* Note: right FN triggers function layer,
|
||||
* left FN is a one-shot button for the macro layer
|
||||
*/
|
||||
/* Layer 0: Qwerty */
|
||||
[_QW] = LAYOUT_60_ansi_split_rshift(
|
||||
KC_ESC, 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_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
OSL(_MC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, F_BTN, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
/*
|
||||
* ,-----------------------------------------------------------.
|
||||
* |GRV|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| DEL |
|
||||
* |-----------------------------------------------------------|
|
||||
* | MB3|MB2|MUP|MB1|MWU| | | |INS| |RST| | |Print|
|
||||
* |-----------------------------------------------------------|
|
||||
* | | ML|MDN|MR |MWD| | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* |CAPS | | | | | | | | | | |PGUP| |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | |Ctrl|HOME|PGD |END |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
/* Layer 1: Functions */
|
||||
[_FL] = LAYOUT_60_ansi_split_rshift(
|
||||
KC_GRV, 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_DEL,
|
||||
KC_BTN3, KC_BTN2, KC_MS_U, KC_BTN1, KC_WH_U, _______, _______, _______, KC_INS, _______, QK_BOOT, _______, _______, KC_PSCR,
|
||||
KC_CAPS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, KC_TILD,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
|
||||
_______, _______, _______, _______, KC_RCTL, KC_HOME, KC_PGDN, KC_END
|
||||
),
|
||||
|
||||
/*
|
||||
* ,-----------------------------------------------------------.
|
||||
* |DEF| |DUE| | | | | | | | | |GAM| ARR|
|
||||
* |-----------------------------------------------------------|
|
||||
* | |MAG|CLO|DUT|RBS|TIG|MRT| | |COU|PSH| | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | |ADD|STS|DFF|FTC|PLL|MRG| |STH|LOG| | | F_OFF|
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | |COM| |BRN| | | | |MUT|VOL+|PLPA|
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | |APP |PREV|VOL-|NEXT|
|
||||
* `-----------------------------------------------------------'
|
||||
*
|
||||
* Abbreviations:
|
||||
* --------------
|
||||
* DEF - return to default layer
|
||||
* DUE - enable git duet mode
|
||||
* CLO - git clone
|
||||
* DUT - git duet (when in duet mode)
|
||||
* RBS - git rebase
|
||||
* MAG - git submodule sync --recursive && git submodule update --init --recursive && git submodule foreach --recursive "git co . && git reset --hard && git clean -dffx"
|
||||
* TIG - tig
|
||||
* MRG - git merge
|
||||
* MRT - git mergetool
|
||||
* COU - git checkout
|
||||
* PSH - git push
|
||||
* ADD - git add
|
||||
* STS - git status
|
||||
* DFF - git diff
|
||||
* FTC - git fetch
|
||||
* PLL - git pull
|
||||
* STH - git stash
|
||||
* LOG - git log
|
||||
* COM - git commit (or git duet commit if in duet mode)
|
||||
* BRN - git branch
|
||||
* APP - application (windows menu key)
|
||||
* MUT - audio mute
|
||||
* VOL+ - increase volume
|
||||
* VOL- - decrease volume
|
||||
* PLPA - play/pause
|
||||
* PREV - previous song
|
||||
* NEXT - next song
|
||||
* ARR - backlight arrow keys
|
||||
* GAM - backlight WASD
|
||||
*
|
||||
* Note: git commands are SEND_STRING macros sent to the
|
||||
* currently focused window Make sure it is your terminal :)
|
||||
*/
|
||||
/* Layer 2: Macros (Git & Multimedia) */
|
||||
[_MC] = LAYOUT_60_ansi_split_rshift(
|
||||
TO(_QW), XXXXXXX, G_DUE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, K_WASD, K_ARR,
|
||||
XXXXXXX, G_MAG, G_CLO, G_DUT, G_RBS, G_TIG, G_MRT, XXXXXXX, XXXXXXX, G_COU, G_PSH, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, G_ADD, G_STS, G_DFF, G_FTC, G_PLL, G_MRG, XXXXXXX, G_STH, G_LOG, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, G_COM, XXXXXXX, G_BRN, XXXXXXX, XXXXXXX, XXXXXXX, A_MUTE, A_PLPA, A_VOUP,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_WAPP, A_PREV, A_VDWN, A_NEXT
|
||||
),
|
||||
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
switch(keycode) {
|
||||
/*
|
||||
* Begin git layer
|
||||
*/
|
||||
case G_ADD:
|
||||
SEND_STRING("git add ");
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_BRN:
|
||||
SEND_STRING("git branch\n");
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_CLO:
|
||||
SEND_STRING("git clone ");
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_COM:
|
||||
if(git_duet) {
|
||||
SEND_STRING("git duet-commit ");
|
||||
} else {
|
||||
SEND_STRING("git commit ");
|
||||
}
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_COU:
|
||||
SEND_STRING("git checkout ");
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_DFF:
|
||||
SEND_STRING("git diff\n");
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_DUE:
|
||||
git_duet = !git_duet;
|
||||
if(git_duet) {
|
||||
gh60_esc_led_on();
|
||||
} else {
|
||||
gh60_esc_led_off();
|
||||
}
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_DUT:
|
||||
if(git_duet) {
|
||||
SEND_STRING("git duet ");
|
||||
}
|
||||
layer_off(_MC);
|
||||
return false; break;
|
||||
case G_FTC:
|
||||
SEND_STRING("git fetch ");
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_LOG:
|
||||
SEND_STRING("git log --graph\n");
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_MAG:
|
||||
// This is some git-magic to resync recursive submodule structures inside git projects (thx to https://github.com/jimmykarily)
|
||||
SEND_STRING("git submodule sync --recursive && git submodule update --init --recursive && git submodule foreach --recursive \" git co . && git reset --hard && git clean -dffx \" \n");
|
||||
layer_off(_MC);
|
||||
return false; break;
|
||||
case G_MRG:
|
||||
SEND_STRING("git merge ");
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_MRT:
|
||||
SEND_STRING("git mergetool ");
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_PLL:
|
||||
SEND_STRING("git pull ");
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_PSH:
|
||||
SEND_STRING("git push ");
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_RBS:
|
||||
SEND_STRING("git rebase ");
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_STH:
|
||||
SEND_STRING("git stash ");
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_STS:
|
||||
SEND_STRING("git status\n");
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case G_TIG:
|
||||
SEND_STRING("tig\n");
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
/*
|
||||
* End git layer
|
||||
*/
|
||||
|
||||
/*
|
||||
* Begin multimedia keys
|
||||
*/
|
||||
case A_MUTE:
|
||||
register_code(KC_AUDIO_MUTE);
|
||||
unregister_code(KC_AUDIO_MUTE);
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case A_PLPA:
|
||||
register_code(KC_MEDIA_PLAY_PAUSE);
|
||||
unregister_code(KC_MEDIA_PLAY_PAUSE);
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case A_VOUP:
|
||||
register_code(KC_AUDIO_VOL_UP);
|
||||
return false;break;
|
||||
case A_VDWN:
|
||||
register_code(KC_AUDIO_VOL_DOWN);
|
||||
return false;break;
|
||||
case A_PREV:
|
||||
register_code(KC_MEDIA_PREV_TRACK);
|
||||
unregister_code(KC_MEDIA_PREV_TRACK);
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case A_NEXT:
|
||||
register_code(KC_MEDIA_NEXT_TRACK);
|
||||
unregister_code(KC_MEDIA_NEXT_TRACK);
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
/*
|
||||
* End multimedia keys
|
||||
*/
|
||||
|
||||
// Tap dance to get the app button mapped
|
||||
case M_WAPP:
|
||||
register_code(KC_APP);
|
||||
unregister_code(KC_APP);
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
|
||||
/*
|
||||
* Begin multimedia keys
|
||||
*/
|
||||
case K_ARR:
|
||||
backlight_arrows = !backlight_arrows;
|
||||
if(backlight_arrows) {
|
||||
gh60_poker_leds_on();
|
||||
} else {
|
||||
gh60_poker_leds_off();
|
||||
}
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case K_WASD:
|
||||
backlight_gaming = !backlight_gaming;
|
||||
if(backlight_gaming) {
|
||||
gh60_wasd_leds_on();
|
||||
} else {
|
||||
gh60_wasd_leds_off();
|
||||
}
|
||||
layer_off(_MC);
|
||||
return false; break;
|
||||
case F_BTN:
|
||||
gh60_fn_led_on();
|
||||
layer_on(_FL);
|
||||
return false;break;
|
||||
}
|
||||
/*
|
||||
* End multimedia keys
|
||||
*/
|
||||
|
||||
} else {
|
||||
switch(keycode) {
|
||||
/*
|
||||
* Oneshots that will switch back to the default layer on KEY_UP
|
||||
*/
|
||||
case A_VOUP:
|
||||
unregister_code(KC_AUDIO_VOL_UP);
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case A_VDWN:
|
||||
unregister_code(KC_AUDIO_VOL_DOWN);
|
||||
layer_off(_MC);
|
||||
return false;break;
|
||||
case F_BTN:
|
||||
layer_off(_FL);
|
||||
gh60_fn_led_off();
|
||||
return false;break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
@ -1,78 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _DEFAULT 0
|
||||
#define _FN 1
|
||||
|
||||
enum custom_keycodes {
|
||||
LED_TOGGLE = SAFE_RANGE
|
||||
};
|
||||
|
||||
int esc_led = 0;
|
||||
|
||||
// Fillers to make layering more clear
|
||||
#define ______ KC_TRNS
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Qwerty gui/alt/space/alt/gui
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* |LGUI | LAlt | Space | RAlt |RGUI |
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[_DEFAULT] = LAYOUT_60_ansi_split_bs_rshift( /* Basic QWERTY */
|
||||
KC_ESC, 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_BSLS, KC_GRV,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, 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_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
|
||||
______, KC_LGUI, KC_LALT, KC_SPC, ______, KC_RALT, KC_RGUI, ______
|
||||
),
|
||||
|
||||
/* FN Layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | Led | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | CAPS | | | | | | | | Psc | Slck| Paus| Up | | |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | Prev| Play| Next| | | + | - | End |PgDn| Down| | |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | | | Stop | |
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[_FN] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 1 */
|
||||
LED_TOGGLE,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_INS, KC_DEL,
|
||||
KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, ______, ______,
|
||||
______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT,______,
|
||||
______, KC_MPRV, KC_MPLY, KC_MNXT, ______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, ______, ______,
|
||||
______, ______, ______, ______, ______, KC_MSTP, ______, ______
|
||||
)
|
||||
};
|
||||
|
||||
void esc_led_toggle(void) {
|
||||
if (esc_led == 0){
|
||||
esc_led = 1;
|
||||
gh60_esc_led_on();
|
||||
} else {
|
||||
esc_led = 0;
|
||||
gh60_esc_led_off();
|
||||
}
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case LED_TOGGLE:
|
||||
if (record->event.pressed) {
|
||||
esc_led_toggle();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
@ -1 +0,0 @@
|
||||
SLEEP_LED_ENABLE = yes
|
@ -1,48 +0,0 @@
|
||||
/* Copyright 2018 Funderburker
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
ISO HHKB layout:
|
||||
|
||||
* 2u Backspace
|
||||
* ISO Enter
|
||||
* split left Shift
|
||||
* split right Shift
|
||||
* Caps as Control
|
||||
* 1u/1.5u/7u/1.5u//1u bottom row
|
||||
*/
|
||||
|
||||
/* 0: QWERTY */
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, 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_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NO,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
|
||||
KC_LSFT, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(1), KC_RSFT,
|
||||
KC_NO, KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_NO, KC_RALT, KC_CAPS, KC_NO
|
||||
),
|
||||
|
||||
/* 1: Fn layer */
|
||||
[1] = LAYOUT(
|
||||
KC_ESC, 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_DEL,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, KC_UP, _______, _______,
|
||||
_______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______,
|
||||
_______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_DOWN, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
@ -1,34 +0,0 @@
|
||||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define WS2812_DI_PIN F4
|
||||
#define RGBLED_NUM 8
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
@ -1,112 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _BL 0
|
||||
#define _AL 1
|
||||
#define _FL 2
|
||||
#define _UL 3
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* Base layer, pretty standard ANSI layout.
|
||||
* ,-----------------------------------------------------------.
|
||||
* |F(12)| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
|
||||
* |-----------------------------------------------------------|
|
||||
* |Caps/Fn| A| S| D| F| G| H| J| K| L| ;| '|Return |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Ctrl|Gui |Alt | Space |Alt |Fn |Menu|Ctrl|
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_BL] = LAYOUT(
|
||||
QK_GESC,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_BSPC,
|
||||
KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,KC_BSLS,
|
||||
LT(2, KC_CAPS),KC_A,KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,KC_NO,KC_ENT,
|
||||
KC_LSFT,KC_NO,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_NO,KC_RSFT,
|
||||
KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_NO,KC_RALT,MO(2),KC_APP,KC_RCTL),
|
||||
|
||||
/*
|
||||
* Locking arrow keys to WASD for when you need dedicated arrow keys
|
||||
* ,-----------------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | |Up | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | |Left|Down|Rght| | | | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_AL] = LAYOUT(
|
||||
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_UP,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_LEFT,KC_DOWN,KC_RGHT,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),
|
||||
|
||||
|
||||
/*
|
||||
* Primary function layer, mostly the same as the traditional Pok3r layout.
|
||||
* ,-------------------------------------------------------------.
|
||||
* |`~ | F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|DEL |
|
||||
* |-------------------------------------------------------------|
|
||||
* | |_AL| | | | |Calc|PgUp|Up|PgDn|Ptscn|Srlck|Pause| |
|
||||
* |-------------------------------------------------------------|
|
||||
* | | | | | | |Home|Left|Down|Rght|Ins| | |
|
||||
* |-------------------------------------------------------------|
|
||||
* | |_UL| | | | | | | | | | |
|
||||
* |-------------------------------------------------------------|
|
||||
* | | | | | | | | |
|
||||
* `-------------------------------------------------------------'
|
||||
*/
|
||||
[_FL] = LAYOUT(
|
||||
KC_GRAVE,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_DELETE,
|
||||
KC_TRNS,TG(1),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_CALC,KC_PGUP,KC_UP,KC_PGDN,KC_PSCR,KC_SCRL,KC_PAUS,KC_TRNS,
|
||||
KC_TRNS,KC_MUTE,KC_VOLD,KC_VOLU,KC_TRNS,KC_TRNS,KC_HOME,KC_LEFT,KC_DOWN,KC_RGHT,KC_INS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,TG(3),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_END,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),
|
||||
|
||||
/*
|
||||
* Locking layer for controlling the underglow.
|
||||
*
|
||||
* ,-----------------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | |On|Mode| | | | | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | |Hue+|Hue-|Sat+|Sat-|Val+|Val-| | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_UL] = LAYOUT(
|
||||
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,RGB_TOG,RGB_MOD,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,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,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),
|
||||
};
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
// Layer LED indicators
|
||||
// ESC led on when in function layer, WASD cluster leds enabled when on arrow cluster
|
||||
layer_state_t layer = layer_state;
|
||||
if (layer & (1<<1)) {
|
||||
gh60_wasd_leds_on();
|
||||
} else {
|
||||
gh60_wasd_leds_off();
|
||||
}
|
||||
|
||||
if (layer & (1<<2)) {
|
||||
gh60_esc_led_on();
|
||||
} else {
|
||||
gh60_esc_led_off();
|
||||
}
|
||||
};
|
@ -1,16 +0,0 @@
|
||||
robotmaxtron's GH60 Layout
|
||||
=====================
|
||||
|
||||
##Quantum MK Firmware
|
||||
For the full Quantum feature list, see the parent readme.md.
|
||||
|
||||
* Standard ANSI layout with Pok3r styled function layers
|
||||
* ESC key led enables when on function layer
|
||||
* Lockable layer with arrow keys on WASD with backlighting to indicate locked on arrow layer
|
||||
* Neopixel/WS2812 RGB Underglow Support
|
||||
|
||||
## Reference Images
|
||||
![Wiring Refererence](https://i.imgur.com/BkJ39JD.jpg)
|
||||
|
||||
### Additional Credits
|
||||
Keymap has been based on various keymaps available from the QMK Repo for the GH60-SATAN and KC60 keyboards.
|
@ -1 +0,0 @@
|
||||
RGBLIGHT_ENABLE = yes
|
@ -1,18 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* 0: qwerty */
|
||||
LAYOUT_60_ansi_split_bs_rshift(
|
||||
QK_GESC,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_BSLS,KC_GRV,
|
||||
KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,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_QUOT,KC_ENT,
|
||||
KC_LSFT,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_RSFT,MO(1),
|
||||
KC_LCTL,KC_LALT,KC_LGUI, KC_SPC, KC_RGUI,KC_RALT,KC_APP,KC_RCTL),
|
||||
/* 1: fn */
|
||||
LAYOUT_60_ansi_split_bs_rshift(
|
||||
KC_GRV,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_CAPS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_UP,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_VOLD,KC_VOLU,KC_MUTE,KC_TRNS,KC_TRNS,KC_PAST,KC_PSLS,KC_HOME,KC_PGUP,KC_LEFT,KC_RIGHT,KC_PENT,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PPLS,KC_PMNS,KC_END,KC_PGDN,KC_DOWN,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
|
||||
};
|
@ -1,196 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "rgblight.h"
|
||||
|
||||
#define _DEFAULT 0
|
||||
#define _FN 1
|
||||
#define _VIM 10
|
||||
#define _VIM_SHIFT 11
|
||||
#define _VIM_CONTROL 12
|
||||
|
||||
enum custom_keycodes {
|
||||
DYNAMIC_MACRO_RANGE = SAFE_RANGE,
|
||||
a_MACRO,
|
||||
A_MACRO,
|
||||
I_MACRO,
|
||||
O_MACRO,
|
||||
};
|
||||
|
||||
#define KC_PREV_WORD LCTL(KC_LEFT)
|
||||
#define KC_NEXT_WORD LCTL(KC_RIGHT)
|
||||
#define KC_UNDO LCTL(KC_Z)
|
||||
#define KC_CUT LCTL(KC_X)
|
||||
#define KC_COPY LCTL(KC_C)
|
||||
#define KC_PASTE LCTL(KC_V)
|
||||
|
||||
#include "dynamic_macro.h"
|
||||
|
||||
static uint8_t old_layer = 0;
|
||||
|
||||
// Fillers to make layering more clear
|
||||
#define ______ KC_TRNS
|
||||
#define XXXXXX KC_NO
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Qwerty gui/alt/space/alt/gui
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | VIM |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | FN | LAlt | Space | RAlt |RGUI |
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[_DEFAULT] = LAYOUT_60_ansi_split_bs_rshift( /* Basic QWERTY */
|
||||
QK_GESC , 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_BSLS , KC_GRV ,
|
||||
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC , KC_RBRC , 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_QUOT , KC_ENT ,
|
||||
KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_RSFT , TO(_VIM) ,
|
||||
______ , MO(_FN) , KC_LALT , KC_SPC , KC_RALT , KC_RGUI , ______ , ______
|
||||
),
|
||||
|
||||
/* FN Layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* |GRAVE| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | CAPS | Vol-| Mute| Vol+|MAC+ |MAC |MAC- | PgUp| Home| |Print| Up | | Del |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Ctrl | End | | PgDn| | | Left| Down| Up |Right| Left|Right| Enter |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Shift | Prev| Play| Next| BL- | BL | BL+ | | | | Down| RShift | DEF |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | LAlt | Space | RAlt | Reset |
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[_FN] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 2 */
|
||||
KC_GRAVE , 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_INS , KC_DEL ,
|
||||
KC_CAPS , KC_VOLD , KC_MUTE , KC_VOLU , DM_REC1 , DM_PLY1 , DM_RSTP , KC_PGUP , KC_HOME , ______ , KC_PSCR , KC_UP , ______ , KC_DEL ,
|
||||
KC_LCTL , KC_END , ______ , KC_PGDN , ______ , ______ , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT , KC_LEFT , KC_RGHT , KC_ENT ,
|
||||
KC_LSFT , KC_MPRV , KC_MPLY , KC_MNXT , BL_DOWN , BL_TOGG , BL_UP , ______ , ______ , ______ , KC_DOWN , KC_RSFT , TO(_DEFAULT) ,
|
||||
______ , ______ , KC_LALT , KC_SPC , KC_RALT , QK_BOOT , ______ , ______
|
||||
),
|
||||
|
||||
/* VIM Layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | DEF | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | | WORD| WORD| | | COPY| UNDO| DEF |ENTER|PASTE| | | Del |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | V_Ctrl |a_ins| | | | | Left| Down| Up |Right| | | Enter |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | V_Shift | | | | | PREV| | | | | | RShift | Def |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | LAlt | Space | RAlt | |
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[_VIM] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 10 */
|
||||
TO(_DEFAULT) , 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_BSLS , KC_GRV ,
|
||||
XXXXXX , XXXXXX , KC_NEXT_WORD , KC_NEXT_WORD , XXXXXX , XXXXXX , KC_COPY , KC_UNDO , TO(_DEFAULT) , KC_ENTER , KC_PASTE , XXXXXX , XXXXXX , KC_DEL ,
|
||||
MO(_VIM_CONTROL) , a_MACRO , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT , XXXXXX , XXXXXX , KC_ENTER ,
|
||||
MO(_VIM_SHIFT) , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_PREV_WORD , XXXXXX , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_RSFT , TO(_DEFAULT) ,
|
||||
XXXXXX , XXXXXX , KC_LALT , KC_SPC , KC_RALT , XXXXXX , XXXXXX , XXXXXX
|
||||
),
|
||||
|
||||
/* VIM Layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | DEF | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | | WORD| WORD| | | | |I_ins|ENTER| | | | Del |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | |A_ins| | | | | Left| Down| Up |Right| | | Enter |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | | | | | PREV| | | | | | RShift | Def |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | LAlt | Space | RAlt | |
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[_VIM_SHIFT] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 11 */
|
||||
TO(_DEFAULT) , 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_BSLS , KC_GRV ,
|
||||
XXXXXX , XXXXXX , KC_NEXT_WORD , KC_NEXT_WORD , XXXXXX , XXXXXX , XXXXXX , XXXXXX , I_MACRO , O_MACRO , XXXXXX , XXXXXX , XXXXXX , KC_DEL ,
|
||||
XXXXXX , A_MACRO , XXXXXX , KC_PGDN , XXXXXX , XXXXXX , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT , XXXXXX , XXXXXX , KC_ENTER ,
|
||||
XXXXXX , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_PREV_WORD , XXXXXX , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_RSFT , TO(_DEFAULT) ,
|
||||
XXXXXX , XXXXXX , KC_LALT , KC_SPC , KC_RALT , QK_BOOT , XXXXXX , XXXXXX
|
||||
),
|
||||
|
||||
/* FN Layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | Vol-| Mute| Vol+| | | | PgUp| Ins | |Print| Up | | Del |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Ctrl | App | | PgDn| | | Left| Down| Up |Right| Left|Right| Enter |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Shift | Prev| Play| Next| BL- | BL | BL+ | | | | Down| RShift | Def |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | LAlt | Space | RAlt | Reset |
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[_VIM_CONTROL] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 12 */
|
||||
TO(_DEFAULT) , 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_BSLS , KC_GRV ,
|
||||
XXXXXX , XXXXXX , KC_NEXT_WORD , KC_NEXT_WORD , XXXXXX , XXXXXX , XXXXXX , XXXXXX , I_MACRO , O_MACRO , XXXXXX , XXXXXX , XXXXXX , KC_DEL ,
|
||||
XXXXXX , A_MACRO , XXXXXX , KC_PGDN , XXXXXX , XXXXXX , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT , XXXXXX , XXXXXX , KC_ENTER ,
|
||||
XXXXXX , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_PREV_WORD , XXXXXX , XXXXXX , XXXXXX , XXXXXX , XXXXXX , KC_RSFT , TO(_DEFAULT) ,
|
||||
XXXXXX , XXXXXX , KC_LALT , KC_SPC , KC_RALT , QK_BOOT , XXXXXX , XXXXXX
|
||||
) ,
|
||||
};
|
||||
|
||||
void persistent_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_record_dynamic_macro(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
if (record->event.pressed) {
|
||||
switch(keycode) {
|
||||
case a_MACRO:
|
||||
SEND_STRING(SS_TAP(X_RIGHT));
|
||||
layer_off(_VIM);
|
||||
return false;
|
||||
break;
|
||||
case A_MACRO:
|
||||
SEND_STRING(SS_TAP(X_END));
|
||||
layer_off(_VIM_SHIFT);
|
||||
layer_off(_VIM);
|
||||
return false;
|
||||
break;
|
||||
case I_MACRO:
|
||||
SEND_STRING(SS_TAP(X_HOME));
|
||||
layer_off(_VIM_SHIFT);
|
||||
layer_off(_VIM);
|
||||
return false;
|
||||
break;
|
||||
case O_MACRO:
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
layer_off(_VIM_SHIFT);
|
||||
layer_off(_VIM);
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
if (old_layer != layer) {
|
||||
switch (layer) {
|
||||
case _DEFAULT:
|
||||
case _FN:
|
||||
backlight_set(1);
|
||||
break;
|
||||
case _VIM:
|
||||
case _VIM_SHIFT:
|
||||
case _VIM_CONTROL:
|
||||
backlight_set(4);
|
||||
break;
|
||||
}
|
||||
old_layer = layer;
|
||||
}
|
||||
};
|
@ -1,13 +0,0 @@
|
||||
# Addcninblue's HHKB-ish Layout
|
||||
|
||||
Inspired by Dbroqua's layout
|
||||
|
||||
[Layer 1](http://www.keyboard-layout-editor.com/#/gists/0e7798cb81c8f76baa5066ec1c34df8e): pretty standard layout. Shift + esc = ~, unlike normal hhkb.
|
||||
[Layer 2](http://www.keyboard-layout-editor.com/#/gists/096099221ac48d4d0c84a2b859bbb7c0): Vim-like layout.
|
||||
[Layer Vim](http://www.keyboard-layout-editor.com/#/gists/73b27b51c5e18d7999cc5fa39b4f3389) : vim layout until exit layout
|
||||
|
||||
## Programming Instructions:
|
||||
Enter into programming mode and run the following command:
|
||||
```
|
||||
$ sudo make satan:addcninblue:dfu
|
||||
```
|
@ -1,20 +0,0 @@
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
SLEEP_LED_ENABLE = no # Enables your LED to breathe while your computer is sleeping.
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ # nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODEMAP_ENABLE = no
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
UCIS_ENABLE = no # Keep in mind that not all will work (See WinCompose for details on Windows).
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
@ -1,8 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
/*MOUSE CONFIG OPTIONS */
|
||||
#define MOUSEKEY_INTERVAL 20
|
||||
#define MOUSEKEY_DELAY 0
|
||||
#define MOUSEKEY_TIME_TO_MAX 45
|
||||
#define MOUSEKEY_MAX_SPEED 3
|
||||
#define MOUSEKEY_WHEEL_DELAY 0
|
@ -1,127 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
#define BASE 0 // Default layer
|
||||
#define SPACE 1 // Space layer
|
||||
#define NUMPAD 2 // Alt layer
|
||||
#define CAPS 3 // Caps layer
|
||||
#define FN1 4 // Generic function layer
|
||||
|
||||
#define MAC0 M(0) //
|
||||
#define MAC1 M(1) //
|
||||
#define MAC2 M(2) //
|
||||
#define MAC3 M(3) //
|
||||
#define MAC4 M(4) //
|
||||
#define MAC5 M(5) //
|
||||
#define MAC6 M(6) //
|
||||
#define MAC7 M(7) //
|
||||
#define MAC8 M(8) //
|
||||
#define MAC9 M(9) //
|
||||
#define GRAV KC_GRV //
|
||||
#define MEDI F(FNO1)//
|
||||
|
||||
// General shortenings
|
||||
#define ESCA KC_ESC
|
||||
#define MINS KC_MINS
|
||||
#define EQUL KC_EQL
|
||||
#define BSPC KC_BSPC
|
||||
#define DELE KC_DEL
|
||||
#define LBRC KC_LBRC
|
||||
#define RBRC KC_RBRC
|
||||
#define ALTR KC_RALT
|
||||
#define SCLN KC_SCLN
|
||||
#define QUOT KC_QUOT
|
||||
#define NUHS KC_NUHS
|
||||
#define ENTE KC_ENT
|
||||
#define NUBS KC_NUBS // Less/ greater sign
|
||||
#define COMM KC_COMM // Comma
|
||||
#define FSTO KC_DOT // Full stop
|
||||
#define SLSH KC_SLSH
|
||||
#define ALTL KC_LALT
|
||||
#define GUIL KC_LGUI
|
||||
#define GUIR KC_RGUI
|
||||
#define MENO KC_MENU
|
||||
|
||||
// Special Actions and Media Keys
|
||||
#define INSE KC_INS // Insert here
|
||||
#define HOME KC_HOME // Go to beginning of line
|
||||
#define ENDI KC_END // go to end of line
|
||||
#define PSCR KC_PSCR // Print Screen
|
||||
#define SLCK KC_SCRL // go to end of line
|
||||
#define PGDN KC_PGDN // go to end of line
|
||||
#define PGUP KC_PGUP // go to end of line
|
||||
#define PLPS KC_MPLY // Play/Pause
|
||||
#define PAUS KC_PAUS // Pause button
|
||||
#define MUTE KC_MUTE // Mute sound
|
||||
#define VOLU KC_VOLU // Volume increase
|
||||
#define VOLD KC_VOLD // Volume decrease
|
||||
#define MNXT KC_MNXT // next track
|
||||
#define MPRV KC_MPRV // prev track
|
||||
#define MSTP KC_MSTP // stop playing
|
||||
#define MSEL KC_MSEL // Select media (Start playing it)
|
||||
#define MAIL KC_MAIL // Open default mail app
|
||||
#define CALC KC_CALC // Open default calculator app
|
||||
#define MYCM KC_MYCM // Open default file manager
|
||||
|
||||
// increase readability
|
||||
#define XXXXX KC_NO
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Keymap BASE: (Base Layer) Default Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| R |
|
||||
* |-----------------------------------------------------------|
|
||||
* |CAPS | A| S| D| F| G| H| J| K| L| ;| '| # | R |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Shft| \ | Z| X| C| V| B| N| M| ,| .| /|Shift |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
|
||||
* `-----------------------------------------------------------|
|
||||
*/
|
||||
|
||||
[BASE] = LAYOUT_60_iso(
|
||||
KC_ESC, 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_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
OSL(CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
||||
SC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, LT(SPACE, KC_SPC), KC_RALT, OSL(FN1), TG(NUMPAD), KC_RCTL
|
||||
),
|
||||
|
||||
[SPACE] = LAYOUT_60_iso(
|
||||
KC_GRAVE, 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_DEL,
|
||||
_______, _______, _______, _______, MAIL, _______, _______, HOME, KC_UP, PSCR, SLCK, PAUS, PGUP,
|
||||
_______, _______, _______, PGUP, PGDN, _______, LALT(KC_F4), KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, CALC, _______, _______, _______, MUTE, VOLD, VOLU, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[NUMPAD] = LAYOUT_60_iso( //Numpad and alt shortcuts
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[CAPS] = LAYOUT_60_iso( //Mostly mouse layer with option for caps too
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, KC_MS_U, _______, _______, _______, _______,
|
||||
_______, KC_CAPS, _______, _______, KC_MS_BTN1, KC_MS_BTN2, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[FN1] = LAYOUT_60_iso( //Functions/settings
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
# UK ISO layout for the Satan GH60
|
||||
## By Ben James
|
||||
-----
|
||||
This layout has a few unique features including:
|
||||
* Spacebar activates special features when held:
|
||||
* Arrow keys directly under right hand
|
||||
* Volume control
|
||||
* Fn keys on number row
|
||||
* PageUp/PageDn/Home/other general buttons
|
||||
* Mouse control when CAPS is held. Right hand controls mouse direction, left hand controls speed and mouse buttons.
|
||||
* Space cadet style brackets when left/right shift are tapped
|
||||
|
@ -1,18 +0,0 @@
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
@ -1,68 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
#define _NAV 2
|
||||
|
||||
#define ALEFT LALT(KC_LEFT)
|
||||
#define ARGHT LALT(KC_RGHT)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: (Base Layer) Default Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
|
||||
* |-----------------------------------------------------------|
|
||||
* |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_BL] = LAYOUT_60_ansi(
|
||||
QK_GESC, 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_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSLS,
|
||||
MO(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LCTL, KC_LALT,KC_LGUI, KC_SPC, KC_RGUI,KC_RALT, KC_RCTL, MO(_FL) ),
|
||||
|
||||
/* Keymap _FL: Function Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | | | | |BL-|BL+|BL |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | F1|F2 | F3|F4 | F5| F6| F7| F8| | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* |QK_BOOT| | | | | | | |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_FL] = LAYOUT_60_ansi(
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11, KC_F12,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DOWN,BL_UP, BL_TOGG,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
||||
_______,RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,_______,_______,_______,
|
||||
QK_BOOT,_______,_______, _______, _______,_______,_______, _______
|
||||
#else
|
||||
KC_GRV, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11, KC_F12,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DOWN,BL_UP, BL_TOGG,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
QK_BOOT,_______,_______, _______, _______,_______,_______,_______
|
||||
#endif
|
||||
),
|
||||
|
||||
[_NAV] = LAYOUT_60_ansi(
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,ALEFT , KC_UP ,ARGHT ,_______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______, _______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,_______, _______, _______,_______,_______,_______),
|
||||
|
||||
};
|
@ -1,2 +0,0 @@
|
||||
#QWERTY keymap for Satan GH60 with layers for arrow keys, function keys, and backlight controls.
|
||||
#The layout of modifiers is intended to mimic the MacBook Air keyboard.
|
@ -1,49 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: (Base Layer) Default Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
|
||||
* |-----------------------------------------------------------|
|
||||
* |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /| Up |FN |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Ctrl|Gui |Alt | Space |Alt |Left |Down|Right|
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_BL] = LAYOUT_all(
|
||||
QK_GESC ,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_BSPC , _______,
|
||||
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_LBRC,KC_RBRC,KC_BSLS ,
|
||||
KC_CAPS ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT,_______,KC_ENT ,
|
||||
KC_LSFT ,_______,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_UP ,MO(_FL) ,
|
||||
KC_LCTL ,KC_LGUI,KC_LALT, KC_SPC ,KC_RALT,KC_LEFT,KC_DOWN,KC_RIGHT),
|
||||
/* Keymap _FL: Function Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* |GRV|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| DEL |
|
||||
* |-----------------------------------------------------------|
|
||||
* | MB3|MB2|MUP|MB1|MWU| | | |INS| |RST| | |Print|
|
||||
* |-----------------------------------------------------------|
|
||||
* | | ML|MDN|MR |MWD| | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | | | | |PGUP| |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | |Ctrl|HOME|PGD |END |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_FL] = LAYOUT_all(
|
||||
KC_GRV , 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_DEL ,_______,
|
||||
KC_MS_BTN3 ,KC_MS_BTN2 ,KC_MS_UP ,KC_MS_BTN1 ,KC_MS_WH_UP ,_______,_______,_______,KC_INS ,_______,QK_BOOT,_______,_______ ,KC_PSCR ,
|
||||
_______ ,KC_MS_LEFT ,KC_MS_DOWN ,KC_MS_RIGHT,KC_MS_WH_DOWN,_______,_______,_______,_______,_______,_______,_______,_______ ,_______ ,
|
||||
_______ ,_______ ,_______ ,_______ ,_______ ,_______,_______,_______,_______,_______,_______,_______,KC_PGUP ,_______ ,
|
||||
KC_LCTL ,_______ ,KC_LALT , _______, KC_RCTL,KC_HOME,KC_PGDN ,KC_END ),
|
||||
};
|
@ -1,38 +0,0 @@
|
||||
# [dragonchasers](https://github.com/dragonchaser) Satan GH60 layout
|
||||
|
||||
Layout derived from the default Satan GH60 keymap.
|
||||
|
||||
![Photo of the keyboard](https://pbs.twimg.com/media/DQzlD0yX0AA8spX.jpg)
|
||||
|
||||
## Layers
|
||||
|
||||
### Base
|
||||
```
|
||||
,-----------------------------------------------------------.
|
||||
|Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
|
||||
|-----------------------------------------------------------|
|
||||
|Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
|
||||
|-----------------------------------------------------------|
|
||||
|CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
|
||||
|-----------------------------------------------------------|
|
||||
|Shift | Z| X| C| V| B| N| M| ,| .| /| Up |FN |
|
||||
|-----------------------------------------------------------|
|
||||
|Ctrl|Gui |Alt | Space |Alt |Left |Down|Right|
|
||||
`-----------------------------------------------------------'
|
||||
```
|
||||
|
||||
### Function Layer
|
||||
|
||||
```
|
||||
,-----------------------------------------------------------.
|
||||
|GRV|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| DEL |
|
||||
|-----------------------------------------------------------|
|
||||
| MB3|MB2|MUP|MB1|MWU| | | |INS| |RST| | |Print|
|
||||
|-----------------------------------------------------------|
|
||||
| | ML|MDN|MR |MWD| | | | | | | |
|
||||
|-----------------------------------------------------------|
|
||||
| | | | | | | | | | | |PGUP| |
|
||||
|-----------------------------------------------------------|
|
||||
| | | | |Ctrl|HOME|PGD |END |
|
||||
`-----------------------------------------------------------'
|
||||
```
|
@ -1,18 +0,0 @@
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
@ -1,78 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#include "keymap_extras/keymap_german.h"
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _DEF 0
|
||||
#define _FNK 1
|
||||
#define _MEDIA 2
|
||||
|
||||
// dual-role shortcuts
|
||||
#define FN_CAPS LT(_MEDIA, KC_CAPS)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _DEF: Default Layer
|
||||
* ,------------------------------------------------------------.
|
||||
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| ß| ´|bcksp|fn1|
|
||||
* |------------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Z| U| I| O| P| Ü| +| |
|
||||
* |----------------------------------------------------- Return|
|
||||
* |fn2 | A| S| D| F| G| H| J| K| L| Ö| Ä| # | |
|
||||
* |------------------------------------------------------------|
|
||||
* |Sft | < | Y| X| C| V| B| N| M| ,| .| -| RSft| del |
|
||||
* |------------------------------------------------------------|
|
||||
* |Ctrl|Win |Alt | Space |RAlt |Win |App|RCtrl|
|
||||
* `------------------------------------------------------------'
|
||||
*/
|
||||
[_DEF] = LAYOUT_60_iso_split_bs_rshift(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_SS, DE_ACUT, KC_BSPC, MO(_FNK),
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA, DE_PLUS,
|
||||
FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_ODIA, DE_ADIA, DE_HASH, KC_ENT,
|
||||
KC_LSFT, DE_LABK, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, KC_DELETE,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_ALGR, KC_RGUI, KC_APP, KC_RCTL),
|
||||
|
||||
|
||||
/* Keymap _FNK: Function Keys
|
||||
* ,------------------------------------------------------------.
|
||||
* | ^ | F1| F2| F3| F4| F5| F6| F7| F8| F9| F0|F11|F12| Ins | |
|
||||
* |------------------------------------------------------------|
|
||||
* | |PGU| Up|PGD| | | |Ins|Hom|PDU| | | | |
|
||||
* |----------------------------------------------------- |
|
||||
* | |Lft|Dwn|Rgt| | | |Del|End|PGD| | | | |
|
||||
* |------------------------------------------------------------|
|
||||
* | | | | | | | | | | | | | | |
|
||||
* |------------------------------------------------------------|
|
||||
* | | | | | | | | |
|
||||
* `------------------------------------------------------------'
|
||||
*/
|
||||
[_FNK] = LAYOUT_60_iso_split_bs_rshift(
|
||||
DE_CIRC, 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_INS, _______,
|
||||
_______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
/* Keymap _MEDIA: Media and Mouse Layer
|
||||
* ,------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |------------------------------------------------------------|
|
||||
* | | | | | | | |MLC| MU|MRC| | | | |
|
||||
* |----------------------------------------------------- |
|
||||
* | |PRV|VLD|VLU|NXT| | | ML| MD| MR| | | | |
|
||||
* |------------------------------------------------------------|
|
||||
* | | | | | | | | | | | | | UP | |
|
||||
* |------------------------------------------------------------|
|
||||
* | | | | PLAY | |LEFT|DWN|RIGHT|
|
||||
* `------------------------------------------------------------'
|
||||
*/
|
||||
|
||||
[_MEDIA] = LAYOUT_60_iso_split_bs_rshift(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______,
|
||||
_______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP , _______,
|
||||
_______, _______, _______, KC_MPLY, _______, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
};
|
@ -1,61 +0,0 @@
|
||||
# Satan GH60 ISO-DE Layout with split backspace and right shift
|
||||
|
||||
![Layout Image](https://i.imgur.com/a7znS69.jpg)
|
||||
|
||||
## Default Layer
|
||||
This ISO-DE based layout has a split backspace. the left part is the actual backspace and the right parts serves as a FN key.
|
||||
The right shift is also split, with the right part serving as the del key.
|
||||
```
|
||||
/* Keymap _DEF: Default Layer
|
||||
* ,------------------------------------------------------------.
|
||||
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| ß| ´|bcksp|fn1|
|
||||
* |------------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Z| U| I| O| P| Ü| +| |
|
||||
* |----------------------------------------------------- Return|
|
||||
* |fn2 | A| S| D| F| G| H| J| K| L| Ö| Ä| # | |
|
||||
* |------------------------------------------------------------|
|
||||
* |Sft | < | Y| X| C| V| B| N| M| ,| .| -| RSft| del |
|
||||
* |------------------------------------------------------------|
|
||||
* |Ctrl|Win |Alt | Space |RAlt |Win |App|RCtrl|
|
||||
* `------------------------------------------------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
|
||||
## FN Key Layer
|
||||
The Function keys can be accessed when holding fn1 (right part of backspace)
|
||||
|
||||
```
|
||||
/* Keymap _FNK: Function Keys
|
||||
* ,------------------------------------------------------------.
|
||||
* | ^ | F1| F2| F3| F4| F5| F6| F7| F8| F9| F0|F11|F12| Ins | |
|
||||
* |------------------------------------------------------------|
|
||||
* | |PGU| Up|PGD| | | |Ins|Hom|PDU| | | | |
|
||||
* |----------------------------------------------------- |
|
||||
* | |Lft|Dwn|Rgt| | | |Del|End|PGD| | | | |
|
||||
* |------------------------------------------------------------|
|
||||
* | | | | | | | | | | | | | | |
|
||||
* |------------------------------------------------------------|
|
||||
* | | | | | | | | |
|
||||
* `------------------------------------------------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
## Media and Mouse Layer
|
||||
The Media Keys and Mouse control can be accessed when holding capslock (fn2)
|
||||
|
||||
```
|
||||
/* Keymap _MEDIA: Media and Mouse Layer
|
||||
* ,------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |------------------------------------------------------------|
|
||||
* | | | | | | | |MLC| MU|MRC| | | | |
|
||||
* |----------------------------------------------------- |
|
||||
* | |PRV|VLD|VLU|NXT| | | ML| MD| MR| | | | |
|
||||
* |------------------------------------------------------------|
|
||||
* | | | | | | | | | | | | | UP | |
|
||||
* |------------------------------------------------------------|
|
||||
* | | | | PLAY | |LEFT|DWN|RIGHT|
|
||||
* `------------------------------------------------------------'
|
||||
*/
|
||||
```
|
@ -1,18 +0,0 @@
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
@ -1,12 +0,0 @@
|
||||
# denolfe's Layout
|
||||
Customized Satan keymap
|
||||
|
||||
![Layout](https://i.imgur.com/IrSUSMR.png "Practical Keymap")
|
||||
|
||||
## Programming Instructions:
|
||||
`cd` into keymap directory, `make dfu`
|
||||
|
||||
## Features
|
||||
- Movement keys with <kbd>CapsLock</kbd> + <kbd>h</kbd>, <kbd>j</kbd>, <kbd>k</kbd>, <kbd>l</kbd>
|
||||
- Media Keys
|
||||
- Backlight control
|
@ -1,72 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#include "rgblight.h"
|
||||
#endif
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
#define _SL 2
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: (Base Layer) Default Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
|
||||
* |-----------------------------------------------------------|
|
||||
* |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_BL] = LAYOUT_60_ansi(
|
||||
QK_GESC, 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_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
MO(_FL), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_RGUI, KC_RCTL),
|
||||
|
||||
/* Keymap _FL: Function Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | QK_BOOT|
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | | | | |BL-|BL+|BL |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | F1|F2 | F3|F4 | F5| F6| F7| F8| | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_FL] = LAYOUT_60_ansi(
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DOWN, BL_UP, BL_TOGG,
|
||||
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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
#else
|
||||
KC_GRV, 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_DEL,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, KC_END, KC_MPRV, KC_MNXT, KC_MPLY,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, BL_DOWN, BL_TOGG, BL_UP, KC_HOME, LCTL(KC_LEFT), LCTL(KC_END), LCTL(KC_RIGHT), KC_TRNS, QK_BOOT,
|
||||
KC_TRNS, KC_TRNS, LM(2, MOD_LSFT), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
#endif
|
||||
),
|
||||
|
||||
[_SL] = LAYOUT_60_ansi(
|
||||
KC_GRV, 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_DEL,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, LSFT(KC_END), KC_MPRV, KC_MNXT, KC_MPLY,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LSFT(KC_LEFT), LSFT(KC_DOWN), LSFT(KC_UP), LSFT(KC_RIGHT), KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, BL_DOWN, BL_TOGG, BL_UP, LSFT(KC_HOME), LCTL(LSFT(KC_LEFT)), LCTL(LSFT(KC_END)), LCTL(LSFT(KC_RIGHT)), KC_TRNS, QK_BOOT,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
};
|
@ -1,17 +0,0 @@
|
||||
|
||||
# Build Options
|
||||
# comment out to disable the options.
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = yes # Console for debug(+400)
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality (+4870)
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality (+1150)
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
|
@ -1,26 +0,0 @@
|
||||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CONFIG_H
|
||||
#define CONFIG_H
|
||||
|
||||
#include "../../config.h"
|
||||
|
||||
/* Tap Dance */
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
#endif
|
@ -1,166 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _DEFAULT 0
|
||||
#define _FN 1
|
||||
#define _MOUSE 2
|
||||
#define _MOUSESHIFT 3
|
||||
#define _UTIL 4
|
||||
|
||||
// Fillers to make layering more clear
|
||||
#define ______ KC_TRNS
|
||||
|
||||
enum {
|
||||
SUPER_FN = 0,
|
||||
SINGLE_HOLD = 1,
|
||||
DOUBLE_HOLD = 2,
|
||||
TRIPLE_HOLD = 3
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
bool is_press_action;
|
||||
int state;
|
||||
} tap;
|
||||
|
||||
int cur_dance (tap_dance_state_t *state) {
|
||||
if (state->interrupted == false || state->pressed) {
|
||||
if (state->count < 2) return SINGLE_HOLD;
|
||||
if (state->count < 3) return DOUBLE_HOLD;
|
||||
else return TRIPLE_HOLD;
|
||||
}
|
||||
else return 9;
|
||||
}
|
||||
|
||||
//instantiate an instance of 'tap' for the 'fn' tap dance.
|
||||
static tap fn_tap_state = {
|
||||
.is_press_action = true,
|
||||
.state = 0
|
||||
};
|
||||
|
||||
void fn_finished (tap_dance_state_t *state, void *user_data) {
|
||||
fn_tap_state.state = cur_dance(state);
|
||||
switch (fn_tap_state.state) {
|
||||
/* case SINGLE_HOLD: register_code(MO(_FN)); break; */
|
||||
case SINGLE_HOLD: layer_on(_FN); break;
|
||||
case DOUBLE_HOLD: layer_on(_MOUSE); break;
|
||||
case TRIPLE_HOLD: layer_on(_UTIL);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_reset (tap_dance_state_t *state, void *user_data) {
|
||||
switch (fn_tap_state.state) {
|
||||
case SINGLE_HOLD: layer_off(_FN); break;
|
||||
case DOUBLE_HOLD: layer_off(_MOUSE); layer_off(_MOUSESHIFT); break;
|
||||
case TRIPLE_HOLD: layer_off(_UTIL);
|
||||
}
|
||||
}
|
||||
|
||||
tap_dance_action_t tap_dance_actions[] = {
|
||||
[SUPER_FN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, fn_finished, fn_reset)
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Qwerty gui/alt/space/alt/gui
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* |LGUI | LAlt | Space | RAlt |RGUI |
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[_DEFAULT] = LAYOUT_60_ansi_split_bs_rshift( /* Basic QWERTY */
|
||||
KC_ESC, 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_BSLS, KC_GRV,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,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_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, TD(SUPER_FN),
|
||||
______, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, ______, ______
|
||||
),
|
||||
|
||||
/* FN Layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | CAPS | BL- | BL+ | BL | | | | | Psc | Slck| Paus| Up | | |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | Prev| Play| Next| | | + | - | End |PgDn| Down| | |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | | | Stop | |
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[_FN] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 1 */
|
||||
______, 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_INS, KC_DEL,
|
||||
KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, ______, ______,
|
||||
______, KC_VOLD,KC_VOLU,KC_MUTE,______, ______, KC_PAST,KC_PSLS,KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, ______,
|
||||
______, KC_MPRV,KC_MPLY,KC_MNXT,______, ______, KC_PPLS,KC_PMNS,KC_END, KC_PGDN, KC_DOWN, ______, ______,
|
||||
______, ______, ______, ______, KC_MSTP, ______, ______, ______
|
||||
),
|
||||
|
||||
/* MOUSE Layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | |QK_BOOT|
|
||||
* |-----------------------------------------------------------------------------------------
|
||||
* | | | | | | | | | | | |UCurs| | |
|
||||
* |-----------------------------------------------------------------------------------------
|
||||
* | | | | | | | | | | |LCurs|RCurs| |
|
||||
* |-----------------------------------------------------------------------------------------
|
||||
* | ScrollHold| | | | | | | | | |DCurs| ScrollHold| |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | | LClick | MClick| RClick|
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[_MOUSE] = LAYOUT_60_ansi_split_bs_rshift(
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, QK_BOOT,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_UP, ______, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_LEFT, KC_MS_RIGHT, ______,
|
||||
MO(_MOUSESHIFT), ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_DOWN, MO(_MOUSESHIFT), ______,
|
||||
______, ______, ______, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN2, ______, ______
|
||||
),
|
||||
|
||||
/* MOUSESHIFT Layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------------------------------------
|
||||
* | | | | | | | | | | | |UScrl| | |
|
||||
* |-----------------------------------------------------------------------------------------
|
||||
* | | | | | | | | | | |LScrl|RScrl| |
|
||||
* |-----------------------------------------------------------------------------------------
|
||||
* | | | | | | | | | | |DScrl| | |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | | | | |
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[_MOUSESHIFT] = LAYOUT_60_ansi_split_bs_rshift(
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_WH_UP, ______, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_WH_LEFT, KC_MS_WH_RIGHT, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MS_WH_DOWN, ______, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______
|
||||
),
|
||||
|
||||
/* UTIL Layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | |QK_BOOT|
|
||||
* |-----------------------------------------------------------------------------------------
|
||||
* | | | | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------------------------------------
|
||||
* | | | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------------------------------------
|
||||
* | | | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------------------------------------+
|
||||
* | | | | | |
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[_UTIL] = LAYOUT_60_ansi_split_bs_rshift(
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, QK_BOOT,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______
|
||||
)
|
||||
};
|
@ -1,23 +0,0 @@
|
||||
# dkrieger HHKB like Layout
|
||||
|
||||
Base derived from dbroqua (special thanks)
|
||||
|
||||
Based on HHKB with the following [dip switches][1] engaged:
|
||||
|
||||
- SW3: delete key -> backspace
|
||||
- SW5: swap alt and meta keys
|
||||
- SW2: Mac Mode (partial implementation, includes media keys
|
||||
- Note: this was copied from dbroqua, there seem to have been some
|
||||
modifications from stock Mac Mode
|
||||
|
||||
Additionally, this layout includes a mouse layer engaged by tapping Fn 3 times,
|
||||
holding on the third time. The arrow keys move the mouse, scrolling when shift
|
||||
is held (either left or right). Right alt is left click, right meta is right
|
||||
click.
|
||||
|
||||
# Programming Instructions:
|
||||
Enter into programming mode and run the following command.
|
||||
```
|
||||
$ sudo KEYMAP=dkrieger_hhkb make dfu
|
||||
```
|
||||
[1]: http://www.elitekeyboards.com/products.php?sub=pfu_keyboards,hhkbpro2&pid=pdkb400b
|
@ -1,19 +0,0 @@
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = yes # Console for debug(+400)
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
TAP_DANCE_ENABLE = yes
|
||||
|
@ -1,146 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define MY_ESC LT(1, KC_ESC)
|
||||
#define MY_ENT LT(1, KC_ENT)
|
||||
#define MY_APP LT(2, KC_APP)
|
||||
|
||||
#define MY_LCA TD(TD_LCTL_ALT)
|
||||
#define MY_RCA TD(TD_RCTL_ALT)
|
||||
#define MY_LGA TD(TD_LGUI_ALT)
|
||||
#define MY_RGA TD(TD_RGUI_ALT)
|
||||
#define MY_LCG TD(TD_LCTL_GUI)
|
||||
#define MY_RCG TD(TD_RCTL_GUI)
|
||||
#define MY_LSH TD(TD_LSFT_HPR)
|
||||
#define MY_RSH TD(TD_RSFT_HPR)
|
||||
|
||||
enum {
|
||||
TD_LCTL_ALT,
|
||||
TD_RCTL_ALT,
|
||||
TD_LGUI_ALT,
|
||||
TD_RGUI_ALT,
|
||||
TD_LCTL_GUI,
|
||||
TD_RCTL_GUI,
|
||||
TD_LSFT_HPR,
|
||||
TD_RSFT_HPR
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
LAYOUT_60_ansi(
|
||||
KC_GRV, 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_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
MY_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, MY_ENT,
|
||||
MY_LSH, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MY_RSH,
|
||||
MY_LGA, MY_LCG, MY_LCA, KC_SPC, MY_RCA, MY_RCG, MY_APP, MY_RGA),
|
||||
|
||||
LAYOUT_60_ansi(
|
||||
KC_TRNS, 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_DEL,
|
||||
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_LEFT, KC_DOWN, KC_UP, KC_RGHT, 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),
|
||||
|
||||
LAYOUT_60_ansi(
|
||||
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, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG, 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),
|
||||
};
|
||||
|
||||
enum {
|
||||
SINGLE_TAP = 1,
|
||||
SINGLE_HOLD = 2,
|
||||
DOUBLE_TAP = 3,
|
||||
DOUBLE_HOLD = 4,
|
||||
DOUBLE_SINGLE_TAP = 5,
|
||||
UNKNOWN_TAP = 6
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
bool is_press_action;
|
||||
int state;
|
||||
} tap;
|
||||
|
||||
int cur_dance(tap_dance_state_t *state) {
|
||||
switch (state->count) {
|
||||
case 1:
|
||||
if (state->interrupted || state->pressed == 0) {
|
||||
return SINGLE_TAP;
|
||||
}
|
||||
return SINGLE_HOLD;
|
||||
case 2:
|
||||
if (state->interrupted) {
|
||||
return DOUBLE_SINGLE_TAP;
|
||||
}
|
||||
if (state->pressed) {
|
||||
return DOUBLE_HOLD;
|
||||
}
|
||||
return DOUBLE_TAP;
|
||||
}
|
||||
return UNKNOWN_TAP;
|
||||
}
|
||||
|
||||
#define my_dance_combo(N, K0, REGFN, UNREGFN) my_dance_combo_expanded(N, K0, REGFN, UNREGFN)
|
||||
#define my_dance_combo_expanded(N, K0, REGFN, UNREGFN) \
|
||||
static tap N ## _state = { \
|
||||
.is_press_action = true, \
|
||||
.state = 0 \
|
||||
}; \
|
||||
\
|
||||
void N ## _finished(tap_dance_state_t *state, void *user_data) { \
|
||||
N ## _state.state = cur_dance(state); \
|
||||
switch (N ## _state.state) { \
|
||||
case SINGLE_TAP: case SINGLE_HOLD: \
|
||||
register_code(K0); \
|
||||
break; \
|
||||
case DOUBLE_TAP: case DOUBLE_SINGLE_TAP: case DOUBLE_HOLD: \
|
||||
register_code(K0); \
|
||||
REGFN; \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
\
|
||||
void N ## _reset(tap_dance_state_t *state, void *user_data) { \
|
||||
switch (N ## _state.state) { \
|
||||
case SINGLE_TAP: case SINGLE_HOLD: \
|
||||
unregister_code(K0); \
|
||||
break; \
|
||||
case DOUBLE_TAP: case DOUBLE_SINGLE_TAP: case DOUBLE_HOLD: \
|
||||
UNREGFN; \
|
||||
unregister_code(K0); \
|
||||
break; \
|
||||
} \
|
||||
N ## _state.state = 0; \
|
||||
}
|
||||
|
||||
#define my_dance_reg_code_1(K1) register_code(K1)
|
||||
#define my_dance_unreg_code_1(K1) unregister_code(K1)
|
||||
#define my_dance_combo_1(N, K0, K1) \
|
||||
my_dance_combo(N, K0, my_dance_reg_code_1(K1), my_dance_unreg_code_1(K1))
|
||||
|
||||
#define my_dance_reg_code_3(K1, K2, K3) \
|
||||
do { register_code(K1); register_code(K2); register_code(K3); } while (0)
|
||||
#define my_dance_unreg_code_3(K1, K2, K3) \
|
||||
do { unregister_code(K3); unregister_code(K2); unregister_code(K1); } while (0)
|
||||
#define my_dance_combo_3(N, K0, K1, K2, K3) \
|
||||
my_dance_combo(N, K0, my_dance_reg_code_3(K1, K2, K3), my_dance_unreg_code_3(K1, K2, K3))
|
||||
|
||||
my_dance_combo_1(lca, KC_LCTL, KC_LALT)
|
||||
my_dance_combo_1(rca, KC_RCTL, KC_RALT)
|
||||
my_dance_combo_1(lga, KC_LGUI, KC_LALT)
|
||||
my_dance_combo_1(rga, KC_RGUI, KC_RALT)
|
||||
my_dance_combo_1(lcg, KC_LCTL, KC_LGUI)
|
||||
my_dance_combo_1(rcg, KC_RCTL, KC_RGUI)
|
||||
my_dance_combo_3(lsh, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI)
|
||||
my_dance_combo_3(rsh, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI)
|
||||
|
||||
tap_dance_action_t tap_dance_actions[] = {
|
||||
[TD_LCTL_ALT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lca_finished, lca_reset),
|
||||
[TD_RCTL_ALT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rca_finished, rca_reset),
|
||||
[TD_LGUI_ALT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lga_finished, lga_reset),
|
||||
[TD_RGUI_ALT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rga_finished, rga_reset),
|
||||
[TD_LCTL_GUI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lcg_finished, lcg_reset),
|
||||
[TD_RCTL_GUI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rcg_finished, rcg_reset),
|
||||
[TD_LSFT_HPR] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lsh_finished, lsh_reset),
|
||||
[TD_RSFT_HPR] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rsh_finished, rsh_reset)
|
||||
};
|
@ -1,13 +0,0 @@
|
||||
# Satan GH60 ANSI Layout that uses tap dance
|
||||
|
||||
![Satan GH60 Image](https://i.imgur.com/T5FX7Sn.png)
|
||||
|
||||
Notes:
|
||||
- Enter and Esc keys activate layer Fn1 when held, and work as usual when tapped.
|
||||
- Menu key activates layer Fn2 when held, and works as usual when tapped.
|
||||
- For the next keys a first key is used when held, and a second one is used when tapped 2 times:
|
||||
- Shift and Hyper;
|
||||
- Win and Win+Alt;
|
||||
- Ctrl and Ctrl+Alt;
|
||||
- Alt and Win+Ctrl.
|
||||
|
@ -1,19 +0,0 @@
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = no # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
TAP_DANCE_ENABLE = yes
|
||||
|
@ -1,31 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
#define KC_____ KC_TRNS
|
||||
#define KC_FN MO(1) // Fn
|
||||
#define KC_FNLK TG(1) // Fn lock
|
||||
#define KC_HOME LGUI(KC_LEFT) // Home, or cmd-left
|
||||
#define KC_END LGUI(KC_RGHT) // End, or cmd-right
|
||||
#define KC_SLP LGUI(LALT(KC_PWR)) // sleep, or cmd-option-power
|
||||
#define KC_SCLK LCTL(LSFT(KC_PWR)) // lock screen, or ctrl-shift-power
|
||||
|
||||
// Mark I keyboard layout for GH60 Satan
|
||||
// http://www.keyboard-layout-editor.com/#/gists/e1cde292bd2094cc3b763206d4d2cfb5
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// 0: qwerty
|
||||
[0] = LAYOUT_all(
|
||||
KC_ESC, 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_BSPC, KC_NO,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
|
||||
KC_LSFT, KC_FN, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_FN,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_FNLK
|
||||
),
|
||||
// 1: fn layer
|
||||
[1] = LAYOUT_all(
|
||||
KC_GRV, 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_DEL, _______,
|
||||
_______, KC_VOLU, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______,
|
||||
_______, KC_VOLD, KC_MRWD, KC_MPLY, KC_MFFD, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______,
|
||||
_______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_SCLK, KC_SLP, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
@ -1,5 +0,0 @@
|
||||
# Mark I layout for GH60 Satan
|
||||
|
||||
A Mac keyboard for touch typists who enjoy having a Fn key on both the left-hand and right-hand side.
|
||||
|
||||
[Layout](http://www.keyboard-layout-editor.com/#/gists/e1cde292bd2094cc3b763206d4d2cfb5)
|
@ -1,55 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
enum layer_names {
|
||||
_BL,
|
||||
_FL
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: (Base Layer) Default Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* | ~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Backsp |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
|
||||
* |-----------------------------------------------------------|
|
||||
* |ESC | A| S| D| F| G| H| J| K| L| ;| '|Return |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Ctrl|Gui |Alt | Space |Alt |FL |Gui |FL(tgl)|
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_BL] = LAYOUT_60_ansi(
|
||||
KC_GRV, 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_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
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_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_RGUI, TG(_FL)
|
||||
),
|
||||
|
||||
/* Keymap _FL: Function Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* | | F1|F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| DEL |
|
||||
* |-----------------------------------------------------------|
|
||||
* | |Home|PgUp| | | | | | | | |BR- |BR+ | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | |End|PgDn| | | |Left|Down|Up|Right|Prv|Nxt|Ply |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | |Vdn|Vup|Mute| |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | |
|
||||
* `-----------------------------------------------------------'
|
||||
* hjkl for arrows because vim
|
||||
*/
|
||||
[_FL] = LAYOUT_60_ansi(
|
||||
KC_TRNS, 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_DEL,
|
||||
KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F14, KC_F15, KC_TRNS,
|
||||
KC_TRNS, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_MPRV, KC_MNXT, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
};
|
@ -1 +0,0 @@
|
||||
Standard layout with caps lock replaced by esc. Navigation and multimedia keys are on the second layer.
|
@ -1,26 +0,0 @@
|
||||
// Backlight configuration
|
||||
#undef BACKLIGHT_LEVELS
|
||||
#define BACKLIGHT_LEVELS 10
|
||||
|
||||
// Underlight configuration
|
||||
#undef WS2812_DI_PIN
|
||||
#define WS2812_DI_PIN B2
|
||||
#undef RGBLED_NUM
|
||||
#define RGBLED_NUM 16 // Number of LEDs
|
||||
#undef RGBLIGHT_HUE_STEP
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#undef RGBLIGHT_SAT_STEP
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#undef RGBLIGHT_VAL_STEP
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
@ -1,98 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define BASE 0 // Default layer
|
||||
#define MOUSE 1 // Space layer
|
||||
#define NUMPAD 2 // Alt layer
|
||||
#define CAPS 3 // Caps layer
|
||||
|
||||
// General shortenings
|
||||
#define ESCA KC_ESC
|
||||
#define MINS KC_MINS
|
||||
#define EQUL KC_EQL
|
||||
#define BSPC KC_BSPC
|
||||
#define DELE KC_DEL
|
||||
#define LBRC KC_LBRC
|
||||
#define RBRC KC_RBRC
|
||||
#define ALTR KC_RALT
|
||||
#define SCLN KC_SCLN
|
||||
#define QUOT KC_QUOT
|
||||
#define NUHS KC_NUHS
|
||||
#define ENTE KC_ENT
|
||||
#define NUBS KC_NUBS // Less/ greater sign
|
||||
#define COMM KC_COMM // Comma
|
||||
#define FSTO KC_DOT // Full stop
|
||||
#define SLSH KC_SLSH
|
||||
#define ALTL KC_LALT
|
||||
#define GUIL KC_LGUI
|
||||
#define GUIR KC_RGUI
|
||||
#define MENO KC_MENU
|
||||
|
||||
// Special Actions and Media Keys
|
||||
#define INSE KC_INS // Insert here
|
||||
#define HOME KC_HOME // Go to beginning of line
|
||||
#define ENDI KC_END // go to end of line
|
||||
#define PSCR KC_PSCR // Print Screen
|
||||
#define SLCK KC_SCRL // go to end of line
|
||||
#define PGDN KC_PGDN // go to end of line
|
||||
#define PGUP KC_PGUP // go to end of line
|
||||
#define PLPS KC_MPLY // Play/Pause
|
||||
#define PAUS KC_PAUS // Pause button
|
||||
#define MUTE KC_MUTE // Mute sound
|
||||
#define VOLU KC_VOLU // Volume increase
|
||||
#define VOLD KC_VOLD // Volume decrease
|
||||
#define MNXT KC_MNXT // next track
|
||||
#define MPRV KC_MPRV // prev track
|
||||
#define MSTP KC_MSTP // stop playing
|
||||
#define MSEL KC_MSEL // Select media (Start playing it)
|
||||
#define MAIL KC_MAIL // Open default mail app
|
||||
#define CALC KC_CALC // Open default calculator app
|
||||
#define MYCM KC_MYCM // Open default file manager
|
||||
|
||||
// increase readability
|
||||
#define XXXXX KC_NO
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Keymap BASE: (Base Layer) Default Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| R |
|
||||
* |-----------------------------------------------------------|
|
||||
* |CAPS | A| S| D| F| G| H| J| K| L| ;| '| # | R |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Shft| \ | Z| X| C| V| B| N| M| ,| .| /|Shift |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
|
||||
* `-----------------------------------------------------------|
|
||||
*/
|
||||
|
||||
[ BASE ] = KEYMAP_ISO_SPLITRSHIFT(
|
||||
KC_ESC, 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_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, XXXXX,
|
||||
LT(CAPS, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NUHS, KC_ENT,
|
||||
KC_LSFT, KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, XXXXX,
|
||||
KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, MO(CAPS), TG(NUMPAD), TG(MOUSE)),
|
||||
|
||||
[ MOUSE ] = KEYMAP( // Mouse controls
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_U, KC_MS_BTN2, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
[ NUMPAD ] = KEYMAP( //Numpad and alt shortcuts
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,
|
||||
_______, BL_TOGG, BL_DOWN,BL_UP, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______,
|
||||
_______, _______, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_7, KC_8, KC_9, KC_0, _______, _______, XXXXX,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
[ CAPS ] = KEYMAP( // Main "function" key, arrows, media control
|
||||
KC_GRAVE, 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_DEL, XXXXX,
|
||||
_______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, PGDN, KC_UP, PGUP, PSCR, SLCK, PAUS, _______,
|
||||
_______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______)
|
||||
|
||||
};
|
@ -1,18 +0,0 @@
|
||||
# ISO layout for the Satan GH60
|
||||
### Originally by Ben James, forked by Oliver Granlund
|
||||
|
||||
![Finished product](https://i.imgur.com/s5HAgr6.jpg)
|
||||
|
||||
I've wanted to make this as close to a P0ker as possible, but some macros in
|
||||
the P0ker don't make sense...
|
||||
|
||||
Some of the features:
|
||||
* Caps activates special features when held:
|
||||
* Arrow keys directly under right hand
|
||||
* Volume control
|
||||
* Fn keys on number row
|
||||
* PageUp/PageDn/Home/other general buttons
|
||||
* Mouse control
|
||||
* Numpad (works so much better if this would be ortho)
|
||||
### RGB-strip
|
||||
![Behind the scenes](https://i.imgur.com/reHLXrc.jpg)
|
@ -1,17 +0,0 @@
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
@ -1,83 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
#define _BASE 0
|
||||
#define _FNO 1
|
||||
#define _FNT 2
|
||||
|
||||
#define ________ KC_TRNS
|
||||
#define XXXXXXXX KC_NO
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/*
|
||||
* Base layer
|
||||
*
|
||||
* -------------------------------------------------------------------------------------------
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | Del |
|
||||
* -------------------------------------------------------------------------------------------
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
|
||||
* -------------------------------------------------------------------------------------------
|
||||
* | Fn1 | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
|
||||
* -------------------------------------------------------------------------------------------
|
||||
* | Shift | Z | X | C | V | B | N | M | , | . | / | Up | Fn2 |
|
||||
* -------------------------------------------------------------------------------------------
|
||||
* | Ctrl | Win | Alt | Space | AltGr | Left | Down | Right |
|
||||
* -------------------------------------------------------------------------------------------
|
||||
*/
|
||||
[_BASE] = LAYOUT_60_ansi_split_bs_rshift(
|
||||
KC_GRV, 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_BSLS, KC_DEL,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
|
||||
MO(_FNO), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, MO(_FNT),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
/*
|
||||
* Fn1 layer
|
||||
*
|
||||
* -------------------------------------------------------------------------------------------
|
||||
* | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Prsc| Ins |
|
||||
* -------------------------------------------------------------------------------------------
|
||||
* | | | | | | | | | | | | | | |
|
||||
* -------------------------------------------------------------------------------------------
|
||||
* | NONE | | | | | | | | | | | | |
|
||||
* -------------------------------------------------------------------------------------------
|
||||
* | | | | | | | | | | | | PgUp | |
|
||||
* -------------------------------------------------------------------------------------------
|
||||
* | | | | | | Home | PgDn | End |
|
||||
* -------------------------------------------------------------------------------------------
|
||||
*/
|
||||
[_FNO] = LAYOUT_60_ansi_split_bs_rshift(
|
||||
KC_ESC, 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_PSCR, KC_INS,
|
||||
________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________,
|
||||
________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________,
|
||||
________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, KC_PGUP, ________,
|
||||
________, ________, ________, ________, ________, KC_HOME, KC_PGDN, KC_END
|
||||
),
|
||||
|
||||
/*
|
||||
* Fn2 layer
|
||||
*
|
||||
* TODO: macro buttons
|
||||
*
|
||||
* -------------------------------------------------------------------------------------------
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* -------------------------------------------------------------------------------------------
|
||||
* | | | | | | | | | | Prev| Play| Next| | |
|
||||
* -------------------------------------------------------------------------------------------
|
||||
* | CapsLk | | | | | | | | | Vol-| Vol+| Mute| |
|
||||
* -------------------------------------------------------------------------------------------
|
||||
* | | | | | | | | | | Stop| | | NONE|
|
||||
* -------------------------------------------------------------------------------------------
|
||||
* | Reset | Menu | | | M1 | M2 | M3 | M4 |
|
||||
* -------------------------------------------------------------------------------------------
|
||||
*/
|
||||
[_FNT] = LAYOUT_60_ansi_split_bs_rshift(
|
||||
________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________,
|
||||
________, ________, ________, ________, ________, ________, ________, ________, ________, KC_MPRV, KC_MPLY, KC_MNXT, ________, ________,
|
||||
KC_CAPS, ________, ________, ________, ________, ________, ________, ________, ________, KC_VOLD, KC_VOLU, KC_MUTE, ________,
|
||||
________, ________, ________, ________, ________, ________, ________, ________, ________, KC_MSTP, ________, ________, ________,
|
||||
QK_BOOT, KC_MENU, ________, ________, ________, ________, ________, ________
|
||||
),
|
||||
};
|
@ -1,47 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: (Base Layer) Default Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \ | ~ |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|bksp |
|
||||
* |-----------------------------------------------------------|
|
||||
* |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift| fn |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_BL] = LAYOUT_60_ansi_split_bs_rshift(
|
||||
QK_GESC, 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_BSLS, KC_GRV,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, 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_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL),
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_MENU, KC_RCTL
|
||||
),
|
||||
|
||||
[_FL] = LAYOUT_60_ansi_split_bs_rshift(
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT,
|
||||
KC_CAPS, _______, RGB_TOG, RGB_MOD, RGB_HUI, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_DEL,
|
||||
_______, KC_VOLD, RGB_HUD, RGB_SAI, RGB_SAD, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
|
||||
_______, RGB_VAI, RGB_VAD, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
#else
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT,
|
||||
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_DEL,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
|
||||
_______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
#endif
|
||||
),
|
||||
};
|
@ -1,3 +0,0 @@
|
||||
# sethbc's Satan GH60 layout
|
||||
|
||||
HHKB style split right shift and split backspace. Largely based on the HHKB layout.
|
@ -1,18 +0,0 @@
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
@ -1,75 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
#define _BL 0
|
||||
#define _FL 1
|
||||
#define _CL 3
|
||||
|
||||
// Add names for complex momentary keys, to keep the keymap matrix aligned better.
|
||||
#define CTL_ESC MT(MOD_LCTL,KC_ESC)
|
||||
#define GUI_ENT MT(MOD_RGUI, KC_ENT)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: (Base Layer) Default Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* | `| F1| F2| F3| F4| F5| F6| F7| F8| F9| F0| -| =|Del |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Ctl/Esc| A| S| D| F| G| H| J| K| L| ;| '|Return |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Ctrl|Alt |Gui | Space |Gui |Alt |FN |Ctrl |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_BL] = LAYOUT_60_ansi(
|
||||
KC_GRV, 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_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
MO(_CL), KC_RALT, KC_LGUI, KC_SPC, GUI_ENT, KC_RALT, KC_RCTL, MO(_FL)),
|
||||
|
||||
|
||||
/* Keymap _FL: Function Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* | `| | | | | | | | | | | | | QK_BOOT|
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | |VDN|VUP|MUTE| | | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_FL] = LAYOUT_60_ansi(
|
||||
KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
/* Keymap _CL: Control+ Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Del |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | | | |PGU| | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | |LFT| DN| UP|RGT| | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | |PGD| | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
|
||||
[_CL] = LAYOUT_60_ansi(
|
||||
KC_ESC, 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_DEL,
|
||||
KC_TAB, LCTL(KC_Q), LCTL(KC_W), LCTL(KC_E), LCTL(KC_R), LCTL(KC_T), LCTL(KC_Y), LCTL(KC_U), LCTL(KC_I), LCTL(KC_O), KC_PGUP, KC_ESC, LCTL(KC_RBRC), LCTL(KC_BSLS),
|
||||
_______, LCTL(KC_A), LCTL(KC_S), LCTL(KC_D), LCTL(KC_F), LCTL(KC_G), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, LCTL(KC_SCLN), LCTL(KC_QUOT), LCTL(KC_ENT),
|
||||
KC_LSFT, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_PGDN, LCTL(KC_N), LCTL(KC_M), LCTL(KC_COMM), LCTL(KC_DOT), LCTL(KC_SLSH), LCTL(KC_RSFT),
|
||||
_______, LCTL(KC_LALT), LCTL(KC_LGUI), LCTL(KC_SPC), LCTL(KC_RGUI), LCTL(KC_RALT), KC_RCTL, MO(_FL)),
|
||||
};
|
||||
|
@ -1,34 +0,0 @@
|
||||
# Spaceman Spiff Layout for GH60 Satan
|
||||
|
||||
![Keyboard Layout](https://i.imgur.com/M9glFON.png)
|
||||
|
||||
<!-- http://www.keyboard-layout-editor.com/#/gists/32feaaa31c29afb8198a8ef591db6ddf -->
|
||||
|
||||
Designed specifically to make switching back-n-forth with the Apple's MacBook Pro keyboard intuitive. Has a slight tendency toward readline/vim keybindings.
|
||||
|
||||
Caps locks becomes an `Esc` when pressed alone, or a `Ctrl` when pressed with another key.
|
||||
|
||||
# Base Layer
|
||||
|
||||
As simalar to the Apple keyboard as possible. Notiable exception is `Caps Lock`:
|
||||
- `Esc` when pressed alone
|
||||
- `Ctrl` when pressed with another key
|
||||
|
||||
# Control+ Layer
|
||||
|
||||
Left Ctrl key switches to the "Control+ Layer". This layer mostly acts like a control key in most cases, with a few exceptions:
|
||||
|
||||
- `Ctl+` + `hjkl` are vim-style motion keys
|
||||
- `Ctl+` + `p` and `Ctl+` + `n` are page up and down
|
||||
- `Ctl+` + `Backspace` is forward delete
|
||||
|
||||
# Fn Layer
|
||||
|
||||
Audio Controls:
|
||||
- `Fn` + `a` Volume Down
|
||||
- `Fn` + `s` Volume Up
|
||||
- `Fn` + `d` Mute
|
||||
|
||||
To flash this layout you need to press `Fn+Backspace`
|
||||
|
||||
|
@ -1,20 +0,0 @@
|
||||
Unxmaal's GH60 Satan Layout
|
||||
=====================
|
||||
* Mostly stolen from /u/robotmaxtron
|
||||
|
||||
##Quantum MK Firmware
|
||||
For the full Quantum feature list, see the parent readme.md.
|
||||
|
||||
* Standard Mac ANSI layout
|
||||
* Spacebar acts as space when tapped, Fn when held
|
||||
* Menu acts as menu when tapped, Fn2 when held
|
||||
* Layer1:
|
||||
* Top row = `~, F1-F12, Del
|
||||
* JKIL = arrow cluster
|
||||
* Layer2:
|
||||
* Top row = media controls
|
||||
* JKIL = PgDn/Up/Home/Insert
|
||||
* Backspace = Reset
|
||||
|
||||
### Additional Credits
|
||||
Keymap has been based on various keymaps available from the QMK Repo for the GH60-SATAN and KC60 keyboards.
|
@ -1,84 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _BL 0
|
||||
#define _AL 1
|
||||
#define _FL 2
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ANSI Base, Mac style
|
||||
* ,-----------------------------------------------------------------------------.
|
||||
* |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| = | Backsp |
|
||||
* |-----------------------------------------------------------------------------|
|
||||
* |Tab | Q | W | E | R | T | Y | U | I| O| P| [| ]| \|
|
||||
* |-----------------------------------------------------------------------------|
|
||||
* |Caps/Fn | A| S| D| F| G| H| J| K| L| ;| '| Enter |
|
||||
* |-----------------------------------------------------------------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift |
|
||||
* |-----------------------------------------------------------------------------|
|
||||
* |Fn|Alt |Gui | Space(tapped), Fn(held) |Gui |Alt |Menu(tapped, Fn2(held)|Ctrl|
|
||||
* `-----------------------------------------------------------------------------'
|
||||
*/
|
||||
[_BL] = LAYOUT_60_ansi(
|
||||
KC_ESC, 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_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
MO(_AL), KC_LALT, KC_LGUI, LT(_AL, KC_SPACE), KC_RGUI, KC_RALT, LT(_FL, KC_MENU), KC_RCTL
|
||||
),
|
||||
|
||||
/*
|
||||
* Pok3r style arrow cluster
|
||||
* ,-----------------------------------------------------------.
|
||||
* |`~ | F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|DEL |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | |Up| | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | |Left|Down|Right| | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_AL] = LAYOUT_60_ansi(
|
||||
KC_GRV, 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_DELETE,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Keymap _FL: Function Layer
|
||||
* ,-----------------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | QK_BOOT|
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | | | | |BL-|BL+|BL |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | RGB on|RGB step|Hue+|Hue- |Sat+|Sat-|Val+| Val-| | | |
|
||||
* |-----------------------------------------------------------|
|
||||
* | | | | | | | | |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
[_FL] = LAYOUT_60_ansi(
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DOWN, BL_UP, BL_TOGG,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
#else
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DOWN, BL_UP, BL_TOGG,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
#endif
|
||||
),
|
||||
};
|
@ -1,18 +0,0 @@
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
@ -1,23 +0,0 @@
|
||||
# QMK Keyboard Firmware for HHKB
|
||||
|
||||
## Modifications
|
||||
|
||||
### HHKB Fn Layer
|
||||
|
||||
Added some Media keys.
|
||||
|
||||
### Utility Layer (SpaceFN)
|
||||
|
||||
Hold `Space` for:
|
||||
|
||||
- Vi-style direction keys.
|
||||
- WASD-style mouse keys.
|
||||
- Dynamic macro playback on `1` and `2`.
|
||||
- Qwerty/Colemak/Dvorak layout selection on `-`, `=` and `\ `
|
||||
|
||||
### Dynamic Macros
|
||||
|
||||
Hold `q` and press:
|
||||
|
||||
- `1` or `2` to record macro 1 or 2.
|
||||
- `s` to stop recording.
|
@ -1,10 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#undef MANUFACTURER
|
||||
#undef PRODUCT
|
||||
#define MANUFACTURER "QMK"
|
||||
#define PRODUCT "HHKB QMK cinaeco"
|
||||
|
||||
// Increase "Tap" detection window. Avoid missing 'q' or 'z' when typing slowly.
|
||||
#undef TAPPING_TERM
|
||||
#define TAPPING_TERM 230
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user