[tab] src/miryoku_babel/miryoku_layer_alternatives.h (cpp)
// Copyright 2022 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// target: kmonad

#pragma once


#define MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP \
a,                 z,                 e,                 r,                 t,                 y,                 u,                 i,                 o,                 p,                 \
U_MT(q, met),      U_MT(s, alt),      U_MT(d, ctl),      U_MT(f, sft),      g,                 h,                 U_MT(j, sft),      U_MT(k, ctl),      U_MT(l, alt),      U_MT(m, met),      \
U_LT(w, U_BUTTON), U_MT(x, ralt),     c,                 v,                 b,                 n,                 U_COMM,            .,                 U_MT(/, ralt),     U_LT(U_QUOT, U_BUTTON),\
U_NP,              U_NP,              U_LT(del, U_FUN),  U_LT(bspc, U_NUM), U_LT(ent, U_SYM),  U_LT(tab, U_MOUSE),U_LT(spc, U_NAV),  U_LT(esc, U_MEDIA),U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP \
q,                 h,                 o,                 u,                 x,                 g,                 c,                 r,                 f,                 z,                 \
U_MT(y, met),      U_MT(i, alt),      U_MT(e, ctl),      U_MT(a, sft),      .,                 d,                 U_MT(s, sft),      U_MT(t, ctl),      U_MT(n, alt),      U_MT(b, met),      \
U_LT(j, U_BUTTON), U_MT(/, ralt),     U_COMM,            k,                 U_QUOT,            w,                 m,                 l,                 U_MT(p, ralt),     U_LT(v, U_BUTTON), \
U_NP,              U_NP,              U_LT(del, U_FUN),  U_LT(bspc, U_NUM), U_LT(ent, U_SYM),  U_LT(tab, U_MOUSE),U_LT(spc, U_NAV),  U_LT(esc, U_MEDIA),U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP \
q,                 w,                 f,                 p,                 g,                 j,                 l,                 u,                 y,                 U_QUOT,            \
U_MT(a, met),      U_MT(r, alt),      U_MT(s, ctl),      U_MT(t, sft),      d,                 h,                 U_MT(n, sft),      U_MT(e, ctl),      U_MT(i, alt),      U_MT(o, met),      \
U_LT(z, U_BUTTON), U_MT(x, ralt),     c,                 v,                 b,                 k,                 m,                 U_COMM,            U_MT(., ralt),     U_LT(/, U_BUTTON), \
U_NP,              U_NP,              U_LT(del, U_FUN),  U_LT(bspc, U_NUM), U_LT(ent, U_SYM),  U_LT(tab, U_MOUSE),U_LT(spc, U_NAV),  U_LT(esc, U_MEDIA),U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP \
q,                 w,                 f,                 p,                 b,                 j,                 l,                 u,                 y,                 U_QUOT,            \
U_MT(a, met),      U_MT(r, alt),      U_MT(s, ctl),      U_MT(t, sft),      g,                 m,                 U_MT(n, sft),      U_MT(e, ctl),      U_MT(i, alt),      U_MT(o, met),      \
U_LT(z, U_BUTTON), U_MT(x, ralt),     c,                 d,                 v,                 k,                 h,                 U_COMM,            U_MT(., ralt),     U_LT(/, U_BUTTON), \
U_NP,              U_NP,              U_LT(del, U_FUN),  U_LT(bspc, U_NUM), U_LT(ent, U_SYM),  U_LT(tab, U_MOUSE),U_LT(spc, U_NAV),  U_LT(esc, U_MEDIA),U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP \
q,                 w,                 f,                 p,                 b,                 j,                 l,                 u,                 y,                 U_QUOT,            \
U_MT(a, met),      U_MT(r, alt),      U_MT(s, ctl),      U_MT(t, sft),      g,                 k,                 U_MT(n, sft),      U_MT(e, ctl),      U_MT(i, alt),      U_MT(o, met),      \
U_LT(z, U_BUTTON), U_MT(x, ralt),     c,                 d,                 v,                 m,                 h,                 U_COMM,            U_MT(., ralt),     U_LT(/, U_BUTTON), \
U_NP,              U_NP,              U_LT(del, U_FUN),  U_LT(bspc, U_NUM), U_LT(ent, U_SYM),  U_LT(tab, U_MOUSE),U_LT(spc, U_NAV),  U_LT(esc, U_MEDIA),U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP \
U_QUOT,            U_COMM,            .,                 p,                 y,                 f,                 g,                 c,                 r,                 l,                 \
U_MT(a, met),      U_MT(o, alt),      U_MT(e, ctl),      U_MT(u, sft),      i,                 d,                 U_MT(h, sft),      U_MT(t, ctl),      U_MT(n, alt),      U_MT(s, met),      \
U_LT(/, U_BUTTON), U_MT(q, ralt),     j,                 k,                 x,                 b,                 m,                 w,                 U_MT(v, ralt),     U_LT(z, U_BUTTON), \
U_NP,              U_NP,              U_LT(del, U_FUN),  U_LT(bspc, U_NUM), U_LT(ent, U_SYM),  U_LT(tab, U_MOUSE),U_LT(spc, U_NAV),  U_LT(esc, U_MEDIA),U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP \
w,                 l,                 r,                 b,                 z,                 U_QUOT,            q,                 u,                 d,                 j,                 \
U_MT(s, met),      U_MT(h, alt),      U_MT(n, ctl),      U_MT(t, sft),      U_COMM,            .,                 U_MT(a, sft),      U_MT(e, ctl),      U_MT(o, alt),      U_MT(i, met),      \
U_LT(f, U_BUTTON), U_MT(m, ralt),     v,                 c,                 /,                 g,                 p,                 x,                 U_MT(k, ralt),     U_LT(y, U_BUTTON), \
U_NP,              U_NP,              U_LT(del, U_FUN),  U_LT(bspc, U_NUM), U_LT(ent, U_SYM),  U_LT(tab, U_MOUSE),U_LT(spc, U_NAV),  U_LT(esc, U_MEDIA),U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP \
q,                 d,                 r,                 w,                 b,                 j,                 f,                 u,                 p,                 U_QUOT,            \
U_MT(a, met),      U_MT(s, alt),      U_MT(h, ctl),      U_MT(t, sft),      g,                 y,                 U_MT(n, sft),      U_MT(e, ctl),      U_MT(o, alt),      U_MT(i, met),      \
U_LT(z, U_BUTTON), U_MT(x, ralt),     m,                 c,                 v,                 k,                 l,                 U_COMM,            U_MT(., ralt),     U_LT(/, U_BUTTON), \
U_NP,              U_NP,              U_LT(del, U_FUN),  U_LT(bspc, U_NUM), U_LT(ent, U_SYM),  U_LT(tab, U_MOUSE),U_LT(spc, U_NAV),  U_LT(esc, U_MEDIA),U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP \
q,                 w,                 e,                 r,                 t,                 y,                 u,                 i,                 o,                 p,                 \
U_MT(a, met),      U_MT(s, alt),      U_MT(d, ctl),      U_MT(f, sft),      g,                 h,                 U_MT(j, sft),      U_MT(k, ctl),      U_MT(l, alt),      U_MT(U_QUOT, met), \
U_LT(z, U_BUTTON), U_MT(x, ralt),     c,                 v,                 b,                 n,                 m,                 U_COMM,            U_MT(., ralt),     U_LT(/, U_BUTTON), \
U_NP,              U_NP,              U_LT(del, U_FUN),  U_LT(bspc, U_NUM), U_LT(ent, U_SYM),  U_LT(tab, U_MOUSE),U_LT(spc, U_NAV),  U_LT(esc, U_MEDIA),U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP \
q,                 w,                 e,                 r,                 t,                 z,                 u,                 i,                 o,                 p,                 \
U_MT(a, met),      U_MT(s, alt),      U_MT(d, ctl),      U_MT(f, sft),      g,                 h,                 U_MT(j, sft),      U_MT(k, ctl),      U_MT(l, alt),      U_MT(U_QUOT, met), \
U_LT(y, U_BUTTON), U_MT(x, ralt),     c,                 v,                 b,                 n,                 m,                 U_COMM,            U_MT(., ralt),     U_LT(/, U_BUTTON), \
U_NP,              U_NP,              U_LT(del, U_FUN),  U_LT(bspc, U_NUM), U_LT(ent, U_SYM),  U_LT(tab, U_MOUSE),U_LT(spc, U_NAV),  U_LT(esc, U_MEDIA),U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_AZERTY \
a,                 z,                 e,                 r,                 t,                 y,                 u,                 i,                 o,                 p,                 \
U_MT(q, met),      U_MT(s, alt),      U_MT(d, ctl),      U_MT(f, sft),      g,                 h,                 U_MT(j, sft),      U_MT(k, ctl),      U_MT(l, alt),      U_MT(m, met),      \
U_LT(w, U_BUTTON), U_MT(x, ralt),     c,                 v,                 b,                 n,                 U_COMM,            .,                 U_MT(/, ralt),     U_LT(U_QUOT, U_BUTTON),\
U_NP,              U_NP,              U_LT(esc, U_MEDIA),U_LT(spc, U_NAV),  U_LT(tab, U_MOUSE),U_LT(ent, U_SYM),  U_LT(bspc, U_NUM), U_LT(del, U_FUN),  U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_BEAKL15 \
q,                 h,                 o,                 u,                 x,                 g,                 c,                 r,                 f,                 z,                 \
U_MT(y, met),      U_MT(i, alt),      U_MT(e, ctl),      U_MT(a, sft),      .,                 d,                 U_MT(s, sft),      U_MT(t, ctl),      U_MT(n, alt),      U_MT(b, met),      \
U_LT(j, U_BUTTON), U_MT(/, ralt),     U_COMM,            k,                 U_QUOT,            w,                 m,                 l,                 U_MT(p, ralt),     U_LT(v, U_BUTTON), \
U_NP,              U_NP,              U_LT(esc, U_MEDIA),U_LT(spc, U_NAV),  U_LT(tab, U_MOUSE),U_LT(ent, U_SYM),  U_LT(bspc, U_NUM), U_LT(del, U_FUN),  U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_COLEMAK \
q,                 w,                 f,                 p,                 g,                 j,                 l,                 u,                 y,                 U_QUOT,            \
U_MT(a, met),      U_MT(r, alt),      U_MT(s, ctl),      U_MT(t, sft),      d,                 h,                 U_MT(n, sft),      U_MT(e, ctl),      U_MT(i, alt),      U_MT(o, met),      \
U_LT(z, U_BUTTON), U_MT(x, ralt),     c,                 v,                 b,                 k,                 m,                 U_COMM,            U_MT(., ralt),     U_LT(/, U_BUTTON), \
U_NP,              U_NP,              U_LT(esc, U_MEDIA),U_LT(spc, U_NAV),  U_LT(tab, U_MOUSE),U_LT(ent, U_SYM),  U_LT(bspc, U_NUM), U_LT(del, U_FUN),  U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH \
q,                 w,                 f,                 p,                 b,                 j,                 l,                 u,                 y,                 U_QUOT,            \
U_MT(a, met),      U_MT(r, alt),      U_MT(s, ctl),      U_MT(t, sft),      g,                 m,                 U_MT(n, sft),      U_MT(e, ctl),      U_MT(i, alt),      U_MT(o, met),      \
U_LT(z, U_BUTTON), U_MT(x, ralt),     c,                 d,                 v,                 k,                 h,                 U_COMM,            U_MT(., ralt),     U_LT(/, U_BUTTON), \
U_NP,              U_NP,              U_LT(esc, U_MEDIA),U_LT(spc, U_NAV),  U_LT(tab, U_MOUSE),U_LT(ent, U_SYM),  U_LT(bspc, U_NUM), U_LT(del, U_FUN),  U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK \
q,                 w,                 f,                 p,                 b,                 j,                 l,                 u,                 y,                 U_QUOT,            \
U_MT(a, met),      U_MT(r, alt),      U_MT(s, ctl),      U_MT(t, sft),      g,                 k,                 U_MT(n, sft),      U_MT(e, ctl),      U_MT(i, alt),      U_MT(o, met),      \
U_LT(z, U_BUTTON), U_MT(x, ralt),     c,                 d,                 v,                 m,                 h,                 U_COMM,            U_MT(., ralt),     U_LT(/, U_BUTTON), \
U_NP,              U_NP,              U_LT(esc, U_MEDIA),U_LT(spc, U_NAV),  U_LT(tab, U_MOUSE),U_LT(ent, U_SYM),  U_LT(bspc, U_NUM), U_LT(del, U_FUN),  U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_DVORAK \
U_QUOT,            U_COMM,            .,                 p,                 y,                 f,                 g,                 c,                 r,                 l,                 \
U_MT(a, met),      U_MT(o, alt),      U_MT(e, ctl),      U_MT(u, sft),      i,                 d,                 U_MT(h, sft),      U_MT(t, ctl),      U_MT(n, alt),      U_MT(s, met),      \
U_LT(/, U_BUTTON), U_MT(q, ralt),     j,                 k,                 x,                 b,                 m,                 w,                 U_MT(v, ralt),     U_LT(z, U_BUTTON), \
U_NP,              U_NP,              U_LT(esc, U_MEDIA),U_LT(spc, U_NAV),  U_LT(tab, U_MOUSE),U_LT(ent, U_SYM),  U_LT(bspc, U_NUM), U_LT(del, U_FUN),  U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_HALMAK \
w,                 l,                 r,                 b,                 z,                 U_QUOT,            q,                 u,                 d,                 j,                 \
U_MT(s, met),      U_MT(h, alt),      U_MT(n, ctl),      U_MT(t, sft),      U_COMM,            .,                 U_MT(a, sft),      U_MT(e, ctl),      U_MT(o, alt),      U_MT(i, met),      \
U_LT(f, U_BUTTON), U_MT(m, ralt),     v,                 c,                 /,                 g,                 p,                 x,                 U_MT(k, ralt),     U_LT(y, U_BUTTON), \
U_NP,              U_NP,              U_LT(esc, U_MEDIA),U_LT(spc, U_NAV),  U_LT(tab, U_MOUSE),U_LT(ent, U_SYM),  U_LT(bspc, U_NUM), U_LT(del, U_FUN),  U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_WORKMAN \
q,                 d,                 r,                 w,                 b,                 j,                 f,                 u,                 p,                 U_QUOT,            \
U_MT(a, met),      U_MT(s, alt),      U_MT(h, ctl),      U_MT(t, sft),      g,                 y,                 U_MT(n, sft),      U_MT(e, ctl),      U_MT(o, alt),      U_MT(i, met),      \
U_LT(z, U_BUTTON), U_MT(x, ralt),     m,                 c,                 v,                 k,                 l,                 U_COMM,            U_MT(., ralt),     U_LT(/, U_BUTTON), \
U_NP,              U_NP,              U_LT(esc, U_MEDIA),U_LT(spc, U_NAV),  U_LT(tab, U_MOUSE),U_LT(ent, U_SYM),  U_LT(bspc, U_NUM), U_LT(del, U_FUN),  U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_QWERTY \
q,                 w,                 e,                 r,                 t,                 y,                 u,                 i,                 o,                 p,                 \
U_MT(a, met),      U_MT(s, alt),      U_MT(d, ctl),      U_MT(f, sft),      g,                 h,                 U_MT(j, sft),      U_MT(k, ctl),      U_MT(l, alt),      U_MT(U_QUOT, met), \
U_LT(z, U_BUTTON), U_MT(x, ralt),     c,                 v,                 b,                 n,                 m,                 U_COMM,            U_MT(., ralt),     U_LT(/, U_BUTTON), \
U_NP,              U_NP,              U_LT(esc, U_MEDIA),U_LT(spc, U_NAV),  U_LT(tab, U_MOUSE),U_LT(ent, U_SYM),  U_LT(bspc, U_NUM), U_LT(del, U_FUN),  U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_BASE_QWERTZ \
q,                 w,                 e,                 r,                 t,                 z,                 u,                 i,                 o,                 p,                 \
U_MT(a, met),      U_MT(s, alt),      U_MT(d, ctl),      U_MT(f, sft),      g,                 h,                 U_MT(j, sft),      U_MT(k, ctl),      U_MT(l, alt),      U_MT(U_QUOT, met), \
U_LT(y, U_BUTTON), U_MT(x, ralt),     c,                 v,                 b,                 n,                 m,                 U_COMM,            U_MT(., ralt),     U_LT(/, U_BUTTON), \
U_NP,              U_NP,              U_LT(esc, U_MEDIA),U_LT(spc, U_NAV),  U_LT(tab, U_MOUSE),U_LT(ent, U_SYM),  U_LT(bspc, U_NUM), U_LT(del, U_FUN),  U_NP,              U_NP


#define MIRYOKU_ALTERNATIVES_TAP_AZERTY_FLIP \
a,                 z,                 e,                 r,                 t,                 y,                 u,                 i,                 o,                 p,                 \
q,                 s,                 d,                 f,                 g,                 h,                 j,                 k,                 l,                 m,                 \
w,                 x,                 c,                 v,                 b,                 n,                 U_COMM,            .,                 /,                 U_QUOT,            \
U_NP,              U_NP,              del,               bspc,              ent,               tab,               spc,               esc,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_BEAKL15_FLIP \
q,                 h,                 o,                 u,                 x,                 g,                 c,                 r,                 f,                 z,                 \
y,                 i,                 e,                 a,                 .,                 d,                 s,                 t,                 n,                 b,                 \
j,                 /,                 U_COMM,            k,                 U_QUOT,            w,                 m,                 l,                 p,                 v,                 \
U_NP,              U_NP,              del,               bspc,              ent,               tab,               spc,               esc,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_COLEMAK_FLIP \
q,                 w,                 f,                 p,                 g,                 j,                 l,                 u,                 y,                 U_QUOT,            \
a,                 r,                 s,                 t,                 d,                 h,                 n,                 e,                 i,                 o,                 \
z,                 x,                 c,                 v,                 b,                 k,                 m,                 U_COMM,            .,                 /,                 \
U_NP,              U_NP,              del,               bspc,              ent,               tab,               spc,               esc,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH_FLIP \
q,                 w,                 f,                 p,                 b,                 j,                 l,                 u,                 y,                 U_QUOT,            \
a,                 r,                 s,                 t,                 g,                 m,                 n,                 e,                 i,                 o,                 \
z,                 x,                 c,                 d,                 v,                 k,                 h,                 U_COMM,            .,                 /,                 \
U_NP,              U_NP,              del,               bspc,              ent,               tab,               spc,               esc,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK_FLIP \
q,                 w,                 f,                 p,                 b,                 j,                 l,                 u,                 y,                 U_QUOT,            \
a,                 r,                 s,                 t,                 g,                 k,                 n,                 e,                 i,                 o,                 \
z,                 x,                 c,                 d,                 v,                 m,                 h,                 U_COMM,            .,                 /,                 \
U_NP,              U_NP,              del,               bspc,              ent,               tab,               spc,               esc,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_DVORAK_FLIP \
U_QUOT,            U_COMM,            .,                 p,                 y,                 f,                 g,                 c,                 r,                 l,                 \
a,                 o,                 e,                 u,                 i,                 d,                 h,                 t,                 n,                 s,                 \
/,                 q,                 j,                 k,                 x,                 b,                 m,                 w,                 v,                 z,                 \
U_NP,              U_NP,              del,               bspc,              ent,               tab,               spc,               esc,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_HALMAK_FLIP \
w,                 l,                 r,                 b,                 z,                 U_QUOT,            q,                 u,                 d,                 j,                 \
s,                 h,                 n,                 t,                 U_COMM,            .,                 a,                 e,                 o,                 i,                 \
f,                 m,                 v,                 c,                 /,                 g,                 p,                 x,                 k,                 y,                 \
U_NP,              U_NP,              del,               bspc,              ent,               tab,               spc,               esc,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_WORKMAN_FLIP \
q,                 d,                 r,                 w,                 b,                 j,                 f,                 u,                 p,                 U_QUOT,            \
a,                 s,                 h,                 t,                 g,                 y,                 n,                 e,                 o,                 i,                 \
z,                 x,                 m,                 c,                 v,                 k,                 l,                 U_COMM,            .,                 /,                 \
U_NP,              U_NP,              del,               bspc,              ent,               tab,               spc,               esc,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_QWERTY_FLIP \
q,                 w,                 e,                 r,                 t,                 y,                 u,                 i,                 o,                 p,                 \
a,                 s,                 d,                 f,                 g,                 h,                 j,                 k,                 l,                 U_QUOT,            \
z,                 x,                 c,                 v,                 b,                 n,                 m,                 U_COMM,            .,                 /,                 \
U_NP,              U_NP,              del,               bspc,              ent,               tab,               spc,               esc,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_QWERTZ_FLIP \
q,                 w,                 e,                 r,                 t,                 z,                 u,                 i,                 o,                 p,                 \
a,                 s,                 d,                 f,                 g,                 h,                 j,                 k,                 l,                 U_QUOT,            \
y,                 x,                 c,                 v,                 b,                 n,                 m,                 U_COMM,            .,                 /,                 \
U_NP,              U_NP,              del,               bspc,              ent,               tab,               spc,               esc,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_AZERTY \
a,                 z,                 e,                 r,                 t,                 y,                 u,                 i,                 o,                 p,                 \
q,                 s,                 d,                 f,                 g,                 h,                 j,                 k,                 l,                 m,                 \
w,                 x,                 c,                 v,                 b,                 n,                 U_COMM,            .,                 /,                 U_QUOT,            \
U_NP,              U_NP,              esc,               spc,               tab,               ent,               bspc,              del,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_BEAKL15 \
q,                 h,                 o,                 u,                 x,                 g,                 c,                 r,                 f,                 z,                 \
y,                 i,                 e,                 a,                 .,                 d,                 s,                 t,                 n,                 b,                 \
j,                 /,                 U_COMM,            k,                 U_QUOT,            w,                 m,                 l,                 p,                 v,                 \
U_NP,              U_NP,              esc,               spc,               tab,               ent,               bspc,              del,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_COLEMAK \
q,                 w,                 f,                 p,                 g,                 j,                 l,                 u,                 y,                 U_QUOT,            \
a,                 r,                 s,                 t,                 d,                 h,                 n,                 e,                 i,                 o,                 \
z,                 x,                 c,                 v,                 b,                 k,                 m,                 U_COMM,            .,                 /,                 \
U_NP,              U_NP,              esc,               spc,               tab,               ent,               bspc,              del,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH \
q,                 w,                 f,                 p,                 b,                 j,                 l,                 u,                 y,                 U_QUOT,            \
a,                 r,                 s,                 t,                 g,                 m,                 n,                 e,                 i,                 o,                 \
z,                 x,                 c,                 d,                 v,                 k,                 h,                 U_COMM,            .,                 /,                 \
U_NP,              U_NP,              esc,               spc,               tab,               ent,               bspc,              del,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK \
q,                 w,                 f,                 p,                 b,                 j,                 l,                 u,                 y,                 U_QUOT,            \
a,                 r,                 s,                 t,                 g,                 k,                 n,                 e,                 i,                 o,                 \
z,                 x,                 c,                 d,                 v,                 m,                 h,                 U_COMM,            .,                 /,                 \
U_NP,              U_NP,              esc,               spc,               tab,               ent,               bspc,              del,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_DVORAK \
U_QUOT,            U_COMM,            .,                 p,                 y,                 f,                 g,                 c,                 r,                 l,                 \
a,                 o,                 e,                 u,                 i,                 d,                 h,                 t,                 n,                 s,                 \
/,                 q,                 j,                 k,                 x,                 b,                 m,                 w,                 v,                 z,                 \
U_NP,              U_NP,              esc,               spc,               tab,               ent,               bspc,              del,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_HALMAK \
w,                 l,                 r,                 b,                 z,                 U_QUOT,            q,                 u,                 d,                 j,                 \
s,                 h,                 n,                 t,                 U_COMM,            .,                 a,                 e,                 o,                 i,                 \
f,                 m,                 v,                 c,                 /,                 g,                 p,                 x,                 k,                 y,                 \
U_NP,              U_NP,              esc,               spc,               tab,               ent,               bspc,              del,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_WORKMAN \
q,                 d,                 r,                 w,                 b,                 j,                 f,                 u,                 p,                 U_QUOT,            \
a,                 s,                 h,                 t,                 g,                 y,                 n,                 e,                 o,                 i,                 \
z,                 x,                 m,                 c,                 v,                 k,                 l,                 U_COMM,            .,                 /,                 \
U_NP,              U_NP,              esc,               spc,               tab,               ent,               bspc,              del,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_QWERTY \
q,                 w,                 e,                 r,                 t,                 y,                 u,                 i,                 o,                 p,                 \
a,                 s,                 d,                 f,                 g,                 h,                 j,                 k,                 l,                 U_QUOT,            \
z,                 x,                 c,                 v,                 b,                 n,                 m,                 U_COMM,            .,                 /,                 \
U_NP,              U_NP,              esc,               spc,               tab,               ent,               bspc,              del,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_TAP_QWERTZ \
q,                 w,                 e,                 r,                 t,                 z,                 u,                 i,                 o,                 p,                 \
a,                 s,                 d,                 f,                 g,                 h,                 j,                 k,                 l,                 U_QUOT,            \
y,                 x,                 c,                 v,                 b,                 n,                 m,                 U_COMM,            .,                 /,                 \
U_NP,              U_NP,              esc,               spc,               tab,               ent,               bspc,              del,               U_NP,              U_NP


#define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT_FLIP \
pgup,              home,              up,                end,               ins,               U_NA,              U_DF(U_BASE),      U_DF(U_EXTRA),     U_DF(U_TAP),       U_NA,              \
pgdn,              left,              down,              right,             caps,              U_NA,              sft,               ctl,               alt,               met,               \
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_NA,              U_DF(U_NAV),       U_DF(U_NUM),       ralt,              U_NA,              \
U_NP,              U_NP,              del,               bspc,              ent,               U_NA,              U_NA,              U_NA,              U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_NAV_FLIP \
home,              pgdn,              pgup,              end,               ins,               U_NA,              U_DF(U_BASE),      U_DF(U_EXTRA),     U_DF(U_TAP),       U_NA,              \
left,              down,              up,                right,             caps,              U_NA,              sft,               ctl,               alt,               met,               \
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_NA,              U_DF(U_NAV),       U_DF(U_NUM),       ralt,              U_NA,              \
U_NP,              U_NP,              del,               bspc,              ent,               U_NA,              U_NA,              U_NA,              U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT \
U_NA,              U_DF(U_TAP),       U_DF(U_EXTRA),     U_DF(U_BASE),      U_NA,              ins,               home,              up,                end,               pgup,              \
met,               alt,               ctl,               sft,               U_NA,              caps,              left,              down,              right,             pgdn,              \
U_NA,              ralt,              U_DF(U_NUM),       U_DF(U_NAV),       U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              ent,               bspc,              del,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_NAV_VI \
U_NA,              U_DF(U_TAP),       U_DF(U_EXTRA),     U_DF(U_BASE),      U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
met,               alt,               ctl,               sft,               U_NA,              left,              down,              up,                right,             caps,              \
U_NA,              ralt,              U_DF(U_NUM),       U_DF(U_NAV),       U_NA,              home,              pgdn,              pgup,              end,               ins,               \
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              ent,               bspc,              del,               U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_NAV \
U_NA,              U_DF(U_TAP),       U_DF(U_EXTRA),     U_DF(U_BASE),      U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
met,               alt,               ctl,               sft,               U_NA,              caps,              left,              down,              up,                right,             \
U_NA,              ralt,              U_DF(U_NUM),       U_DF(U_NAV),       U_NA,              ins,               home,              pgdn,              pgup,              end,               \
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              ent,               bspc,              del,               U_NP,              U_NP


// Use KMonad mouse primitives via Karabiner VirtualHIDDevice instead of host Mouse Keys
#define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT_FLIP \
U_NU,              U_NU,              ms-up,             U_NU,              U_NU,              U_NA,              U_DF(U_BASE),      U_DF(U_EXTRA),     U_DF(U_TAP),       U_NA,              \
U_NU,              ms-left,           ms-down,           ms-right,          U_NU,              U_NA,              sft,               ctl,               alt,               met,               \
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_NA,              U_DF(U_MOUSE),     U_DF(U_SYM),       ralt,              U_NA,              \
U_NP,              U_NP,              btn1,              btn2,              btn3,              U_NA,              U_NA,              U_NA,              U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_MOUSE_FLIP \
U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              U_NA,              U_DF(U_BASE),      U_DF(U_EXTRA),     U_DF(U_TAP),       U_NA,              \
ms-left,           ms-down,           ms-up,             ms-right,          U_NU,              U_NA,              sft,               ctl,               alt,               met,               \
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_NA,              U_DF(U_MOUSE),     U_DF(U_SYM),       ralt,              U_NA,              \
U_NP,              U_NP,              btn1,              btn2,              btn3,              U_NA,              U_NA,              U_NA,              U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT \
U_NA,              U_DF(U_TAP),       U_DF(U_EXTRA),     U_DF(U_BASE),      U_NA,              U_NU,              U_NU,              ms-up,             U_NU,              U_NU,              \
met,               alt,               ctl,               sft,               U_NA,              U_NU,              ms-left,           ms-down,           ms-right,          U_NU,              \
U_NA,              ralt,              U_DF(U_SYM),       U_DF(U_MOUSE),     U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              btn3,              btn2,              btn1,              U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_MOUSE_VI \
U_NA,              U_DF(U_TAP),       U_DF(U_EXTRA),     U_DF(U_BASE),      U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
met,               alt,               ctl,               sft,               U_NA,              ms-left,           ms-down,           ms-up,             ms-right,          U_NU,              \
U_NA,              ralt,              U_DF(U_SYM),       U_DF(U_MOUSE),     U_NA,              U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              \
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              btn1,              btn2,              btn3,              U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_MOUSE \
U_NA,              U_DF(U_TAP),       U_DF(U_EXTRA),     U_DF(U_BASE),      U_NA,              U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
met,               alt,               ctl,               sft,               U_NA,              U_NU,              ms-left,           ms-down,           ms-up,             ms-right,          \
U_NA,              ralt,              U_DF(U_SYM),       U_DF(U_MOUSE),     U_NA,              U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              \
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              btn1,              btn2,              btn3,              U_NP,              U_NP


#define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP \
U_NU,              U_NU,              volu,              U_NU,              U_NU,              U_NA,              U_DF(U_BASE),      U_DF(U_EXTRA),     U_DF(U_TAP),       U_NA,              \
U_NU,              previoussong,      vold,              nextsong,          U_NU,              U_NA,              sft,               ctl,               alt,               met,               \
U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              U_NA,              U_DF(U_MEDIA),     U_DF(U_FUN),       ralt,              U_NA,              \
U_NP,              U_NP,              mute,              playpause,         stopcd,            U_NA,              U_NA,              U_NA,              U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_MEDIA_FLIP \
U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              U_NA,              U_DF(U_BASE),      U_DF(U_EXTRA),     U_DF(U_TAP),       U_NA,              \
previoussong,      vold,              volu,              nextsong,          U_NU,              U_NA,              sft,               ctl,               alt,               met,               \
U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              U_NA,              U_DF(U_MEDIA),     U_DF(U_FUN),       ralt,              U_NA,              \
U_NP,              U_NP,              mute,              playpause,         stopcd,            U_NA,              U_NA,              U_NA,              U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT \
U_NA,              U_DF(U_TAP),       U_DF(U_EXTRA),     U_DF(U_BASE),      U_NA,              U_NU,              U_NU,              volu,              U_NU,              U_NU,              \
met,               alt,               ctl,               sft,               U_NA,              U_NU,              previoussong,      vold,              nextsong,          U_NU,              \
U_NA,              ralt,              U_DF(U_FUN),       U_DF(U_MEDIA),     U_NA,              U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              \
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              stopcd,            playpause,         mute,              U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_MEDIA_VI \
U_NA,              U_DF(U_TAP),       U_DF(U_EXTRA),     U_DF(U_BASE),      U_NA,              U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              \
met,               alt,               ctl,               sft,               U_NA,              previoussong,      vold,              volu,              nextsong,          U_NU,              \
U_NA,              ralt,              U_DF(U_FUN),       U_DF(U_MEDIA),     U_NA,              U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              \
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              stopcd,            playpause,         mute,              U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_MEDIA \
U_NA,              U_DF(U_TAP),       U_DF(U_EXTRA),     U_DF(U_BASE),      U_NA,              U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              \
met,               alt,               ctl,               sft,               U_NA,              U_NU,              previoussong,      vold,              volu,              nextsong,          \
U_NA,              ralt,              U_DF(U_FUN),       U_DF(U_MEDIA),     U_NA,              U_NU,              U_NU,              U_NU,              U_NU,              U_NU,              \
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              stopcd,            playpause,         mute,              U_NP,              U_NP


#define MIRYOKU_ALTERNATIVES_NUM_FLIP \
U_NA,              U_DF(U_TAP),       U_DF(U_EXTRA),     U_DF(U_BASE),      U_NA,              [,                 7,                 8,                 9,                 ],                 \
met,               alt,               ctl,               sft,               U_NA,              =,                 4,                 5,                 6,                 ;,                 \
U_NA,              ralt,              U_DF(U_NAV),       U_DF(U_NUM),       U_NA,              \\,                1,                 2,                 3,                 `,                 \
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              -,                 0,                 .,                 U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_NUM \
[,                 7,                 8,                 9,                 ],                 U_NA,              U_DF(U_BASE),      U_DF(U_EXTRA),     U_DF(U_TAP),       U_NA,              \
;,                 4,                 5,                 6,                 =,                 U_NA,              sft,               ctl,               alt,               met,               \
`,                 1,                 2,                 3,                 \\,                U_NA,              U_DF(U_NUM),       U_DF(U_NAV),       ralt,              U_NA,              \
U_NP,              U_NP,              .,                 0,                 -,                 U_NA,              U_NA,              U_NA,              U_NP,              U_NP


#define MIRYOKU_ALTERNATIVES_SYM_FLIP \
U_NA,              U_DF(U_TAP),       U_DF(U_EXTRA),     U_DF(U_BASE),      U_NA,              {,                 &,                 *,                 U_LPRN,            },                 \
met,               alt,               ctl,               sft,               U_NA,              +,                 $,                 %,                 ^,                 :,                 \
U_NA,              ralt,              U_DF(U_MOUSE),     U_DF(U_SYM),       U_NA,              U_PIPE,            !,                 @,                 #,                 ~,                 \
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              \_,                U_LPRN,            U_RPRN,            U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_SYM \
{,                 &,                 *,                 U_LPRN,            },                 U_NA,              U_DF(U_BASE),      U_DF(U_EXTRA),     U_DF(U_TAP),       U_NA,              \
:,                 $,                 %,                 ^,                 +,                 U_NA,              sft,               ctl,               alt,               met,               \
~,                 !,                 @,                 #,                 U_PIPE,            U_NA,              U_DF(U_SYM),       U_DF(U_MOUSE),     ralt,              U_NA,              \
U_NP,              U_NP,              U_LPRN,            U_RPRN,            \_,                U_NA,              U_NA,              U_NA,              U_NP,              U_NP


#define MIRYOKU_ALTERNATIVES_FUN_FLIP \
U_NA,              U_DF(U_TAP),       U_DF(U_EXTRA),     U_DF(U_BASE),      U_NA,              sysrq,             f7,                f8,                f9,                f12,               \
met,               alt,               ctl,               sft,               U_NA,              slck,              f4,                f5,                f6,                f11,               \
U_NA,              ralt,              U_DF(U_MEDIA),     U_DF(U_FUN),       U_NA,              pause,             f1,                f2,                f3,                f10,               \
U_NP,              U_NP,              U_NA,              U_NA,              U_NA,              tab,               spc,               comp,              U_NP,              U_NP

#define MIRYOKU_ALTERNATIVES_FUN \
f12,               f7,                f8,                f9,                sysrq,             U_NA,              U_DF(U_BASE),      U_DF(U_EXTRA),     U_DF(U_TAP),       U_NA,              \
f11,               f4,                f5,                f6,                slck,              U_NA,              sft,               ctl,               alt,               met,               \
f10,               f1,                f2,                f3,                pause,             U_NA,              U_DF(U_FUN),       U_DF(U_MEDIA),     ralt,              U_NA,              \
U_NP,              U_NP,              comp,              spc,               tab,               U_NA,              U_NA,              U_NA,              U_NP,              U_NP


#define MIRYOKU_ALTERNATIVES_BUTTON \
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
met,               alt,               ctl,               sft,               U_NU,              U_NU,              sft,               ctl,               alt,               met,               \
U_UND,             U_CUT,             U_CPY,             U_PST,             U_RDO,             U_RDO,             U_PST,             U_CPY,             U_CUT,             U_UND,             \
U_NP,              U_NP,              #(kp* kp5),        #(kp/ kp5),        #(kp- kp5),        #(kp- kp5),        #(kp/ kp5),        #(kp* kp5),        U_NP,              U_NP