forked from mirror/qmk_firmware
Remove obvious user keymaps, keyboards/{i,j,k}* edition (#23102)
This commit is contained in:
@@ -1,3 +0,0 @@
|
||||
#define MK_3_SPEED
|
||||
#define TERMINAL_HELP
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
/* Copyright 2019 Danny Nguyen <danny@keeb.io>
|
||||
*
|
||||
* 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
|
||||
|
||||
|
||||
bool is_alt_tab_active = false; // ADD this near the begining of keymap.c
|
||||
uint16_t alt_tab_timer = 0; // we will be using them soon.
|
||||
|
||||
enum custom_keycodes { // Make sure have the awesome keycode ready
|
||||
ALT_TAB = SAFE_RANGE,
|
||||
};
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3,
|
||||
KC_WH_U, ALT_TAB, KC_WH_L,
|
||||
KC_WH_D, TT(1), KC_WH_R
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
QK_BOOT, KC_ACL0, KC_ACL1,
|
||||
KC_VOLU, KC_ACL2, KC_BRIU,
|
||||
KC_VOLD, TO(1), KC_BRID
|
||||
),
|
||||
};
|
||||
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (index == 0) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_MS_LEFT);
|
||||
} else {
|
||||
tap_code(KC_MS_RIGHT);
|
||||
}
|
||||
}
|
||||
else if (index == 1) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_MS_U);
|
||||
} else {
|
||||
tap_code(KC_MS_D);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) { // This will do most of the grunt work with the keycodes.
|
||||
case ALT_TAB:
|
||||
if (record->event.pressed) {
|
||||
if (!is_alt_tab_active) {
|
||||
is_alt_tab_active = true;
|
||||
register_code(KC_LALT);
|
||||
}
|
||||
alt_tab_timer = timer_read();
|
||||
register_code(KC_TAB);
|
||||
} else {
|
||||
unregister_code(KC_TAB);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) { // The very important timer.
|
||||
if (is_alt_tab_active) {
|
||||
if (timer_elapsed(alt_tab_timer) > 1000) {
|
||||
unregister_code(KC_LALT);
|
||||
is_alt_tab_active = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
# Mousepad layout for BDN9
|
||||
##### 2 encoders required
|
||||
Why use a movable mouse when you can "Etech-a-sketch" style mousepad.
|
||||
The left encoder will move the X axis; leaving the right to handle the Y axis
|
||||
|
||||
| | | |
|
||||
|:-:|:-:|:-:|
|
||||
| Left Click | Middle Click | Right Click |
|
||||
| Scroll Up | Super ALT↯TAB | Scroll Left |
|
||||
| Scroll Down | ADJUSTMENT Layer | Scroll Right|
|
||||
|
||||
| | | |
|
||||
|:-:|:-:|:-:|
|
||||
| RESET | Mouse ACL0 | Mouse ACL1 |
|
||||
| VOL UP | Mouse ACL2 | Brightness UP |
|
||||
| VOL Down | Adjustment Layer OFF | Brightness Down |
|
||||
@@ -1,2 +0,0 @@
|
||||
MOUSEKEY_ENABLE = yes
|
||||
TAPDANCE_ENABLE = yes
|
||||
@@ -1,19 +0,0 @@
|
||||
/* Copyright 2021 Danny Nguyen <danny@keeb.io>
|
||||
|
||||
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 TAPPING_TERM 150
|
||||
@@ -1,214 +0,0 @@
|
||||
/* Copyright 2021 Danny Nguyen <danny@keeb.io>
|
||||
|
||||
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
|
||||
|
||||
enum layer_names {
|
||||
_MAC,
|
||||
_WINDOWS,
|
||||
_TESTMODE,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_FKEYS,
|
||||
_ADJUST,
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
MAC = SAFE_RANGE,
|
||||
WINDOWS,
|
||||
TESTMODE,
|
||||
LOWER,
|
||||
RAISE,
|
||||
ADJUST,
|
||||
};
|
||||
|
||||
#define KC_ KC_TRNS
|
||||
|
||||
#define KC_CAPW LGUI(LSFT(KC_3)) // Capture whole screen
|
||||
#define KC_CPYW LGUI(LSFT(LCTL(KC_3))) // Copy whole screen
|
||||
#define KC_CAPP LGUI(LSFT(KC_4)) // Capture portion of screen
|
||||
#define KC_CPYP LGUI(LSFT(LCTL(KC_4))) // Copy portion of screen
|
||||
#define KC_ESCC MT(MOD_LCTL, KC_ESC)
|
||||
#define KC_LOWR LOWER
|
||||
#define KC_RASE RAISE
|
||||
#define KC_GRVF LT(_FKEYS, KC_GRV)
|
||||
#define KC_ENTS MT(MOD_LSFT, KC_ENT)
|
||||
#define KC_BL_S BL_STEP
|
||||
#define KC_BL_T BL_TOGG
|
||||
#define KC_RMOD RGB_MOD
|
||||
|
||||
#ifndef LAYOUT_kc_ortho_4x12
|
||||
#define LAYOUT_kc_ortho_4x12( \
|
||||
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
|
||||
L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
|
||||
L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
|
||||
) \
|
||||
LAYOUT_ortho_4x12( \
|
||||
KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \
|
||||
KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \
|
||||
KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \
|
||||
KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35 \
|
||||
)
|
||||
|
||||
#endif
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_MAC] = LAYOUT_kc_ortho_4x12(
|
||||
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
||||
TAB , Q , W , E , R , T , Y , U , I , O , P ,MINS,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
GRVF,LCTL,LALT,LGUI,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
|
||||
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
||||
),
|
||||
|
||||
[_WINDOWS] = LAYOUT_kc_ortho_4x12(
|
||||
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
||||
TAB , Q , W , E , R , T , Y , U , I , O , P ,MINS,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
GRVF,LALT,LGUI,LCTL,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
|
||||
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
||||
),
|
||||
|
||||
[_TESTMODE] = LAYOUT_kc_ortho_4x12(
|
||||
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
||||
TAB , Q , W , E , R , T , Y , U , I , O , P ,MINS,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
RMOD,BL_S, S , D , F , G , RMOD,BL_S, K , L ,SCLN,QUOT,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
GRVF,LALT,LGUI,LCTL,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
|
||||
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_kc_ortho_4x12(
|
||||
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
||||
, 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , ,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
DEL ,CAPP,LEFT,RGHT, UP ,LBRC, RBRC, P4 , P5 , P6 ,PLUS,PIPE,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
,CPYP, , ,DOWN,LCBR, RCBR, P1 , P2 , P3 ,MINS, ,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
BL_S,BL_T, , , ,DEL , DEL , , P0 ,PDOT, ,
|
||||
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_kc_ortho_4x12(
|
||||
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
||||
,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN, ,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
DEL ,MPRV,MNXT,VOLU,PGUP,UNDS, EQL ,HOME, , , ,BSLS,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
MUTE,MSTP,MPLY,VOLD,PGDN,MINS, PLUS,END , , , , ,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
, , , , , , , , , , ,
|
||||
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
||||
),
|
||||
|
||||
[_FKEYS] = LAYOUT_kc_ortho_4x12(
|
||||
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
|
||||
F12 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
, , , , , , , , , , , ,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
, , , , , , , , , , , ,
|
||||
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
|
||||
, , , , , , , , , , ,
|
||||
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
|
||||
),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | Reset|RGB Tg|RGB Md|Hue Up|Hue Dn|Sat Up|Sat Dn|Val Up|Val Dn| | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT_ortho_4x12(
|
||||
_______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______,
|
||||
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, MAC, WINDOWS, TESTMODE,_______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case MAC:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_MAC);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case WINDOWS:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_WINDOWS);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case TESTMODE:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_TESTMODE);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case ADJUST:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_ADJUST);
|
||||
} else {
|
||||
layer_off(_ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1,306 +0,0 @@
|
||||
/* Copyright 2022 Forrest Cahoon <forrest.cahoon@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/>.
|
||||
*/
|
||||
|
||||
|
||||
// Milliseconds the backlight is off (or on) when blinking to show
|
||||
// caps lock is on. In other words, half the time of a full blink cycle.
|
||||
#define CAPS_LOCK_BLINK_MS 350
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layer {
|
||||
_QWERTY,
|
||||
_PG, // for "programming"
|
||||
_MS, // for "mouse"
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
PG_ARRO = SAFE_RANGE,
|
||||
PG_BANG,
|
||||
PG_ENDC,
|
||||
PG_EQEQ,
|
||||
PG_EQL,
|
||||
PG_LBRK,
|
||||
PG_LPAR,
|
||||
PG_MINS,
|
||||
PG_NEEQ,
|
||||
PG_RBRK,
|
||||
PG_RPAR,
|
||||
PG_SLAS,
|
||||
PG_VBAR,
|
||||
MS_BTN,
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT(
|
||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
|
||||
MS_BTN, KC_ESC, 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,
|
||||
// ├────────┼───┬────┴────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
MO(_PG), 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(_MS), 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,
|
||||
// ├────────┼───┴─────────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┴────┬────────┬───┘
|
||||
TG(_PG), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, TG(_MS),
|
||||
// ├────────┼───┬──────────┬──┴──────┬─┴────────┼────────┼────────┼────────┤ ├────────┴─┬──────┴──────┬─┴────────┼────────┴─┬─────────┬─┴────────┤
|
||||
TG(_MS), KC_LGUI, KC_LCTL, KC_LALT, MO(_PG), KC_SPC, KC_SPC, KC_SPC, KC_SPC, MO(_PG), KC_RALT, KC_RCTL, KC_RGUI
|
||||
// └────────┴───┴──────────┴─────────┴──────────┴────────┴────────┴────────┘ └──────────┴─────────────┴──────────┴──────────┴─────────┴──────────┘
|
||||
),
|
||||
[_PG] = LAYOUT(
|
||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
|
||||
KC_MUTE, QK_BOOT, _______, 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,
|
||||
// ├────────┼───┬────┴────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
_______, _______, _______, PG_SLAS, PG_LPAR, PG_RPAR, PG_NEEQ, _______, KC_HOME, KC_UP, KC_PGUP, KC_INS, _______, _______, _______,
|
||||
// ├────────┼───┼─────────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┤
|
||||
_______, _______, PG_ENDC, PG_VBAR, PG_LBRK, PG_RBRK, PG_EQEQ, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_BSPC,
|
||||
// ├────────┼───┴─────────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┴────┬────────┬───┘
|
||||
_______, _______, _______, PG_MINS, PG_EQL, PG_BANG, PG_ARRO, _______, KC_END, KC_DOWN, KC_PGDN, KC_DEL, _______, _______,
|
||||
// ├────────┼───┬──────────┬──┴──────┬─┴────────┼────────┼────────┼────────┤ ├────────┴─┬──────┴──────┬─┴────────┼────────┴─┬─────────┬─┴────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
// └────────┴───┴──────────┴─────────┴──────────┴────────┴────────┴────────┘ └──────────┴─────────────┴──────────┴──────────┴─────────┴──────────┘
|
||||
),
|
||||
[_MS] = LAYOUT(
|
||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
// ├────────┼───┬────┴────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, _______,
|
||||
// ├────────┼───┼─────────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN3, _______, _______,
|
||||
// ├────────┼───┴─────────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┴────┬────────┬───┘
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_D, _______, _______, _______, _______,
|
||||
// ├────────┼───┬──────────┬──┴──────┬─┴────────┼────────┼────────┼────────┤ ├────────┴─┬──────┴──────┬─┴────────┼────────┴─┬─────────┬─┴────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
// └────────┴───┴──────────┴─────────┴──────────┴────────┴────────┴────────┘ └──────────┴─────────────┴──────────┴──────────┴─────────┴──────────┘
|
||||
),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
const key_override_t pg_lbrk_none = ko_make_with_layers_and_negmods(0, PG_LBRK, KC_LEFT_CURLY_BRACE, ~0, ~0);
|
||||
const key_override_t pg_lbrk_shift = ko_make_with_layers_and_negmods(MOD_MASK_SHIFT, PG_LBRK, KC_LEFT_BRACKET, ~0, ~MOD_MASK_SHIFT);
|
||||
|
||||
const key_override_t pg_lpar_none = ko_make_with_layers_and_negmods(0, PG_LPAR, KC_LEFT_PAREN, ~0, ~0);
|
||||
const key_override_t pg_lpar_shift = ko_make_with_layers_and_negmods(MOD_MASK_SHIFT, PG_LPAR, KC_LEFT_ANGLE_BRACKET, ~0, ~MOD_MASK_SHIFT);
|
||||
|
||||
const key_override_t pg_rbrk_none = ko_make_with_layers_and_negmods(0, PG_RBRK, KC_RIGHT_CURLY_BRACE, ~0, ~0);
|
||||
const key_override_t pg_rbrk_shift = ko_make_with_layers_and_negmods(MOD_MASK_SHIFT, PG_RBRK, KC_RIGHT_BRACKET, ~0, ~MOD_MASK_SHIFT);
|
||||
|
||||
const key_override_t pg_rpar_none = ko_make_with_layers_and_negmods(0, PG_RPAR, KC_RIGHT_PAREN, ~0, ~0);
|
||||
const key_override_t pg_rpar_shift = ko_make_with_layers_and_negmods(MOD_MASK_SHIFT, PG_RPAR, KC_RIGHT_ANGLE_BRACKET, ~0, ~MOD_MASK_SHIFT);
|
||||
|
||||
const key_override_t pg_slas_none = ko_make_with_layers_and_negmods(0, PG_SLAS, KC_SLASH, ~0, ~0);
|
||||
const key_override_t pg_slas_shift = ko_make_with_layers_and_negmods(MOD_MASK_SHIFT, PG_SLAS, KC_BACKSLASH, ~0, ~MOD_MASK_SHIFT);
|
||||
|
||||
const key_override_t ms_btn_none = ko_make_with_layers_and_negmods(0, MS_BTN, KC_MS_BTN1, ~0, ~0);
|
||||
const key_override_t ms_btn_shift = ko_make_with_layers_and_negmods(MOD_MASK_SHIFT, MS_BTN, KC_MS_BTN2, ~0, ~MOD_MASK_SHIFT);
|
||||
|
||||
// clang-format off
|
||||
const key_override_t **key_overrides = (const key_override_t *[]){
|
||||
&pg_lbrk_none, &pg_lbrk_shift,
|
||||
&pg_lpar_none, &pg_lpar_shift,
|
||||
&pg_rbrk_none, &pg_rbrk_shift,
|
||||
&pg_rpar_none, &pg_rpar_shift,
|
||||
&pg_slas_none, &pg_slas_shift,
|
||||
&ms_btn_none, &ms_btn_shift,
|
||||
NULL};
|
||||
// clang-format on
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
uint8_t std_mods = get_mods();
|
||||
uint8_t oneshot_mods = get_oneshot_mods();
|
||||
uint8_t all_mods = std_mods | oneshot_mods;
|
||||
bool shift_on = all_mods & MOD_MASK_SHIFT;
|
||||
bool ctrl_on = all_mods & MOD_MASK_CTRL;
|
||||
|
||||
// None of our special keycodes use ALT or GUI mods (so far), so we
|
||||
// check once here at the top and let other code handle it if any of
|
||||
// these are set.
|
||||
if (all_mods & (MOD_MASK_ALT | MOD_MASK_GUI)) return true;
|
||||
|
||||
switch (keycode) {
|
||||
case KC_CAPS:
|
||||
// On caps lock release, if caps lock just got turned off, ensure that
|
||||
// backlight is enabled when it stops blinking.
|
||||
if (!record->event.pressed) {
|
||||
if (!host_keyboard_led_state().caps_lock) {
|
||||
backlight_enable();
|
||||
// In this case, we want to continue processing
|
||||
return true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case PG_ARRO:
|
||||
if (record->event.pressed) {
|
||||
clear_mods();
|
||||
clear_oneshot_mods();
|
||||
if (shift_on) {
|
||||
if (!ctrl_on) SEND_STRING(" ");
|
||||
SEND_STRING("=>");
|
||||
if (!ctrl_on) SEND_STRING(" ");
|
||||
} else {
|
||||
if (ctrl_on) SEND_STRING(" ");
|
||||
SEND_STRING("->");
|
||||
if (ctrl_on) SEND_STRING(" ");
|
||||
}
|
||||
set_mods(std_mods);
|
||||
set_oneshot_mods(oneshot_mods);
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case PG_BANG:
|
||||
if (record->event.pressed) {
|
||||
clear_mods();
|
||||
clear_oneshot_mods();
|
||||
if (shift_on) {
|
||||
if (!ctrl_on) SEND_STRING(" ");
|
||||
SEND_STRING("*");
|
||||
if (!ctrl_on) SEND_STRING(" ");
|
||||
} else {
|
||||
if (ctrl_on) SEND_STRING(" ");
|
||||
SEND_STRING("!");
|
||||
if (!ctrl_on) SEND_STRING(" ");
|
||||
}
|
||||
set_mods(std_mods);
|
||||
set_oneshot_mods(oneshot_mods);
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case PG_ENDC:
|
||||
if (record->event.pressed) {
|
||||
clear_mods();
|
||||
clear_oneshot_mods();
|
||||
SEND_STRING(SS_TAP(X_END));
|
||||
if (!shift_on) SEND_STRING(";");
|
||||
if (!ctrl_on) SEND_STRING(SS_TAP(X_ENTER));
|
||||
set_mods(std_mods);
|
||||
set_oneshot_mods(oneshot_mods);
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case PG_EQEQ:
|
||||
if (record->event.pressed) {
|
||||
clear_mods();
|
||||
clear_oneshot_mods();
|
||||
if (!ctrl_on) SEND_STRING(" ");
|
||||
shift_on ? SEND_STRING("==") : SEND_STRING("===");
|
||||
if (!ctrl_on) SEND_STRING(" ");
|
||||
set_mods(std_mods);
|
||||
set_oneshot_mods(oneshot_mods);
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case PG_EQL:
|
||||
if (record->event.pressed) {
|
||||
clear_mods();
|
||||
clear_oneshot_mods();
|
||||
if (!ctrl_on) SEND_STRING(" ");
|
||||
shift_on ? SEND_STRING("+") : SEND_STRING("=");
|
||||
if (!ctrl_on) SEND_STRING(" ");
|
||||
set_mods(std_mods);
|
||||
set_oneshot_mods(oneshot_mods);
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case PG_MINS:
|
||||
if (record->event.pressed) {
|
||||
clear_mods();
|
||||
clear_oneshot_mods();
|
||||
if (shift_on) {
|
||||
if (ctrl_on) SEND_STRING(" ");
|
||||
SEND_STRING("_");
|
||||
if (ctrl_on) SEND_STRING(" ");
|
||||
} else {
|
||||
if (!ctrl_on) SEND_STRING(" ");
|
||||
SEND_STRING("-");
|
||||
if (!ctrl_on) SEND_STRING(" ");
|
||||
}
|
||||
set_mods(std_mods);
|
||||
set_oneshot_mods(oneshot_mods);
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case PG_NEEQ:
|
||||
if (record->event.pressed) {
|
||||
clear_mods();
|
||||
clear_oneshot_mods();
|
||||
if (!ctrl_on) SEND_STRING(" ");
|
||||
shift_on ? SEND_STRING("!=") : SEND_STRING("!==");
|
||||
if (!ctrl_on) SEND_STRING(" ");
|
||||
set_mods(std_mods);
|
||||
set_oneshot_mods(oneshot_mods);
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case PG_VBAR:
|
||||
if (record->event.pressed) {
|
||||
clear_mods();
|
||||
clear_oneshot_mods();
|
||||
if (!ctrl_on) SEND_STRING(" ");
|
||||
shift_on ? SEND_STRING("&") : SEND_STRING("|");
|
||||
if (!ctrl_on) SEND_STRING(" ");
|
||||
set_mods(std_mods);
|
||||
set_oneshot_mods(oneshot_mods);
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// I have only one encoder on my FoldKB and I want it to always be a scroll wheel.
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_MS_WH_DOWN);
|
||||
} else {
|
||||
tap_code(KC_MS_WH_UP);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static uint16_t caps_lock_blink_timer = 0;
|
||||
|
||||
// This is called after every matrix scan. We make the backlight blink
|
||||
// when caps lock is on here. To ensure the backlight is in the on state
|
||||
// when caps lock is turned off, we also watch for the relase of the caps
|
||||
// lock key in process_record_user().
|
||||
void housekeeping_task_user(void) {
|
||||
if (host_keyboard_led_state().caps_lock) {
|
||||
if (timer_elapsed(caps_lock_blink_timer) >= CAPS_LOCK_BLINK_MS) {
|
||||
backlight_toggle();
|
||||
caps_lock_blink_timer = timer_read();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// The backlight level shows which layer we are in:
|
||||
// Mouse layer: dim | QWERTY layer: medium | Programming layer: bright
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case _MS:
|
||||
backlight_level(1);
|
||||
break;
|
||||
case _PG:
|
||||
backlight_level(3);
|
||||
break;
|
||||
default:
|
||||
backlight_level(2);
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
void keyboard_post_init(void) {
|
||||
backlight_level(2);
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
# Keebio FoldKB rev1
|
||||
|
||||
My layout for the FoldKB has three layers:
|
||||
|
||||
* A default standard QWERTY layer,
|
||||
|
||||
* a second "programming" layer with
|
||||
* function keys for the corresponding numbers
|
||||
* arrow and other navigation keys (such as home) on the right half, and
|
||||
* various alternate keymappings and macros useful for programming on the
|
||||
left half.
|
||||
|
||||
* a third "mouse" layer with mouse keys on the right half. No special functions
|
||||
have been added to the left half for this layer (yet).
|
||||
|
||||
This was written for a FoldKB with one encoder, and that is made to function as
|
||||
a mouse scroll wheel on all layers. Pressing it is a mouse left click and
|
||||
shift-pressing it is a mouse right click. (Presumably both encoders would do the
|
||||
same thing on a FoldKB with two.)
|
||||
|
||||
The backgound lighting levels indicate the layer: dimmest for the default
|
||||
QWERTY layer, middle brightness for the mouse layer, and brightest for the
|
||||
programming layer.
|
||||
@@ -1,3 +0,0 @@
|
||||
KEY_OVERRIDE_ENABLE = yes
|
||||
MOUSEKEY_ENABLE = yes
|
||||
ENCODER_ENABLE = yes
|
||||
@@ -1,45 +0,0 @@
|
||||
#include QMK_KEYBOARD_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 _BASE 0
|
||||
#define _FN1 1
|
||||
#define _FN2 2
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
};
|
||||
|
||||
|
||||
#define FN1 MO(_FN1)
|
||||
#define FN2 MO(_FN2)
|
||||
#define SPFN1 LT(_FN1, KC_SPACE)
|
||||
#define BSFN2 LT(_FN2, KC_BSPC)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT(
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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,
|
||||
XXXXXXX, KC_LCTL, KC_LALT, XXXXXXX, KC_SPC, FN1, KC_RCTL, KC_RGUI, FN2, XXXXXXX
|
||||
),
|
||||
|
||||
[_FN1] = LAYOUT(
|
||||
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,
|
||||
QK_BOOT, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______,
|
||||
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_VOLD, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, KC_UP, _______,
|
||||
RGB_TOG, _______, _______, _______, _______, KC_DEL, KC_0, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_FN2] = LAYOUT(
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS,
|
||||
_______, _______, _______, KC_INS, KC_PGUP, KC_HOME, _______, _______, _______, _______, KC_COLN, _______,
|
||||
_______, _______, _______, KC_DEL, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
};
|
||||
@@ -1,40 +0,0 @@
|
||||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
Copyright 2018 Danny Nguyen <danny@keeb.io>
|
||||
Copyright 2021 Roger Billerey-Mosier
|
||||
|
||||
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
|
||||
|
||||
/* Use I2C or Serial, not both */
|
||||
|
||||
//#define DEBUG_MATRIX_SCAN_RATE
|
||||
|
||||
#define FORCE_NKRO
|
||||
|
||||
#undef RGBLIGHT_EFFECT_SNAKE
|
||||
#undef RGBLIGHT_EFFECT_KNIGHT
|
||||
#undef RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#undef RGBLIGHT_EFFECT_RGB_TEST
|
||||
#undef RGBLIGHT_EFFECT_ALTERNATING
|
||||
#undef RGBLIGHT_EFFECT_TWINKLE
|
||||
|
||||
#define LAYER_STATE_8BIT
|
||||
#define MAX_LAYER 3
|
||||
@@ -1,44 +0,0 @@
|
||||
// Copyright 2022 Danny Nguyen (@nooges)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#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 custom_layer {
|
||||
_BASE,
|
||||
_FN1,
|
||||
_FN2,
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_60(
|
||||
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,
|
||||
MO(_FN1), 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, MO(_FN2),KC_SPC, _______, KC_SPC, KC_RALT, MO(_FN1), _______, KC_MENU, KC_RCTL
|
||||
),
|
||||
|
||||
[_FN1] = LAYOUT_60(
|
||||
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_CAPS, KC_PGUP, KC_UP, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
|
||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_HOME, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_END, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[_FN2] = LAYOUT_60(
|
||||
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, _______, KC_TRNS,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
@@ -1,4 +0,0 @@
|
||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||
DEBOUNCE_TYPE = sym_eager_pk # Eager; per key
|
||||
CONSOLE_ENABLE = no # debug console
|
||||
ENCODER_ENABLE = no
|
||||
@@ -1,18 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#define USE_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
// #define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
#define EE_HANDS
|
||||
|
||||
#define TAPPING_TERM 150
|
||||
#define TAPPING_TOGGLE 2
|
||||
|
||||
// #undef RGBLED_NUM
|
||||
// #define RGBLED_NUM 12
|
||||
// #define RGBLIGHT_HUE_STEP 8
|
||||
// #define RGBLIGHT_SAT_STEP 8
|
||||
// #define RGBLIGHT_VAL_STEP 8
|
||||
@@ -1,281 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
enum rorschach_layers {
|
||||
_COLEMAK, // Colemak (default layer)
|
||||
_QWERTY, // Qwerty
|
||||
_NUMBERS, // Numbers & Symbols
|
||||
_NUMBERS2, // Numbers & Function Keys (similar to _NUMBERS; used with _NUMBERS for tri-layer access to _ADJUST)
|
||||
_FUNCTION, // Function
|
||||
_FUNCTION2, // Function 2 (identical as _FUNCTION; used to allow for easier use of space and backspace while using function layer arrows)
|
||||
_NUMPAD, // Numpad
|
||||
_ADJUST, // Adjust layer, accessed via tri-layer feature)
|
||||
_ADJUST2 // Second Adjust layer, accessed outside of tri-layer feature)
|
||||
};
|
||||
|
||||
enum rorschach_keycodes {
|
||||
COLEMAK = SAFE_RANGE,
|
||||
QWERTY,
|
||||
NUMPAD = TG(_NUMPAD),
|
||||
ADJUST = MO(_ADJUST2),
|
||||
SPCFN = LT(_FUNCTION, KC_SPC),
|
||||
BSPCFN = LT(_FUNCTION2, KC_BSPC),
|
||||
ENTNS = LT(_NUMBERS, KC_ENT),
|
||||
DELNS = LT(_NUMBERS2, KC_DEL),
|
||||
CTLESC = CTL_T(KC_ESC),
|
||||
ALTAPP = ALT_T(KC_APP),
|
||||
NKROTG = MAGIC_TOGGLE_NKRO,
|
||||
};
|
||||
|
||||
//Tap Dance Declarations
|
||||
enum {
|
||||
ADJ = 0,
|
||||
LBCB,
|
||||
RBCB,
|
||||
EQPL,
|
||||
PLEQ,
|
||||
MNUN,
|
||||
SLAS,
|
||||
GVTL,
|
||||
PPLEQ,
|
||||
PMNUN,
|
||||
PSLPAS
|
||||
};
|
||||
|
||||
void dance_LAYER_finished(tap_dance_state_t *state, void *user_data) {
|
||||
if (state->count == 2) {
|
||||
layer_on(_ADJUST2);
|
||||
set_oneshot_layer(_ADJUST2, ONESHOT_START);
|
||||
}
|
||||
}
|
||||
void dance_LAYER_reset(tap_dance_state_t *state, void *user_data) {
|
||||
if (state->count == 2) {
|
||||
layer_off(_ADJUST2);
|
||||
clear_oneshot_layer_state(ONESHOT_PRESSED);
|
||||
}
|
||||
}
|
||||
|
||||
tap_dance_action_t tap_dance_actions[] = {
|
||||
[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
|
||||
[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR), // Left bracket on a single-tap, left brace on a double-tap
|
||||
[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR), // Right bracket on a single-tap, right brace on a double-tap
|
||||
[EQPL] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS), // Plus sign on a single-tap, equal sign on a double-tap
|
||||
[PLEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PLUS, KC_EQL), // Equal sign on a single-tap, plus sign on a double-tap
|
||||
[MNUN] = ACTION_TAP_DANCE_DOUBLE(KC_MINS, KC_UNDS), // Minus sign on a single-tap, underscore on a double-tap
|
||||
[SLAS] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_ASTR), // Slash in a single-tap, asterisk in a double-tap
|
||||
[GVTL] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_TILD), // Grave on a single-tap, tilde on a double-tap
|
||||
[PPLEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PPLS, KC_EQL), // Numpad plus sign on a single-tap, equal sign on a double-tap
|
||||
[PMNUN] = ACTION_TAP_DANCE_DOUBLE(KC_PMNS, KC_UNDS), // Numpad minus sign on a single-tap, underscore on a double-tap
|
||||
[PSLPAS] = ACTION_TAP_DANCE_DOUBLE(KC_PSLS, KC_PAST) // Numpad slash on a single-tap, numpad asterisk on a double-tap
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Colemak
|
||||
* (Defauit layer; keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
|
||||
* ,-----------------------------------------------. ,-----------------------------------------------.
|
||||
* | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* |Esc/Ctl| A | R | S | T | D | | H | N | E | I | O | ' |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | SC Sft| Z | X | C | V | B | | K | M | , | . | / | SC Sft|
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
|
||||
* | Ins | ` | [ | ] |App/Alt| Spc/FN| |Bsp/Fn2| RGUI | Left | Down | Up | Right |
|
||||
* `---------------------------------------+-------+-------. ,-------+-------+---------------------------------------'
|
||||
* | Ent/NS| Bspc | | Enter |Del/NS2|
|
||||
* `---------------' `---------------'
|
||||
*/
|
||||
[_COLEMAK] = LAYOUT(
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
|
||||
CTLESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
|
||||
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
|
||||
KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
ENTNS, KC_BSPC, KC_ENT, DELNS
|
||||
),
|
||||
|
||||
/* QWERTY
|
||||
* (Keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
|
||||
* ,-----------------------------------------------. ,-----------------------------------------------.
|
||||
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* |Esc/Ctl| A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | SC Sft| Z | X | C | V | B | | N | M | , | . | / | SC Sft|
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
|
||||
* | Ins | ` | [ | ] |App/Alt| Spc/FN| |Bsp/Fn2| RGUI | Left | Down | Up | Right |
|
||||
* `---------------------------------------+-------+-------. ,-------+-------+---------------------------------------'
|
||||
* | Ent/NS| Bspc | | Enter |Del/NS2|
|
||||
* `---------------' `---------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT(
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
|
||||
KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
ENTNS, KC_BSPC, KC_ENT, DELNS
|
||||
),
|
||||
|
||||
/* Number/symbol layer
|
||||
* (Multiple characters: single-tap for first, double-tap for second)
|
||||
* ,-----------------------------------------------. ,-----------------------------------------------.
|
||||
* | | 6 | 7 | 8 | 9 | 0 | | ^ | & | * | ( | ) | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | 1 | 2 | 3 | 4 | 5 | | ! | @ | # | $ | % | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | | . | / * | - _ | + = | | ` ~ | [ { | ] } | | | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
|
||||
* | ( | ) | [ { | ] } | | | | | | | | | |
|
||||
* `---------------------------------------+-------+-------. ,-------+-------+---------------------------------------'
|
||||
* | | | | | |
|
||||
* `---------------' `---------------'
|
||||
*/
|
||||
[_NUMBERS] = LAYOUT(
|
||||
_______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
|
||||
_______, _______, KC_DOT, TD(SLAS), TD(MNUN), TD(PLEQ), TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
|
||||
KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Number/Function Key layer
|
||||
* (Multiple characters: single-tap for first, double-tap for second)
|
||||
* ,-----------------------------------------------. ,-----------------------------------------------.
|
||||
* | | 6 | 7 | 8 | 9 | 0 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | 1 | 2 | 3 | 4 | 5 | | F1 | F2 | F3 | F4 | F5 | F6 |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | | . | / * | - _ | + = | | ` ~ | [ { | ] } | | | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
|
||||
* | ( | ) | [ { | ] } | | | | | | | | | |
|
||||
* `---------------------------------------+-------+-------. ,-------+-------+---------------------------------------'
|
||||
* | | | | | |
|
||||
* `---------------' `---------------'
|
||||
*/
|
||||
[_NUMBERS2] = LAYOUT(
|
||||
_______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
_______, _______, KC_DOT, TD(SLAS), TD(MNUN), TD(PLEQ), TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
|
||||
KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Function layer
|
||||
* ,-----------------------------------------------. ,-----------------------------------------------.
|
||||
* | | | | Up | | | | | | Up | Ctrl+Y| | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | Ctrl+A| Left | Down | Right |C+A+Tab| | PgUp | Right | Down | Left | Home | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | Ctrl+Z| Ctrl+X| Ctrl+C| Ctrl+V| Bspc | | PgDn | Mute | Vol- | Vol+ | End | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
|
||||
* | | | | | | | | | | Prev | Play | Next | Stop |
|
||||
* `---------------------------------------+-------+-------. ,-------+-------+---------------------------------------'
|
||||
* | | | | | |
|
||||
* `---------------' `---------------'
|
||||
*/
|
||||
[_FUNCTION] = LAYOUT(
|
||||
_______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UP, LCTL(KC_Y), _______, _______,
|
||||
_______, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, LCA(KC_TAB), KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
|
||||
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_BSPC, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_FUNCTION2] = LAYOUT(
|
||||
_______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UP, LCTL(KC_Y), _______, _______,
|
||||
_______, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, LCA(KC_TAB), KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
|
||||
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_BSPC, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Numpad layer
|
||||
* (Left side duplicates layout from the Numbers layer, just with numpad output; right side layout close to PC numpad layout)
|
||||
* ,-----------------------------------------------. ,-----------------------------------------------.
|
||||
* | | KP 6 | KP 7 | KP 8 | KP 9 | KP 0 | | NumLk | KP 7 | KP 8 | KP 9 | KP / | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | KP 1 | KP 2 | KP 3 | KP 4 | KP 5 | | Tab | KP 4 | KP 5 | KP 6 | KP * | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | NumLk | KP . |KP/ KP*| KP- _ | KP+ = | | | KP 1 | KP 2 | KP 3 | KP - | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
|
||||
* | ( | ) | [ { | ] } | | | | | KP 0 | = | KP . | KP + | |
|
||||
* `---------------------------------------+-------+-------. ,-------+-------+---------------------------------------'
|
||||
* | | | | KP Ent| |
|
||||
* `---------------' `---------------'
|
||||
*/
|
||||
[_NUMPAD] = LAYOUT(
|
||||
_______, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_NUM, KC_P7, KC_P8, KC_P9, KC_PSLS, _______,
|
||||
_______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_TAB, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
|
||||
_______, KC_NUM, KC_PDOT, TD(PSLPAS), TD(PMNUN), TD(PPLEQ), _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______,
|
||||
KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, KC_P0, KC_EQL, KC_PDOT, KC_PPLS, _______,
|
||||
_______, _______, KC_PENT, _______
|
||||
),
|
||||
|
||||
/* Adjust layer
|
||||
* (Enter/Number + Delete/Number2 to access; Numpad is a toggle)
|
||||
* ,-----------------------------------------------. ,-----------------------------------------------.
|
||||
* | |Colemak| Qwerty| | | | | Numpad| | | Ctrl+Y| | QK_BOOT |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | | | | | | | |NKROTog| | | | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | | | | | | | | | | | | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------'
|
||||
* | | | | | | | | | | | | | |
|
||||
* `---------------------------------------+-------+-------. ,-------+-------+---------------------------------------'
|
||||
* | | | | | |
|
||||
* `---------------' `---------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT(
|
||||
_______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
|
||||
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_ADJUST2] = LAYOUT(
|
||||
_______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
|
||||
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _NUMBERS, _NUMBERS2, _ADJUST);
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
default_layer_set(1UL << _COLEMAK);
|
||||
layer_off ( _QWERTY);
|
||||
layer_off ( _NUMBERS);
|
||||
layer_off ( _NUMBERS2);
|
||||
layer_off ( _FUNCTION);
|
||||
layer_off ( _FUNCTION2);
|
||||
layer_off ( _NUMPAD);
|
||||
layer_off ( _ADJUST);
|
||||
layer_off ( _ADJUST2);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
default_layer_set(1UL << _QWERTY);
|
||||
layer_off ( _COLEMAK);
|
||||
layer_off ( _NUMBERS);
|
||||
layer_off ( _NUMBERS2);
|
||||
layer_off ( _FUNCTION);
|
||||
layer_off ( _FUNCTION2);
|
||||
layer_off ( _NUMPAD);
|
||||
layer_off ( _ADJUST);
|
||||
layer_off ( _ADJUST2);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
## I've changed my folder name to match my GitHub username. Please see https://github.com/qmk/qmk_firmware/tree/master/keyboards/keebio/rorschach/keymaps/tuesdayjohn for my current keymap files.
|
||||
@@ -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 = 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 = no # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = yes # 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 # Enable Tap Dancing function
|
||||
@@ -1,18 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#define USE_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
// #define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
#define EE_HANDS
|
||||
|
||||
#define TAPPING_TERM 175
|
||||
#define TAPPING_TOGGLE 2
|
||||
|
||||
// #undef RGBLED_NUM
|
||||
// #define RGBLED_NUM 12
|
||||
// #define RGBLIGHT_HUE_STEP 8
|
||||
// #define RGBLIGHT_SAT_STEP 8
|
||||
// #define RGBLIGHT_VAL_STEP 8
|
||||
@@ -1,296 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
enum rorschach_layers {
|
||||
_COLEMAK, // Colemak (default layer)
|
||||
_QWERTY, // Qwerty
|
||||
_NUMBERS, // Numbers & Symbols
|
||||
_NUMBERS2, // Numbers & Function Keys (similar to _NUMBERS; used with _NUMBERS for tri-layer access to _ADJUST)
|
||||
_FUNCTION, // Function
|
||||
_FUNCTION2, // Function 2 (identical as _FUNCTION; used to allow for easier use of space and backspace while using function layer arrows)
|
||||
_NUMPAD, // Numpad
|
||||
_ADJUST, // Adjust layer, accessed via tri-layer feature)
|
||||
_ADJUST2 // Second Adjust layer, accessed outside of tri-layer feature)
|
||||
};
|
||||
|
||||
enum rorschach_keycodes {
|
||||
COLEMAK = SAFE_RANGE,
|
||||
QWERTY
|
||||
};
|
||||
|
||||
//Tap Dance Declarations
|
||||
enum {
|
||||
ADJ = 0,
|
||||
LBCB,
|
||||
RBCB,
|
||||
EQPL,
|
||||
PLEQ,
|
||||
MNUN,
|
||||
SLAS,
|
||||
GVTL,
|
||||
PPEQ,
|
||||
PMUN,
|
||||
PSPA
|
||||
};
|
||||
|
||||
void dance_LAYER_finished(tap_dance_state_t *state, void *user_data) {
|
||||
if (state->count == 2) {
|
||||
layer_on(_ADJUST2);
|
||||
set_oneshot_layer(_ADJUST2, ONESHOT_START);
|
||||
}
|
||||
}
|
||||
void dance_LAYER_reset(tap_dance_state_t *state, void *user_data) {
|
||||
if (state->count == 2) {
|
||||
layer_off(_ADJUST2);
|
||||
clear_oneshot_layer_state(ONESHOT_PRESSED);
|
||||
}
|
||||
}
|
||||
|
||||
tap_dance_action_t tap_dance_actions[] = {
|
||||
[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
|
||||
[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR), // Left bracket on a single-tap, left brace on a double-tap
|
||||
[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR), // Right bracket on a single-tap, right brace on a double-tap
|
||||
[EQPL] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS), // Plus sign on a single-tap, equal sign on a double-tap
|
||||
[PLEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PLUS, KC_EQL), // Equal sign on a single-tap, plus sign on a double-tap
|
||||
[MNUN] = ACTION_TAP_DANCE_DOUBLE(KC_MINS, KC_UNDS), // Minus sign on a single-tap, underscore on a double-tap
|
||||
[SLAS] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_ASTR), // Slash in a single-tap, asterisk in a double-tap
|
||||
[GVTL] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_TILD), // Grave on a single-tap, tilde on a double-tap
|
||||
[PPEQ] = ACTION_TAP_DANCE_DOUBLE(KC_PPLS, KC_EQL), // Numpad plus sign on a single-tap, equal sign on a double-tap
|
||||
[PMUN] = ACTION_TAP_DANCE_DOUBLE(KC_PMNS, KC_UNDS), // Numpad minus sign on a single-tap, underscore on a double-tap
|
||||
[PSPA] = ACTION_TAP_DANCE_DOUBLE(KC_PSLS, KC_PAST) // Numpad slash on a single-tap, numpad asterisk on a double-tap
|
||||
};
|
||||
|
||||
//Aliases for longer keycodes
|
||||
#define NUMPAD TG(_NUMPAD)
|
||||
#define ADJUST MO(_ADJUST2)
|
||||
#define SPCFN LT(_FUNCTION, KC_SPC)
|
||||
#define BSPCFN LT(_FUNCTION2, KC_BSPC)
|
||||
#define ENTNS LT(_NUMBERS, KC_ENT)
|
||||
#define DELNS LT(_NUMBERS2, KC_DEL)
|
||||
#define CTLESC CTL_T(KC_ESC)
|
||||
#define ALTAPP ALT_T(KC_APP)
|
||||
#define CTL_A LCTL(KC_A)
|
||||
#define CTL_C LCTL(KC_C)
|
||||
#define CTL_V LCTL(KC_V)
|
||||
#define CTL_X LCTL(KC_X)
|
||||
#define CTL_Z LCTL(KC_Z)
|
||||
#define CTL_Y LCTL(KC_Y)
|
||||
#define CA_TAB LCA(KC_TAB)
|
||||
#define HYPER ALL_T(KC_NO)
|
||||
#define TD_ADJ TD(ADJ)
|
||||
#define TD_LBCB TD(LBCB)
|
||||
#define TD_RBCB TD(RBCB)
|
||||
#define TD_EQPL TD(EQPL)
|
||||
#define TD_PLEQ TD(PLEQ)
|
||||
#define TD_MNUN TD(MNUN)
|
||||
#define TD_SLAS TD(SLAS)
|
||||
#define TD_GVTL TD(GVTL)
|
||||
#define TD_PPEQ TD(PPEQ)
|
||||
#define TD_PMUN TD(PMUN)
|
||||
#define TD_PSPA TD(PSPA)
|
||||
#define NKROTG MAGIC_TOGGLE_NKRO
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
Colemak
|
||||
(Defauit layer; keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
|
||||
,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
| Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| Esc/Ctl| A | R | S | T | D | | H | N | E | I | O | ' |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
|SC Shift| Z | X | C | V | B | | K | M | , | . | / |SC Shift|
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------'
|
||||
| Ins | ` | [ | ] | App/Alt| Spc/FN | | Bsp/Fn2| RGUI | Left | Down | Up | Right |
|
||||
`--------------------------------------------+--------+--------. ,--------+--------+--------------------------------------------'
|
||||
| Ent/NS | Bspc | | Enter | Del/NS2|
|
||||
`-----------------' `-----------------'
|
||||
*/
|
||||
[_COLEMAK] = LAYOUT(
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
|
||||
CTLESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
|
||||
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
|
||||
KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
ENTNS, KC_BSPC, KC_ENT, DELNS
|
||||
),
|
||||
|
||||
/*
|
||||
QWERTY
|
||||
(Keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
|
||||
,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
| Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| Esc/Ctl| A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
|SC Shift| Z | X | C | V | B | | N | M | , | . | / |SC Shift|
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------'
|
||||
| Ins | ` | [ | ] | App/Alt| Spc/FN | | Bsp/Fn2| RGUI | Left | Down | Up | Right |
|
||||
`--------------------------------------------+--------+--------. ,--------+--------+--------------------------------------------'
|
||||
| Ent/NS | Bspc | | Enter | Del/NS2|
|
||||
`-----------------' `-----------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT(
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
|
||||
KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
ENTNS, KC_BSPC, KC_ENT, DELNS
|
||||
),
|
||||
|
||||
/*
|
||||
Number/symbol layer
|
||||
(Multiple characters: single-tap for first, double-tap for second)
|
||||
,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
| | 6 | 7 | 8 | 9 | 0 | | ^ | & | * | ( | ) | |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| | 1 | 2 | 3 | 4 | 5 | | ! | @ | # | $ | % | |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| | | . | / * | - _ | + = | | ` ~ | [ { | ] } | | | |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| ( | ) | [ { | ] } | | | | | | | | | |
|
||||
`--------------------------------------------+--------+--------. ,--------+--------+--------------------------------------------'
|
||||
| | | | | |
|
||||
`-----------------' `-----------------'
|
||||
*/
|
||||
[_NUMBERS] = LAYOUT(
|
||||
_______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
|
||||
_______, _______, KC_DOT, TD_SLAS, TD_MNUN, TD_PLEQ, TD_GVTL, TD_LBCB, TD_RBCB, _______, _______, _______,
|
||||
KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
|
||||
/*
|
||||
Number/Function Key layer
|
||||
(Multiple characters: single-tap for first, double-tap for second)
|
||||
,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
| | 6 | 7 | 8 | 9 | 0 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| | 1 | 2 | 3 | 4 | 5 | | F1 | F2 | F3 | F4 | F5 | F6 |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| | | . | / * | - _ | + = | | ` ~ | [ { | ] } | | | |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| ( | ) | [ { | ] } | | | | | | | | | |
|
||||
`--------------------------------------------+--------+--------. ,--------+--------+--------------------------------------------'
|
||||
| | | | | |
|
||||
`-----------------' `-----------------'
|
||||
*/
|
||||
[_NUMBERS2] = LAYOUT(
|
||||
_______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
_______, _______, KC_DOT, TD_SLAS, TD_MNUN, TD_PLEQ, TD_GVTL, TD_LBCB, TD_RBCB, _______, _______, _______,
|
||||
KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
|
||||
/*
|
||||
Function layer
|
||||
,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
| | | | Up | | | | | | Up | Ctrl+Y | | |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| | Ctrl+A | Left | Down | Right | C+A+Tab| | PgUp | Right | Down | Left | Home | |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| | Ctrl+Z | Ctrl+X | Ctrl+C | Ctrl+V | Bspc | | PgDn | Mute | Vol- | Vol+ | End | |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| | | | | | | | | | Prev | Play | Next | Stop |
|
||||
`--------------------------------------------+--------+--------. ,--------+--------+--------------------------------------------'
|
||||
| | | | | |
|
||||
`-----------------' `-----------------'
|
||||
*/
|
||||
[_FUNCTION] = LAYOUT(
|
||||
_______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UP, CTL_Y, _______, _______,
|
||||
_______, CTL_A, KC_LEFT, KC_DOWN, KC_RGHT, CA_TAB, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
|
||||
_______, CTL_Z, CTL_X, CTL_C, CTL_V, KC_BSPC, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_FUNCTION2] = LAYOUT(
|
||||
_______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UP, CTL_Y, _______, _______,
|
||||
_______, CTL_A, KC_LEFT, KC_DOWN, KC_RGHT, CA_TAB, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______,
|
||||
_______, CTL_Z, CTL_X, CTL_C, CTL_V, KC_BSPC, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, KC_END, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
|
||||
/*
|
||||
Numpad layer
|
||||
(Left side duplicates layout from the Numbers layer, just with numpad output; right side layout close to PC numpad layout)
|
||||
,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
| | KP 6 | KP 7 | KP 8 | KP 9 | KP 0 | | NumLk | KP 7 | KP 8 | KP 9 | KP / | |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| | KP 1 | KP 2 | KP 3 | KP 4 | KP 5 | | Tab | KP 4 | KP 5 | KP 6 | KP * | |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| | NumLk | KP . | KP/ KP*| KP- _ | KP+ = | | | KP 1 | KP 2 | KP 3 | KP - | |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| ( | ) | [ { | ] } | | | | | KP 0 | = | KP . | KP + | |
|
||||
`--------------------------------------------+--------+--------. ,--------+--------+--------------------------------------------'
|
||||
| | | | KP Ent | |
|
||||
`-----------------' `-----------------'
|
||||
*/
|
||||
[_NUMPAD] = LAYOUT(
|
||||
_______, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_NUM, KC_P7, KC_P8, KC_P9, KC_PSLS, _______,
|
||||
_______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_TAB, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
|
||||
_______, KC_NUM, KC_PDOT, TD_PSPA, TD_PMUN, TD_PPEQ, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______,
|
||||
KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, _______, _______, KC_P0, KC_EQL, KC_PDOT, KC_PPLS, _______,
|
||||
_______, _______, KC_PENT, _______
|
||||
),
|
||||
|
||||
/*
|
||||
Adjust layer
|
||||
(Enter/Number + Delete/Number2 to access; Numpad is a toggle)
|
||||
,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
| | Colemak| Qwerty | | | | | Numpad | | | | | QK_BOOT |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| | | | | | | | |NKRO Tog| | | | |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| | | | | | | | | | | | | |
|
||||
|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
| | | | | | | | | | | | | |
|
||||
`--------------------------------------------+--------+--------. ,--------+--------+--------------------------------------------'
|
||||
| | | | | |
|
||||
`-----------------' `-----------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT(
|
||||
_______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
|
||||
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_ADJUST2] = LAYOUT(
|
||||
_______, COLEMAK, QWERTY, _______, _______, _______, NUMPAD, _______, _______, _______, _______, QK_BOOT,
|
||||
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _NUMBERS, _NUMBERS2, _ADJUST);
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
default_layer_set(1UL << _COLEMAK);
|
||||
layer_move (_COLEMAK);
|
||||
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
default_layer_set(1UL << _QWERTY);
|
||||
layer_move (_QWERTY);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -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 = 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 = no # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = yes # 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 # Enable Tap Dancing function
|
||||
@@ -1,65 +0,0 @@
|
||||
/* Copyright 2021 @ Adam Lickel
|
||||
*
|
||||
* 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
|
||||
|
||||
// clang-format off
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_80_with_macro(
|
||||
KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_DEL, KC_MPLY,
|
||||
KC_F1, KC_F2, 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_BSPC, KC_HOME,
|
||||
KC_F3, KC_F4, 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_PGUP,
|
||||
KC_F5, KC_F6, 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_PGDN,
|
||||
KC_F7, KC_F8, 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_UP, KC_END,
|
||||
KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(1), KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[1] = LAYOUT_80_with_macro(
|
||||
_______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, RGB_RMOD,RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[2] = LAYOUT_80_with_macro(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[3] = LAYOUT_80_with_macro(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
|
||||
// clang-format on
|
||||
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||
[1] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) },
|
||||
[2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
|
||||
[3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
|
||||
};
|
||||
#endif
|
||||
@@ -1,26 +0,0 @@
|
||||
# lickel's Sinc keymap
|
||||
|
||||
- Via support is enabled by default
|
||||
- Function Row is optimized for macOS
|
||||
- RGB controls mimic the stock Keychron Q1 layout
|
||||
- F3 opens Mission Control and F4 opens Launchpad
|
||||
- Left macros are: F1->F10
|
||||
- Right macros are: Play, Home, Pg Up, Pg Dn, End, Right
|
||||
|
||||

|
||||
|
||||
([KLE](http://www.keyboard-layout-editor.com/#/gists/e0350d8914cac3166abcca6abfd093b7))
|
||||
|
||||
## Changelog
|
||||
|
||||
### 2022-12-09 - 1.2
|
||||
|
||||
- Add ENCODER_MAP_ENABLE from default VIA definition
|
||||
|
||||
### 2022-03-04 - 1.1
|
||||
|
||||
- Correct function row to change LED backlights, not underglow
|
||||
|
||||
### 2021-11-27 - 1.0
|
||||
|
||||
- Initial release
|
||||
@@ -1,3 +0,0 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
@@ -1,60 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _QWERTY 0
|
||||
#define _COLEMAK 1
|
||||
#define _FN1 2
|
||||
|
||||
#define WORD_L LALT(KC_LEFT)
|
||||
#define WORD_R LALT(KC_RGHT)
|
||||
#define LINE_L LGUI(KC_LEFT)
|
||||
#define LINE_R LGUI(KC_RGHT)
|
||||
|
||||
#define DESK_L LCTL(KC_LEFT)
|
||||
#define DESK_R LCTL(KC_RGHT)
|
||||
#define MSN_CTL LCTL(KC_UP)
|
||||
|
||||
#define LT_FN LT(_FN1, KC_ESC)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = 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_INS, KC_PGUP,
|
||||
//├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤
|
||||
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_DEL, KC_PGDN,
|
||||
//├────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┤ └────────┴────────┘
|
||||
LT_FN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
|
||||
//├──────────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───────────────────┤ ┌────────┐
|
||||
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP,
|
||||
//├──────────┬───────┴──┬─────┴────┬───┴────────┴────────┴────────┴────────┴────────┴──────┬─┴────────┼────────┴─┬──────────┬────┬──────┴─┬────────┼────────┐
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, KC_CAPS, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
//└──────────┴──────────┴──────────┴───────────────────────────────────────────────────────┴──────────┴──────────┴──────────┘ └────────┴────────┴────────┘
|
||||
),
|
||||
|
||||
[_COLEMAK] = 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_INS, KC_PGUP,
|
||||
//├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
|
||||
//├────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┤ └────────┴────────┘
|
||||
LT_FN, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENTER,
|
||||
//├──────────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───────────────────┤ ┌────────┐
|
||||
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP,
|
||||
//├──────────┬───────┴──┬─────┴────┬───┴────────┴────────┴────────┴────────┴────────┴──────┬─┴────────┼────────┴─┬──────────┬────┬──────┴─┬────────┼────────┐
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, KC_CAPS, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
//└──────────┴──────────┴──────────┴───────────────────────────────────────────────────────┴──────────┴──────────┴──────────┘ └────────┴────────┴────────┘
|
||||
),
|
||||
|
||||
[_FN1] = LAYOUT(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────────────┐ ┌────────┬────────┐
|
||||
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_HOME,
|
||||
//├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
|
||||
//├────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┤ └────────┴────────┘
|
||||
_______, DESK_L, MSN_CTL, DESK_R, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______,
|
||||
//├──────────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───────────────────┤ ┌────────┐
|
||||
_______, _______, _______, _______, _______, _______, LINE_L, WORD_L, WORD_R, LINE_R, _______, _______, BL_UP,
|
||||
//├──────────┬───────┴──┬─────┴────┬───┴────────┴────────┴────────┴────────┴────────┴──────┬─┴────────┼────────┴─┬──────────┬────┬──────┴─┬────────┼────────┐
|
||||
_______, _______, _______, KC_BSPC, _______, _______, KC_MENU, BL_BRTG, BL_DOWN, BL_TOGG
|
||||
//└──────────┴──────────┴──────────┴───────────────────────────────────────────────────────┴──────────┴──────────┴──────────┘ └────────┴────────┴────────┘
|
||||
)
|
||||
};
|
||||
@@ -1,321 +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 CANCEL LCTL(KC_C)
|
||||
#define TERM LCTL(LALT(KC_T))
|
||||
#define ALPHAMOD LT(_ALPHA, KC_VOLD)
|
||||
#define CTLBSP MT(MOD_LCTL, KC_BSPC)
|
||||
#define GUIDEL MT(MOD_LGUI, KC_DEL)
|
||||
#define ALTSPC MT(MOD_LALT, KC_SPACE)
|
||||
#define SPCMOD LT(_MOD, KC_SPACE)
|
||||
#define JUMPBACK LSFT(KC_TAB)
|
||||
#define NTAB LCTL(KC_T)
|
||||
#define CTAB LCTL(KC_W)
|
||||
#define TAB1 LCTL(KC_1)
|
||||
#define TAB2 LCTL(KC_2)
|
||||
#define TAB3 LCTL(KC_3)
|
||||
#define TAB4 LCTL(KC_4)
|
||||
#define BWORD LCTL(KC_BSPC)
|
||||
#define LWORD LCTL(KC_LEFT)
|
||||
#define RWORD LCTL(KC_RIGHT)
|
||||
#define TABMOD LT(_MOD, KC_TAB)
|
||||
#define ENTMOD LT(_ENT, KC_ENTER)
|
||||
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_PLAYING,
|
||||
_PLAYED,
|
||||
_NUMS,
|
||||
_FN,
|
||||
_TEST,
|
||||
_ALPHA,
|
||||
_QWERTY,
|
||||
_REV,
|
||||
_DEL,
|
||||
_MOD,
|
||||
_ENT
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
MET = SAFE_RANGE,
|
||||
SET,
|
||||
GO,
|
||||
STOP,
|
||||
RESUME,
|
||||
NEWRESUME,
|
||||
SYNC,
|
||||
SHUTDOWN,
|
||||
REBOOT,
|
||||
SOURCE,
|
||||
PUSH,
|
||||
TEST,
|
||||
TST,
|
||||
ENAME,
|
||||
SNAME,
|
||||
LNAME,
|
||||
BUS,
|
||||
PMERGE,
|
||||
CSPEAK
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case SET:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_NUMS);
|
||||
SEND_STRING("met ");
|
||||
}
|
||||
break;
|
||||
case GO:
|
||||
if (record->event.pressed) {
|
||||
layer_off(_NUMS);
|
||||
layer_off(_ALPHA);
|
||||
layer_off(_PLAYED);
|
||||
layer_on(_PLAYING);
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
}
|
||||
break;
|
||||
case STOP:
|
||||
if (record->event.pressed) {
|
||||
layer_off(_PLAYING);
|
||||
layer_on(_PLAYED);
|
||||
layer_off(_NUMS);
|
||||
layer_off(_ALPHA);
|
||||
SEND_STRING(SS_TAP(X_N));
|
||||
SEND_STRING(SS_TAP(X_N));
|
||||
SEND_STRING(SS_LCTL(SS_TAP(X_C)));
|
||||
}
|
||||
break;
|
||||
case RESUME:
|
||||
if (record->event.pressed) {
|
||||
layer_off(_PLAYED);
|
||||
layer_on(_PLAYING);
|
||||
SEND_STRING(SS_LCTL(SS_TAP(X_C)));
|
||||
SEND_STRING(SS_TAP(X_UP));
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
}
|
||||
break;
|
||||
case NEWRESUME:
|
||||
if (record->event.pressed) {
|
||||
layer_off(_NUMS);
|
||||
layer_off(_ALPHA);
|
||||
layer_off(_PLAYED);
|
||||
layer_on(_PLAYING);
|
||||
SEND_STRING(SS_TAP(X_R));
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
}
|
||||
break;
|
||||
case SYNC:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(SS_TAP(X_N));
|
||||
}
|
||||
break;
|
||||
case SHUTDOWN:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(SS_LCTL(SS_TAP(X_C)));
|
||||
SEND_STRING("shutdown now");
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
}
|
||||
break;
|
||||
case REBOOT:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(SS_LCTL(SS_TAP(X_C)));
|
||||
SEND_STRING("reboot");
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
}
|
||||
break;
|
||||
case SOURCE:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("source .bashrc");
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
}
|
||||
break;
|
||||
case PUSH:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("ftp rossmontsinger.net");
|
||||
_delay_ms(250);
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
_delay_ms(2250);
|
||||
SEND_STRING("met@rossmontsinger.net");
|
||||
_delay_ms(250);
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
_delay_ms(2500);
|
||||
SEND_STRING("metboard");
|
||||
_delay_ms(250);
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
}
|
||||
break;
|
||||
case TEST:
|
||||
if (record->event.pressed) {
|
||||
layer_off(_NUMS);
|
||||
layer_off(_ALPHA);
|
||||
layer_off(_PLAYED);
|
||||
layer_on(_PLAYING);
|
||||
SEND_STRING(SS_LCTL(SS_TAP(X_C)));
|
||||
_delay_ms(250);
|
||||
SEND_STRING("play Desktop/met/a_lazoom.mp3");
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
}
|
||||
case TST:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("tst");
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
}
|
||||
break;
|
||||
case ENAME:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("sname ");
|
||||
layer_on(_NUMS);
|
||||
layer_on(_ALPHA);
|
||||
}
|
||||
break;
|
||||
case SNAME:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
layer_off(_NUMS);
|
||||
layer_off(_ALPHA);
|
||||
}
|
||||
break;
|
||||
case LNAME:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("met $");
|
||||
layer_off(_NUMS);
|
||||
layer_on(_ALPHA);
|
||||
}
|
||||
break;
|
||||
case BUS:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("met $bus");
|
||||
layer_off(_NUMS);
|
||||
layer_off(_ALPHA);
|
||||
layer_off(_PLAYED);
|
||||
layer_on(_PLAYING);
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
}
|
||||
break;
|
||||
case PMERGE:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(SS_TAP(X_HOME));
|
||||
SEND_STRING(SS_TAP(X_BACKSPACE));
|
||||
SEND_STRING(SS_TAP(X_SPACE));
|
||||
SEND_STRING(SS_LCTL(SS_TAP(X_BACKSPACE)));
|
||||
SEND_STRING(SS_TAP(X_SPACE));
|
||||
}
|
||||
break;
|
||||
case CSPEAK:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(SS_TAP(X_PAGE_DOWN));
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
SEND_STRING(SS_TAP(X_PAGE_DOWN));
|
||||
}
|
||||
break;
|
||||
};
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_ortho_5x14(
|
||||
KC_NO, STOP , TST , _______, _______, _______, BUS , _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, SET , SET , SET , _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, SET , SET , SET , _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, LNAME , SET , SET , SET , _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, MO(_FN), _______, SET , _______, _______, _______, TG(_QWERTY),KC_B, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_PLAYING] = LAYOUT_ortho_5x14(
|
||||
KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, _______, _______, _______, _______, STOP , _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_PLAYED] = LAYOUT_ortho_5x14(
|
||||
KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______,_______, _______, _______, _______,NEWRESUME, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_NUMS] = LAYOUT_ortho_5x14(
|
||||
KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, KC_7 , KC_8 , KC_9 , _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, KC_4 , KC_5 , KC_6 , _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, KC_1 , KC_2 , KC_3 , _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, _______, KC_0 , _______, _______, GO , _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_FN] = LAYOUT_ortho_5x14(
|
||||
KC_NO, SHUTDOWN,_______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, REBOOT , _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, ENAME , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, _______, _______, _______, _______, SOURCE , _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_TEST] = LAYOUT_ortho_5x14(
|
||||
KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_ALPHA] = LAYOUT_ortho_5x14(
|
||||
KC_NO, _______, KC_Y , KC_U , KC_I , KC_O , KC_P , _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, KC_N , KC_Q , KC_W , KC_E , KC_R , KC_T , _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, KC_M , KC_A , KC_S , KC_D , KC_F , KC_G , _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, _______, KC_H , KC_J , KC_K , KC_L , GO , _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_QWERTY] = LAYOUT_ortho_5x14(
|
||||
KC_NO, 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_NO, KC_CAPS, 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_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_PGUP ,
|
||||
KC_NO, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_UP, KC_PGDN ,
|
||||
KC_NO, CTLBSP , GUIDEL , KC_ENTER, ALTSPC, TABMOD , KC_BSPC, ENTMOD , SPCMOD ,MO(_DEL), KC_BSLS, KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
|
||||
|
||||
[_REV] = LAYOUT_ortho_5x14(
|
||||
KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO , _______, _______, _______, _______, KC_TAB , KC_PGDN, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
|
||||
[_DEL] = LAYOUT_ortho_5x14(
|
||||
KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO , _______, _______, _______, _______, KC_BSPC, BWORD , _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_MOD] = LAYOUT_ortho_5x14(
|
||||
KC_NO , KC_GRAVE,KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , NTAB ,
|
||||
KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CTAB,
|
||||
KC_NO , _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_UP ,KC_RIGHT, KC_END , _______, _______,
|
||||
KC_NO , _______, _______, _______, _______, _______, _______, _______, PMERGE , KC_DOWN, _______, _______, _______, _______,
|
||||
KC_NO , _______, _______, _______, _______, LWORD , RWORD , TG(_QWERTY),_______,_______,_______,_______, _______, _______
|
||||
),
|
||||
|
||||
[_ENT] = LAYOUT_ortho_5x14(
|
||||
KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO , _______, _______, _______, _______, _______, CSPEAK , _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
RGBLIGHT_ENABLE = yes
|
||||
Reference in New Issue
Block a user