1
0
Fork
You've already forked crocus
0
No description
  • Odin 96.3%
  • Just 3.7%
Find a file
2026年07月02日 22:03:55 +05:30
common moved stuff to common 2026年07月01日 22:00:44 +05:30
engine improve left keyboard inputs 2026年07月02日 21:43:35 +05:30
visualizer improve left keyboard inputs 2026年07月02日 21:43:35 +05:30
justfile added README, license and release build commands 2026年07月02日 22:03:55 +05:30
README.md added README, license and release build commands 2026年07月02日 22:03:55 +05:30
UNLICENSE added README, license and release build commands 2026年07月02日 22:03:55 +05:30

crocus

laptop keyboard + trackpad as a Plover machine

how it works

  • trackpad splits in half at the middle. each half acts like a joystick — you push your finger away from where you put it down, and it picks a direction (Up, Down, LeftUp, LeftDown, RightUp, RightDown, or DeadZone if you barely moved)
  • the directions make a sequence. each time you enter a direction it toggles that steno key on/off (XOR style)
  • keyboard keys also produce steno keys. see mapping below
  • when you lift all fingers and release all keys, it sends a TX Bolt stroke over a Unix socket
  • a visualizer can connect to a second socket to show what's happening

requirements

  • Linux with evdev
  • Odin

build

just setup # create build/ directory
just build-engine # build engine
just build-viz # build visualizer

or without just:

mkdir -p build/debug
odin build engine -vet -strict-style -debug -out:build/debug/crocus_engine-debug
odin build visualizer -vet -strict-style -debug -out:build/debug/crocus_viz-debug

1. socat bridge

the engine talks to Plover via a Unix socket. socat bridges it to a serial port:

# pick a path in your home dir if you want to use it without sudo:
socat -d -d pty,raw,echo=0,link=$HOME/storage/temp/dev/tty-plover UNIX-LISTEN:/tmp/wowserial,perm=0666,fork

2. engine

just run-engine
  • PgUp toggles steno mode (keyboard grabbed) / transparent mode (ungrabbed)
  • Escape exits

3. Plover

configure Plover's serial machine to connect to the path from step 1 (e.g. /home/vinnu/storage/temp/dev/tty-plover).

4. visualizer (optional)

just run-viz

keyboard mapping

laptop key steno key
A #
S S-
D *
C A-
V O-
N -E
M -U
I -T
K -S
L -D
; -Z

trackpad mapping

  • basically a translation of controller_plover onto a trackpad
  • 6 segment directions: Up, Down, LeftUp, LeftDown, RightUp, RightDown
  • entering a direction toggles the corresponding steno key

Left side

 -----------------
 / \ / \
 / \ P- / \
 / \ / \
 / T- \_______/ H- \
 / / \ \
 / / \ \
 +---------| |---------+
 \ \ / /
 \ \ / /
 \ K- \_____/ R- /
 \ / \ /
 \ / W- \ /
 \ / \ /
 -----------------

Right side

 -----------------
 / \ / \
 / \ -P / \
 / \ / \
 / -F \_______/ -L \
 / / \ \
 / / \ \
 +---------| |---------+
 \ \ / /
 \ \ / /
 \ -R \_____/ -G /
 \ / \ /
 \ / -B \ /
 \ / \ /
 -----------------

Credits

  • Plover thanks for this amazing project!
  • controller_plover this project and my journey into steno may never have started without it!
  • TwoPhoneSteno for showing just hackable Linux is and how easy it is emulate a TX Bolt device

UNLICENSE