mirror of
https://github.com/qmk/qmk_userspace.git
synced 2026-07-29 12:44:19 -04:00
Switched to the new layout with 6 columns
This commit is contained in:
parent
41027d2d4b
commit
4b795bfb8e
19 changed files with 204 additions and 139 deletions
0
flash.sh
Normal file → Executable file
0
flash.sh
Normal file → Executable file
|
|
@ -1,7 +1,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
#include "./layers.h"
|
#include "./layers/layers.h"
|
||||||
|
|
||||||
/// @brief Custom keycodes.
|
/// @brief Custom keycodes.
|
||||||
enum CustomKeycodes {
|
enum CustomKeycodes {
|
||||||
|
|
@ -15,6 +15,8 @@ enum CustomKeycodes {
|
||||||
LOW_0,
|
LOW_0,
|
||||||
|
|
||||||
MULT, // avoids a conflict with KC_ASTR
|
MULT, // avoids a conflict with KC_ASTR
|
||||||
|
|
||||||
|
WIN_SWAP,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define TD_CLS TD(TD_CAD_LOCK_SLEEP)
|
#define TD_CLS TD(TD_CAD_LOCK_SLEEP)
|
||||||
|
|
@ -25,7 +27,6 @@ enum CustomKeycodes {
|
||||||
#define MENU S(KC_F10)
|
#define MENU S(KC_F10)
|
||||||
#define TAB_RIGHT C(KC_TAB)
|
#define TAB_RIGHT C(KC_TAB)
|
||||||
#define TAB_LEFT (C(S(KC_TAB)))
|
#define TAB_LEFT (C(S(KC_TAB)))
|
||||||
#define WIN_SWAP 3 // TODO
|
|
||||||
|
|
||||||
// layers
|
// layers
|
||||||
// #define NUM_SPC LT(_NUM, KC_SPC)
|
// #define NUM_SPC LT(_NUM, KC_SPC)
|
||||||
|
|
@ -36,10 +37,14 @@ enum CustomKeycodes {
|
||||||
#define NUM_SPC LT(_NUM, KC_SPC)
|
#define NUM_SPC LT(_NUM, KC_SPC)
|
||||||
#define NAV MO(_NAV)
|
#define NAV MO(_NAV)
|
||||||
#define NUM MO(_NUM)
|
#define NUM MO(_NUM)
|
||||||
#define SYM MO(_SYM)
|
#define SYM_ENT LT(_SYM, KC_ENT)
|
||||||
|
#define GAME MO(_GAME)
|
||||||
#define LAUNCH_NUM LT(_SH_NUM, LAUNCH)
|
#define LAUNCH_NUM LT(_SH_NUM, LAUNCH)
|
||||||
#define COMP_FUNC LT(_FUNC, COMPOSE)
|
#define COMP_FUNC LT(_FUNC, COMPOSE)
|
||||||
|
|
||||||
|
#define ZOOM_IN C(KC_EQL)
|
||||||
|
#define ZOOM_OUT C(KC_MINS)
|
||||||
|
|
||||||
// mod-taps (not homerow mods)
|
// mod-taps (not homerow mods)
|
||||||
// #define GUI_LAUNCH GUI_T(LAUNCH)
|
// #define GUI_LAUNCH GUI_T(LAUNCH)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
#include "caps_word.h"
|
|
||||||
#include "../alias.h"
|
#include "../alias.h"
|
||||||
#include "../tap_dance/tap_dance.h"
|
#include "../tap_dance/tap_dance.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
#pragma once
|
|
||||||
#include "stdint.h"
|
|
||||||
|
|
||||||
bool caps_word_press_user(uint16_t keycode);
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
// TODO: possibly remove
|
|
||||||
|
|
||||||
#include "../alias.h"
|
|
||||||
|
|
||||||
bool get_chordal_hold(
|
|
||||||
uint16_t tap_hold_keycode, keyrecord_t* tap_hold_record, uint16_t other_keycode,
|
|
||||||
keyrecord_t* other_record
|
|
||||||
) {
|
|
||||||
switch (tap_hold_keycode) {
|
|
||||||
case SFT_D:
|
|
||||||
case SFT_K: // no same hand stuff for shift
|
|
||||||
return get_chordal_hold_default(tap_hold_record, other_record);
|
|
||||||
}
|
|
||||||
return true; // allow same hand stuff for everything else
|
|
||||||
}
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include QMK_KEYBOARD_H
|
|
||||||
#include "stdint.h"
|
|
||||||
|
|
||||||
bool get_chordal_hold(
|
|
||||||
uint16_t tap_hold_keycode, keyrecord_t* tap_hold_record, uint16_t other_keycode,
|
|
||||||
keyrecord_t* other_record
|
|
||||||
);
|
|
||||||
50
keyboards/keebio/iris_lm/keymaps/drew/combos/combos.c
Normal file
50
keyboards/keebio/iris_lm/keymaps/drew/combos/combos.c
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
#include "./combos.h"
|
||||||
|
#include "../alias.h"
|
||||||
|
#include "../layers/layers.h"
|
||||||
|
|
||||||
|
uint16_t get_combo_term(uint16_t combo_index, combo_t *combo) {
|
||||||
|
switch (combo_index) {
|
||||||
|
case NumCombo:
|
||||||
|
return 75;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return COMBO_TERM;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool process_combo_key_release(
|
||||||
|
uint16_t combo_index, combo_t* combo, uint8_t key_index, uint16_t keycode
|
||||||
|
) {
|
||||||
|
switch (combo_index) {
|
||||||
|
case NumCombo: // release the combo on any releases
|
||||||
|
switch (keycode) {
|
||||||
|
case SYM_ENT:
|
||||||
|
layer_off(_SYM);
|
||||||
|
break;
|
||||||
|
case NAV:
|
||||||
|
layer_off(_NAV);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
layer_off(_NUM);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool process_combo_key_repress(
|
||||||
|
uint16_t combo_index, combo_t* combo, uint8_t key_index, uint16_t keycode
|
||||||
|
) {
|
||||||
|
switch (combo_index) {
|
||||||
|
case WinSwapCombo:
|
||||||
|
switch (keycode) {
|
||||||
|
case TAB_LEFT:
|
||||||
|
tap_code16(S(KC_TAB));
|
||||||
|
break;
|
||||||
|
case TAB_RIGHT:
|
||||||
|
tap_code(KC_TAB);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
8
keyboards/keebio/iris_lm/keymaps/drew/combos/combos.h
Normal file
8
keyboards/keebio/iris_lm/keymaps/drew/combos/combos.h
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
enum Combos {
|
||||||
|
NumCombo,
|
||||||
|
WinSwapCombo,
|
||||||
|
};
|
||||||
|
|
@ -1,19 +1,21 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "./layers.h"
|
|
||||||
|
|
||||||
#define TAPPING_TERM 200
|
#define TAPPING_TERM 200
|
||||||
|
|
||||||
#define QUICK_TAP_TERM_PER_KEY
|
#define QUICK_TAP_TERM_PER_KEY
|
||||||
|
|
||||||
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
#define HOLD_ON_OTHER_KEY_PRESS
|
||||||
#define PERMISSIVE_HOLD_PER_KEY
|
// #define PERMISSIVE_HOLD_PER_KEY
|
||||||
#define TAPPING_TERM_PER_KEY
|
#define TAPPING_TERM_PER_KEY
|
||||||
// #define FLOW_TAP_TERM 150
|
|
||||||
// #define CHORDAL_HOLD
|
|
||||||
|
// combos
|
||||||
|
#define COMBO_PROCESS_KEY_RELEASE
|
||||||
|
#define COMBO_PROCESS_KEY_REPRESS
|
||||||
|
#define COMBO_TERM_PER_COMBO
|
||||||
|
|
||||||
#define CAPS_WORD_IDLE_TIMEOUT 0
|
#define CAPS_WORD_IDLE_TIMEOUT 0
|
||||||
|
|
||||||
#define DUMMY_MOD_NEUTRALIZER_KEYCODE KC_RCTL
|
#define DUMMY_MOD_NEUTRALIZER_KEYCODE KC_RCTL
|
||||||
#define MODS_TO_NEUTRALIZE {MOD_BIT(KC_LALT), MOD_BIT(KC_RALT), MOD_BIT(KC_LGUI), MOD_BIT(KC_RGUI)}
|
#define MODS_TO_NEUTRALIZE {MOD_BIT(KC_LALT), MOD_BIT(KC_RALT), MOD_BIT(KC_LGUI), MOD_BIT(KC_RGUI)}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
#include QMK_KEYBOARD_H
|
|
||||||
#include "../alias.h"
|
|
||||||
|
|
||||||
uint16_t get_flow_tap_term(uint16_t keycode, keyrecord_t* record, uint16_t previous_keycode) {
|
|
||||||
switch (get_tap_keycode(previous_keycode)) {
|
|
||||||
case KC_A ... KC_Z:
|
|
||||||
case KC_DOT:
|
|
||||||
case KC_COMM:
|
|
||||||
case KC_SCLN:
|
|
||||||
case KC_SLSH:
|
|
||||||
case KC_QUOT: // enable flow-tap for these keys
|
|
||||||
break;
|
|
||||||
|
|
||||||
default: // disable otherwise
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (keycode) {
|
|
||||||
case CTL_D:
|
|
||||||
case CTL_K:
|
|
||||||
case CTL_3:
|
|
||||||
case CTL_8:
|
|
||||||
case CTL_RBRC:
|
|
||||||
case CTL_DOWN: // control should always be allowed to hold
|
|
||||||
|
|
||||||
case GUI_LAUNCH: // same with non-homerow mod taps
|
|
||||||
|
|
||||||
case NUM_SPC:
|
|
||||||
case NAV_ENT:
|
|
||||||
case FUNC_PLAY: // same with layer-taps
|
|
||||||
return 0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return FLOW_TAP_TERM; // enable flow-tap
|
|
||||||
}
|
|
||||||
|
|
@ -1,27 +1,25 @@
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
#include "./caps_word/caps_word.h"
|
#include "./alias.h"
|
||||||
#include "./layers.h"
|
#include "./combos/combos.h"
|
||||||
#include "./tap_dance/tap_dance.c"
|
#include "./layers/layers.h"
|
||||||
#include "./tap_dance/tap_dance.h"
|
#include "./tap_dance/tap_dance.h"
|
||||||
#include "./utils/utils.h"
|
#include "./utils/utils.h"
|
||||||
#include "stdbool.h"
|
#include <stdbool.h>
|
||||||
#include "stdint.h"
|
#include <stdint.h>
|
||||||
|
|
||||||
bool NAV_enabled = false;
|
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[_BASE] = LAYOUT(
|
[_BASE] = LAYOUT(
|
||||||
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
||||||
TD_CLS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,
|
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_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NO,
|
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_NO,
|
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, QK_BOOT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SCLN, KC_NO,
|
CW_TOGG, KC_Z, KC_X, KC_C, KC_V, KC_B, TD_CLS, GAME, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_DEL,
|
||||||
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
||||||
LAUNCH_NUM, NAV, KC_SPC, KC_LSFT, SYM, COMP_FUNC
|
LAUNCH_NUM, NAV, KC_SPC, OS_LSFT, SYM_ENT, COMPOSE
|
||||||
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
@ -35,86 +33,119 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_TRNS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_TRNS, KC_TRNS, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_TRNS,
|
KC_TRNS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_TRNS, KC_TRNS, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_TRNS,
|
||||||
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
||||||
KC_ESC, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS
|
KC_ESC, KC_I, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
|
||||||
),
|
|
||||||
|
|
||||||
[_NAV] = LAYOUT(
|
|
||||||
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
|
||||||
TD_CLS, 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_TAB, WIN_SWAP, TAB_LEFT, TAB_RIGHT, KC_F11, KC_NO, KC_HOME, KC_UP, KC_END, KC_BSPC, KC_TRNS,
|
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
|
||||||
KC_TRNS, OS_LGUI, OS_LALT, OS_LCTL, OS_LSFT, KC_MPLY, CW_TOGG, KC_LEFT, KC_DOWN, KC_RGHT, KC_ENT, KC_TRNS,
|
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
|
||||||
KC_TRNS, KC_ESC, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_TRNS, KC_TRNS, KC_CAPS, KC_F2, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
|
|
||||||
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
|
||||||
LAUNCH_NUM, NAV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
|
||||||
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
||||||
),
|
),
|
||||||
|
|
||||||
[_SYM] = LAYOUT(
|
[_SYM] = LAYOUT(
|
||||||
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
||||||
TD_CLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
|
KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_TAB, KC_BSLS, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_GRV, OS_RSFT, OS_RCTL, OS_RALT, OS_RGUI, KC_TRNS,
|
KC_TRNS, KC_BSLS, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_PLUS, OS_RSFT, OS_RCTL, OS_RALT, OS_RGUI, KC_DQUO,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_CAPS, KC_PIPE, KC_LCBR, KC_RCBR, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, KC_TILD, KC_F2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_CAPS, KC_PIPE, KC_LCBR, KC_RCBR, KC_UNDS, KC_GRV, KC_TRNS, QK_BOOT, KC_TILD, KC_COLN, KC_LABK, KC_RABK, KC_QUES, KC_TRNS,
|
||||||
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
||||||
KC_TRNS, NUM, KC_TRNS, KC_NO, SYM, KC_NO
|
KC_TRNS, NAV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
||||||
|
),
|
||||||
|
|
||||||
|
[_NAV] = LAYOUT(
|
||||||
|
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
|
KC_TRNS, KC_NO, KC_NO, TAB_LEFT, TAB_RIGHT, KC_F11, ZOOM_IN, KC_HOME, KC_UP, KC_END, KC_WFWD, KC_TRNS,
|
||||||
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
|
KC_TRNS, OS_LGUI, OS_LALT, OS_LCTL, OS_LSFT, KC_MPLY, ZOOM_OUT, KC_LEFT, KC_DOWN, KC_RGHT, KC_WBAK, KC_TRNS,
|
||||||
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
|
KC_TRNS, KC_MUTE, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_TRNS, QK_BOOT, KC_NO, KC_F2, KC_TRNS, KC_TRNS, KC_END, KC_TRNS,
|
||||||
|
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
||||||
|
LAUNCH_NUM, NAV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
||||||
),
|
),
|
||||||
|
|
||||||
[_NUM] = LAYOUT(
|
[_NUM] = LAYOUT(
|
||||||
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
||||||
TD_CLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_TRNS, KC_SLSH, KC_AT, MULT, KC_MINS, KC_PLUS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
|
KC_TRNS, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LPRN, KC_RPRN, KC_TRNS,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_DOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
|
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_COMM, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS, KC_SCLN, KC_COLN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_SLSH, KC_E, KC_ASTR, KC_MINS, KC_PLUS, KC_TRNS, QK_BOOT, KC_CIRC, KC_COLN, KC_COMM, KC_DOT, KC_SCLN, KC_TRNS,
|
||||||
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
||||||
KC_TRNS, NUM, KC_TRNS, KC_ENT, SYM, KC_NO
|
KC_TRNS, NAV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
||||||
),
|
),
|
||||||
|
|
||||||
[_FUNC] = LAYOUT(
|
[_SH_NUM] = LAYOUT( // single-handed numbers
|
||||||
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
||||||
TD_CLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_F1, KC_F2, TAB_LEFT, LAUNCH, TAB_RIGHT, KC_NO, KC_NO, KC_HOME, KC_UP, KC_END, KC_NO, KC_TRNS,
|
KC_TRNS, KC_SLSH, KC_DOT, KC_COMM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_TAB, OS_LGUI, OS_LALT, OS_LCTL, OS_LSFT, KC_MPLY, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_CAPS, KC_MUTE, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_TRNS, KC_TRNS, KC_NO, KC_F2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||||
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
||||||
KC_TRNS, NUM, KC_TRNS, KC_ENT, SYM, KC_NO
|
KC_TRNS, NAV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
tap_dance_action_t tap_dance_actions[] = {
|
||||||
static bool if (layer_state_cmp(state, _NAV) && layer_state_cmp(state, _SYM)) {
|
[TD_CAD_LOCK_SLEEP] = ACTION_TAP_DANCE_FN(CAD_lock_sleep),
|
||||||
layer_on(_NUM);
|
};
|
||||||
}
|
|
||||||
else {
|
const uint16_t PROGMEM num_layer_combo[] = {NAV, SYM_ENT, COMBO_END};
|
||||||
layer_off(_NUM);
|
const uint16_t PROGMEM win_swap_combo[] = {TAB_LEFT, TAB_RIGHT, COMBO_END};
|
||||||
}
|
|
||||||
return state;
|
combo_t key_combos[] = {
|
||||||
}
|
[NumCombo] = COMBO(num_layer_combo, NUM),
|
||||||
|
[WinSwapCombo] = COMBO(win_swap_combo, WIN_SWAP),
|
||||||
|
};
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t* record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t* record) {
|
||||||
|
static bool NAV_is_on = false;
|
||||||
|
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
|
// allow the SYM and NAV layers to override each other
|
||||||
|
case NAV:
|
||||||
|
NAV_is_on = record->event.pressed; // track NAV's state for SYM
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SYM_ENT:
|
||||||
|
if (!record->tap.count) {
|
||||||
|
// if NAV is on, turn it off when SYM is turned on, then restore it when SYM is
|
||||||
|
// turned off
|
||||||
|
// if we're NUM-latched, don't interfere with the states
|
||||||
|
if (NAV_is_on) {
|
||||||
|
record->event.pressed && !NUM_latched ? layer_off(_NAV) : layer_on(_NAV);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case WIN_SWAP: // easy Alt-Tab
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_mods(MOD_LALT);
|
||||||
|
tap_code(KC_TAB);
|
||||||
|
} else {
|
||||||
|
unregister_mods(MOD_LALT);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case LAUNCH_NUM: // make the launch keycode work
|
case LAUNCH_NUM: // make the launch keycode work
|
||||||
if (record->tap.count && record->event.pressed) {
|
if (record->tap.count) {
|
||||||
|
if (record->event.pressed) {
|
||||||
tap_code16(LAUNCH);
|
tap_code16(LAUNCH);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// bool process_record_user(uint16_t keycode, keyrecord_t* record) {
|
// bool process_record_user(uint16_t keycode, keyrecord_t* record) {
|
||||||
|
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
#pragma once
|
|
||||||
|
|
||||||
enum {
|
|
||||||
_BASE,
|
|
||||||
_GAME,
|
|
||||||
_NAV,
|
|
||||||
_SYM,
|
|
||||||
_NUM,
|
|
||||||
_SH_NUM,
|
|
||||||
_FUNC
|
|
||||||
};
|
|
||||||
24
keyboards/keebio/iris_lm/keymaps/drew/layers/layers.c
Normal file
24
keyboards/keebio/iris_lm/keymaps/drew/layers/layers.c
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
#include "./layers.h"
|
||||||
|
|
||||||
|
bool NUM_latched = false;
|
||||||
|
|
||||||
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
|
// NUM latching
|
||||||
|
if (NUM_latched) {
|
||||||
|
if (IS_LAYER_ON_STATE(state, _SYM) && IS_LAYER_ON_STATE(state, _NAV)) {
|
||||||
|
state |= 1 << _NUM; // turn on NUM
|
||||||
|
} else {
|
||||||
|
// if both NAV and SYM are off, de-latch NUM
|
||||||
|
if (!IS_LAYER_ON_STATE(state, _SYM) && !IS_LAYER_ON_STATE(state, _NAV)) {
|
||||||
|
NUM_latched = false;
|
||||||
|
}
|
||||||
|
// since both layers aren't held, turn off NUM
|
||||||
|
state &= ~(1 << _NUM);
|
||||||
|
}
|
||||||
|
} else if (IS_LAYER_ON_STATE(state, _NUM)) {
|
||||||
|
NUM_latched = true;
|
||||||
|
state |= 1 << _NAV | 1 << _SYM; // turn on NAV and SYM
|
||||||
|
}
|
||||||
|
|
||||||
|
return state;
|
||||||
|
}
|
||||||
17
keyboards/keebio/iris_lm/keymaps/drew/layers/layers.h
Normal file
17
keyboards/keebio/iris_lm/keymaps/drew/layers/layers.h
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
enum {
|
||||||
|
_BASE,
|
||||||
|
_GAME,
|
||||||
|
_SYM,
|
||||||
|
_NAV,
|
||||||
|
_NUM,
|
||||||
|
_SH_NUM,
|
||||||
|
};
|
||||||
|
|
||||||
|
extern bool NUM_latched;
|
||||||
|
|
||||||
|
layer_state_t layer_state_set_user(layer_state_t state);
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
BOOTLOADER = stm32-dfu
|
BOOTLOADER = stm32-dfu
|
||||||
|
|
||||||
SRC += caps_word/caps_word.c
|
SRC += caps_word/caps_word.c
|
||||||
|
SRC += tap_dance/tap_dance.c
|
||||||
|
SRC += combos/combos.c
|
||||||
|
SRC += layers/layers.c
|
||||||
# SRC += taphold/taphold_options.c
|
# SRC += taphold/taphold_options.c
|
||||||
# SRC += utils/utils.c
|
# SRC += utils/utils.c
|
||||||
# SRC += chordal_hold/chordal_options.c
|
# SRC += chordal_hold/chordal_options.c
|
||||||
|
|
@ -15,3 +18,4 @@ CAPS_WORD_ENABLE = yes
|
||||||
|
|
||||||
TAP_DANCE_ENABLE = yes
|
TAP_DANCE_ENABLE = yes
|
||||||
# KEY_OVERRIDE_ENABLE = yes
|
# KEY_OVERRIDE_ENABLE = yes
|
||||||
|
COMBO_ENABLE = yes
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
#include QMK_KEYBOARD_H
|
|
||||||
#include "./tap_dance.h"
|
#include "./tap_dance.h"
|
||||||
#include "../alias.h"
|
#include "../alias.h"
|
||||||
|
|
||||||
|
|
@ -17,7 +16,3 @@ void CAD_lock_sleep(tap_dance_state_t* state, void*) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tap_dance_action_t tap_dance_actions[] = {
|
|
||||||
[TD_CAD_LOCK_SLEEP] = ACTION_TAP_DANCE_FN(CAD_lock_sleep),
|
|
||||||
};
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
TD_CAD_LOCK_SLEEP,
|
TD_CAD_LOCK_SLEEP,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void CAD_lock_sleep(tap_dance_state_t* state, void*);
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
#include "stdbool.h"
|
#include <stdbool.h>
|
||||||
#include "stdint.h"
|
#include <stdint.h>
|
||||||
|
|
||||||
/// @brief Obliterate a line of text.
|
/// @brief Obliterate a line of text.
|
||||||
/// @param key_down Whether the key was pressed down.
|
/// @param key_down Whether the key was pressed down.
|
||||||
|
|
@ -51,4 +51,3 @@ bool unshift_register_or_ctrl_fallthrough(
|
||||||
/// @param record The current `keyrecord_t`.
|
/// @param record The current `keyrecord_t`.
|
||||||
/// @return Whether processing of the key should continue.
|
/// @return Whether processing of the key should continue.
|
||||||
bool unshift_register(uint8_t keycode, keyrecord_t* record);
|
bool unshift_register(uint8_t keycode, keyrecord_t* record);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,3 +14,4 @@ CAPS_WORD_ENABLE = yes
|
||||||
TAP_DANCE_ENABLE = yes
|
TAP_DANCE_ENABLE = yes
|
||||||
KEY_OVERRIDE_ENABLE = yes
|
KEY_OVERRIDE_ENABLE = yes
|
||||||
|
|
||||||
|
RGBLIGHT_ENABLE = no # turn off RGB lights
|
||||||
Loading…
Reference in a new issue