ridingqwerty: userspace update (#8076)
* Userspace overhaul * Remove testing directory * Minorca keymap tweaksmiryoku-merge-master
parent
50554ca270
commit
964ed17716
@ -0,0 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#undef MATRIX_COL_PINS
|
||||
#define MATRIX_COL_PINS { B3, B7, D0, D1, D2, D3, C6, C7, B5, B6, F7, F6 }
|
||||
|
||||
#undef MATRIX_ROW_PINS
|
||||
#define MATRIX_ROW_PINS { F0, F1, F4, F5 }
|
||||
@ -0,0 +1 @@
|
||||
# Handwire of Minorca using teensy 2.0
|
||||
@ -0,0 +1,10 @@
|
||||
MCU = atmega32u4
|
||||
BOOTLOADER = halfkay
|
||||
|
||||
# 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 = lite # Virtual DIP switch configuration
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
UNICODEMAP_ENABLE = yes # Unicode Map
|
||||
@ -1,3 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#define BOOTMAGIC_LITE_ROW 0
|
||||
#define BOOTMAGIC_LITE_COL 0
|
||||
|
||||
#define TAPPING_TERM 175
|
||||
#define MACRO_TIMER 5
|
||||
#define TAPPING_FORCE_HOLD_PER_KEY
|
||||
// testing
|
||||
#define TAPPING_TERM_PER_KEY
|
||||
//#define IGNORE_MOD_TAP_INTERRUPT // rolling R3 "zxcv", etc...
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1 +1,65 @@
|
||||
#include "ridingqwerty.h"
|
||||
|
||||
__attribute__((weak))
|
||||
void matrix_init_keymap(void) {}
|
||||
|
||||
void matrix_init_user(void) {
|
||||
matrix_init_keymap();
|
||||
|
||||
#if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE)
|
||||
set_unicode_input_mode(UC_LNX);
|
||||
#endif
|
||||
|
||||
//set_single_persistent_default_layer(_QWERTY);
|
||||
default_layer_set(1U << _QWERTY);
|
||||
}
|
||||
|
||||
__attribute__((weak))
|
||||
void matrix_scan_keymap(void) {
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
// use for global event timers
|
||||
}
|
||||
|
||||
__attribute__((weak))
|
||||
void keyboard_post_init_keymap(void) {}
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
#if defined(CONSOLE_ENABLE)
|
||||
debug_enable = true;
|
||||
debug_matrix = true;
|
||||
//debug_keyboard=true;
|
||||
//debug_mouse=true;
|
||||
#endif
|
||||
}
|
||||
|
||||
__attribute__((weak))
|
||||
layer_state_t layer_state_set_keymap(layer_state_t state) { return state; }
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
state = update_tri_layer_state(state, _EDITOR, _DEBUG, _SECRET);
|
||||
#ifdef CONSOLE_ENABLE
|
||||
uprintf("LAYER: %u\n", state);
|
||||
#endif
|
||||
return state;
|
||||
}
|
||||
|
||||
uint16_t get_tapping_term(uint16_t keycode) {
|
||||
switch (keycode) {
|
||||
case RC(ENT):
|
||||
case ED(ESC):
|
||||
return 225;
|
||||
default:
|
||||
return TAPPING_TERM;
|
||||
}
|
||||
};
|
||||
|
||||
bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case NM(SCLN):
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,37 +1,61 @@
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
#include "version.h"
|
||||
#include "process_records.h"
|
||||
#include "wrappers.h"
|
||||
#ifdef TAP_DANCE_ENABLE
|
||||
# include "tapdances.h"
|
||||
#endif
|
||||
#if defined(UNICODEMAP_ENABLE) || defined(UNICODE_ENABLE)
|
||||
# include "unicode.h"
|
||||
#endif
|
||||
|
||||
enum userspace_layers
|
||||
{
|
||||
_QWERTY = 0,
|
||||
_QWERTY,
|
||||
_DVORAK,
|
||||
_COLEMAK,
|
||||
/*
|
||||
_WORKMAN et al. go here
|
||||
*/
|
||||
#if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE)
|
||||
_GREEK,
|
||||
_RUSSIAN,
|
||||
_RUNES,
|
||||
_HIRA1,
|
||||
_HIRA2,
|
||||
#endif
|
||||
_EDITOR,
|
||||
_NUMBER,
|
||||
_SYMBOL,
|
||||
_F_KEYS,
|
||||
_DEBUG,
|
||||
_SECRET,
|
||||
#if defined(MOUSEKEY_ENABLED)
|
||||
_MOUSE,
|
||||
#endif
|
||||
_MEDIA,
|
||||
_FINAL
|
||||
};
|
||||
|
||||
// modtaps
|
||||
#define LS_Z MT(MOD_LSFT, KC_Z)
|
||||
#define LC_ESC MT(MOD_LCTL, KC_ESC)
|
||||
#define LG_TAB MT(MOD_LGUI, KC_TAB)
|
||||
#define LA_LBRC MT(MOD_LALT, KC_LBRC)
|
||||
#define LS_RBRC MT(MOD_LSFT, KC_RBRC)
|
||||
#define RS_MINS MT(MOD_RSFT, KC_MINS)
|
||||
#define RA_EQL MT(MOD_RALT, KC_EQL)
|
||||
//RG_LMOT defined in process_records.h
|
||||
#define RC_ENT MT(MOD_RCTL, KC_ENT)
|
||||
#define RS_SLSH MT(MOD_RSFT, KC_SLSH)
|
||||
// layertaps
|
||||
#define ED_A LT(_EDITOR, KC_A)
|
||||
#define ED_ESC LT(_EDITOR, KC_ESC)
|
||||
#define NM_SCLN LT(_NUMBER, KC_SCLN)
|
||||
#define NM_BSPC LT(_NUMBER, KC_BSPC)
|
||||
#define SM_SPC LT(_SYMBOL, KC_SPC)
|
||||
#define SC_TAB LT(_SECRET, KC_TAB)
|
||||
#define FK_DOT LT(_F_KEYS, KC_DOT)
|
||||
#define LS(kc) MT(MOD_LSFT, KC_##kc)
|
||||
#define LC(kc) MT(MOD_LCTL, KC_##kc)
|
||||
#define LG(kc) MT(MOD_LGUI, KC_##kc)
|
||||
#define LA(kc) MT(MOD_LALT, KC_##kc)
|
||||
#define RS(kc) MT(MOD_RSFT, KC_##kc)
|
||||
#define RC(kc) MT(MOD_RCTL, KC_##kc)
|
||||
#define RG(kc) MT(MOD_RGUI, KC_##kc)
|
||||
#define RA(kc) MT(MOD_RALT, KC_##kc)
|
||||
|
||||
#define ED(kc) LT(_EDITOR, KC_##kc)
|
||||
#define NM(kc) LT(_NUMBER, KC_##kc)
|
||||
#define SM(kc) LT(_SYMBOL, KC_##kc)
|
||||
#define SC(kc) LT(_SECRET, KC_##kc)
|
||||
#define FK(kc) LT(_F_KEYS, KC_##kc)
|
||||
#define DB(kc) LT(_DEBUG, KC_##kc)
|
||||
|
||||
void matrix_init_keymap(void);
|
||||
void matrix_scan_keymap(void);
|
||||
void keyboard_post_init_keymap(void);
|
||||
layer_state_t layer_state_set_keymap(layer_state_t state);
|
||||
|
||||
@ -1,8 +1,24 @@
|
||||
#LEADER_ENABLE = yes
|
||||
|
||||
SRC += ridingqwerty.c \
|
||||
process_records.c
|
||||
|
||||
BOOTMAGIC_ENABLE = lite
|
||||
CONSOLE_ENABLE = no
|
||||
COMMAND_ENABLE = no
|
||||
UNICODE_ENABLE = no # "yes" in Atreus default keymap, blocking UNICODEMAP_ENABLE
|
||||
UNICODEMAP_ENABLE = yes
|
||||
MOUSEKEY_ENABLE = no
|
||||
TAP_DANCE_ENABLE = yes
|
||||
AUTO_SHIFT_ENABLE = no
|
||||
|
||||
ifneq ("$(wildcard $(USER_PATH)/secrets.c)","")
|
||||
SRC += secrets.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
|
||||
SRC += tapdances.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(UNICODEMAP_ENABLE)), yes)
|
||||
SRC += unicode.c
|
||||
endif
|
||||
|
||||
|
||||
@ -0,0 +1,33 @@
|
||||
#include "ridingqwerty.h"
|
||||
#include "tapdances.h"
|
||||
|
||||
void braces_finished (qk_tap_dance_state_t *state, void *user_data) {
|
||||
if ((state->count == 1) || (state->count == 3)) {
|
||||
register_code(KC_LSFT);
|
||||
}
|
||||
}
|
||||
|
||||
void braces_reset (qk_tap_dance_state_t *state, void *user_data) {
|
||||
// two or three taps for "[]"/"{}"
|
||||
if ((state->count == 2) || (state->count == 3)) {
|
||||
tap_code(KC_LBRC);
|
||||
tap_code(KC_RBRC);
|
||||
}
|
||||
// one tap for "()"
|
||||
else if (state->count == 1) {
|
||||
tap_code(KC_9);
|
||||
tap_code(KC_0);
|
||||
}
|
||||
|
||||
// unregister the shift unconditionally
|
||||
unregister_code(KC_LSFT);
|
||||
|
||||
// move back one space, inside the braces
|
||||
if (state->count <= 3) {
|
||||
tap_code(KC_LEFT);
|
||||
}
|
||||
}
|
||||
|
||||
qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
[TD_BRACES] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, braces_finished, braces_reset)
|
||||
};
|
||||
@ -0,0 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define TD_BRC TD(TD_BRACES)
|
||||
|
||||
enum tapdance_id {
|
||||
TD_BRACES = 0
|
||||
};
|
||||
@ -0,0 +1,7 @@
|
||||
#include "unicode.h"
|
||||
|
||||
#ifdef UNICODEMAP_ENABLE
|
||||
const uint32_t PROGMEM unicode_map[] = {
|
||||
FOREACH_UNICODE(UCM_ENTRY)
|
||||
};
|
||||
#endif
|
||||
@ -0,0 +1,156 @@
|
||||
#pragma once
|
||||
#include "ridingqwerty.h"
|
||||
|
||||
// clang-format off
|
||||
#define LAYOUT_atreus_wrapper(...) LAYOUT_atreus(__VA_ARGS__)
|
||||
#define LAYOUT_minorca_wrapper(...) LAYOUT_minorca(__VA_ARGS__)
|
||||
|
||||
#define ___________VI_ARROWS______________ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
|
||||
// 1......__2......__3......__4......__5...... 1......__2......__3......__4......__5......
|
||||
#define ________________QWERTY_L1__________________ KC_Q, KC_W, KC_E, KC_R, KC_T
|
||||
#define ________________QWERTY_L2__________________ KC_A, KC_S, KC_D, KC_F, KC_G
|
||||
#define ________________QWERTY_L3__________________ KC_Z, KC_X, KC_C, KC_V, KC_B
|
||||
|
||||
#define ________________QWERTY_R1__________________ KC_Y, KC_U, KC_I, KC_O, KC_P
|
||||
#define ________________QWERTY_R2__________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
|
||||
#define ________________QWERTY_R3__________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH
|
||||
|
||||
|
||||
#define ________________ATREUS_L1__________________ ________________QWERTY_L1__________________
|
||||
#define ________________ATREUS_L2__________________ ED(A), KC_S, KC_D, KC_F, KC_G
|
||||
#define ________________ATREUS_L3__________________ LS(Z), KC_X, KC_C, KC_V, KC_B
|
||||
|
||||
#define ________________ATREUS_R1__________________ ________________QWERTY_R1__________________
|
||||
#define ________________ATREUS_R2__________________ KC_H, KC_J, KC_K, KC_L, NM(SCLN)
|
||||
#define ________________ATREUS_R3__________________ KC_N, KC_M, KC_COMM, FK(DOT), RS(SLSH)
|
||||
|
||||
#define ________________FNHOMEROW_L2_______________ C(KC_A), G(KC_S), A(KC_D), S(KC_F), KC_G
|
||||
#define ________________FNHOMEROW_R2_______________ KC_H, S(KC_J), A(KC_K), G(KC_L), C(SCLN)
|
||||
|
||||
#define ____THUMBS_R4___ ED(ESC), DB(TAB)
|
||||
#define _____BLANK_R4___ _______, _______
|
||||
#define ________________ _______, _______
|
||||
|
||||
|
||||
#define ________________COLEMAK_L1_________________ KC_Q, KC_W, KC_F, KC_P, KC_G
|
||||
#define ________________COLEMAK_L2_________________ ED(A), KC_R, KC_S, KC_T, KC_D
|
||||
#define ________________COLEMAK_L3_________________ LS(Z), KC_X, KC_C, KC_V, KC_B
|
||||
|
||||
#define ________________COLEMAK_R1_________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN
|
||||
#define ________________COLEMAK_R2_________________ KC_H, KC_N, KC_E, KC_I, NM(O)
|
||||
#define ________________COLEMAK_R3_________________ KC_K, KC_M, KC_COMM, FK(DOT), RS(SLSH)
|
||||
|
||||
|
||||
#define ________________DVORAK_L1__________________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
|
||||
#define ________________DVORAK_L2__________________ ED(A), KC_O, KC_E, KC_U, KC_I
|
||||
#define ________________DVORAK_L3__________________ LS(SCLN),KC_Q, KC_J, KC_K, KC_X
|
||||
|
||||
#define ________________DVORAK_R1__________________ KC_F, KC_G, KC_C, KC_R, KC_L
|
||||
#define ________________DVORAK_R2__________________ KC_D, KC_H, KC_T, KC_N, NM(S)
|
||||
#define ________________DVORAK_R3__________________ KC_B, KC_M, KC_W, FK(V), RS(Z)
|
||||
|
||||
#define ________________BOTTOM_L4__________________ LC(ESC), LG(TAB), LA(LBRC), LS(RBRC), NM(BSPC)
|
||||
#define ________________BOTTOM_R4__________________ SM(SPC), RS(MINS), RA(EQL), RG_QUOT, RC(ENT)
|
||||
|
||||
|
||||
#define ________________NUMROW_L1__________________ KC_1, KC_2, KC_3, KC_4, KC_5
|
||||
#define ________________NUMROW_R1__________________ KC_6, KC_7, KC_8, KC_9, KC_0
|
||||
|
||||
#define ________________NUMPAD_R1__________________ _______, KC_7, KC_8, KC_9, KC_0
|
||||
#define ________________NUMPAD_R2__________________ _______, KC_4, KC_5, KC_6, _______
|
||||
#define ________________NUMPAD_R3__________________ _______, KC_1, KC_2, KC_3, KC_BSLS
|
||||
#define ________________NUMPAD_R4__________________ KC_0, KC_0, KC_DOT, KC_3, _______
|
||||
|
||||
|
||||
#define ________________SYMROW_L1__________________ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC
|
||||
#define ________________SYMROW_R1__________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN
|
||||
|
||||
|
||||
#define ________________ _______, _______
|
||||
#define _________________________ _______, _______, _______
|
||||
#define __________________________________ _______, _______, _______, _______
|
||||
#define ___________________________________________ _______, _______, _______, _______, _______
|
||||
#define ___________________________________________ _______, _______, _______, _______, _______
|
||||
#define ___________________________________________ _______, _______, _______, _______, _______
|
||||
#define ________________BLANK______________________ ___________________________________________
|
||||
#define ________________BLOCK______________________ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
||||
#define XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ________________BLOCK______________________
|
||||
|
||||
#define ________________FKEYROW_L1_________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
|
||||
#define ________________FKEYROW_R1_________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
|
||||
|
||||
#define ________________EDITOR_L1__________________ KC_GRV, _______, KC_END, _______, KC_F5
|
||||
#define ________________EDITOR_L2__________________ KC_HOME, _______, KC_DELT, _______, _______
|
||||
#if defined(TAP_DANCE_ENABLE)
|
||||
#define ________________EDITOR_L3__________________ _______, KC_VOLD, KC_VOLU, CCCV, TD_BRC
|
||||
#else
|
||||
#define ________________EDITOR_L3__________________ _______, KC_VOLD, KC_VOLU, CCCV, _______
|
||||
#endif
|
||||
|
||||
#define ________________EDITOR_R1__________________ _______, _______, KC_INS, _______, KC_PGUP
|
||||
#define ________________EDITOR_R2__________________ ___________VI_ARROWS______________, _______
|
||||
#define ________________EDITOR_R3__________________ KC_PGDN, _______, _______, _______, KC_BSLS
|
||||
|
||||
|
||||
#define ________________DEBUG_L1___________________ DEBUG, _______, _______, RNGWORD, SARCASM
|
||||
#define ________________DEBUG_L2___________________ GREEK, RUSSIAN, HIRAGAN, RUNES, _______
|
||||
#define ________________DEBUG_L3___________________ _______, _______, _______, VERSION, _______
|
||||
|
||||
#define ________________DEBUG_R1___________________ VPRWAVE, STRAYA, _______, TESTING, _______
|
||||
#define ________________DEBUG_R2___________________ _______, _______, EEP_RST, RESET, MAKE
|
||||
#define ________________DEBUG_R3___________________ QWERTY, DVORAK, COLEMAK, _______, _______
|
||||
|
||||
|
||||
#define ________________SECRET_L1__________________ _______, _______, _______, SECRET0, SECRET1
|
||||
#define ________________SECRET_L2__________________ SECRET4, SECRET8, _______, _______, _______
|
||||
#define ________________SECRET_L3__________________ SECRET7, _______, SECRET2, SECRET5, _______
|
||||
|
||||
#define ________________SECRET_R1__________________ _______, _______, _______, _______, _______
|
||||
#define ________________SECRET_R2__________________ _______, _______, _______, SECRET6, _______
|
||||
#define ________________SECRET_R3__________________ _______, SECRET3, _______, _______, _______
|
||||
|
||||
|
||||
#if defined(UNICODEMAP_ENABLE)
|
||||
// Greek
|
||||
#define ________________GREEK_L1___________________ THETA, OMEGA, EPSLN, RHO, TAU
|
||||
#define ________________GREEK_L2___________________ ALPHA, SIGMA, DELTA, PHI, GAMMA
|
||||
#define ________________GREEK_L3___________________ ZETA, XI, CHI, PHI, BETA
|
||||
#define ________________GREEK_R1___________________ UPSLN, UPSLN, IOTA, OMCRN, PI
|
||||
#define ________________GREEK_R2___________________ ETA, PSI, KAPPA, LAMBD, NM(SCLN)
|
||||
#define ________________GREEK_R3___________________ NU, GMU, KC_COMM, FK(DOT), RS(SLSH)
|
||||
|
||||
// Elder Futhark
|
||||
#define ________________FTHRK_L1___________________ INGWZ, WUNJO, EHWAZ, RAIDO, TIWAZ
|
||||
#define ________________FTHRK_L2___________________ ANSUZ, SOWIL, DAGAZ, FE, GEBO
|
||||
#define ________________FTHRK_L3___________________ ALGIZ, THURS, KAUNA, WUNJO, BEORC
|
||||
#define ________________FTHRK_R1___________________ IWAZ, UR, ISAZ, ETHEL, PERTH
|
||||
#define ________________FTHRK_R2___________________ HAGLZ, JERAN, KAUNA, LAUKZ, KC_SCLN
|
||||
#define ________________FTHRK_R3___________________ NAUDZ, MANNZ, KC_COMM, KC_DOT, KC_SLSH
|
||||
|
||||
// Russian Cyrillic
|
||||
#define ________________CYRLC_L1___________________ YA, SCHA, IE, ER, TE
|
||||
#define ________________CYRLC_L2___________________ AH, ES, DE, EF, GHE
|
||||
#define ________________CYRLC_L3___________________ ZE, HA, TSE, VE, BE
|
||||
#define ________________CYRLC_R1___________________ YERU, UU, IH, OH, PE
|
||||
#define ________________CYRLC_R2___________________ CHE, SIH, KA, EL, SOFT
|
||||
#define ________________CYRLC_R3___________________ EN, EM, YU, SCHA, EH
|
||||
#define ________________CYRLC_R4___________________ SM(SPC), IO, HARD, ZHE, RC(ENT)
|
||||
|
||||
// Hiragana
|
||||
#define ________________JIS1_R1____________________ JTA, JTE, JI, JSU, JKA
|
||||
#define ________________JIS1_R2____________________ JTI, JTO, JSI, JHA, JKI
|
||||
#define ________________JIS1_R3____________________ JMI, JMO, KC_COMM, KC_DOT, MO(_HIRA2)
|
||||
#define ________________JIS1_L1____________________ JN, JNA, JNI, JRA, JSE
|
||||
#define ________________JIS1_L2____________________ JKU, JMA, JNO, JRI, JRE
|
||||
#define ________________JIS1_L3____________________ JTU, JSA, JSO, JHI, JKO
|
||||
|
||||
#define ________________JIS2_R1____________________ JRO, JWA, JNU, JHU, JA
|
||||
#define ________________JIS2_R2____________________ JYO, JHO, JHE, JMU, JVV
|
||||
#define ________________JIS2_R3____________________ JRU, JME, KC_COMM, KC_DOT, _______
|
||||
#define ________________JIS2_L1____________________ JU, JE, JO, JYA, JYU
|
||||
#define ________________JIS2_L2____________________ JSV, JKE, JMI, JMO, JNE
|
||||
#define ________________JIS2_L3____________________ JTU, JSA, JSO, JHI, JKO
|
||||
|
||||
#endif
|
||||
// clang-format on
|
||||
Loading…
Reference in New Issue