ridingqwerty: userspace update (#8076)
* Userspace overhaul * Remove testing directory * Minorca keymap tweaksmaster
parent
50554ca270
commit
964ed17716
|
@ -30,9 +30,7 @@
|
||||||
MODS // LAYERS // MODS //
|
MODS // LAYERS // MODS //
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef LAYOUT
|
#define LAYOUT_atreus( \
|
||||||
#undef LAYOUT
|
|
||||||
#define LAYOUT( \
|
|
||||||
K00, K01, K02, K03, K04, K40, K41, K42, K43, K44, \
|
K00, K01, K02, K03, K04, K40, K41, K42, K43, K44, \
|
||||||
K10, K11, K12, K13, K14, K50, K51, K52, K53, K54, \
|
K10, K11, K12, K13, K14, K50, K51, K52, K53, K54, \
|
||||||
K20, K21, K22, K23, K24, K60, K61, K62, K63, K64, \
|
K20, K21, K22, K23, K24, K60, K61, K62, K63, K64, \
|
||||||
|
@ -47,70 +45,109 @@
|
||||||
{ K64, K63, K62, K61, K60, KC_NO }, \
|
{ K64, K63, K62, K61, K60, KC_NO }, \
|
||||||
{ K75, K74, K73, K72, K71, K70 } \
|
{ K75, K74, K73, K72, K71, K70 } \
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
//#define ALPHA XP(UCM_LDEL, UCM_UDEL)
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[_QWERTY] = LAYOUT( /* Qwerty */
|
[_QWERTY] = LAYOUT_atreus_wrapper( /* Qwerty */
|
||||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
________________ATREUS_L1__________________, ________________ATREUS_R1__________________,
|
||||||
ED_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, NM_SCLN,
|
________________ATREUS_L2__________________, ________________ATREUS_R2__________________,
|
||||||
LS_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, FK_DOT, RS_SLSH,
|
________________ATREUS_L3__________________, ________________ATREUS_R3__________________,
|
||||||
LC_ESC, LG_TAB, LA_LBRC, LS_RBRC, NM_BSPC, ED_ESC, SC_TAB, SM_SPC, RS_MINS, RA_EQL, RG_QUOT, RC_ENT
|
________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________BOTTOM_R4__________________
|
||||||
),
|
),
|
||||||
[_EDITOR] = LAYOUT( /* ED_A, ED_ESC */
|
[_DVORAK] = LAYOUT_atreus_wrapper( /* Qwerty */
|
||||||
KC_GRV, _______, KC_END, _______, KC_TAB, _______, _______, KC_INS, _______, KC_PGUP,
|
________________DVORAK_L1__________________, ________________DVORAK_R1__________________,
|
||||||
KC_HOME, _______, KC_DELT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_ENT,
|
________________DVORAK_L2__________________, ________________DVORAK_R2__________________,
|
||||||
_______, _______, _______, _______, _______, KC_PGDN, _______, _______, _______, KC_BSLS,
|
________________DVORAK_L3__________________, ________________DVORAK_R3__________________,
|
||||||
_______, _______, _______, _______, _______, _______, KC_ENT, _______, _______, _______, _______, _______
|
________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________BOTTOM_R4__________________
|
||||||
),
|
),
|
||||||
[_NUMBER] = LAYOUT( /* NM_SCLN, NM_BSPC */
|
[_COLEMAK] = LAYOUT_atreus_wrapper( /* Qwerty */
|
||||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
________________COLEMAK_L1_________________, ________________COLEMAK_R1_________________,
|
||||||
KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_4, KC_5, KC_6, _______,
|
________________COLEMAK_L2_________________, ________________COLEMAK_R2_________________,
|
||||||
_______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_BSLS,
|
________________COLEMAK_L3_________________, ________________COLEMAK_R3_________________,
|
||||||
_______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_0, KC_0, KC_DOT, _______, _______
|
________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________BOTTOM_R4__________________
|
||||||
),
|
),
|
||||||
[_SYMBOL] = LAYOUT( /* SM_SPC */
|
//#if defined(UNICODEMAP_ENABLE)
|
||||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
|
//#ifdef UNICODE_H
|
||||||
KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, _______, KC_COLN,
|
#ifdef UNICODEMAP_ENABLE
|
||||||
|
[_GREEK] = LAYOUT_atreus_wrapper(
|
||||||
|
________________GREEK_L1___________________, ________________GREEK_R1___________________,
|
||||||
|
________________GREEK_L2___________________, ________________GREEK_R2___________________,
|
||||||
|
________________GREEK_L3___________________, ________________GREEK_R3___________________,
|
||||||
|
________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________BOTTOM_R4__________________
|
||||||
|
),
|
||||||
|
[_RUSSIAN] = LAYOUT_atreus_wrapper(
|
||||||
|
________________CYRLC_L1___________________, ________________CYRLC_R1___________________,
|
||||||
|
________________CYRLC_L2___________________, ________________CYRLC_R2___________________,
|
||||||
|
________________CYRLC_L3___________________, ________________CYRLC_R3___________________,
|
||||||
|
________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________CYRLC_R4___________________
|
||||||
|
),
|
||||||
|
[_RUNES] = LAYOUT_atreus_wrapper(
|
||||||
|
________________FTHRK_L1___________________, ________________FTHRK_R1___________________,
|
||||||
|
________________FTHRK_L2___________________, ________________FTHRK_R2___________________,
|
||||||
|
________________FTHRK_L3___________________, ________________FTHRK_R3___________________,
|
||||||
|
________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________BOTTOM_R4__________________
|
||||||
|
),
|
||||||
|
[_HIRA1] = LAYOUT_atreus_wrapper(
|
||||||
|
________________JIS1_L1____________________, ________________JIS1_R1____________________,
|
||||||
|
________________JIS1_L2____________________, ________________JIS1_R2____________________,
|
||||||
|
________________JIS1_L3____________________, ________________JIS1_R3____________________,
|
||||||
|
________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________BOTTOM_R4__________________
|
||||||
|
),
|
||||||
|
[_HIRA2] = LAYOUT_atreus_wrapper(
|
||||||
|
________________JIS2_L1____________________, ________________JIS2_R1____________________,
|
||||||
|
________________JIS2_L2____________________, ________________JIS2_R2____________________,
|
||||||
|
________________JIS2_L3____________________, ________________JIS2_R3____________________,
|
||||||
|
________________BOTTOM_L4__________________, ____THUMBS_R4___, ________________BOTTOM_R4__________________
|
||||||
|
),
|
||||||
|
#endif
|
||||||
|
[_EDITOR] = LAYOUT_atreus_wrapper( /* ED_A, ED_ESC */
|
||||||
|
________________EDITOR_L1__________________, ________________EDITOR_R1__________________,
|
||||||
|
________________EDITOR_L2__________________, ________________EDITOR_R2__________________,
|
||||||
|
________________EDITOR_L3__________________, ________________EDITOR_R3__________________,
|
||||||
|
_______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
[_NUMBER] = LAYOUT_atreus_wrapper( /* NM_SCLN, NM_BSPC */
|
||||||
|
________________NUMROW_L1__________________, ________________NUMROW_R1__________________,
|
||||||
|
________________NUMROW_R1__________________, ________________NUMPAD_R2__________________,
|
||||||
|
___________________________________________, ________________NUMPAD_R3__________________,
|
||||||
|
___________________________________________, ________________, ________________NUMPAD_R4__________________
|
||||||
|
),
|
||||||
|
[_SYMBOL] = LAYOUT_atreus_wrapper( /* SM_SPC */
|
||||||
|
________________SYMROW_L1__________________, ________________SYMROW_R1__________________,
|
||||||
|
________________SYMROW_R1__________________, ________________SYMROW_R1__________________,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS,
|
||||||
_______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, _______, _______, _______
|
KC_LBRC, _______, _______, _______, _______, ________________, _______, _______, _______, _______, KC_RBRC
|
||||||
),
|
),
|
||||||
[_F_KEYS] = LAYOUT( /* FK_DOT */
|
[_F_KEYS] = LAYOUT_atreus_wrapper( /* FK_DOT */
|
||||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
|
________________FKEYROW_L1_________________, ________________FKEYROW_R1_________________,
|
||||||
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, KC_F11,
|
________________FKEYROW_R1_________________, ________________FKEYROW_L1_________________,
|
||||||
KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, KC_F12,
|
KC_F11, KC_F12, _______, _______, _______, KC_F11, KC_F12, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
[_SECRET] = LAYOUT( /* shhhh... */
|
[_DEBUG] = LAYOUT_atreus_wrapper( /* shhhh... */
|
||||||
RESET, _______, _______, RUSTY, FUEL, KC_F13, _______, _______, _______, _______,
|
________________DEBUG_L1___________________, ________________DEBUG_R1___________________,
|
||||||
|
________________DEBUG_L2___________________, ________________DEBUG_R2___________________,
|
||||||
|
________________DEBUG_L3___________________, ________________DEBUG_R3___________________,
|
||||||
|
_______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
[_SECRET] = LAYOUT_atreus_wrapper( /* shhhh... */
|
||||||
|
/*
|
||||||
|
_______, _______, _______, RUSTY, FUEL, _______, _______, _______, _______, _______,
|
||||||
AR1ST, SYSNOC, _______, _______, _______, _______, _______, _______, OS_LAB, _______,
|
AR1ST, SYSNOC, _______, _______, _______, _______, _______, _______, OS_LAB, _______,
|
||||||
CDLOCAL, _______, C0RE, VAXIS, _______, _______, MUNKY, _______, _______, _______,
|
CDLOCAL, _______, C0RE, VAXIS, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
*/
|
||||||
|
________________SECRET_L1__________________, ________________SECRET_R1__________________,
|
||||||
|
________________SECRET_L2__________________, ________________SECRET_R2__________________,
|
||||||
|
________________SECRET_L3__________________, ________________SECRET_R3__________________,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
|
||||||
),
|
),
|
||||||
[_FINAL] = LAYOUT( /* . */
|
[_FINAL] = LAYOUT_atreus( /* . */
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, TESTING, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
// custom tap/hold keys
|
|
||||||
uint16_t key_timer;
|
|
||||||
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
switch(keycode) {
|
|
||||||
case RG_QUOT:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
key_timer = timer_read();
|
|
||||||
layer_on(_NUMBER);
|
|
||||||
register_mods(MOD_BIT(KC_RGUI));
|
|
||||||
} else {
|
|
||||||
unregister_mods(MOD_BIT(KC_RGUI));
|
|
||||||
layer_off(_NUMBER);
|
|
||||||
if (timer_elapsed(key_timer) < TAPPING_TERM) {
|
|
||||||
tap_code(KC_QUOT);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false; break;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
|
|
|
@ -5,13 +5,14 @@ MCU = STM32F303
|
||||||
#
|
#
|
||||||
BACKLIGHT_ENABLE = no
|
BACKLIGHT_ENABLE = no
|
||||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
||||||
#MOUSEKEY_ENABLE = yes # Mouse keys
|
MOUSEKEY_ENABLE = no # Mouse keys
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
CONSOLE_ENABLE = yes # Console for debug
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
|
|
||||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||||
AUDIO_ENABLE = yes
|
AUDIO_ENABLE = yes # Doot
|
||||||
RGBLIGHT_ENABLE = no
|
RGBLIGHT_ENABLE = no
|
||||||
# SERIAL_LINK_ENABLE = yes
|
TAP_DANCE_ENABLE = no
|
||||||
#TAP_DANCE_ENABLE = yes
|
UNICODE_ENABLE = no
|
||||||
|
UNICODEMAP_ENABLE = yes
|
||||||
|
|
||||||
|
|
|
@ -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,123 @@
|
||||||
|
/* Copyright 2019 George Koenig
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
#include "ridingqwerty.h"
|
||||||
|
|
||||||
|
/* MinOrca
|
||||||
|
┏━━━━━━━━┯━━━━━━━━┯━━━━━━━━┯━━━━━━━━┯━━━━━━━━┯━━━━━━━━┯━━━━━━━━┯━━━━━━━━┯━━━━━━━━┯━━━━━━━━┯━━━━━━━━┯━━━━━━━━┓
|
||||||
|
┃ ⎋ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ❦ ⌫ ┃
|
||||||
|
┠────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────┨
|
||||||
|
┃ ¶ ⇥ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ 🔢 ↵ ┃
|
||||||
|
┠──────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬───────────┨
|
||||||
|
┃ " ⇧ │ Z │ X │ C │ V │ B │ N │ M │ , │ 𝔽 . │ ⇧ / ┃
|
||||||
|
┠──────────┬───┴──────┬─┴────────┼────────┴────────┴──┬─────┴────────┴─────┬──┴───────┬┴───────┬┴───────────┨
|
||||||
|
┃ { ⎈ │ [ ⌘ │ ( ⌥ │ 🔢 ␣ │ ★ ␣ │ ) ⌥ │ ] ⌘ │ } ⎈ ┃
|
||||||
|
┗━━━━━━━━━━┷━━━━━━━━━━┷━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━━┛
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define LAYOUT_minorca( \
|
||||||
|
KA00, KA01, KA02, KA03, KA04, KA05, KA06, KA07, KA08, KA09, KA10, KA11, \
|
||||||
|
KB00, KB01, KB02, KB03, KB04, KB05, KB06, KB07, KB08, KB09, KB11, \
|
||||||
|
KC00, KC02, KC03, KC04, KC05, KC06, KC07, KC08, KC09, KC10, KC11, \
|
||||||
|
KD00, KD02, KD03, KD04, KD07, KD09, KD10, KD11 \
|
||||||
|
) { \
|
||||||
|
{ KA00, KA01, KA02, KA03, KA04, KA05, KA06, KA07, KA08, KA09, KA10, KA11 }, \
|
||||||
|
{ KB00, KB01, KB02, KB03, KB04, KB05, KB06, KB07, KB08, KB09, KC_NO, KB11 }, \
|
||||||
|
{ KC00, KC_NO, KC02, KC03, KC04, KC05, KC06, KC07, KC08, KC09, KC10, KC11 }, \
|
||||||
|
{ KD00, KC_NO, KD02, KD03, KD04, KC_NO, KC_NO, KD07, KC_NO, KD09, KD10, KD11 } \
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_QWERTY] = {
|
||||||
|
{KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SC(BSPC) },
|
||||||
|
{ED(TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, XXXXXXX, NM(SCLN) },
|
||||||
|
{LS(QUOT), XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, FK(DOT), RS(SLSH) },
|
||||||
|
{LC(ESC), XXXXXXX, LG(LBRC), LA(RBRC), NM(BSPC), XXXXXXX, XXXXXXX, SM(SPC), XXXXXXX, RA(MINS), RG(EQL), RC(ENT) }
|
||||||
|
/*
|
||||||
|
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┤
|
||||||
|
//├────────┴────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┤
|
||||||
|
//├─────────────────┼────────┼────────┼────────┴────────┼────────┴────────┼────────┴────────┼────────┼────────┤
|
||||||
|
//└─────────────────┴────────┴────────┴─────────────────┴─────────────────┴─────────────────┴────────┴────────┘
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
#ifdef UNICODE_H
|
||||||
|
[_RUNE] = {
|
||||||
|
{KC_ESC, X(INGWZ), X(WUNJO), X(EHWAZ), X(RAIDO), X(TIWAZ), X(IWAZ), X(UR), X(ISAZ), X(ETHEL), X(PERTH), SC(BSPC) },
|
||||||
|
{ED(TAB), X(ANSUZ), X(SOWIL), X(DAGAZ), X(FE), X(GEBO), X(HAGLZ), X(JERAN), X(KAUNA), X(LAUKZ), XXXXXXX, NM(SCLN) },
|
||||||
|
{MT_QUOT, XXXXXXX, X(ALGIZ), X(THURS), X(KAUNA), X(WUNJO), X(BEORC), X(NAUDZ), X(MANNZ), KC_COMM, FK(DOT), RS(SLSH) },
|
||||||
|
{LC(ESC), XXXXXXX, LG(LBRC), LA(RBRC), NM(BSPC), XXXXXXX, XXXXXXX, SM(SPC), XXXXXXX, RA(MINS), RG(EQL), RC(ENT) }
|
||||||
|
},
|
||||||
|
#endif
|
||||||
|
[_EDITOR] = {
|
||||||
|
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
|
||||||
|
{KC_GRV, _______, _______, KC_END, _______, KC_F5, _______, _______, KC_INS, _______, KC_PGUP, KC_DELT },
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┤
|
||||||
|
{_______, KC_HOME, _______, KC_DELT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, KC_SCLN },
|
||||||
|
//├────────┴────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┤
|
||||||
|
{_______, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PGDN, _______, KC_SCLN, KC_QUOT, KC_BSLS },
|
||||||
|
//├─────────────────┼────────┼────────┼────────┴────────┼────────┴────────┼────────┴────────┼────────┼────────┤
|
||||||
|
{_______, XXXXXXX, _______, _______, KC_EQL, XXXXXXX, XXXXXXX, KC_MINS, XXXXXXX, KC_COLN, KC_DQUO, KC_PIPE }
|
||||||
|
//└─────────────────┴────────┴────────┴─────────────────┴─────────────────┴─────────────────┴────────┴────────┘
|
||||||
|
},
|
||||||
|
[_NUMBER] = {
|
||||||
|
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
|
||||||
|
{KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC },
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┤
|
||||||
|
{_______, KC_4, KC_5, KC_6, KC_PAST, _______, KC_PPLS, KC_4, KC_5, KC_6, XXXXXXX, _______ },
|
||||||
|
//├────────┴────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┤
|
||||||
|
{_______, KC_7, KC_8, KC_9, KC_SLSH, _______, _______, KC_MINS, KC_1, KC_2, KC_3, _______ },
|
||||||
|
//├─────────────────┼────────┼────────┼────────┴────────┼────────┴────────┼────────┴────────┼────────┼────────┤
|
||||||
|
{_______, XXXXXXX, KC_0, _______, _______, XXXXXXX, XXXXXXX, KC_0, XXXXXXX, KC_DOT, _______, _______ }
|
||||||
|
//└─────────────────┴────────┴────────┴─────────────────┴─────────────────┴─────────────────┴────────┴────────┘
|
||||||
|
},
|
||||||
|
[_SYMBOL] = {
|
||||||
|
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
|
||||||
|
{KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DELT },
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┤
|
||||||
|
{_______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, XXXXXXX, _______ },
|
||||||
|
//├────────┴────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┤
|
||||||
|
{_______, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_SCLN, KC_QUOT, KC_BSLS },
|
||||||
|
//├─────────────────┼────────┼────────┼────────┴────────┼────────┴────────┼────────┴────────┼────────┼────────┤
|
||||||
|
{_______, XXXXXXX, _______, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_COLN, KC_DQUO, KC_PIPE }
|
||||||
|
//└─────────────────┴────────┴────────┴─────────────────┴─────────────────┴─────────────────┴────────┴────────┘
|
||||||
|
},
|
||||||
|
[_SECRET] = {
|
||||||
|
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
|
||||||
|
{RESET, _______, _______, _______, SECRET0, SECRET1, _______, _______, _______, _______, VERSION, _______ },
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┤
|
||||||
|
{_______, SECRET4, SECRET8, DEBUG, _______, _______, _______, _______, _______, SECRET7, XXXXXXX, MAKE },
|
||||||
|
//├────────┴────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┤
|
||||||
|
{_______, XXXXXXX, SECRET6, _______, SECRET2, SECRET5, _______, _______, SECRET3, _______, _______, _______ },
|
||||||
|
//├─────────────────┼────────┼────────┼────────┴────────┼────────┴────────┼────────┴────────┼────────┼────────┤
|
||||||
|
{_______, XXXXXXX, _______, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, _______, _______ }
|
||||||
|
//└─────────────────┴────────┴────────┴─────────────────┴─────────────────┴─────────────────┴────────┴────────┘
|
||||||
|
},
|
||||||
|
[_F_KEYS] = {
|
||||||
|
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
|
||||||
|
{KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 },
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┴────────┤
|
||||||
|
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______ },
|
||||||
|
//├────────┴────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┬────────┤
|
||||||
|
{_______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
|
||||||
|
//├─────────────────┼────────┼────────┼────────┴────────┼────────┴────────┼────────┴────────┼────────┼────────┤
|
||||||
|
{_______, XXXXXXX, _______, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, _______, _______ }
|
||||||
|
//└─────────────────┴────────┴────────┴─────────────────┴─────────────────┴─────────────────┴────────┴────────┘
|
||||||
|
},
|
||||||
|
};
|
|
@ -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
|
#pragma once
|
||||||
|
|
||||||
|
#define BOOTMAGIC_LITE_ROW 0
|
||||||
|
#define BOOTMAGIC_LITE_COL 0
|
||||||
|
|
||||||
#define TAPPING_TERM 175
|
#define TAPPING_TERM 175
|
||||||
#define MACRO_TIMER 5
|
#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,4 +1,7 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <time.h>
|
||||||
#include "ridingqwerty.h"
|
#include "ridingqwerty.h"
|
||||||
|
#include "dict.h"
|
||||||
|
|
||||||
__attribute__ ((weak))
|
__attribute__ ((weak))
|
||||||
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
@ -10,23 +13,475 @@ bool process_record_secrets(uint16_t keycode, keyrecord_t *record) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t user_key_timer;
|
/*
|
||||||
|
typedef union {
|
||||||
|
struct {
|
||||||
|
uint8_t aesthetic : 1,
|
||||||
|
spongebob : 1,
|
||||||
|
uppercase : 1,
|
||||||
|
australia : 1,
|
||||||
|
unusued : 4;
|
||||||
|
};
|
||||||
|
uint8_t all;
|
||||||
|
} mode_config_t;
|
||||||
|
*/
|
||||||
|
mode_config_t mode = {.all = 0U};
|
||||||
|
|
||||||
|
bool randword_seed = false;
|
||||||
|
uint8_t user_mod_state;
|
||||||
|
uint16_t rand_key;
|
||||||
|
uint16_t temp_keycode;
|
||||||
|
uint32_t user_key_timer;
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
#ifdef CONSOLE_ENABLE
|
||||||
|
uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
temp_keycode = keycode;
|
||||||
|
if ((mode.all != 0U) && ((keycode != DB(TAB) || keycode != ED(ESC)) && ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)))) {
|
||||||
|
temp_keycode &= 0xFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mode.spongebob) {
|
||||||
|
switch(temp_keycode) {
|
||||||
|
case KC_A ... KC_Z:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
(mode.uppercase ^= 1) == 0 ? tap_code16(S(temp_keycode)) : tap_code(temp_keycode);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mode.aesthetic) {
|
||||||
|
switch(temp_keycode) {
|
||||||
|
#if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE)
|
||||||
|
case KC_A:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("039B");
|
||||||
|
tap_code(KC_SPC);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case KC_E:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("039E");
|
||||||
|
tap_code(KC_SPC);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
case A:
|
||||||
|
case E:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code16(S(temp_keycode));
|
||||||
|
tap_code(KC_SPC);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
case KC_B ... KC_D:
|
||||||
|
case KC_F ... KC_Z:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code16(S(temp_keycode));
|
||||||
|
tap_code(KC_SPC);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case KC_1 ... KC_0:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code(temp_keycode);
|
||||||
|
tap_code(KC_SPC);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
|
||||||
|
case KC_BSPC:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code(KC_BSPC);
|
||||||
|
tap_code(KC_BSPC);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case KC_SPC:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code(KC_SPC);
|
||||||
|
tap_code(KC_SPC);
|
||||||
|
tap_code(KC_SPC);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mode.australia) {
|
||||||
|
switch(temp_keycode) {
|
||||||
|
// IDEMPOTENT
|
||||||
|
case KC_L:
|
||||||
|
case KC_O:
|
||||||
|
case KC_S:
|
||||||
|
case KC_Z:
|
||||||
|
case KC_8:
|
||||||
|
case KC_0:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code(temp_keycode);
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// INVERSE
|
||||||
|
case KC_B:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code(KC_Q);
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case KC_Q:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code(KC_B);
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case KC_D:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code(KC_P);
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case KC_P:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code(KC_D);
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case KC_N:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code(KC_U);
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case KC_U:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code(KC_N);
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case KC_6:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code(KC_9);
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case KC_9:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code(KC_6);
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// TRANSLATE
|
||||||
|
case KC_A:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("0250");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_C:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("0254");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_E:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("01DD");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_F:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("025F");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_G:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("0183");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_H:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("0265");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_I:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("1D09");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_J:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("027E");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_K:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("029E");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_M:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("026F");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_R:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("0279");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_T:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("0287");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_V:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("028C");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_W:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("028D");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_X:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("2717");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_Y:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("028E");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_1:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("0269");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_2:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("3139");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_3:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("0190");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_4:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("3123");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_5:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("03DB");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case KC_7:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_unicode_hex_string("3125");
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// CONTROLS
|
||||||
|
case KC_ENT:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code(KC_END);
|
||||||
|
tap_code(KC_ENTER);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case KC_BSPC:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code(KC_DELT);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case KC_SPC:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code(KC_SPC);
|
||||||
|
tap_code(KC_LEFT);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
switch(keycode) {
|
switch(keycode) {
|
||||||
|
|
||||||
|
case VERSION:
|
||||||
|
if (!record->event.pressed) {
|
||||||
|
send_string_with_delay_P(PSTR(QMK_KEYBOARD ":" QMK_KEYMAP "\nVersion:" QMK_VERSION ", built: " QMK_BUILDDATE "\n"), MACRO_TIMER);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case QWERTY ... COLEMAK:
|
||||||
|
#if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE)
|
||||||
|
case GREEK ... HIRAGAN:
|
||||||
|
#endif
|
||||||
|
if (record->event.pressed) {
|
||||||
|
//set_single_persistent_default_layer(keycode - QWERTY);
|
||||||
|
default_layer_set(1U << (keycode - QWERTY));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MAKE:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
user_mod_state = get_mods() & MOD_MASK_CTRL;
|
||||||
|
if (user_mod_state) {
|
||||||
|
clear_mods();
|
||||||
|
send_string_with_delay_P(PSTR("sleep 1 && "), MACRO_TIMER);
|
||||||
|
}
|
||||||
|
send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP), MACRO_TIMER);
|
||||||
|
if (user_mod_state) {
|
||||||
|
send_string_with_delay_P(PSTR(":flash\n"), MACRO_TIMER);
|
||||||
|
reset_keyboard();
|
||||||
|
} else {
|
||||||
|
send_string_with_delay_P(PSTR("\n"), MACRO_TIMER);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RNGWORD:
|
||||||
|
if (randword_seed == false) {
|
||||||
|
randword_seed = true;
|
||||||
|
srand(timer_read32());
|
||||||
|
}
|
||||||
|
rand_key = rand() % NUMBER_OF_WORDS;
|
||||||
|
if (record->event.pressed) {
|
||||||
|
send_string(dict[rand_key]);
|
||||||
|
tap_code(KC_SPC);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case RG_QUOT:
|
case RG_QUOT:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
user_key_timer = timer_read();
|
#if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE)
|
||||||
|
user_mod_state = get_mods() & MOD_MASK_ALT;
|
||||||
|
if (user_mod_state) {
|
||||||
|
unregister_mods(MOD_BIT(KC_RALT));
|
||||||
|
send_unicode_hex_string("00B0");
|
||||||
|
set_mods(user_mod_state);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
user_key_timer = timer_read32();
|
||||||
layer_on(_NUMBER);
|
layer_on(_NUMBER);
|
||||||
register_mods(MOD_BIT(KC_RGUI));
|
register_mods(MOD_BIT(KC_RGUI));
|
||||||
} else {
|
} else {
|
||||||
unregister_mods(MOD_BIT(KC_RGUI));
|
unregister_mods(MOD_BIT(KC_RGUI));
|
||||||
layer_off(_NUMBER);
|
layer_off(_NUMBER);
|
||||||
if (timer_elapsed(user_key_timer) < TAPPING_TERM) {
|
if (timer_elapsed32(user_key_timer) < TAPPING_TERM) {
|
||||||
register_code(KC_QUOT);
|
tap_code(KC_QUOT);
|
||||||
unregister_code(KC_QUOT);
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return false; break;
|
return false; break;
|
||||||
|
|
||||||
|
case TESTING:
|
||||||
|
/*
|
||||||
|
if (record->event.pressed) {
|
||||||
|
int length = snprintf( NULL, 0, "%lu", test_number );
|
||||||
|
char* str = malloc( length + 1 );
|
||||||
|
snprintf( str, length + 1, "%lu", test_number );
|
||||||
|
send_string(str);
|
||||||
|
free(str);
|
||||||
|
// make CFLAGS+="-lc -specs=nosys.specs" board:keymap
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CCCV: // One key copy/paste
|
||||||
|
if (record->event.pressed) {
|
||||||
|
user_key_timer = timer_read32();
|
||||||
|
} else {
|
||||||
|
if (timer_elapsed32(user_key_timer) > TAPPING_TERM) { // Hold, copy
|
||||||
|
register_code(KC_LCTL);
|
||||||
|
tap_code(KC_C);
|
||||||
|
unregister_code(KC_LCTL);
|
||||||
|
} else { // Tap, paste
|
||||||
|
register_code(KC_LCTL);
|
||||||
|
tap_code(KC_V);
|
||||||
|
unregister_code(KC_LCTL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SEED:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
srand(timer_read32());
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SARCASM:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
if (!(mode.spongebob ^= 1)) { mode.all = 0U; };
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case VPRWAVE:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
if (!(mode.aesthetic ^= 1)) { mode.all = 0U; };
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case STRAYA:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
if (!(mode.australia ^= 1)) { mode.all = 0U; };
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (record->event.pressed && record->event.key.col == 4 && record->event.key.row == 1) {
|
||||||
|
if (get_mods() & MOD_BIT(KC_RALT)) {
|
||||||
|
unregister_mods(MOD_BIT(KC_RALT));
|
||||||
|
//send_unicode_hex_string("262D");
|
||||||
|
tap_code(KC_BSPC);
|
||||||
|
set_mods(MOD_BIT(KC_RALT));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
return process_record_keymap(keycode, record) &&
|
return process_record_keymap(keycode, record) &&
|
||||||
process_record_secrets(keycode, record);
|
process_record_secrets(keycode, record);
|
||||||
|
|
|
@ -11,19 +11,48 @@ bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
|
||||||
bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
|
bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
|
||||||
|
|
||||||
enum userspace_custom_keycodes {
|
enum userspace_custom_keycodes {
|
||||||
FIRST = PLACEHOLDER_SAFE_RANGE,
|
VERSION = PLACEHOLDER_SAFE_RANGE,
|
||||||
RUSTY,
|
QWERTY,
|
||||||
FUEL,
|
DVORAK,
|
||||||
C0RE,
|
COLEMAK,
|
||||||
MUNKY,
|
#if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE)
|
||||||
AR1ST,
|
GREEK,
|
||||||
VAXIS,
|
RUSSIAN,
|
||||||
OS_LAB,
|
RUNES,
|
||||||
CDLOCAL,
|
HIRAGAN,
|
||||||
SYSNOC,
|
#endif
|
||||||
|
MAKE,
|
||||||
RG_QUOT,
|
RG_QUOT,
|
||||||
LAST
|
TESTING,
|
||||||
|
RNGWORD,
|
||||||
|
CCCV,
|
||||||
|
SEED,
|
||||||
|
SARCASM,
|
||||||
|
VPRWAVE,
|
||||||
|
STRAYA,
|
||||||
|
SECRET0,
|
||||||
|
SECRET1,
|
||||||
|
SECRET2,
|
||||||
|
SECRET3,
|
||||||
|
SECRET4,
|
||||||
|
SECRET5,
|
||||||
|
SECRET6,
|
||||||
|
SECRET7,
|
||||||
|
SECRET8,
|
||||||
|
NEW_SAFE_RANGE // start new keyboard-level declarations with NEW_SAFE_RANGE
|
||||||
};
|
};
|
||||||
|
|
||||||
bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
|
// clang-format off
|
||||||
bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
|
typedef union {
|
||||||
|
struct {
|
||||||
|
uint8_t aesthetic : 1,
|
||||||
|
spongebob : 1,
|
||||||
|
uppercase : 1,
|
||||||
|
australia : 1,
|
||||||
|
unusued : 4;
|
||||||
|
};
|
||||||
|
uint8_t all;
|
||||||
|
} mode_config_t;
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
|
extern mode_config_t mode;
|
||||||
|
|
|
@ -1 +1,65 @@
|
||||||
#include "ridingqwerty.h"
|
#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
|
#pragma once
|
||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
#include "version.h"
|
||||||
#include "process_records.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
|
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,
|
_EDITOR,
|
||||||
_NUMBER,
|
_NUMBER,
|
||||||
_SYMBOL,
|
_SYMBOL,
|
||||||
_F_KEYS,
|
_F_KEYS,
|
||||||
_DEBUG,
|
_DEBUG,
|
||||||
_SECRET,
|
_SECRET,
|
||||||
|
#if defined(MOUSEKEY_ENABLED)
|
||||||
|
_MOUSE,
|
||||||
|
#endif
|
||||||
|
_MEDIA,
|
||||||
_FINAL
|
_FINAL
|
||||||
};
|
};
|
||||||
|
|
||||||
// modtaps
|
#define LS(kc) MT(MOD_LSFT, KC_##kc)
|
||||||
#define LS_Z MT(MOD_LSFT, KC_Z)
|
#define LC(kc) MT(MOD_LCTL, KC_##kc)
|
||||||
#define LC_ESC MT(MOD_LCTL, KC_ESC)
|
#define LG(kc) MT(MOD_LGUI, KC_##kc)
|
||||||
#define LG_TAB MT(MOD_LGUI, KC_TAB)
|
#define LA(kc) MT(MOD_LALT, KC_##kc)
|
||||||
#define LA_LBRC MT(MOD_LALT, KC_LBRC)
|
#define RS(kc) MT(MOD_RSFT, KC_##kc)
|
||||||
#define LS_RBRC MT(MOD_LSFT, KC_RBRC)
|
#define RC(kc) MT(MOD_RCTL, KC_##kc)
|
||||||
#define RS_MINS MT(MOD_RSFT, KC_MINS)
|
#define RG(kc) MT(MOD_RGUI, KC_##kc)
|
||||||
#define RA_EQL MT(MOD_RALT, KC_EQL)
|
#define RA(kc) MT(MOD_RALT, KC_##kc)
|
||||||
//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 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 \
|
SRC += ridingqwerty.c \
|
||||||
process_records.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)","")
|
ifneq ("$(wildcard $(USER_PATH)/secrets.c)","")
|
||||||
SRC += secrets.c
|
SRC += secrets.c
|
||||||
endif
|
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,295 @@
|
||||||
|
#pragma once
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
#define FOREACH_UNICODE(M) \
|
||||||
|
M(UALP, 0x0391) /* Α */ \
|
||||||
|
M(UBET, 0x0392) /* Β */ \
|
||||||
|
M(UGAM, 0x0393) /* Γ */ \
|
||||||
|
M(UDEL, 0x0394) /* Δ */ \
|
||||||
|
M(UEPS, 0x0395) /* Ε */ \
|
||||||
|
M(UZET, 0x0396) /* Ζ */ \
|
||||||
|
M(UETA, 0x0397) /* Η */ \
|
||||||
|
M(UTHE, 0x0398) /* Θ */ \
|
||||||
|
M(UIOT, 0x0399) /* Ι */ \
|
||||||
|
M(UKAP, 0x039A) /* Κ */ \
|
||||||
|
M(ULAM, 0x039B) /* Λ */ \
|
||||||
|
M(UMU, 0x039C) /* M */ \
|
||||||
|
M(UNU, 0x039D) /* Ν */ \
|
||||||
|
M(UXI, 0x039E) /* Ξ */ \
|
||||||
|
M(UOMI, 0x039F) /* Ο */ \
|
||||||
|
M(UPI, 0x03A0) /* Π */ \
|
||||||
|
M(URHO, 0x03A1) /* Ρ */ \
|
||||||
|
M(USIG, 0x03A3) /* Σ */ \
|
||||||
|
M(UTAU, 0x03A4) /* Τ */ \
|
||||||
|
M(UUPS, 0x03A5) /* Υ */ \
|
||||||
|
M(UPHI, 0x03A6) /* Φ */ \
|
||||||
|
M(UCHI, 0x03A7) /* Χ */ \
|
||||||
|
M(UPSI, 0x03A8) /* Ψ */ \
|
||||||
|
M(UOME, 0x03A9) /* Ω */ \
|
||||||
|
M(LALP, 0x03B1) /* α */ \
|
||||||
|
M(LBET, 0x03B2) /* β */ \
|
||||||
|
M(LGAM, 0x03B3) /* γ */ \
|
||||||
|
M(LDEL, 0x03B4) /* δ */ \
|
||||||
|
M(LEPS, 0x03B5) /* ε */ \
|
||||||
|
M(LZET, 0x03B6) /* ζ */ \
|
||||||
|
M(LETA, 0x03B7) /* η */ \
|
||||||
|
M(LTHE, 0x03B8) /* θ */ \
|
||||||
|
M(LIOT, 0x03B9) /* ι */ \
|
||||||
|
M(LKAP, 0x03BA) /* κ */ \
|
||||||
|
M(LLAM, 0x03BB) /* λ */ \
|
||||||
|
M(LMU, 0x03BC) /* μ */ \
|
||||||
|
M(LNU, 0x03BD) /* ν */ \
|
||||||
|
M(LXI, 0x03BE) /* ξ */ \
|
||||||
|
M(LOMI, 0x03BF) /* ο */ \
|
||||||
|
M(LPI, 0x03C0) /* π */ \
|
||||||
|
M(LRHO, 0x03C1) /* ρ */ \
|
||||||
|
M(LSIG, 0x03C3) /* σ */ \
|
||||||
|
M(LTAU, 0x03C4) /* τ */ \
|
||||||
|
M(LUPS, 0x03C5) /* υ */ \
|
||||||
|
M(LPHI, 0x03C6) /* φ */ \
|
||||||
|
M(LCHI, 0x03C7) /* χ */ \
|
||||||
|
M(LPSI, 0x03C8) /* ψ */ \
|
||||||
|
M(LOME, 0x03C9) /* ω */ \
|
||||||
|
M(UAH, 0x0410) /* А */ \
|
||||||
|
M(UBE, 0x0411) /* Б */ \
|
||||||
|
M(UVE, 0x0412) /* В */ \
|
||||||
|
M(UGHE, 0x0413) /* Г */ \
|
||||||
|
M(UDE, 0x0414) /* Д */ \
|
||||||
|
M(UIE, 0x0415) /* Е */ \
|
||||||
|
M(UIO, 0x0401) /* Ё */ \
|
||||||
|
M(UZHE, 0x0416) /* Ж */ \
|
||||||
|
M(UZE, 0x0417) /* З */ \
|
||||||
|
M(UIH, 0x0418) /* И */ \
|
||||||
|
M(USIH, 0x0419) /* Й */ \
|
||||||
|
M(UKA, 0x041A) /* К */ \
|
||||||
|
M(UEL, 0x041B) /* Л */ \
|
||||||
|
M(UEM, 0x041C) /* М */ \
|
||||||
|
M(UEN, 0x041D) /* Н */ \
|
||||||
|
M(UOH, 0x041E) /* О */ \
|
||||||
|
M(UPE, 0x041F) /* П */ \
|
||||||
|
M(UER, 0x0420) /* Р */ \
|
||||||
|
M(UES, 0x0421) /* С */ \
|
||||||
|
M(UTE, 0x0422) /* Т */ \
|
||||||
|
M(UUU, 0x0423) /* У */ \
|
||||||
|
M(UEF, 0x0424) /* Ф */ \
|
||||||
|
M(UHA, 0x0425) /* Х */ \
|
||||||
|
M(UTSE, 0x0426) /* Ц */ \
|
||||||
|
M(UCHE, 0x0427) /* Ч */ \
|
||||||
|
M(USHA, 0x0428) /* Ш */ \
|
||||||
|
M(USCHA, 0x0429) /* Щ */ \
|
||||||
|
M(UHARD, 0x042A) /* Ъ */ \
|
||||||
|
M(UYERU, 0x042B) /* Ы */ \
|
||||||
|
M(USOFT, 0x042C) /* Ь */ \
|
||||||
|
M(UEH, 0x042D) /* Э */ \
|
||||||
|
M(UYU, 0x042E) /* Ю */ \
|
||||||
|
M(UYA, 0x042F) /* Я */ \
|
||||||
|
M(LAH, 0x0430) /* а */ \
|
||||||
|
M(LBE, 0x0431) /* б */ \
|
||||||
|
M(LVE, 0x0432) /* в */ \
|
||||||
|
M(LGHE, 0x0433) /* г */ \
|
||||||
|
M(LDE, 0x0434) /* д */ \
|
||||||
|
M(LIE, 0x0435) /* е */ \
|
||||||
|
M(LIO, 0x0451) /* ё */ \
|
||||||
|
M(LZHE, 0x0436) /* ж */ \
|
||||||
|
M(LZE, 0x0437) /* з */ \
|
||||||
|
M(LIH, 0x0438) /* и */ \
|
||||||
|
M(LSIH, 0x0439) /* й */ \
|
||||||
|
M(LKA, 0x043A) /* к */ \
|
||||||
|
M(LEL, 0x043B) /* л */ \
|
||||||
|
M(LEM, 0x043C) /* м */ \
|
||||||
|
M(LEN, 0x043D) /* н */ \
|
||||||
|
M(LOH, 0x043E) /* о */ \
|
||||||
|
M(LPE, 0x043F) /* п */ \
|
||||||
|
M(LER, 0x0440) /* р */ \
|
||||||
|
M(LES, 0x0441) /* с */ \
|
||||||
|
M(LTE, 0x0442) /* т */ \
|
||||||
|
M(LUU, 0x0443) /* у */ \
|
||||||
|
M(LEF, 0x0444) /* ф */ \
|
||||||
|
M(LHA, 0x0445) /* х */ \
|
||||||
|
M(LTSE, 0x0446) /* ц */ \
|
||||||
|
M(LCHE, 0x0447) /* ч */ \
|
||||||
|
M(LSHA, 0x0448) /* ш */ \
|
||||||
|
M(LSCHA, 0x0449) /* щ */ \
|
||||||
|
M(LHARD, 0x044A) /* ъ */ \
|
||||||
|
M(LYERU, 0x044B) /* ы */ \
|
||||||
|
M(LSOFT, 0x044C) /* ь */ \
|
||||||
|
M(LEH, 0x044D) /* э */ \
|
||||||
|
M(LYU, 0x044E) /* ю */ \
|
||||||
|
M(LYA, 0x044F) /* я */ \
|
||||||
|
M(FE, 0x16A0) /* ᚠ */ \
|
||||||
|
M(UR, 0x16A2) /* ᚢ */ \
|
||||||
|
M(THURS, 0x16A6) /* ᚦ */ \
|
||||||
|
M(ANSUZ, 0x16A8) /* ᚨ */ \
|
||||||
|
M(RAIDO, 0x16B1) /* ᚱ */ \
|
||||||
|
M(KAUNA, 0x16B2) /* ᚲ */ \
|
||||||
|
M(GEBO, 0x16B7) /* ᚷ */ \
|
||||||
|
M(WUNJO, 0x16B9) /* ᚹ */ \
|
||||||
|
M(HAGLZ, 0x16BA) /* ᚺ */ \
|
||||||
|
M(NAUDZ, 0x16BE) /* ᚾ */ \
|
||||||
|
M(ISAZ, 0x16C1) /* ᛁ */ \
|
||||||
|
M(JERAN, 0x16C3) /* ᛃ */ \
|
||||||
|
M(IWAZ, 0x16C7) /* ᛇ */ \
|
||||||
|
M(PERTH, 0x16C8) /* ᛈ */ \
|
||||||
|
M(ALGIZ, 0x16C9) /* ᛉ */ \
|
||||||
|
M(SOWIL, 0x16CA) /* ᛊ */ \
|
||||||
|
M(TIWAZ, 0x16CF) /* ᛏ */ \
|
||||||
|
M(BEORC, 0x16D2) /* ᛒ */ \
|
||||||
|
M(EHWAZ, 0x16D6) /* ᛖ */ \
|
||||||
|
M(MANNZ, 0x16D7) /* ᛗ */ \
|
||||||
|
M(LAUKZ, 0x16DA) /* ᛚ */ \
|
||||||
|
M(INGWZ, 0x16DC) /* ᛜ */ \
|
||||||
|
M(DAGAZ, 0x16DE) /* ᛞ */ \
|
||||||
|
M(ETHEL, 0x16DF) /* ᛟ */ \
|
||||||
|
M(JRO, 0x308D) /* ろ */ \
|
||||||
|
M(JWA, 0x308F) /* わ */ \
|
||||||
|
M(JNU, 0x306C) /* ぬ */ \
|
||||||
|
M(JHU, 0x3075) /* ふ */ \
|
||||||
|
M(JA, 0x3042) /* あ */ \
|
||||||
|
M(JU, 0x3046) /* う */ \
|
||||||
|
M(JE, 0x3048) /* え */ \
|
||||||
|
M(JO, 0x304A) /* お */ \
|
||||||
|
M(JYA, 0x3084) /* や */ \
|
||||||
|
M(JYU, 0x3086) /* ゆ */ \
|
||||||
|
M(JYO, 0x3088) /* よ */ \
|
||||||
|
M(JHO, 0x307B) /* ほ */ \
|
||||||
|
M(JHE, 0x3078) /* へ */ \
|
||||||
|
M(JMU, 0x3080) /* む */ \
|
||||||
|
M(JTA, 0x305F) /* た */ \
|
||||||
|
M(JTE, 0x3066) /* て */ \
|
||||||
|
M(JI, 0x3044) /* い */ \
|
||||||
|
M(JSU, 0x3059) /* す */ \
|
||||||
|
M(JKA, 0x3095) /* ゕ */ \
|
||||||
|
M(JN, 0x3093) /* ん */ \
|
||||||
|
M(JNA, 0x306A) /* な */ \
|
||||||
|
M(JNI, 0x306B) /* に */ \
|
||||||
|
M(JRA, 0x3089) /* ら */ \
|
||||||
|
M(JSE, 0x305B) /* せ */ \
|
||||||
|
M(JVV, 0x309B) /* ゛*/ \
|
||||||
|
M(JSV, 0x309C) /* ゜*/ \
|
||||||
|
M(JTI, 0x3061) /* ち */ \
|
||||||
|
M(JTO, 0x3068) /* と */ \
|
||||||
|
M(JSI, 0x3057) /* し */ \
|
||||||
|
M(JHA, 0x306F) /* は */ \
|
||||||
|
M(JKI, 0x304D) /* き */ \
|
||||||
|
M(JKU, 0x304F) /* く */ \
|
||||||
|
M(JMA, 0x307E) /* ま */ \
|
||||||
|
M(JNO, 0x306E) /* の */ \
|
||||||
|
M(JRI, 0x308A) /* り */ \
|
||||||
|
M(JRE, 0x308C) /* れ */ \
|
||||||
|
M(JKE, 0x3051) /* け */ \
|
||||||
|
M(JTU, 0x3064) /* つ */ \
|
||||||
|
M(JSA, 0x3055) /* さ */ \
|
||||||
|
M(JSO, 0x305D) /* そ */ \
|
||||||
|
M(JHI, 0x3072) /* ひ */ \
|
||||||
|
M(JKO, 0x3053) /* こ */ \
|
||||||
|
M(JMI, 0x307F) /* み */ \
|
||||||
|
M(JMO, 0x3082) /* も */ \
|
||||||
|
M(JNE, 0x306D) /* ね */ \
|
||||||
|
M(JRU, 0x308B) /* る */ \
|
||||||
|
M(JME, 0x3081) /* め */ \
|
||||||
|
M(ALEF, 0x05D0) /* א */ \
|
||||||
|
M(BET, 0x05D1) /* ב */ \
|
||||||
|
M(GIMEL, 0x05D2) /* ג */ \
|
||||||
|
M(DALET, 0x05D3) /* ד */ \
|
||||||
|
M(HE, 0x05D4) /* ה */ \
|
||||||
|
M(VAV, 0x05D5) /* ו */ \
|
||||||
|
M(ZAYIN, 0x05D6) /* ז */ \
|
||||||
|
M(CHET, 0x05D7) /* ח */ \
|
||||||
|
M(TET, 0x05D8) /* ט */ \
|
||||||
|
M(YOD, 0x05D9) /* י */ \
|
||||||
|
M(KAF, 0x05DB) /* כ */ \
|
||||||
|
M(LAMED, 0x05DC) /* ל */ \
|
||||||
|
M(MEM, 0x05DE) /* מ */ \
|
||||||
|
M(NUN, 0x05E0) /* נ */ \
|
||||||
|
M(SAMCH, 0x05E1) /* ס */ \
|
||||||
|
M(AYIN, 0x05E2) /* ע */ \
|
||||||
|
M(PE, 0x05E4) /* פ */ \
|
||||||
|
M(TZADI, 0x05E6) /* צ */ \
|
||||||
|
M(KOF, 0x05E7) /* ק */ \
|
||||||
|
M(RESH, 0x05E8) /* ר */ \
|
||||||
|
M(SHIN, 0x05E9) /* ש */ \
|
||||||
|
M(TAV, 0x05EA) /* ת */
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
|
#define UC_KEYCODE(name, code) name = UC(code), // LALP = UC(0x03B1),
|
||||||
|
|
||||||
|
#define UCM_NAME(name, code) UCM_ ## name, // UCM_LALP,
|
||||||
|
#define UCM_ENTRY(name, code) [UCM_ ## name] = code, // [UCM_LALP] = 0x03B1,
|
||||||
|
#define UCM_KEYCODE(name, code) name = X(UCM_ ## name), // LALP = X(UCM_LALP)
|
||||||
|
|
||||||
|
#if defined(UNICODE_ENABLE)
|
||||||
|
enum unicode_keycodes {
|
||||||
|
FOREACH_UNICODE(UC_KEYCODE)
|
||||||
|
};
|
||||||
|
#elif defined(UNICODEMAP_ENABLE)
|
||||||
|
enum unicode_names {
|
||||||
|
FOREACH_UNICODE(UCM_NAME)
|
||||||
|
};
|
||||||
|
|
||||||
|
extern const uint32_t PROGMEM unicode_map[];
|
||||||
|
|
||||||
|
enum unicode_keycodes {
|
||||||
|
FOREACH_UNICODE(UCM_KEYCODE)
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define ALPHA XP(LALP, UALP)
|
||||||
|
#define BETA XP(LBET, UBET)
|
||||||
|
#define GAMMA XP(LGAM, UGAM)
|
||||||
|
#define DELTA XP(LDEL, UDEL)
|
||||||
|
#define EPSLN XP(LEPS, UEPS)
|
||||||
|
#define ZETA XP(LZET, UZET)
|
||||||
|
#define ETA XP(LETA, UETA)
|
||||||
|
#define THETA XP(LTHE, UTHE)
|
||||||
|
#define IOTA XP(LIOT, UIOT)
|
||||||
|
#define KAPPA XP(LKAP, UKAP)
|
||||||
|
#define LAMBD XP(LLAM, ULAM)
|
||||||
|
#define GMU XP(LMU, UMU)
|
||||||
|
#define NU XP(LNU, UNU)
|
||||||
|
#define XI XP(LXI, UXI)
|
||||||
|
#define OMCRN XP(LOMI, UOMI)
|
||||||
|
#define PI XP(LPI, UPI)
|
||||||
|
#define RHO XP(LRHO, URHO)
|
||||||
|
#define SIGMA XP(LSIG, USIG)
|
||||||
|
#define TAU XP(LTAU, UTAU)
|
||||||
|
#define UPSLN XP(LUPS, UUPS)
|
||||||
|
#define PHI XP(LPHI, UPHI)
|
||||||
|
#define CHI XP(LCHI, UCHI)
|
||||||
|
#define PSI XP(LPSI, UPSI)
|
||||||
|
#define OMEGA XP(LOME, UOME)
|
||||||
|
|
||||||
|
#define AH XP(LAH, UAH)
|
||||||
|
#define BE XP(LBE, UBE)
|
||||||
|
#define VE XP(LVE, UVE)
|
||||||
|
#define GHE XP(LGHE, UGHE)
|
||||||
|
#define DE XP(LDE, UDE)
|
||||||
|
#define IE XP(LIE, UIE)
|
||||||
|
#define IO XP(LIO, UIO)
|
||||||
|
#define ZHE XP(LZHE, UZHE)
|
||||||
|
#define ZE XP(LZE, UZE)
|
||||||
|
#define IH XP(LIH, UIH)
|
||||||
|
#define SIH XP(LSIH, USIH)
|
||||||
|
#define KA XP(LKA, UKA)
|
||||||
|
#define EL XP(LEL, UEL)
|
||||||
|
#define EM XP(LEM, UEM)
|
||||||
|
#define EN XP(LEN, UEN)
|
||||||
|
#define OH XP(LOH, UOH)
|
||||||
|
#define PE XP(LPE, UPE)
|
||||||
|
#define ER XP(LER, UER)
|
||||||
|
#define ES XP(LES, UES)
|
||||||
|
#define TE XP(LTE, UTE)
|
||||||
|
#define UU XP(LUU, UUU)
|
||||||
|
#define EF XP(LEF, UEF)
|
||||||
|
#define HA XP(LHA, UHA)
|
||||||
|
#define TSE XP(LTSE, UTSE)
|
||||||
|
#define CHE XP(LCHE, UCHE)
|
||||||
|
#define SHA XP(LSHA, USHA)
|
||||||
|
#define SCHA XP(LSCHA, USCHA)
|
||||||
|
#define HARD XP(LHARD, UHARD)
|
||||||
|
#define YERU XP(LYERU, UYERU)
|
||||||
|
#define SOFT XP(LSOFT, USOFT)
|
||||||
|
#define EH XP(LEH, UEH)
|
||||||
|
#define YU XP(LYU, UYU)
|
||||||
|
#define YA XP(LYA, UYA)
|
|
@ -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