This is my personal layout for Planck keyboards. Almost all of important information is already in the picture of the cheat sheet above. There is also a text-version of this cheat sheet at the end of this readme file. If both of them are not the same, then please trust the text-version more because the picture is just a screenshot of the text.
The base layer is LY-0000
. Next, we custom keycodes called FuncA
, FuncB
,
FuncC
, and FuncD
(FuncX
for short) which will switch to layout LY-ABCD
depending on the binary state of each FuncX
where the corresponded binary
digit is a boolean "keycode FuncX
is currently being pressed". This mechanism
allows us to access up to 16 different layers, however, only some of them have
been used. A layer matches regex LY-....
is currently used if and only if the
cheat sheet mentions it.
Once each of these non-based layers activates (by a combination of FuncX
keycodes):
RIGHT-HALF
keymap such that keycodes that matches the regex (L....|Thai[ABC])
are
disabled and (partially) being replaced by FuncX
keycodes on the same
position of the base layer and keycodes in binary numbers there are
disabled.Another keycode in the base layer is Stick
. When it is press, the rules of
keyboard change into persistent mode. Here, the right-half is exactly the
RIGHT-HALF
keymap in the cheat sheet. Keycodes in left-half are all no-op
initially and can be changed to other layers by tapping on the corresponded
keycodes (L....|Thai[ABC])
. To switch back to the normal rules governed by
FuncX
press a Relax
keycode.
Remark:
LY-Thai[ABC]
are only accessible via persistent mode.XXX
) are all no-op.S-
, C-
, A-
, and G-
are combinators for sft-๐
, ctl-๐
,
alt-๐
, and gui-๐
, respectively. {H| "LY-0000": base-layer -- "`[๐ ]` here becomes `FuncD` in other layers" |H} {H| "RIGHT-HALF": "when `Stick` is on" |H}
{8| pgup| Q | W | F | P | G | J | L | U | Y | K | tab |8} {8| L0110| [๐ ] |bkspc| [๐ ] | XXX | XXX |8}
{8| pgdn| A | R | S | T | D | H | N | E | I | O |Stick|8} {8| L1111|ThaiA|ThaiB|ThaiC| XXX | XXX |8}
{8|sft-๐ | Z | X | C | V | B | M |FuncA|FuncB|FuncC| [๐ ] |sft-๐ |8} {8| L0100|L1000|L1010|L0010|Relax|sft-๐ |8}
{8|ctl-๐ |alt-๐ |gui-๐ | esc |bkspc|enter|FuncD|space|print| [๐ ] | [๐ ] | [๐ ] |8} {8| Relax|space|enter|gui-๐ |alt-๐ |ctl-๐ |8}
{H| "LY-0100": "col0 as no-op" |H} {H| "LY-1101" -- "Email: gunpinyo@gmail.com" |H} {x| "LY-0110" -- "gunpinyo" |x}
{8| C-G home [๐ ] end C-[๐ ] |8} {8| Sandbox XXX AudTog KeyLock RgbTog QmkReset |8} {โ| S-f7 S-f8 f7 f8 f9 S-f9 |โ}
{8| pgup [๐ ] [๐ ] [๐ ] C-[๐ ] |8} {8| wake caplock MyName Email RgbMod QmkDebug |8} {โ| S-f4 S-f5 f4 f5 f6 S-f6 |โ}
{8| pgdn C-S C-A C-Z SC-Z |8} {8| sleep numlock DmRec1 DmPlay1 XXX QmkEepRst |8} {โ| S-f1 S-f2 f1 f2 f3 S-f3 |โ}
{8| C-[๐ ] C-F C-[๐ ] |8} {8| power scrlock DmRec2 DmPlay2 DmStop insert |8} {โ|S-f10 S-f11 f10f11f12 S-f12|โ}
{8| "LY-1000" |8} {8| "LY-1010" |8} {8| "LY-0010" |8} {H| "LY-1111" - "powered by QMK firmware" |H}
{H| % ? ! ` |H} {H| # 7 8 9 |H} {H| & | ~ ^ |H} {8| msAC1 msAC0 scr-๐ mov-๐ scr-๐ scr-๐ |8}
{H| @ , . ' = |H} {H| * 4 5 6 + |H} {H| { [ ( < / |H} {8| msAC2 XXX mov-๐ mov-๐ mov-๐ scr-๐ |8}
{H| $ ; : \" _ |H} {H| 0 1 2 3 - |H} {H| } ] ) > \ |H} {8| mPrev btn-๐ mRWD mPlay mFFD btn-โ |8}
{8| mNext btn-๐ pause mStop btn-๐ btn-๐ |8}
1. evdev pc105 (US: qwerty, TH: kedmanee) 5. "LY-1110" is `G-`+"LY-0110"
2. `G-space` is used to switch XKB layout 6. "LY-1100" is `S-`+"LY-0100" except [C-S, C-A, C-Z, SC-Z, C-F] which become
3. when `Stick` is off, layer switchers other than `FuncX` are disabled [C-X, C-C, C-V, C-L, C-R] respectively
4. ["LY-1000", "LY-1010", "LY-0010"] omit col0 and row3, but they have all `mod-๐ ` from the base-layer, the rest are no-op
{H| "LY-0001" -- "`mod#๐ ` is oneshot-mod" |H} {8| "LY-ThaiA" |8} {8| "LY-ThaiB" |8} {8| "LY-ThaiC" |8}
{8| C-H C-0 SC-pgup bri-๐ SC-pgdn vol-๐ |8} {H| เธ โโโเธ
โเธ เธก เธค เธฆ |H} {H| เน โโโโโเน เน เน เน เน |H} {H| เธ โโเธ โเธ เธฎ โโโเธ โโเธ |H}
{8| SC-T C-[+] C-pgup bri-๐ C-pgdn vol-๐ |8} {H| เธ โเธง โโโโโเธ โเธ โโเธฃ โเธฅ |H} {H| เน โเน โโโโโโโโโโโเน โโโโโโโโโโโโโเธฒ โโโโโโโโโโโโโเธฑ โโโโโโโโเธฐ |H} {H| เธ โโโโเธ โโโเธ เธญ โโโเธ โโเธ |H}
{8| sft#๐ C-[-] A-[๐ ] C-T A-[๐ ] vol-โ |8} {H| เธ โโเธ โโโเธ เธข เธโโโโโโโโโโโโโเธ |H} {H| เน โโโเน โโโโโโโโโโโโเธด โโโโโโเธต โโโโโโโโโโโเธถ โโโโโเธท |H} {H| เธจ โเธฉ โโเธช เธซ โเธ เธ |H}
{8| ctl#๐ alt#๐ gui#๐ C-W delete menu |8} {H| เธ เธ เธ โโโโโโโโโโเธฌ เธโโโโโโโโโโโเธ |H} {H| โโโโเน
โโโโโโโเธบ เน เธณ เธธ โโโโโโโโโโเธน |H} {H| เธฏ โโเน โโโโเธ เธ โโโเธ โเธ |H}