feat(qmkasciigen): split raw binding and transform

main
sudo pacman -Syu 2023-08-10 17:10:16 +07:00
parent d8b3a199ab
commit 0b4de29e5f
2 changed files with 36 additions and 7 deletions

View File

@ -11,7 +11,7 @@ const (
)
// https://github.com/qmk/qmk_firmware/blob/master/docs/keycodes.md
var mapFromTo = []map[string]string{
var mapRawBinding = []map[string]string{
{
// My custom
"CTL_T(KC_ESC)": "ESC CTRL",
@ -60,12 +60,30 @@ var mapFromTo = []map[string]string{
// Space cadet
"SC_LSPO": "( SHIFT",
"SC_RSPC": ") SHIFT",
// Quantum
"EE_CLR": "EECLR",
},
}
var mapTransform = []map[string]string{
{
// Layer enum
"LAYER_QWERTY": "0",
"LAYER_COMMON": "1",
"LAYER_RARELY": "2",
"LAYER_RECOVERY": "3",
},
{
// Prefix
"KC_": "",
"QK_": "",
},
{
"MO(0)": "L0",
"MO(1)": "L1",
"MO(2)": "L2",
"MO(3)": "L3",
},
}
type DrawConfig struct {
@ -146,9 +164,20 @@ func Draw(
keyStr := layer[count]
// Convert keyStr
for _, m := range mapFromTo {
for from, to := range m {
keyStr = strings.ReplaceAll(keyStr, from, to)
isRaw := false
for _, m := range mapRawBinding {
if _, ok := m[keyStr]; ok {
isRaw = true
keyStr = m[keyStr]
break
}
}
if !isRaw {
for _, m := range mapTransform {
for from, to := range m {
keyStr = strings.ReplaceAll(keyStr, from, to)
}
}
}

View File

@ -5,7 +5,7 @@
+-----------+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-----------+
| ESC CTRL | A | S | D | F | G | H | J | K | L | ; | ' | ENTER |
+-------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---------+-------+
| ( SHIFT | Z | X | C | V | B | N | M | , | . | / | ) SHIFT | MO(1) |
| ( SHIFT | Z | X | C | V | B | N | M | , | . | / | ) SHIFT | L1 |
+-----------+-----+-+-----+-----+-+-------+-------+-------+-------+-------+-------+-----+-+-------+-+-------+---+-------+
| | OPT | CMD | SPACE | CMD | OPT | |
+-----------+-------+-----------+-------------------------------------------------------+-----------+-------+-----------+
@ -29,13 +29,13 @@
+-----------+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-----------+
| CAPS | VOLD | VOLU | MUTE | | | | | HOME | PGUP | | | |
+-------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---------+-------+
| | RGBH | RGBS | RGBV | | | | | END | PGDN | | | MO(3) |
| | RGBH | RGBS | RGBV | | | | | END | PGDN | | | L3 |
+-----------+-----+-+-----+-----+-+-------+-------+-------+-------+-------+-------+-----+-+-------+-+-------+---+-------+
| | | | | RGBTO | RGBMO | |
+-----------+-------+-----------+-------------------------------------------------------+-----------+-------+-----------+
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| BOOT | EE_CLR| | | | | | | | | | | | | |
| BOOT | EECLR | | | | | | | | | | | | | |
+-------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+
| | | | | | | | | | | | | | |
+-----------+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-----------+