Compare commits

...

14 Commits

Author SHA1 Message Date
sudo pacman -Syu 3c5a01cb5d chore(changelog): generate v0.0.16 2023-09-09 17:06:20 +07:00
sudo pacman -Syu 748c74e7fb chore: update TODO 2023-09-09 16:57:13 +07:00
sudo pacman -Syu d749a58aa1
feat: use CP437 character (#5)
* chore: no need unicode, only codepage 437

https://popey.com/blog/2023/09/codepage-437-aesthetic/

* qmkasciigen: clean up

* qmkasciigen: add cp437 chars

* chore: fixed go run

* feat: draw using cp437

* qmkasciigen: make cp437 default

* chore: update TODO

* qmkasciigen: more docs
2023-09-09 16:53:39 +07:00
sudo pacman -Syu 762c22c917 qmk: enable rgb matrix 2023-09-09 11:34:34 +07:00
sudo pacman -Syu e58cd09b89 draw: re-draw 2023-09-07 14:00:47 +07:00
sudo pacman -Syu 46c1ec6983 qmk: right alt -> mo(2) 2023-09-07 14:00:47 +07:00
sudo pacman -Syu efb08f8b0e feat: remove thera 2023-09-07 12:57:39 +07:00
sudo pacman -Syu 9cf43a98e4 chore: remove build locally 2023-09-07 12:57:39 +07:00
sudo pacman -Syu 98d5cfccf8 qmk: optimize thera more 2023-09-07 12:57:39 +07:00
sudo pacman -Syu 47f862c5d2 draw: generate thera ascii art 2023-09-07 12:57:39 +07:00
sudo pacman -Syu 67fba21496 chore: remove qmk local 2023-09-07 12:57:39 +07:00
sudo pacman -Syu 45b14abda5 chore: fix gh action 2023-09-07 12:57:39 +07:00
sudo pacman -Syu b041b6c702 chore: bump thera using qmk cli 2023-09-07 12:57:39 +07:00
sudo pacman -Syu 7aabe97272 feat: support thera (1/?) 2023-09-07 12:57:39 +07:00
18 changed files with 395 additions and 175 deletions

View File

@ -36,15 +36,20 @@ jobs:
with: with:
path: haunt98_qmk_keymaps path: haunt98_qmk_keymaps
- name: Copy keymaps - name: Copy keymaps
run: cp -rf haunt98_qmk_keymaps/dztech_dz60rgb_wkl/keymaps/haunt98 keyboards/dztech/dz60rgb_wkl/keymaps/ run: |
cp -rf haunt98_qmk_keymaps/dztech_dz60rgb_wkl/keymaps/haunt98 keyboards/dztech/dz60rgb_wkl/keymaps/
- name: Lint - name: Lint
run: qmk lint -kb dztech/dz60rgb_wkl/v2_1 -km haunt98 run: |
qmk lint -kb dztech/dz60rgb_wkl/v2_1 -km haunt98
- name: Build firmware - name: Build firmware
run: qmk compile -j 8 -kb dztech/dz60rgb_wkl/v2_1 -km haunt98 run: |
qmk compile -j 8 -kb dztech/dz60rgb_wkl/v2_1 -km haunt98
- name: Convert keymaps JSON - name: Convert keymaps JSON
run: qmk c2json -kb dztech/dz60rgb_wkl/v2_1 -km haunt98 -o dztech_dz60rgb_wkl_haunt98_keymap.json haunt98_qmk_keymaps/dztech_dz60rgb_wkl/keymaps/haunt98/keymap.c run: |
qmk c2json -kb dztech/dz60rgb_wkl/v2_1 -km haunt98 -o dztech_dz60rgb_wkl_haunt98_keymap.json haunt98_qmk_keymaps/dztech_dz60rgb_wkl/keymaps/haunt98/keymap.c
- name: Extra - name: Extra
run: qmk info -m -l -kb dztech/dz60rgb_wkl/v2_1 -km haunt98 run: |
qmk info -m -l -kb dztech/dz60rgb_wkl/v2_1 -km haunt98
- name: Archive firmware - name: Archive firmware
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:

3
.gitignore vendored
View File

@ -12,4 +12,5 @@ coverage.out
vendor vendor
# QMK # QMK
dztech_dz60rgb_wkl_v2_1_haunt98.bin *.bin
*.hex

View File

@ -1,5 +1,79 @@
# CHANGELOG # CHANGELOG
## v0.0.16 (2023-09-09)
### Added
- feat: use CP437 character (#5) (2023-09-09)
- feat: remove thera (2023-09-07)
- feat: support thera (1/?) (2023-09-06)
- feat(qmk): add kc_del (2023-08-17)
- feat(qmk): add RGB_MATRIX_TIMEOUT (2023-08-15)
- feat(qmk): add USB_SUSPEND_WAKEUP_DELAY 200 (2023-08-11)
- feat(qmkasciigen): support caps (2023-08-10)
### Others
- chore: update TODO (2023-09-09)
- qmk: enable rgb matrix (2023-09-09)
- draw: re-draw (2023-09-07)
- qmk: right alt -> mo(2) (2023-09-07)
- chore: remove build locally (2023-09-06)
- qmk: optimize thera more (2023-09-06)
- draw: generate thera ascii art (2023-09-06)
- chore: remove qmk local (2023-09-06)
- chore: fix gh action (2023-09-06)
- chore: bump thera using qmk cli (2023-09-06)
- chore(deps): bump actions/checkout from 3 to 4 (2023-09-05)
- chore(draw): update style (2023-08-29)
- chore: upgrade draw (2023-08-29)
- chore: move hardware out of picture (2023-08-23)
- chore: more design (2023-08-20)
- chore: limit pro micro (2023-08-20)
- chore: re-draw (2023-08-17)
- chore: more interesting (2023-08-16)
- chore: more interesting (2023-08-13)
- chore: fix typo (2023-08-13)
- chore: add stock github repo (2023-08-11)
- chore: update license to match MIT (2023-08-11)
- chore: add karabiner (2023-08-11)
- chore: fix typo (2023-08-10)
- chore: fix typo (2023-08-10)
- chore: re-order posts (2023-08-10)
- chore(changelog): generate v0.0.15 (2023-08-10)
## v0.0.15 (2023-08-10) ## v0.0.15 (2023-08-10)
### Added ### Added

View File

@ -1,16 +1,14 @@
.PHONY: all format clean go draw_qmkasciigen format_draw_caksoylar_keymap_drawer draw_caksoylar_keymap_drawer draw qmk_upstream qmk_init qmk_clean dztech_dz60rgb_wkl .PHONY: all format go draw_qmkasciigen format_draw_caksoylar_keymap_drawer draw_caksoylar_keymap_drawer draw qmk_upstream
all: all:
@echo Please read Makefile to understand!!! $(MAKE) format
$(MAKE) draw
format: format:
clang-format -i dztech_dz60rgb_wkl/keymaps/haunt98/*.c dztech_dz60rgb_wkl/keymaps/haunt98/*.h & \ clang-format -i dztech_dz60rgb_wkl/keymaps/haunt98/*.c dztech_dz60rgb_wkl/keymaps/haunt98/*.h & \
clang-format-mp-15 -i dztech_dz60rgb_wkl/keymaps/haunt98/*.c dztech_dz60rgb_wkl/keymaps/haunt98/*.h clang-format-mp-15 -i dztech_dz60rgb_wkl/keymaps/haunt98/*.c dztech_dz60rgb_wkl/keymaps/haunt98/*.h
deno fmt dztech_dz60rgb_wkl/keymaps_json/haunt98/keymap.json deno fmt dztech_dz60rgb_wkl/keymaps_json/haunt98/keymap.json
clean:
rm -rf dztech_dz60rgb_wkl_v2_1_haunt98.bin
# From changeloguru # From changeloguru
go: go:
go install github.com/haunt98/go-test-color@latest go install github.com/haunt98/go-test-color@latest
@ -23,18 +21,20 @@ go:
draw_qmkasciigen: draw_qmkasciigen:
$(MAKE) go $(MAKE) go
go run ./cmd/qmkasciigen/*.go -qmk-keyboard dztech/dz60rgb_wkl/v2_1 -qmk-keymap-file dztech_dz60rgb_wkl/keymaps_json/haunt98/keymap.json -out dztech_dz60rgb_wkl/asciiart/haunt98.txt go run ./cmd/qmkasciigen \
-qmk-keyboard dztech/dz60rgb_wkl/v2_1 \
-qmk-keymap-file dztech_dz60rgb_wkl/keymaps_json/haunt98/keymap.json \
-out dztech_dz60rgb_wkl/asciiart/haunt98.txt
draw_qmkasciigen_demo: draw_qmkasciigen_demo:
go run ./cmd/qmkasciigen/*.go -print-out -allow-layers 0 -qmk-keyboard matthewdias/m3n3van go run ./cmd/qmkasciigen -print-out -allow-layers 0 -qmk-keyboard matthewdias/m3n3van
go run ./cmd/qmkasciigen/*.go -print-out -allow-layers 0 -qmk-keyboard matthewdias/minim go run ./cmd/qmkasciigen -print-out -allow-layers 0 -qmk-keyboard matthewdias/minim
go run ./cmd/qmkasciigen/*.go -print-out -allow-layers 0 -qmk-keyboard moondrop/dash75 go run ./cmd/qmkasciigen -print-out -allow-layers 0 -qmk-keyboard moondrop/dash75
go run ./cmd/qmkasciigen/*.go -print-out -allow-layers 0 -qmk-keyboard ymdk/id75 -qmk-keymap via go run ./cmd/qmkasciigen -print-out -allow-layers 0 -qmk-keyboard ymdk/id75 -qmk-keymap via
format_draw_caksoylar_keymap_drawer: format_draw_caksoylar_keymap_drawer:
bun upgrade bun upgrade
bun install --global prettier bunx prettier --write ./dztech_dz60rgb_wkl/caksoylar_keymap_drawer/*.yaml
prettier --write ./dztech_dz60rgb_wkl/caksoylar_keymap_drawer/*.yaml
draw_caksoylar_keymap_drawer: draw_caksoylar_keymap_drawer:
# https://github.com/caksoylar/keymap-drawer # https://github.com/caksoylar/keymap-drawer
@ -54,26 +54,3 @@ draw:
qmk_upstream: qmk_upstream:
curl https://raw.githubusercontent.com/qmk/qmk_firmware/master/.clang-format --output .clang-format curl https://raw.githubusercontent.com/qmk/qmk_firmware/master/.clang-format --output .clang-format
qmk_init:
qmk setup -H ~/qmk_firmware
qmk git-submodule
qmk doctor
qmk_clean:
qmk clean
rm -rf ~/qmk_firmware/keyboards/dztech/dz60rgb_wkl/keymaps/haunt98
dztech_dz60rgb_wkl:
$(MAKE) qmk_init
# Copy
rm -rf ~/qmk_firmware/keyboards/dztech/dz60rgb_wkl/keymaps/haunt98
cp -rf dztech_dz60rgb_wkl/keymaps/haunt98 ~/qmk_firmware/keyboards/dztech/dz60rgb_wkl/keymaps/
# Lint
qmk lint -kb dztech/dz60rgb_wkl/v2_1 -km haunt98
# Compile
qmk compile -j 8 -kb dztech/dz60rgb_wkl/v2_1 -km haunt98
mv ~/qmk_firmware/dztech_dz60rgb_wkl_v2_1_haunt98.bin .
# JSON
rm -rf dztech_dz60rgb_wkl/keymaps_json/haunt98/keymap.json
qmk c2json -kb dztech/dz60rgb_wkl/v2_1 -km haunt98 -o dztech_dz60rgb_wkl/keymaps_json/haunt98/keymap.json dztech_dz60rgb_wkl/keymaps/haunt98/keymap.c

View File

@ -19,13 +19,6 @@ Links:
- [USB Drive Flash Manual (New Flash Manual)](https://docs.google.com/document/d/111qx6Qec4JqtIhWaZlMND-VuRnFtn9a-gJaHN8fsL7M/edit?usp=sharing) - [USB Drive Flash Manual (New Flash Manual)](https://docs.google.com/document/d/111qx6Qec4JqtIhWaZlMND-VuRnFtn9a-gJaHN8fsL7M/edit?usp=sharing)
- [moyi4681/firmware](https://github.com/moyi4681/firmware) - [moyi4681/firmware](https://github.com/moyi4681/firmware)
### Compile
```sh
make dztech_dz60rgb_wkl
# Output is dztech_dz60rgb_wkl_v2_1_haunt98.bin
```
### Keymap ### Keymap
#### qmkasciigen #### qmkasciigen
@ -175,4 +168,5 @@ Copycat QMK features with software.
- [x] Get data directly from qmk - [x] Get data directly from qmk
- [x] Split transform keycodes to raw binding/transform (same as - [x] Split transform keycodes to raw binding/transform (same as
keymap-drawer) keymap-drawer)
- [ ] Unicode support ? - [x] Support [Code page 437](https://en.wikipedia.org/wiki/Code_page_437)
- [ ] Split draw func to multipls small func for easily maintenance

91
cmd/qmkasciigen/cp437.go Normal file
View File

@ -0,0 +1,91 @@
package main
// Only get what I want
// https://en.wikipedia.org/wiki/Code_page_437
// Copy from https://github.com/BenLubar/df2014/blob/master/cp437/cp437.go
var (
CP437Raws = []rune("░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀")
)
const (
cp437Empty = " "
cp437Vertical = "│"
cp437VerticalLeft = "┤"
cp437BottomVerticalLeft = "┐"
cp437TopVerticalRight = "└"
cp437TopVerticalLeftRight = "┴"
cp437BottomVerticalLeftRight = "┬"
cp437VerticalRight = "├"
cp437Horizontal = "─"
cp437VerticalLeftRight = "┼"
cp437TopVerticalLeft = "┘"
cp437BottomVerticalRight = "┌"
)
var (
// 0 exist 1 not exist
// left right top bottom
cp437EmptyB = 0b0000
cp437VerticalB = 0b0011
cp437VerticalLeftB = 0b1011
cp437BottomVerticalLeftB = 0b1001
cp437TopVerticalRightB = 0b0110
cp437TopVerticalLeftRightB = 0b1110
cp437BottomVerticalLeftRightB = 0b1101
cp437VerticalRightB = 0b0111
cp437HorizontalB = 0b1100
cp437VerticalLeftRightB = 0b1111
cp437TopVerticalLeftB = 0b1010
cp437BottomVerticalRightB = 0b0101
)
var cp437Str2B = map[string]int{
cp437Empty: cp437EmptyB,
cp437Vertical: cp437VerticalB,
cp437VerticalLeft: cp437VerticalLeftB,
cp437BottomVerticalLeft: cp437BottomVerticalLeftB,
cp437TopVerticalRight: cp437TopVerticalRightB,
cp437TopVerticalLeftRight: cp437TopVerticalLeftRightB,
cp437BottomVerticalLeftRight: cp437BottomVerticalLeftRightB,
cp437VerticalRight: cp437VerticalRightB,
cp437Horizontal: cp437HorizontalB,
cp437VerticalLeftRight: cp437VerticalLeftRightB,
cp437TopVerticalLeft: cp437TopVerticalLeftB,
cp437BottomVerticalRight: cp437BottomVerticalRightB,
}
var cp437B2Str = map[int]string{
cp437EmptyB: cp437Empty,
cp437VerticalB: cp437Vertical,
cp437VerticalLeftB: cp437VerticalLeft,
cp437BottomVerticalLeftB: cp437BottomVerticalLeft,
cp437TopVerticalRightB: cp437TopVerticalRight,
cp437TopVerticalLeftRightB: cp437TopVerticalLeftRight,
cp437BottomVerticalLeftRightB: cp437BottomVerticalLeftRight,
cp437VerticalRightB: cp437VerticalRight,
cp437HorizontalB: cp437Horizontal,
cp437VerticalLeftRightB: cp437VerticalLeftRight,
cp437TopVerticalLeftB: cp437TopVerticalLeft,
cp437BottomVerticalRightB: cp437BottomVerticalRight,
}
// Return x + y with combine rule
func cp437Plus(x, y string) string {
bx, ok := cp437Str2B[x]
if !ok {
return y
}
by, ok := cp437Str2B[y]
if !ok {
return x
}
// Use OR because if either one has vertical -> final one has vertical and so on
result, ok := cp437B2Str[bx|by]
if !ok {
return cp437Empty
}
return result
}

View File

@ -0,0 +1,48 @@
package main
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestCP437Plus(t *testing.T) {
tests := []struct {
name string
x string
y string
want string
}{
{
name: "plus empty",
x: cp437Empty,
y: cp437Vertical,
want: cp437Vertical,
},
{
name: "corner top right + corner top left",
x: cp437BottomVerticalLeft,
y: cp437BottomVerticalRight,
want: cp437BottomVerticalLeftRight,
},
{
name: "corner bottom right + corner bottom left",
x: cp437TopVerticalLeft,
y: cp437TopVerticalRight,
want: cp437TopVerticalLeftRight,
},
{
name: "corner top right + corner top left + corner bottom right",
x: cp437BottomVerticalLeftRight,
y: cp437TopVerticalLeft,
want: cp437VerticalLeftRight,
},
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
got := cp437Plus(tc.x, tc.y)
assert.Equal(t, tc.want, got)
})
}
}

View File

@ -23,8 +23,8 @@ var mapTransform = []map[string]string{
{ {
// My custom // My custom
"LAYER_QWERTY": "0", "LAYER_QWERTY": "0",
"LAYER_COMMON": "1", "LAYER_MOVE": "1",
"LAYER_RARELY": "2", "LAYER_OPTION": "2",
"LAYER_RECOVERY": "3", "LAYER_RECOVERY": "3",
}, },
{ {
@ -178,7 +178,7 @@ func Draw(
// Padding 1 in the right // Padding 1 in the right
table[i] = make([]string, newMaxX+1) table[i] = make([]string, newMaxX+1)
for j := 0; j <= newMaxX; j++ { for j := 0; j <= newMaxX; j++ {
table[i][j] = " " table[i][j] = cp437Empty
} }
} }
@ -237,23 +237,44 @@ func Draw(
if i == key.NewY || i == key.NewY+key.NewH { if i == key.NewY || i == key.NewY+key.NewH {
if j == key.NewX || j == key.NewX+key.NewW { if j == key.NewX || j == key.NewX+key.NewW {
// Draw corner // Draw corner
table[i][j] = "+" var temp string
} else if table[i][j] != "+" { if i == key.NewY {
// Draw top/bottom if j == key.NewX {
table[i][j] = "-" // Corner top left
temp = cp437BottomVerticalRight
} else {
// Corner top right
temp = cp437BottomVerticalLeft
}
} else {
if j == key.NewX {
// Corner bottom left
temp = cp437TopVerticalRight
} else {
// Corner top right
temp = cp437TopVerticalLeft
}
}
// Need to combine with current
table[i][j] = cp437Plus(table[i][j], temp)
} else {
// Draw horizontal
table[i][j] = cp437Plus(table[i][j], cp437Horizontal)
} }
} else if i == key.NewY+key.NewH/2 { } else if i == key.NewY+key.NewH/2 {
// Write key in the middle // Write key in the middle
if j == key.NewX || j == key.NewX+key.NewW { if j == key.NewX || j == key.NewX+key.NewW {
// Draw left/right // Draw vertical most left/right
table[i][j] = "|" table[i][j] = cp437Plus(table[i][j], cp437Vertical)
} else if len(keyStr) > 0 && j > key.NewX+padding && j < key.NewX+len(keyStr)+padding+1 && j <= key.NewX+key.NewW-padding { } else if len(keyStr) > 0 && j > key.NewX+padding && j < key.NewX+len(keyStr)+padding+1 && j <= key.NewX+key.NewW-padding {
// Only handle ASCII keyStr // Only handle ASCII keyStr
table[i][j] = string(keyStr[j-key.NewX-padding-1]) table[i][j] = string(keyStr[j-key.NewX-padding-1])
} }
} else { } else {
// Draw vertical most left/right
if j == key.NewX || j == key.NewX+key.NewW { if j == key.NewX || j == key.NewX+key.NewW {
table[i][j] = "|" table[i][j] = cp437Plus(table[i][j], cp437Vertical)
} }
} }
} }

View File

@ -1,10 +1,5 @@
package main package main
const (
DefaultQMKW = 1
DefaultQMKH = 1
)
// https://github.com/qmk/qmk_firmware/blob/master/docs/reference_info_json.md // https://github.com/qmk/qmk_firmware/blob/master/docs/reference_info_json.md
type QMKInfo struct { type QMKInfo struct {
Layouts map[string]map[string][]QMKKeyDictionary `json:"layouts"` Layouts map[string]map[string][]QMKKeyDictionary `json:"layouts"`

View File

@ -1,47 +1,47 @@
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
| GESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | │ GESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │
+-------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+ ├───────┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───────┤
| TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | BACKSPACE | │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ BACKSPACE │
+-----------+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-----------+ ├───────────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴───────────┤
| ESC CTRL | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | │ ESC CTRL │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ ENTER │
+-------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---------+-------+ ├─────────────┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴─────────┬───────┤
| ( SHIFT | Z | X | C | V | B | N | M | , | . | / | ) SHIFT | L1 | │ ( SHIFT │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ ) SHIFT │ L1 │
+-----------+-----+-+-----+-----+-+-------+-------+-------+-------+-------+-------+-----+-+-------+-+-------+---+-------+ ├───────────┬─────┴─┬─────┴─────┬─┴───────┴───────┴───────┴───────┴───────┴───────┴─────┬─┴───────┴─┬───────┬───┴───────┤
| | OPT | CMD | SPACE | CMD | OPT | | │ │ OPT │ CMD │ SPACE │ CMD │ L2 │ │
+-----------+-------+-----------+-------------------------------------------------------+-----------+-------+-----------+ └───────────┴───────┴───────────┴───────────────────────────────────────────────────────┴───────────┴───────┴───────────┘
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
| ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | TG(2) | │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │ │
+-------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+ ├───────┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───────┤
| | | | | | | | | | | | UP | | DEL | │ │ │ │ │ │ │ │ │ │ │ │ UP │ │ DEL │
+-----------+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-----------+ ├───────────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴───────────┤
| | | | | | | | | | | LEFT | RGHT | | │ │ │ │ │ │ │ │ │ │ │ LEFT │ RGHT │ │
+-------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---------+-------+ ├─────────────┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴─────────┬───────┤
| | | | | | | | | | | DOWN | | | │ │ │ │ │ │ │ │ │ │ │ DOWN │ │ │
+-----------+-----+-+-----+-----+-+-------+-------+-------+-------+-------+-------+-----+-+-------+-+-------+---+-------+ ├───────────┬─────┴─┬─────┴─────┬─┴───────┴───────┴───────┴───────┴───────┴───────┴─────┬─┴───────┴─┬───────┬───┴───────┤
| | | | | | | | │ │ │ │ │ │ L3 │ │
+-----------+-------+-----------+-------------------------------------------------------+-----------+-------+-----------+ └───────────┴───────┴───────────┴───────────────────────────────────────────────────────┴───────────┴───────┴───────────┘
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
| | | | | | | | | | | | | | | TO(0) | │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+-------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+ ├───────┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───────┤
| | BRMD | BRMU | | | | | | | | | | | | │ │ BRMD │ BRMU │ │ │ │ │ │ │ │ │ │ │ │
+-----------+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-----------+ ├───────────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴───────────┤
| CAPSLOCK | VOLD | VOLU | MUTE | | | | | HOME | PGUP | | | | │ CAPSLOCK │ VOLD │ VOLU │ MUTE │ │ │ │ │ │ │ │ │ │
+-------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---------+-------+ ├─────────────┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴─────────┬───────┤
| | RGBH | RGBS | RGBV | | | | | END | PGDN | | | L3 | │ │ RGBH │ RGBS │ RGBV │ │ │ │ │ │ │ │ │ L3 │
+-----------+-----+-+-----+-----+-+-------+-------+-------+-------+-------+-------+-----+-+-------+-+-------+---+-------+ ├───────────┬─────┴─┬─────┴─────┬─┴───────┴───────┴───────┴───────┴───────┴───────┴─────┬─┴───────┴─┬───────┬───┴───────┤
| | | | | RGBTO | RGBMO | | │ │ RGBTO │ RGBMO │ │ │ │ │
+-----------+-------+-----------+-------------------------------------------------------+-----------+-------+-----------+ └───────────┴───────┴───────────┴───────────────────────────────────────────────────────┴───────────┴───────┴───────────┘
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
| BOOT | EECLR | | | | | | | | | | | | | | │ BOOT │ EECLR │ │ │ │ │ │ │ │ │ │ │ │ │ │
+-------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+ ├───────┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───────┤
| | | | | | | | | | | | | | | │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+-----------+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-+-----+-----------+ ├───────────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴───────────┤
| | | | | | | | | | | | | | │ │ │ │ │ │ │ │ │ │ │ │ │ │
+-------------+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---------+-------+ ├─────────────┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴─────────┬───────┤
| | | | | | | | | | | | | | │ │ │ │ │ │ │ │ │ │ │ │ │ │
+-----------+-----+-+-----+-----+-+-------+-------+-------+-------+-------+-------+-----+-+-------+-+-------+---+-------+ ├───────────┬─────┴─┬─────┴─────┬─┴───────┴───────┴───────┴───────┴───────┴───────┴─────┬─┴───────┴─┬───────┬───┴───────┤
| | | | | | | | │ │ │ │ │ │ │ │
+-----------+-------+-----------+-------------------------------------------------------+-----------+-------+-----------+ └───────────┴───────┴───────────┴───────────────────────────────────────────────────────┴───────────┴───────┴───────────┘

View File

@ -54,10 +54,9 @@ parse_config:
"TD(TD_SAFE_BOOT)": "BOOT", "TD(TD_SAFE_BOOT)": "BOOT",
"CTL_T(KC_ESC)": "CTL_T(KC_ESC)":
{ "t": "ESC", "h": "$$mdi:apple-keyboard-control$$", "type": "esc" }, { "t": "ESC", "h": "$$mdi:apple-keyboard-control$$", "type": "esc" },
"MO(LAYER_COMMON)": "L1", "MO(LAYER_MOVE)": "L1",
"MO(LAYER_OPTION)": "L2",
"MO(LAYER_RECOVERY)": "L3", "MO(LAYER_RECOVERY)": "L3",
"TG(LAYER_RARELY)": "TG2",
"TO(LAYER_QWERTY)": "TO0",
# Basic # Basic
"KC_H": { "t": "H", "type": "vim" }, "KC_H": { "t": "H", "type": "vim" },
"KC_J": { "t": "J", "type": "vim" }, "KC_J": { "t": "J", "type": "vim" },

View File

@ -331,7 +331,7 @@ rect.esc, rect.vim {
</g> </g>
<g transform="translate(780, 270)" class="key keypos-60"> <g transform="translate(780, 270)" class="key keypos-60">
<rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/> <rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/>
<use href="#mdi:apple-keyboard-option" xlink:href="#mdi:apple-keyboard-option" x="-9" y="-9" height="18" width="18.0" class="key tap glyph mdi:apple-keyboard-option"/> <text x="0" y="0" class="key tap">L2</text>
</g> </g>
<g transform="translate(855, 270)" class="key keypos-61"> <g transform="translate(855, 270)" class="key keypos-61">
<rect rx="6" ry="6" x="-43" y="-28" width="86" height="56" class="key"/> <rect rx="6" ry="6" x="-43" y="-28" width="86" height="56" class="key"/>
@ -398,7 +398,6 @@ rect.esc, rect.vim {
</g> </g>
<g transform="translate(870, 30)" class="key keypos-14"> <g transform="translate(870, 30)" class="key keypos-14">
<rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/> <rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/>
<text x="0" y="0" class="key tap">TG2</text>
</g> </g>
<g transform="translate(45, 90)" class="key keypos-15"> <g transform="translate(45, 90)" class="key keypos-15">
<rect rx="6" ry="6" x="-43" y="-28" width="86" height="56" class="key"/> <rect rx="6" ry="6" x="-43" y="-28" width="86" height="56" class="key"/>
@ -544,6 +543,7 @@ rect.esc, rect.vim {
</g> </g>
<g transform="translate(780, 270)" class="key keypos-60"> <g transform="translate(780, 270)" class="key keypos-60">
<rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/> <rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/>
<text x="0" y="0" class="key tap">L3</text>
</g> </g>
<g transform="translate(855, 270)" class="key keypos-61"> <g transform="translate(855, 270)" class="key keypos-61">
<rect rx="6" ry="6" x="-43" y="-28" width="86" height="56" class="key"/> <rect rx="6" ry="6" x="-43" y="-28" width="86" height="56" class="key"/>
@ -597,7 +597,6 @@ rect.esc, rect.vim {
</g> </g>
<g transform="translate(870, 30)" class="key keypos-14"> <g transform="translate(870, 30)" class="key keypos-14">
<rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/> <rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/>
<text x="0" y="0" class="key tap">TO0</text>
</g> </g>
<g transform="translate(45, 90)" class="key keypos-15"> <g transform="translate(45, 90)" class="key keypos-15">
<rect rx="6" ry="6" x="-43" y="-28" width="86" height="56" class="key"/> <rect rx="6" ry="6" x="-43" y="-28" width="86" height="56" class="key"/>
@ -673,11 +672,9 @@ rect.esc, rect.vim {
</g> </g>
<g transform="translate(555, 150)" class="key keypos-37"> <g transform="translate(555, 150)" class="key keypos-37">
<rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/> <rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/>
<text x="0" y="0" class="key tap">HOME</text>
</g> </g>
<g transform="translate(615, 150)" class="key keypos-38"> <g transform="translate(615, 150)" class="key keypos-38">
<rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/> <rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/>
<text x="0" y="0" class="key tap">PGUP</text>
</g> </g>
<g transform="translate(675, 150)" class="key keypos-39"> <g transform="translate(675, 150)" class="key keypos-39">
<rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/> <rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/>
@ -724,11 +721,9 @@ rect.esc, rect.vim {
</g> </g>
<g transform="translate(585, 210)" class="key keypos-50"> <g transform="translate(585, 210)" class="key keypos-50">
<rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/> <rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/>
<text x="0" y="0" class="key tap">END</text>
</g> </g>
<g transform="translate(645, 210)" class="key keypos-51"> <g transform="translate(645, 210)" class="key keypos-51">
<rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/> <rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/>
<text x="0" y="0" class="key tap">PGDN</text>
</g> </g>
<g transform="translate(705, 210)" class="key keypos-52"> <g transform="translate(705, 210)" class="key keypos-52">
<rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/> <rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/>
@ -746,24 +741,24 @@ rect.esc, rect.vim {
</g> </g>
<g transform="translate(120, 270)" class="key keypos-56"> <g transform="translate(120, 270)" class="key keypos-56">
<rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/> <rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">RGB</tspan><tspan x="0" dy="1.2em">TOG</tspan>
</text>
</g> </g>
<g transform="translate(195, 270)" class="key keypos-57"> <g transform="translate(195, 270)" class="key keypos-57">
<rect rx="6" ry="6" x="-43" y="-28" width="86" height="56" class="key"/> <rect rx="6" ry="6" x="-43" y="-28" width="86" height="56" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">RGB</tspan><tspan x="0" dy="1.2em">MOD</tspan>
</text>
</g> </g>
<g transform="translate(450, 270)" class="key keypos-58"> <g transform="translate(450, 270)" class="key keypos-58">
<rect rx="6" ry="6" x="-208" y="-28" width="416" height="56" class="key"/> <rect rx="6" ry="6" x="-208" y="-28" width="416" height="56" class="key"/>
</g> </g>
<g transform="translate(705, 270)" class="key keypos-59"> <g transform="translate(705, 270)" class="key keypos-59">
<rect rx="6" ry="6" x="-43" y="-28" width="86" height="56" class="key"/> <rect rx="6" ry="6" x="-43" y="-28" width="86" height="56" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">RGB</tspan><tspan x="0" dy="1.2em">TOG</tspan>
</text>
</g> </g>
<g transform="translate(780, 270)" class="key keypos-60"> <g transform="translate(780, 270)" class="key keypos-60">
<rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/> <rect rx="6" ry="6" x="-28" y="-28" width="56" height="56" class="key"/>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em">RGB</tspan><tspan x="0" dy="1.2em">MOD</tspan>
</text>
</g> </g>
<g transform="translate(855, 270)" class="key keypos-61"> <g transform="translate(855, 270)" class="key keypos-61">
<rect rx="6" ry="6" x="-43" y="-28" width="86" height="56" class="key"/> <rect rx="6" ry="6" x="-43" y="-28" width="86" height="56" class="key"/>

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

@ -62,7 +62,7 @@ layers:
- $$mdi:apple-keyboard-command$$ - $$mdi:apple-keyboard-command$$
- { t: "$$mdi:keyboard-space$$", type: space } - { t: "$$mdi:keyboard-space$$", type: space }
- $$mdi:apple-keyboard-command$$ - $$mdi:apple-keyboard-command$$
- $$mdi:apple-keyboard-option$$ - L2
- "" - ""
L1: L1:
- "`" - "`"
@ -79,7 +79,7 @@ layers:
- F11 - F11
- F12 - F12
- "" - ""
- TG2 - ""
- "" - ""
- "" - ""
- "" - ""
@ -125,7 +125,7 @@ layers:
- "" - ""
- "" - ""
- "" - ""
- "" - L3
- "" - ""
L2: L2:
- "" - ""
@ -142,7 +142,7 @@ layers:
- "" - ""
- "" - ""
- "" - ""
- TO0 - ""
- "" - ""
- BRMD - BRMD
- BRMU - BRMU
@ -165,8 +165,8 @@ layers:
- "" - ""
- "" - ""
- "" - ""
- HOME - ""
- PGUP - ""
- "" - ""
- "" - ""
- "" - ""
@ -178,18 +178,18 @@ layers:
- "" - ""
- "" - ""
- "" - ""
- END - ""
- PGDN - ""
- "" - ""
- { t: "$$mdi:transfer$$", type: trans } - { t: "$$mdi:transfer$$", type: trans }
- L3 - L3
- "" - ""
- ""
- ""
- ""
- RGB TOG - RGB TOG
- RGB MOD - RGB MOD
- "" - ""
- ""
- ""
- ""
L3: L3:
[ [
BOOT, BOOT,

View File

@ -25,8 +25,9 @@
#define DEBOUNCE 5 #define DEBOUNCE 5
// https://github.com/qmk/qmk_firmware/blob/master/docs/feature_rgb_matrix.md // https://github.com/qmk/qmk_firmware/blob/master/docs/feature_rgb_matrix.md
// https://www.youtube.com/watch?v=7f3usatOIKM
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
# undef ENABLE_RGB_MATRIX_ALPHAS_MODS // # undef ENABLE_RGB_MATRIX_ALPHAS_MODS
# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT # undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
# undef ENABLE_RGB_MATRIX_BAND_VAL # undef ENABLE_RGB_MATRIX_BAND_VAL
# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL # undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
@ -50,8 +51,8 @@
# undef ENABLE_RGB_MATRIX_PIXEL_RAIN # undef ENABLE_RGB_MATRIX_PIXEL_RAIN
# undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL # undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP # undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // # undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // # undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
# undef ENABLE_RGB_MATRIX_SOLID_SPLASH # undef ENABLE_RGB_MATRIX_SOLID_SPLASH
# define RGB_MATRIX_TIMEOUT 300000 // 5m # define RGB_MATRIX_TIMEOUT 300000 // 5m
# define RGB_MATRIX_LED_FLUSH_LIMIT 16 # define RGB_MATRIX_LED_FLUSH_LIMIT 16

View File

@ -20,8 +20,8 @@ tap_dance_action_t tap_dance_actions[] = {
enum layers { enum layers {
LAYER_QWERTY, LAYER_QWERTY,
LAYER_COMMON, LAYER_MOVE,
LAYER_RARELY, LAYER_OPTION,
LAYER_RECOVERY, LAYER_RECOVERY,
}; };
@ -32,32 +32,32 @@ enum layers {
// clang-format off // clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[LAYER_QWERTY] = LAYOUT_60_tsangan_hhkb( [LAYER_QWERTY] = LAYOUT_60_tsangan_hhkb(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, MO(LAYER_COMMON), SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, MO(LAYER_MOVE),
XXXXXXX, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, XXXXXXX XXXXXXX, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(LAYER_OPTION), XXXXXXX
), ),
[LAYER_COMMON] = LAYOUT_60_tsangan_hhkb( [LAYER_MOVE] = LAYOUT_60_tsangan_hhkb(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, TG(LAYER_RARELY), KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_DEL,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_RGHT, XXXXXXX,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DOWN, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DOWN, _______, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MO(LAYER_RECOVERY), XXXXXXX
), ),
[LAYER_RARELY] = LAYOUT_60_tsangan_hhkb( [LAYER_OPTION] = LAYOUT_60_tsangan_hhkb(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TO(LAYER_QWERTY), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, KC_BRMD, KC_BRMU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRMD, KC_BRMU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_CAPS, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_END, KC_PGDN, XXXXXXX, _______, MO(LAYER_RECOVERY), _______, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, MO(LAYER_RECOVERY),
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
), ),
[LAYER_RECOVERY] = LAYOUT_60_tsangan_hhkb( [LAYER_RECOVERY] = LAYOUT_60_tsangan_hhkb(
TD(TD_SAFE_BOOT), EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TD(TD_SAFE_BOOT), EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
), ),
}; };
// clang-format on // clang-format on

View File

@ -57,13 +57,13 @@
"KC_DOT", "KC_DOT",
"KC_SLSH", "KC_SLSH",
"SC_RSPC", "SC_RSPC",
"MO(LAYER_COMMON)", "MO(LAYER_MOVE)",
"KC_NO", "KC_NO",
"KC_LOPT", "KC_LOPT",
"KC_LCMD", "KC_LCMD",
"KC_SPC", "KC_SPC",
"KC_RCMD", "KC_RCMD",
"KC_ROPT", "MO(LAYER_OPTION)",
"KC_NO" "KC_NO"
], ],
[ [
@ -81,7 +81,7 @@
"KC_F11", "KC_F11",
"KC_F12", "KC_F12",
"KC_NO", "KC_NO",
"TG(LAYER_RARELY)", "KC_NO",
"KC_NO", "KC_NO",
"KC_NO", "KC_NO",
"KC_NO", "KC_NO",
@ -127,7 +127,7 @@
"KC_NO", "KC_NO",
"KC_NO", "KC_NO",
"KC_NO", "KC_NO",
"KC_NO", "MO(LAYER_RECOVERY)",
"KC_NO" "KC_NO"
], ],
[ [
@ -145,7 +145,7 @@
"KC_NO", "KC_NO",
"KC_NO", "KC_NO",
"KC_NO", "KC_NO",
"TO(LAYER_QWERTY)", "KC_NO",
"KC_NO", "KC_NO",
"KC_BRMD", "KC_BRMD",
"KC_BRMU", "KC_BRMU",
@ -168,8 +168,8 @@
"KC_NO", "KC_NO",
"KC_NO", "KC_NO",
"KC_NO", "KC_NO",
"KC_HOME", "KC_NO",
"KC_PGUP", "KC_NO",
"KC_NO", "KC_NO",
"KC_NO", "KC_NO",
"KC_NO", "KC_NO",
@ -181,17 +181,17 @@
"KC_NO", "KC_NO",
"KC_NO", "KC_NO",
"KC_NO", "KC_NO",
"KC_END", "KC_NO",
"KC_PGDN", "KC_NO",
"KC_NO", "KC_NO",
"KC_TRNS", "KC_TRNS",
"MO(LAYER_RECOVERY)", "MO(LAYER_RECOVERY)",
"KC_NO", "KC_NO",
"KC_NO",
"KC_NO",
"KC_NO",
"RGB_TOG", "RGB_TOG",
"RGB_MOD", "RGB_MOD",
"KC_NO",
"KC_NO",
"KC_NO",
"KC_NO" "KC_NO"
], ],
[ [

11
go.mod
View File

@ -2,4 +2,13 @@ module github.com/haunt98/qmk_keymaps
go 1.20 go 1.20
require github.com/spf13/cast v1.5.1 require (
github.com/spf13/cast v1.5.1
github.com/stretchr/testify v1.8.4
)
require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

10
go.sum
View File

@ -1,7 +1,17 @@
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA=
github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=