mirror of
https://github.com/CharaChorder/DeviceManager.git
synced 2026-02-06 17:22:41 +00:00
feat: 4th layer support
This commit is contained in:
@@ -34,6 +34,7 @@ const config = {
|
|||||||
"abc",
|
"abc",
|
||||||
"function",
|
"function",
|
||||||
"cloud_done",
|
"cloud_done",
|
||||||
|
"counter_4",
|
||||||
"backup",
|
"backup",
|
||||||
"cloud_download",
|
"cloud_download",
|
||||||
"cloud_off",
|
"cloud_off",
|
||||||
@@ -149,6 +150,7 @@ const config = {
|
|||||||
counter_1: "f784",
|
counter_1: "f784",
|
||||||
counter_2: "f783",
|
counter_2: "f783",
|
||||||
counter_3: "f782",
|
counter_3: "f782",
|
||||||
|
counter_4: "f781",
|
||||||
ios_share: "e6b8",
|
ios_share: "e6b8",
|
||||||
light_mode: "e518",
|
light_mode: "e518",
|
||||||
upload_file: "e9fc",
|
upload_file: "e9fc",
|
||||||
|
|||||||
36
src/lib/assets/tests/actions/capitalize.yml
Normal file
36
src/lib/assets/tests/actions/capitalize.yml
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[c, p]]
|
||||||
|
output: [CAPITALIZE]
|
||||||
|
- input: [[a, b]]
|
||||||
|
output: [a, b, c]
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [c, p]
|
||||||
|
keys: [c, p]
|
||||||
|
- release: [c, p]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
keys: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
35
src/lib/assets/tests/actions/capitalize_no_space.yml
Normal file
35
src/lib/assets/tests/actions/capitalize_no_space.yml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[c, p]]
|
||||||
|
output: [CAPITALIZE, KSC_00]
|
||||||
|
- input: [[a, b]]
|
||||||
|
output: [JOIN, a, b, c, KSC_00]
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [c, p]
|
||||||
|
keys: [c, p]
|
||||||
|
- release: [c, p]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
keys: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
33
src/lib/assets/tests/actions/dup/dup.yml
Normal file
33
src/lib/assets/tests/actions/dup/dup.yml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
test:
|
||||||
|
- remap:
|
||||||
|
A1:
|
||||||
|
- [d, DUP]
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
keys: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [d]
|
||||||
|
keys: [a]
|
||||||
|
- release: [d]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [c]
|
||||||
|
keys: [c]
|
||||||
|
- release: [c]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [d]
|
||||||
|
keys: [c]
|
||||||
|
- release: [d]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
24
src/lib/assets/tests/actions/dup/modifiers.yml
Normal file
24
src/lib/assets/tests/actions/dup/modifiers.yml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
test:
|
||||||
|
- remap:
|
||||||
|
A1:
|
||||||
|
- [d, DUP]
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
keys: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [LEFT_SHIFT]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- press: [d]
|
||||||
|
keys: [a]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- release: [LEFT_SHIFT, d]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
25
src/lib/assets/tests/actions/dup/release_keys.yml
Normal file
25
src/lib/assets/tests/actions/dup/release_keys.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
test:
|
||||||
|
- remap:
|
||||||
|
A1:
|
||||||
|
- [d, DUP]
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
keys: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
keys: [a]
|
||||||
|
- press: [d]
|
||||||
|
keys: []
|
||||||
|
- keys: [a]
|
||||||
|
- release: [a, d]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
81
src/lib/assets/tests/actions/quickfix/general.yml
Normal file
81
src/lib/assets/tests/actions/quickfix/general.yml
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
remap:
|
||||||
|
A1:
|
||||||
|
- [q, QUICKFIX]
|
||||||
|
addChords:
|
||||||
|
- input: [[t, s, e]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
- input: [[t, s]]
|
||||||
|
output: [s, e, t]
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, t]
|
||||||
|
keys: [s, t]
|
||||||
|
- release: [s, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [q]
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- release: [q]
|
||||||
|
step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
83
src/lib/assets/tests/actions/quickfix/prepended.yml
Normal file
83
src/lib/assets/tests/actions/quickfix/prepended.yml
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
remap:
|
||||||
|
A1:
|
||||||
|
- [q, QUICKFIX]
|
||||||
|
addChords:
|
||||||
|
- input: [[t, s, e]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
- input: [[t, s]]
|
||||||
|
output: [s, e, t]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
concatenation style: prepended
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, t]
|
||||||
|
keys: [s, t]
|
||||||
|
- release: [s, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [q]
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- release: [q]
|
||||||
|
step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
65
src/lib/assets/tests/actions/quickfix/smart.yml
Normal file
65
src/lib/assets/tests/actions/quickfix/smart.yml
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
remap:
|
||||||
|
A1:
|
||||||
|
- [q, QUICKFIX]
|
||||||
|
addChords:
|
||||||
|
- input: [[t, s, e]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
- input: [[t, s]]
|
||||||
|
output: [s, e, t]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
detection method: smart
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, t]
|
||||||
|
- release: [s, t]
|
||||||
|
- step: 16
|
||||||
|
keys: [s]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [q]
|
||||||
|
- release: [q]
|
||||||
|
step: 16
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
65
src/lib/assets/tests/actions/quickfix/smart_prepended.yml
Normal file
65
src/lib/assets/tests/actions/quickfix/smart_prepended.yml
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
remap:
|
||||||
|
A1:
|
||||||
|
- [q, QUICKFIX]
|
||||||
|
addChords:
|
||||||
|
- input: [[t, s, e]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
- input: [[t, s]]
|
||||||
|
output: [s, e, t]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
detection method: smart
|
||||||
|
concatenation style: prepended
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, t]
|
||||||
|
- release: [s, t]
|
||||||
|
- step: 16
|
||||||
|
keys: [SPACE]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [q]
|
||||||
|
- release: [q]
|
||||||
|
step: 16
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: [SPACE]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
79
src/lib/assets/tests/arpeggiates/capitalize.yml
Normal file
79
src/lib/assets/tests/arpeggiates/capitalize.yml
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[a, b]]
|
||||||
|
output: [a, b, c]
|
||||||
|
settings:
|
||||||
|
arpeggiates:
|
||||||
|
enable: 1
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
keys: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
keys: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [LEFT_SHIFT]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- release: [LEFT_SHIFT]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [x]
|
||||||
|
keys: [x]
|
||||||
|
- release: [x]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [LEFT_SHIFT]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- release: [LEFT_SHIFT]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
74
src/lib/assets/tests/arpeggiates/capitalize_no_space.yml
Normal file
74
src/lib/assets/tests/arpeggiates/capitalize_no_space.yml
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[a, b]]
|
||||||
|
output: [a, b, c, KSC_00]
|
||||||
|
settings:
|
||||||
|
arpeggiates:
|
||||||
|
enable: 1
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
keys: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
keys: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [LEFT_SHIFT]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- release: [LEFT_SHIFT]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [x]
|
||||||
|
keys: [x]
|
||||||
|
- release: [x]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [LEFT_SHIFT]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- release: [LEFT_SHIFT]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
65
src/lib/assets/tests/arpeggiates/custom_period.yml
Normal file
65
src/lib/assets/tests/arpeggiates/custom_period.yml
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[a, b]]
|
||||||
|
output: [a, b, c]
|
||||||
|
- input: [[ARPEGGIATE, .]]
|
||||||
|
output: [JOIN, ., CAPITALIZE, JOIN]
|
||||||
|
settings:
|
||||||
|
arpeggiates:
|
||||||
|
enable: 1
|
||||||
|
autocorrect:
|
||||||
|
maximum attempts: 0
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
keys: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
keys: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
keys: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [.]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
keys: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
80
src/lib/assets/tests/arpeggiates/prepended/capitalize.yml
Normal file
80
src/lib/assets/tests/arpeggiates/prepended/capitalize.yml
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[a, b]]
|
||||||
|
output: [a, b, c]
|
||||||
|
settings:
|
||||||
|
arpeggiates:
|
||||||
|
enable: 1
|
||||||
|
chording:
|
||||||
|
concatenation style: prepended
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
keys: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
keys: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [LEFT_SHIFT]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- release: [LEFT_SHIFT]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: [a]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [x]
|
||||||
|
keys: [x]
|
||||||
|
- release: [x]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [LEFT_SHIFT]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- release: [LEFT_SHIFT]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[a, b]]
|
||||||
|
output: [a, b, c, KSC_00]
|
||||||
|
settings:
|
||||||
|
arpeggiates:
|
||||||
|
enable: 1
|
||||||
|
chording:
|
||||||
|
concatenation style: prepended
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
keys: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
keys: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [LEFT_SHIFT]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- release: [LEFT_SHIFT]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [x]
|
||||||
|
keys: [x]
|
||||||
|
- release: [x]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [LEFT_SHIFT]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- release: [LEFT_SHIFT]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
63
src/lib/assets/tests/arpeggiates/prepended/custom_period.yml
Normal file
63
src/lib/assets/tests/arpeggiates/prepended/custom_period.yml
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[a, b]]
|
||||||
|
output: [a, b, c]
|
||||||
|
- input: [[ARPEGGIATE, .]]
|
||||||
|
output: [JOIN, ., CAPITALIZE, JOIN]
|
||||||
|
settings:
|
||||||
|
arpeggiates:
|
||||||
|
enable: 1
|
||||||
|
chording:
|
||||||
|
concatenation style: prepended
|
||||||
|
autocorrect:
|
||||||
|
maximum attempts: 0
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
keys: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
keys: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
keys: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [.]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
keys: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: [a]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
55
src/lib/assets/tests/arpeggiates/smart/capitalize.yml
Normal file
55
src/lib/assets/tests/arpeggiates/smart/capitalize.yml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[a, b]]
|
||||||
|
output: [a, b, c]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
detection method: smart
|
||||||
|
arpeggiates:
|
||||||
|
enable: 1
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [LEFT_SHIFT]
|
||||||
|
- release: [LEFT_SHIFT]
|
||||||
|
- step: 16
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [x]
|
||||||
|
- release: [x]
|
||||||
|
- step: 16
|
||||||
|
keys: [x]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [LEFT_SHIFT]
|
||||||
|
- release: [LEFT_SHIFT]
|
||||||
|
- step: 16
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- modifiers: {}
|
||||||
|
idle: true
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[a, b]]
|
||||||
|
output: [a, b, c, KSC_00]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
detection method: smart
|
||||||
|
arpeggiates:
|
||||||
|
enable: 1
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [LEFT_SHIFT]
|
||||||
|
- release: [LEFT_SHIFT]
|
||||||
|
- step: 16
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [x]
|
||||||
|
- release: [x]
|
||||||
|
- step: 16
|
||||||
|
keys: [x]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [LEFT_SHIFT]
|
||||||
|
- release: [LEFT_SHIFT]
|
||||||
|
- step: 16
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- modifiers: {}
|
||||||
|
idle: true
|
||||||
59
src/lib/assets/tests/arpeggiates/smart/custom_period.yml
Normal file
59
src/lib/assets/tests/arpeggiates/smart/custom_period.yml
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[a, b]]
|
||||||
|
output: [a, b, c]
|
||||||
|
- input: [[ARPEGGIATE, .]]
|
||||||
|
output: [JOIN, ., CAPITALIZE, JOIN]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
detection method: smart
|
||||||
|
arpeggiates:
|
||||||
|
enable: 1
|
||||||
|
autocorrect:
|
||||||
|
maximum attempts: 0
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: [.]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: [.]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: [a]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[a, b]]
|
||||||
|
output: [a, b, c]
|
||||||
|
- input: [[ARPEGGIATE, .]]
|
||||||
|
output: [JOIN, ., CAPITALIZE, JOIN]
|
||||||
|
settings:
|
||||||
|
arpeggiates:
|
||||||
|
enable: 1
|
||||||
|
chording:
|
||||||
|
detection method: smart
|
||||||
|
concatenation style: prepended
|
||||||
|
autocorrect:
|
||||||
|
maximum attempts: 0
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: [.]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: [.]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a, b]
|
||||||
|
- release: [a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: [SPACE]
|
||||||
|
- keys: [a]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
76
src/lib/assets/tests/autocorrect/dup_chord.yml
Normal file
76
src/lib/assets/tests/autocorrect/dup_chord.yml
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
remap:
|
||||||
|
A1:
|
||||||
|
- [d, DUP]
|
||||||
|
addChords:
|
||||||
|
- input: [[h, z]]
|
||||||
|
output: [t, h, e]
|
||||||
|
- input: [[m, o, h, DUP, a, y]]
|
||||||
|
output: [m, o, t, i, v, a, t, i, o, n]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
detection method: smart
|
||||||
|
concatenation style: prepended
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [x]
|
||||||
|
- release: [x]
|
||||||
|
- step: 16
|
||||||
|
keys: [x]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [h, z]
|
||||||
|
- release: [h, z]
|
||||||
|
- step: 16
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [h]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [d]
|
||||||
|
- press: [m, h, a, y]
|
||||||
|
- release: [d, m, h, a, y]
|
||||||
|
- step: 16
|
||||||
|
keys: [e, a, h, m, y]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [d]
|
||||||
|
- press: [m, o, h, a, y]
|
||||||
|
- release: [d, m, o, h, a, y]
|
||||||
|
- step: 16
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: [m]
|
||||||
|
- keys: [o]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [i]
|
||||||
|
- keys: [v]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [i]
|
||||||
|
- keys: [o]
|
||||||
|
- keys: [n]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
remap:
|
||||||
|
A1:
|
||||||
|
- [d, DUP]
|
||||||
|
addChords:
|
||||||
|
- input: [[h, z]]
|
||||||
|
output: [t, h, e]
|
||||||
|
- input: [[m, o, h, DUP, a, y]]
|
||||||
|
output: [m, o, t, i, v, a, t, i, o, n]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
detection method: smart
|
||||||
|
concatenation style: prepended
|
||||||
|
autocorrect:
|
||||||
|
maximum attempts: 0
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [x]
|
||||||
|
- release: [x]
|
||||||
|
- step: 16
|
||||||
|
keys: [x]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [h, z]
|
||||||
|
- release: [h, z]
|
||||||
|
- step: 16
|
||||||
|
keys: [t]
|
||||||
|
- keys: [h]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [d]
|
||||||
|
- press: [m, h, a, y]
|
||||||
|
- release: [d, m, h, a, y]
|
||||||
|
- step: 16
|
||||||
|
keys: [e, a, h, m, y]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [d]
|
||||||
|
- press: [m, o, h, a, y]
|
||||||
|
- release: [d, m, o, h, a, y]
|
||||||
|
- step: 16
|
||||||
|
keys: [m]
|
||||||
|
- keys: [o]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [i]
|
||||||
|
- keys: [v]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [i]
|
||||||
|
- keys: [o]
|
||||||
|
- keys: [n]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
24
src/lib/assets/tests/chording/chord.yml
Normal file
24
src/lib/assets/tests/chording/chord.yml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[t, s, e]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
23
src/lib/assets/tests/chording/chord_nospace.yml
Normal file
23
src/lib/assets/tests/chording/chord_nospace.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[t, s, e]]
|
||||||
|
output: [t, e, s, t, KSC_00]
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
78
src/lib/assets/tests/chording/compound.yml
Normal file
78
src/lib/assets/tests/chording/compound.yml
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[i, n, g]]
|
||||||
|
output: [t, h, i, n, g]
|
||||||
|
- input: [[t, s, e]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
- input: [[i, n, g], [t, s, e]]
|
||||||
|
output: [t, e, s, t, i, n, g]
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [i, n, g]
|
||||||
|
keys: [g, i, n]
|
||||||
|
- release: [i, n, g]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [h]
|
||||||
|
- keys: [i]
|
||||||
|
- keys: [n]
|
||||||
|
- keys: [g]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [i, n, g]
|
||||||
|
keys: [g, i, n]
|
||||||
|
- release: [i, n, g]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [i]
|
||||||
|
- keys: [n]
|
||||||
|
- keys: [g]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
45
src/lib/assets/tests/chording/dup_input.yml
Normal file
45
src/lib/assets/tests/chording/dup_input.yml
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
remap:
|
||||||
|
A1:
|
||||||
|
- [d, DUP]
|
||||||
|
addChords:
|
||||||
|
- input: [[DUP, s, e]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
settings:
|
||||||
|
autocorrect:
|
||||||
|
maximum attempts: 0
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s]
|
||||||
|
keys: [s]
|
||||||
|
- release: [s]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s]
|
||||||
|
keys: [s]
|
||||||
|
- press: [d]
|
||||||
|
keys: []
|
||||||
|
- keys: [s]
|
||||||
|
- press: [e]
|
||||||
|
keys: [s, e]
|
||||||
|
- release: [d, e, s]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
27
src/lib/assets/tests/chording/min_chord_inputs.yml
Normal file
27
src/lib/assets/tests/chording/min_chord_inputs.yml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[t]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [t]
|
||||||
|
keys: [t]
|
||||||
|
- release: [t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [t]
|
||||||
|
keys: [t]
|
||||||
|
- press: [LEFT_SHIFT]
|
||||||
|
keys: [t]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- release: [LEFT_SHIFT, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
58
src/lib/assets/tests/chording/space_input.yml
Normal file
58
src/lib/assets/tests/chording/space_input.yml
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[SPACE, s]]
|
||||||
|
output: [a, b]
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
keys: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [SPACE]
|
||||||
|
keys: [SPACE]
|
||||||
|
- release: [SPACE]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [SPACE]
|
||||||
|
keys: [SPACE]
|
||||||
|
- press: [s]
|
||||||
|
keys: [SPACE, s]
|
||||||
|
- release: [SPACE, s]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s]
|
||||||
|
keys: [s]
|
||||||
|
- press: [SPACE]
|
||||||
|
keys: [s, SPACE]
|
||||||
|
- release: [SPACE, s]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
28
src/lib/assets/tests/debounce/basic.yml
Normal file
28
src/lib/assets/tests/debounce/basic.yml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[t, h, e]]
|
||||||
|
output: [t, h, e]
|
||||||
|
settings:
|
||||||
|
keyboard:
|
||||||
|
debounce press: 4
|
||||||
|
debounce release: 5
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [t]
|
||||||
|
keys: [t]
|
||||||
|
- release: [t]
|
||||||
|
- press: [a]
|
||||||
|
keys: [t, a]
|
||||||
|
- release: [a]
|
||||||
|
- keys: [a]
|
||||||
|
- press: [t]
|
||||||
|
- keys: []
|
||||||
|
- step: 1
|
||||||
|
- step: 1
|
||||||
|
- keys: [t]
|
||||||
|
- release: [t]
|
||||||
|
- step: 1
|
||||||
|
- step: 1
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
34
src/lib/assets/tests/fnshift.yml
Normal file
34
src/lib/assets/tests/fnshift.yml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
remap:
|
||||||
|
A1:
|
||||||
|
- [l, KM_3_L]
|
||||||
|
- [r, KM_3_R]
|
||||||
|
- [a, a]
|
||||||
|
A2:
|
||||||
|
- [l, KM_3_L]
|
||||||
|
- [r, KM_3_R]
|
||||||
|
- [a, b]
|
||||||
|
A3:
|
||||||
|
- [l, KM_3_L]
|
||||||
|
- [r, KM_3_R]
|
||||||
|
- [a, c]
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
keys: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [l]
|
||||||
|
- press: [a]
|
||||||
|
keys: [c]
|
||||||
|
- release: [l, a]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
82
src/lib/assets/tests/hyperspace/camel_case.yml
Normal file
82
src/lib/assets/tests/hyperspace/camel_case.yml
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[h, y]]
|
||||||
|
output: [CAPTURE, CAPITALIZE, CAPTURE]
|
||||||
|
- input: [[t, s, e]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [h, y]
|
||||||
|
keys: [h, y]
|
||||||
|
- release: [h, y]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
83
src/lib/assets/tests/hyperspace/kebab_case.yml
Normal file
83
src/lib/assets/tests/hyperspace/kebab_case.yml
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[h, y]]
|
||||||
|
output: [CAPTURE, "-", CAPTURE]
|
||||||
|
- input: [[t, s, e]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [h, y]
|
||||||
|
keys: [h, y]
|
||||||
|
- release: [h, y]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: ["-"]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: ["-"]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: ["-"]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
85
src/lib/assets/tests/hyperspace/prepended/camel_case.yml
Normal file
85
src/lib/assets/tests/hyperspace/prepended/camel_case.yml
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[h, y]]
|
||||||
|
output: [CAPTURE, CAPITALIZE, CAPTURE]
|
||||||
|
- input: [[t, s, e]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
concatenation style: prepended
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [h, y]
|
||||||
|
keys: [h, y]
|
||||||
|
- release: [h, y]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
85
src/lib/assets/tests/hyperspace/prepended/kebab_case.yml
Normal file
85
src/lib/assets/tests/hyperspace/prepended/kebab_case.yml
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[h, y]]
|
||||||
|
output: [CAPTURE, "-", CAPTURE]
|
||||||
|
- input: [[t, s, e]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
concatenation style: prepended
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [h, y]
|
||||||
|
keys: [h, y]
|
||||||
|
- release: [h, y]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: ["-"]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: ["-"]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
28
src/lib/assets/tests/modifiers/capitalize.yml
Normal file
28
src/lib/assets/tests/modifiers/capitalize.yml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[a, b]]
|
||||||
|
output: [a, b, c]
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [LEFT_SHIFT]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- press: [LEFT_SHIFT, a, b]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
keys: [a, b]
|
||||||
|
- release: [LEFT_SHIFT, a, b]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
80
src/lib/assets/tests/prepended/compound.yml
Normal file
80
src/lib/assets/tests/prepended/compound.yml
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[i, n, g]]
|
||||||
|
output: [t, h, i, n, g]
|
||||||
|
- input: [[t, s, e]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
- input: [[i, n, g], [t, s, e]]
|
||||||
|
output: [t, e, s, t, i, n, g]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
concatenation style: prepended
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [i, n, g]
|
||||||
|
keys: [g, i, n]
|
||||||
|
- release: [i, n, g]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [h]
|
||||||
|
- keys: [i]
|
||||||
|
- keys: [n]
|
||||||
|
- keys: [g]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [s, e, t]
|
||||||
|
keys: [e, s, t]
|
||||||
|
- release: [s, e, t]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [i, n, g]
|
||||||
|
keys: [g, i, n]
|
||||||
|
- release: [i, n, g]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [i]
|
||||||
|
- keys: [n]
|
||||||
|
- keys: [g]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
45
src/lib/assets/tests/smart_detection/general.yml
Normal file
45
src/lib/assets/tests/smart_detection/general.yml
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[h, z]]
|
||||||
|
output: [t, h, e]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
detection method: smart
|
||||||
|
concatenation style: prepended
|
||||||
|
autocorrect:
|
||||||
|
maximum attempts: 0
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [x]
|
||||||
|
- release: [x]
|
||||||
|
- step: 16
|
||||||
|
keys: [x]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [h, z]
|
||||||
|
- release: [h, z]
|
||||||
|
- step: 16
|
||||||
|
keys: [t]
|
||||||
|
- keys: [h]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [x]
|
||||||
|
- release: [x]
|
||||||
|
- step: 16
|
||||||
|
keys: [x]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [x]
|
||||||
|
- step: 120
|
||||||
|
keys: [x]
|
||||||
|
- release: [x]
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
49
src/lib/assets/tests/smart_detection/newline.yml
Normal file
49
src/lib/assets/tests/smart_detection/newline.yml
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[h, z]]
|
||||||
|
output: [t, h, e]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
detection method: smart
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [ENTER]
|
||||||
|
- release: [ENTER]
|
||||||
|
- step: 16
|
||||||
|
keys: [ENTER]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [h, z]
|
||||||
|
- release: [h, z]
|
||||||
|
- step: 16
|
||||||
|
keys: [t]
|
||||||
|
- keys: [h]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [ENTER]
|
||||||
|
- release: [ENTER]
|
||||||
|
- step: 16
|
||||||
|
keys: [ENTER]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [h, z]
|
||||||
|
- release: [h, z]
|
||||||
|
- step: 16
|
||||||
|
keys: [t]
|
||||||
|
- keys: [h]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
109
src/lib/assets/tests/tap_dance/arpeggiate_override.yml
Normal file
109
src/lib/assets/tests/tap_dance/arpeggiate_override.yml
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[t, s]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
- input: [[ARPEGGIATE, .]]
|
||||||
|
output: [JOIN, ., CAPITALIZE, JOIN]
|
||||||
|
- input: [[., .]]
|
||||||
|
output: [JOIN, ., KSC_00]
|
||||||
|
- input: [[., ., .]]
|
||||||
|
output: [JOIN, ., ., ., CAPITALIZE, JOIN]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
tap dance tolerance: 175
|
||||||
|
autocorrect:
|
||||||
|
maximum attempts: 0
|
||||||
|
arpeggiates:
|
||||||
|
enable: 1
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [t, s]
|
||||||
|
keys: [s, t]
|
||||||
|
- release: [t, s]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
keys: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [.]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
keys: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [.]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
keys: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [.]
|
||||||
|
- keys: []
|
||||||
|
- keys: [.]
|
||||||
|
- keys: []
|
||||||
|
- keys: [.]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [t, s]
|
||||||
|
keys: [s, t]
|
||||||
|
- release: [t, s]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
102
src/lib/assets/tests/tap_dance/arpeggiate_period.yml
Normal file
102
src/lib/assets/tests/tap_dance/arpeggiate_period.yml
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[t, s]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
- input: [[., .]]
|
||||||
|
output: [JOIN, ., CAPITALIZE, JOIN]
|
||||||
|
- input: [[., ., .]]
|
||||||
|
output: [JOIN, ., ., ., CAPITALIZE, JOIN]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
tap dance tolerance: 175
|
||||||
|
autocorrect:
|
||||||
|
maximum attempts: 0
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [t, s]
|
||||||
|
keys: [s, t]
|
||||||
|
- release: [t, s]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
keys: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
keys: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [.]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
keys: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [.]
|
||||||
|
- keys: []
|
||||||
|
- keys: [.]
|
||||||
|
- keys: []
|
||||||
|
- keys: [.]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [t, s]
|
||||||
|
keys: [s, t]
|
||||||
|
- release: [t, s]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [t]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
103
src/lib/assets/tests/tap_dance/general.yml
Normal file
103
src/lib/assets/tests/tap_dance/general.yml
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[a, a]]
|
||||||
|
output: [b, c]
|
||||||
|
- input: [[a, a, a, a, a]]
|
||||||
|
output: [d, e]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
tap dance tolerance: 175
|
||||||
|
autocorrect:
|
||||||
|
maximum attempts: 0
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
keys: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 180
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
keys: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
keys: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
keys: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: []
|
||||||
|
- keys: [a]
|
||||||
|
- keys: []
|
||||||
|
- keys: [a]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
keys: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
keys: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [d]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
88
src/lib/assets/tests/tap_dance/smart/arpeggiate_override.yml
Normal file
88
src/lib/assets/tests/tap_dance/smart/arpeggiate_override.yml
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[t, s]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
- input: [[ARPEGGIATE, .]]
|
||||||
|
output: [JOIN, ., CAPITALIZE, JOIN]
|
||||||
|
- input: [[., .]]
|
||||||
|
output: [JOIN, ., KSC_00]
|
||||||
|
- input: [[., ., .]]
|
||||||
|
output: [JOIN, ., ., ., CAPITALIZE, JOIN]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
tap dance tolerance: 175
|
||||||
|
detection method: smart
|
||||||
|
autocorrect:
|
||||||
|
maximum attempts: 0
|
||||||
|
arpeggiates:
|
||||||
|
enable: 1
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [t, s]
|
||||||
|
- release: [t, s]
|
||||||
|
- step: 16
|
||||||
|
keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: [.]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [.]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: [.]
|
||||||
|
- keys: []
|
||||||
|
- keys: [.]
|
||||||
|
- keys: []
|
||||||
|
- keys: [.]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [t, s]
|
||||||
|
- release: [t, s]
|
||||||
|
- step: 16
|
||||||
|
keys: [t]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
85
src/lib/assets/tests/tap_dance/smart/arpeggiate_period.yml
Normal file
85
src/lib/assets/tests/tap_dance/smart/arpeggiate_period.yml
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[t, s]]
|
||||||
|
output: [t, e, s, t]
|
||||||
|
- input: [[., .]]
|
||||||
|
output: [JOIN, ., CAPITALIZE, JOIN]
|
||||||
|
- input: [[., ., .]]
|
||||||
|
output: [JOIN, ., ., ., CAPITALIZE, JOIN]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
tap dance tolerance: 175
|
||||||
|
detection method: smart
|
||||||
|
autocorrect:
|
||||||
|
maximum attempts: 0
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [t, s]
|
||||||
|
- release: [t, s]
|
||||||
|
- step: 16
|
||||||
|
keys: [t]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: [.]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [.]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [.]
|
||||||
|
- release: [.]
|
||||||
|
- step: 16
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [.]
|
||||||
|
- keys: []
|
||||||
|
- keys: [.]
|
||||||
|
- keys: []
|
||||||
|
- keys: [.]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [t, s]
|
||||||
|
- release: [t, s]
|
||||||
|
- step: 16
|
||||||
|
keys: [t]
|
||||||
|
modifiers:
|
||||||
|
lshift: true
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [s]
|
||||||
|
- keys: [t]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
92
src/lib/assets/tests/tap_dance/smart/general.yml
Normal file
92
src/lib/assets/tests/tap_dance/smart/general.yml
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
test:
|
||||||
|
- clearChords: true
|
||||||
|
addChords:
|
||||||
|
- input: [[a, a]]
|
||||||
|
output: [b, c]
|
||||||
|
- input: [[a, a, a, a, a]]
|
||||||
|
output: [d, e]
|
||||||
|
settings:
|
||||||
|
chording:
|
||||||
|
tap dance tolerance: 175
|
||||||
|
detection method: smart
|
||||||
|
autocorrect:
|
||||||
|
maximum attempts: 0
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: [a]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 180
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: [a]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: [b]
|
||||||
|
- keys: [c]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [a]
|
||||||
|
- keys: []
|
||||||
|
- keys: [a]
|
||||||
|
- keys: []
|
||||||
|
- keys: [a]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: [a]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- step: 16
|
||||||
|
idle: true
|
||||||
|
|
||||||
|
- press: [a]
|
||||||
|
- release: [a]
|
||||||
|
- step: 16
|
||||||
|
keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: []
|
||||||
|
- keys: [BKSP]
|
||||||
|
- keys: [d]
|
||||||
|
- keys: [e]
|
||||||
|
- keys: [SPACE]
|
||||||
|
- keys: []
|
||||||
|
idle: true
|
||||||
@@ -69,7 +69,7 @@
|
|||||||
style:rotate="{rotate}deg"
|
style:rotate="{rotate}deg"
|
||||||
use:action={{ title: tooltip }}
|
use:action={{ title: tooltip }}
|
||||||
>
|
>
|
||||||
{#if code !== 0}
|
{#if code !== 0 && code != 1023}
|
||||||
{dynamicMapping || icon || display || id || `0x${code.toString(16)}`}
|
{dynamicMapping || icon || display || id || `0x${code.toString(16)}`}
|
||||||
{/if}
|
{/if}
|
||||||
{#if !isApplied}
|
{#if !isApplied}
|
||||||
|
|||||||
@@ -103,6 +103,7 @@
|
|||||||
[-rotY, -rotX],
|
[-rotY, -rotX],
|
||||||
[-rotX, -rotY],
|
[-rotX, -rotY],
|
||||||
[rotX, rotY],
|
[rotX, rotY],
|
||||||
|
[rotY, rotX],
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
{/if}
|
{/if}
|
||||||
|
|||||||
@@ -178,13 +178,16 @@ export class CharaDevice {
|
|||||||
this.version = await this.send(1, ["VERSION"]).then(
|
this.version = await this.send(1, ["VERSION"]).then(
|
||||||
([version]) => version,
|
([version]) => version,
|
||||||
);
|
);
|
||||||
if (semverGte(this.version, "2.2.0-beta.4")) {
|
|
||||||
this.profileCount = 3;
|
|
||||||
}
|
|
||||||
const [company, device, chipset] = await this.send(3, ["ID"]);
|
const [company, device, chipset] = await this.send(3, ["ID"]);
|
||||||
this.company = company as typeof this.company;
|
this.company = company as typeof this.company;
|
||||||
this.device = device as typeof this.device;
|
this.device = device as typeof this.device;
|
||||||
this.chipset = chipset as typeof this.chipset;
|
this.chipset = chipset as typeof this.chipset;
|
||||||
|
if (semverGte(this.version, "2.2.0-beta.4")) {
|
||||||
|
this.profileCount = this.chipset === "M0" ? 2 : 3;
|
||||||
|
}
|
||||||
|
if (semverGte(this.version, "2.2.0-beta.20")) {
|
||||||
|
this.layerCount = this.chipset === "M0" ? 3 : 4;
|
||||||
|
}
|
||||||
this.keyCount = KEY_COUNTS[this.device];
|
this.keyCount = KEY_COUNTS[this.device];
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
|
|||||||
28
src/routes/recipes/+page.svelte
Normal file
28
src/routes/recipes/+page.svelte
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import Recipe from "./Recipe.svelte";
|
||||||
|
|
||||||
|
const tests = import.meta.glob("$lib/assets/tests/**/*.yml");
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<h1>Recipes</h1>
|
||||||
|
|
||||||
|
<p>These are example uses, taken directly from our E2E testing library.</p>
|
||||||
|
|
||||||
|
<div class="recipes">
|
||||||
|
{#each Object.entries(tests) as [path, resolver]}
|
||||||
|
{#await resolver() then module}
|
||||||
|
<section>
|
||||||
|
<Recipe test={module.default} />
|
||||||
|
</section>
|
||||||
|
{/await}
|
||||||
|
{/each}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.recipes {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 2rem;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
148
src/routes/recipes/Recipe.svelte
Normal file
148
src/routes/recipes/Recipe.svelte
Normal file
@@ -0,0 +1,148 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import CharRecorder from "$lib/charrecorder/CharRecorder.svelte";
|
||||||
|
import type { Replay } from "$lib/charrecorder/core/types";
|
||||||
|
import type { E2eTest } from "./test-types";
|
||||||
|
|
||||||
|
let { test }: { test: E2eTest } = $props();
|
||||||
|
|
||||||
|
const replace = new Map<string, string>([
|
||||||
|
["SPACE", "Space"],
|
||||||
|
["ENTER", "Enter"],
|
||||||
|
["BKSP", "Backspace"],
|
||||||
|
["e", "KeyE"],
|
||||||
|
["t", "KeyT"],
|
||||||
|
]);
|
||||||
|
|
||||||
|
const replaceOut = new Map<string, string>([
|
||||||
|
["SPACE", " "],
|
||||||
|
["ENTER", "\n"],
|
||||||
|
["BKSP", "Backspace"],
|
||||||
|
]);
|
||||||
|
|
||||||
|
let timescale = $state(10);
|
||||||
|
let idleHold = $state(500);
|
||||||
|
let replayDelay = $state(1000);
|
||||||
|
|
||||||
|
let replay: Replay = $derived.by(() => {
|
||||||
|
const replay: Replay = {
|
||||||
|
start: 0,
|
||||||
|
finish: 0,
|
||||||
|
keys: [],
|
||||||
|
};
|
||||||
|
let timeIndex = 0;
|
||||||
|
let held = new Map<string, any>();
|
||||||
|
for (const it of test.test) {
|
||||||
|
if (it.keys) {
|
||||||
|
for (const key of it.keys) {
|
||||||
|
if (held.has(key)) continue;
|
||||||
|
held.set(key, [
|
||||||
|
replaceOut.get(key) ?? key,
|
||||||
|
replace.get(key) ?? key,
|
||||||
|
timeIndex,
|
||||||
|
0,
|
||||||
|
]);
|
||||||
|
replay.keys.push(held.get(key));
|
||||||
|
}
|
||||||
|
for (const [key, value] of held) {
|
||||||
|
if (!it.keys.includes(key)) {
|
||||||
|
value[3] = timeIndex - value[2];
|
||||||
|
held.delete(key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
timeIndex += timescale * (it.step ?? 1);
|
||||||
|
if (it.idle) {
|
||||||
|
timeIndex += idleHold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
replay.finish = timeIndex;
|
||||||
|
return replay;
|
||||||
|
});
|
||||||
|
|
||||||
|
let graph = $derived.by(() => {
|
||||||
|
const rows: string[][] = [[]];
|
||||||
|
for (const it of test.test) {
|
||||||
|
if (it.keys?.includes("BKSP")) {
|
||||||
|
if (rows.at(-1)!.at(-1) === " ") {
|
||||||
|
rows.at(-1)!.pop();
|
||||||
|
} else {
|
||||||
|
rows.push(Array.from({ length: rows.at(-1)!.length - 1 }, () => " "));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (const key of it.keys ?? []) {
|
||||||
|
if (key === "SPACE") {
|
||||||
|
rows.at(-1)!.push("␣");
|
||||||
|
} else if (key === "ENTER") {
|
||||||
|
rows.at(-1)!.push("↵");
|
||||||
|
} else {
|
||||||
|
rows.at(-1)!.push(key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rows;
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<div class="replay">
|
||||||
|
<CharRecorder
|
||||||
|
{replay}
|
||||||
|
cursor={true}
|
||||||
|
ondone={() => setTimeout(() => (replay = { ...replay }), replayDelay)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Breakdown</summary>
|
||||||
|
<div class="graph">
|
||||||
|
{#each graph as row, i}
|
||||||
|
{#each row as char, j}
|
||||||
|
{#if char !== " "}
|
||||||
|
<div
|
||||||
|
class:deleted={(graph[i + 1]?.findIndex((it) => it !== " ") ??
|
||||||
|
Infinity) <= j}
|
||||||
|
style:grid-row={i + 1}
|
||||||
|
style:grid-column={j + 1}
|
||||||
|
>
|
||||||
|
{char}
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
{/each}
|
||||||
|
{/each}
|
||||||
|
</div>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
section {
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
summary {
|
||||||
|
cursor: pointer;
|
||||||
|
margin-top: 0.5rem;
|
||||||
|
font-weight: bold;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.replay {
|
||||||
|
background: #f0f0f0;
|
||||||
|
padding: 0.6rem;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.graph {
|
||||||
|
display: grid;
|
||||||
|
align-items: center;
|
||||||
|
justify-items: center;
|
||||||
|
width: min-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
.deleted {
|
||||||
|
opacity: 0.6;
|
||||||
|
text-decoration: line-through;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
20
src/routes/recipes/test-types.ts
Normal file
20
src/routes/recipes/test-types.ts
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
export interface E2eAddChord {
|
||||||
|
input: string[][];
|
||||||
|
output: string[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface E2eTestItem {
|
||||||
|
keys?: string[];
|
||||||
|
modifiers?: Record<string, boolean>;
|
||||||
|
press?: string[];
|
||||||
|
release?: string[];
|
||||||
|
step?: number;
|
||||||
|
idle?: boolean;
|
||||||
|
clearChords?: boolean;
|
||||||
|
addChords?: E2eAddChord[];
|
||||||
|
settings: Record<string, Record<string, string | number>>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface E2eTest {
|
||||||
|
test: E2eTestItem[];
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user