@ -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 |