* Userspace overhaul * Remove testing directory * Minorca keymap tweakspull/8088/head
@ -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 | |||
#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... |
@ -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,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 |