Compare commits

..

10 commits

Author SHA1 Message Date
842d2dfac2 Disable ZMK Studio + steno for flash measurement 2026-06-24 15:11:03 +08:00
937ffb437b Use Plover dict only, disable Lapwing 2026-06-24 01:22:36 +08:00
54aabd02f6 Use Lapwing dict only, disable Plover 2026-06-24 01:16:09 +08:00
9050f06ff4 Retrigger build after javelin dict embed fix 2026-06-24 00:32:13 +08:00
885d4bde62 Point javelin module at debug/dict-inspect branch 2026-06-24 00:19:51 +08:00
00a4b60a2e Move USB logging to left-half-only cmake-args
Shared corne.conf breaks right half (no USB device).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-23 23:27:29 +08:00
463a377986 Add zmk-usb-logging snippet for USB serial console
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-23 22:06:00 +08:00
1571a711aa Enable USB logging for steno debug
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-23 17:47:12 +08:00
b894e53a36 Integrate zmk-javelin-steno module
- west.yml: add zmk-javelin-steno module + javelin-steno source
- corne.conf: enable steno engine with Plover + Lapwing dicts
- corne.keymap: replace steno layer with &javsteno behavior bindings
2026-06-23 01:05:27 +08:00
7041dbccd5 Add RGB, media, and output controls to HUB layer and thumbs
- HUB layer: RGB hue/sat/brightness, volume, screen brightness, OUT_TOG
- Tap-dance td_rgb on thumb: 1×=toggle, 2×=effect fwd, 3×=effect rev
- Tap-dance td_colors on HUB pos 34: 5 color presets (purple/white/red/blue/green)
- Hold-tap mute/play-pause on right outer thumb (CARP/QWRT/STEN/HUB)
- Update README with new layer diagrams and legends

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-22 15:35:27 +08:00
6 changed files with 176 additions and 84 deletions

View file

@ -58,7 +58,7 @@ include:
- board: nice_nano_v2
shield: corne_left nice_oled
artifact-name: nice_corne_left_oled_rgb
snippet: rgb-config studio-rpc-usb-uart
snippet: rgb-config
# nice_nano_v2 + nice_oled + RGB (RIGHT)
- board: nice_nano_v2
shield: corne_right nice_oled

View file

@ -68,8 +68,8 @@ CONFIG_ZMK_EXT_POWER=y
### ZMK STUDIO
# MC: 2. zmk-studio test START
# https://github.com/zmkfirmware/zmk/blob/main/docs/docs/config/studio.md
CONFIG_ZMK_STUDIO=y
CONFIG_ZMK_STUDIO_LOCKING=n
CONFIG_ZMK_STUDIO=n
# CONFIG_ZMK_STUDIO_LOCKING=n
# MC: zmk-studio test END
### RGB UNDERGLOW
@ -126,6 +126,12 @@ CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5
# ref: https://zmk.dev/docs/config/system#hid
CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y
### STENO ENGINE (disabled for flash measurement)
# CONFIG_ZMK_JAVELIN_STENO=y
# CONFIG_CPLUSPLUS=y
# CONFIG_LIB_CPLUSPLUS=y
# CONFIG_HEAP_MEM_POOL_SIZE=32768
### DEBUG OPTIONS
# CONFIG_ZMK_USB_LOGGING=y
# CONFIG_LOG_PROCESS_THREAD_STARTUP_DELAY_MS=8000

View file

@ -13,6 +13,8 @@
#include <dt-bindings/zmk/backlight.h>
#include <dt-bindings/zmk/rgb.h>
#include <dt-bindings/zmk/reset.h>
#include <dt-bindings/zmk/javelin_steno.h>
#include <behaviors/javelin_steno.dtsi>
&led_strip {
chain-length = <27>;
@ -93,10 +95,10 @@
steno_layer {
display-name = "STEN";
bindings = <
&none &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &to 4
&mo 4 &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp LBKT
&none &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
&td_rgb &kp C &kp V &kp N &kp M &ht_mute_pp C_PLAY_PAUSE C_MUTE
&none &javsteno STENO_NUM1 &javsteno STENO_NUM2 &javsteno STENO_NUM3 &javsteno STENO_NUM4 &javsteno STENO_NUM5 &javsteno STENO_NUM6 &javsteno STENO_NUM7 &javsteno STENO_NUM8 &javsteno STENO_NUM9 &javsteno STENO_NUM10 &to 4
&mo 4 &javsteno STENO_S1 &javsteno STENO_TL &javsteno STENO_PL &javsteno STENO_HL &javsteno STENO_STAR1 &javsteno STENO_STAR3 &javsteno STENO_FR &javsteno STENO_PR &javsteno STENO_LR &javsteno STENO_TR &javsteno STENO_DR
&none &javsteno STENO_S2 &javsteno STENO_KL &javsteno STENO_WL &javsteno STENO_RL &javsteno STENO_STAR2 &javsteno STENO_STAR4 &javsteno STENO_RR &javsteno STENO_BR &javsteno STENO_GR &javsteno STENO_SR &javsteno STENO_ZR
&none &javsteno STENO_A &javsteno STENO_O &javsteno STENO_E &javsteno STENO_U &none
>;
};

View file

@ -11,6 +11,12 @@ manifest:
# fork of zmk-nice-oled with custom KM medal animation
- name: KeebMaker
url-base: https://github.com/KeebMaker
# javelin steno engine module
- name: afiqzudinhadi
url-base: https://github.com/afiqzudinhadi
# javelin steno engine source
- name: jthlim
url-base: https://github.com/jthlim
projects:
# Pinned to v0.3.0 instead of `main`: ZMK main tracks Zephyr 4.1, whose
# board-model rewrite renamed `nice_nano_v2` (now `nice_nano//zmk`) and
@ -36,5 +42,14 @@ manifest:
- name: zmk-oled-adapter
remote: mctechnology17
revision: main
# javelin steno engine module
- name: zmk-javelin-steno
remote: afiqzudinhadi
revision: main
# javelin steno engine source (fetched into module's javelin/ dir)
- name: javelin-steno
remote: jthlim
revision: main
path: zmk-javelin-steno/javelin
self:
path: config

View file

@ -752,43 +752,63 @@ rect.held, rect.combo.held {
</g>
<g transform="translate(84, 49)" class="key keypos-1">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">1</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 60%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 60%">STENO_NUM1</tspan>
</text>
</g>
<g transform="translate(140, 35)" class="key keypos-2">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">2</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 60%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 60%">STENO_NUM2</tspan>
</text>
</g>
<g transform="translate(196, 28)" class="key keypos-3">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">3</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 60%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 60%">STENO_NUM3</tspan>
</text>
</g>
<g transform="translate(252, 35)" class="key keypos-4">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">4</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 60%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 60%">STENO_NUM4</tspan>
</text>
</g>
<g transform="translate(308, 42)" class="key keypos-5">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">5</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 60%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 60%">STENO_NUM5</tspan>
</text>
</g>
<g transform="translate(532, 42)" class="key keypos-6">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">6</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 60%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 60%">STENO_NUM6</tspan>
</text>
</g>
<g transform="translate(588, 35)" class="key keypos-7">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">7</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 60%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 60%">STENO_NUM7</tspan>
</text>
</g>
<g transform="translate(644, 28)" class="key keypos-8">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">8</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 60%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 60%">STENO_NUM8</tspan>
</text>
</g>
<g transform="translate(700, 35)" class="key keypos-9">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">9</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 60%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 60%">STENO_NUM9</tspan>
</text>
</g>
<g transform="translate(756, 49)" class="key keypos-10">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">0</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 60%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 60%">STENO_NUM…</tspan>
</text>
</g>
<g transform="translate(812, 49)" class="key keypos-11">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
@ -803,119 +823,168 @@ rect.held, rect.combo.held {
</a></g>
<g transform="translate(84, 105)" class="key keypos-13">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">Q</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_S1</tspan>
</text>
</g>
<g transform="translate(140, 91)" class="key keypos-14">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">W</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_TL</tspan>
</text>
</g>
<g transform="translate(196, 84)" class="key keypos-15">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">E</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_PL</tspan>
</text>
</g>
<g transform="translate(252, 91)" class="key keypos-16">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">R</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_HL</tspan>
</text>
</g>
<g transform="translate(308, 98)" class="key keypos-17">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">T</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 60%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 60%">STENO_STA…</tspan>
</text>
</g>
<g transform="translate(532, 98)" class="key keypos-18">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">Y</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 60%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 60%">STENO_STA…</tspan>
</text>
</g>
<g transform="translate(588, 91)" class="key keypos-19">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">U</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_FR</tspan>
</text>
</g>
<g transform="translate(644, 84)" class="key keypos-20">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">I</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_PR</tspan>
</text>
</g>
<g transform="translate(700, 91)" class="key keypos-21">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">O</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_LR</tspan>
</text>
</g>
<g transform="translate(756, 105)" class="key keypos-22">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">P</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_TR</tspan>
</text>
</g>
<g transform="translate(812, 105)" class="key keypos-23">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">[</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_DR</tspan>
</text>
</g>
<g transform="translate(28, 161)" class="key keypos-24">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
</g>
<g transform="translate(84, 161)" class="key keypos-25">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">A</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_S2</tspan>
</text>
</g>
<g transform="translate(140, 147)" class="key keypos-26">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">S</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_KL</tspan>
</text>
</g>
<g transform="translate(196, 140)" class="key keypos-27">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">D</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_WL</tspan>
</text>
</g>
<g transform="translate(252, 147)" class="key keypos-28">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">F</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_RL</tspan>
</text>
</g>
<g transform="translate(308, 154)" class="key keypos-29">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">G</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 60%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 60%">STENO_STA…</tspan>
</text>
</g>
<g transform="translate(532, 154)" class="key keypos-30">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">H</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 60%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 60%">STENO_STA…</tspan>
</text>
</g>
<g transform="translate(588, 147)" class="key keypos-31">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">J</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_RR</tspan>
</text>
</g>
<g transform="translate(644, 140)" class="key keypos-32">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">K</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_BR</tspan>
</text>
</g>
<g transform="translate(700, 147)" class="key keypos-33">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">L</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_GR</tspan>
</text>
</g>
<g transform="translate(756, 161)" class="key keypos-34">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">;</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_SR</tspan>
</text>
</g>
<g transform="translate(812, 161)" class="key keypos-35">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">&#x27;</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_ZR</tspan>
</text>
</g>
<g transform="translate(224, 205)" class="key keypos-36">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap"><tspan style="font-size: 86%">&amp;td_rgb</tspan></text>
</g>
<g transform="translate(286, 213) rotate(15.0)" class="key keypos-37">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">C</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_A</tspan>
</text>
</g>
<g transform="translate(351, 224) rotate(30.0)" class="key keypos-38">
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key"/>
<text x="0" y="0" class="key tap">V</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_O</tspan>
</text>
</g>
<g transform="translate(489, 224) rotate(-30.0)" class="key keypos-39">
<rect rx="6" ry="6" x="-26" y="-40" width="52" height="80" class="key"/>
<text x="0" y="0" class="key tap">N</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_E</tspan>
</text>
</g>
<g transform="translate(554, 213) rotate(-15.0)" class="key keypos-40">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">M</text>
<text x="0" y="0" class="key tap">
<tspan x="0" dy="-0.6em" style="font-size: 67%">&amp;javsteno</tspan><tspan x="0" dy="1.2em" style="font-size: 67%">STENO_U</tspan>
</text>
</g>
<g transform="translate(616, 205)" class="key keypos-41">
<rect rx="6" ry="6" x="-26" y="-26" width="52" height="52" class="key"/>
<text x="0" y="0" class="key tap">MUTE</text>
<text x="0" y="24" class="key hold"><tspan style="font-size: 60%">PLAY PAUSE</tspan></text>
</g>
</g>
</g>

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Before After
Before After

View file

@ -88,47 +88,47 @@ layers:
- {t: MUTE, h: PLAY PAUSE}
STEN:
- ''
- '1'
- '2'
- '3'
- '4'
- '5'
- '6'
- '7'
- '8'
- '9'
- '0'
- '&javsteno STENO_NUM1'
- '&javsteno STENO_NUM2'
- '&javsteno STENO_NUM3'
- '&javsteno STENO_NUM4'
- '&javsteno STENO_NUM5'
- '&javsteno STENO_NUM6'
- '&javsteno STENO_NUM7'
- '&javsteno STENO_NUM8'
- '&javsteno STENO_NUM9'
- '&javsteno STENO_NUM10'
- {t: HUB, h: toggle}
- HUB
- Q
- W
- E
- R
- T
- Y
- U
- I
- O
- P
- '['
- '&javsteno STENO_S1'
- '&javsteno STENO_TL'
- '&javsteno STENO_PL'
- '&javsteno STENO_HL'
- '&javsteno STENO_STAR1'
- '&javsteno STENO_STAR3'
- '&javsteno STENO_FR'
- '&javsteno STENO_PR'
- '&javsteno STENO_LR'
- '&javsteno STENO_TR'
- '&javsteno STENO_DR'
- ''
- '&javsteno STENO_S2'
- '&javsteno STENO_KL'
- '&javsteno STENO_WL'
- '&javsteno STENO_RL'
- '&javsteno STENO_STAR2'
- '&javsteno STENO_STAR4'
- '&javsteno STENO_RR'
- '&javsteno STENO_BR'
- '&javsteno STENO_GR'
- '&javsteno STENO_SR'
- '&javsteno STENO_ZR'
- ''
- '&javsteno STENO_A'
- '&javsteno STENO_O'
- '&javsteno STENO_E'
- '&javsteno STENO_U'
- ''
- A
- S
- D
- F
- G
- H
- J
- K
- L
- ;
- ''''
- '&td_rgb'
- C
- V
- N
- M
- {t: MUTE, h: PLAY PAUSE}
FPS:
- {t: '1', h: Esc}
- '2'