Plover HID
The Plover HID protocol is an alternative protocol for steno keyboards to communicate with steno software, using the common HID (Human Interface Device) standard for mice, keyboards, game controllers, et cetera.
It is implemented by the plover-machine-hid Plover plugin.
Notably, it sends packets for each key-up or key-down event, unlike the Gemini PR or TX Bolt protocols which only send a packet after a chord is completely released. This allows the plugin to support features such as first-up chord send or auto-repeat.
Using Plover HID
If your steno board supports Javelin, you can use the firmware builder to get a version of the Javelin firmware that outputs Plover HID:
- At the top of the page, enable Show expert options.
- Under Keymap, click the Edit button next to "Script: OK, xxx bytes"
- Find the line that says
console("set_steno_mode gemini");
- Replace it with
console("set_steno_mode plover_hid");
Now the four corner keys on your board switch between embedded steno and Plover HID output.
To install the plover-machine-hid plugin, see Installing plugins. Then select "Plover HID" under "Machine" in Plover.
Specification
Devices using the Plover HID protocol can be recognized by usagePage = 0xFF50
and usage = 0x4C56
.
They send input reports with report ID 80 (0x50
) followed by an 8-byte body. The body is a 64-bit bitmask representing the state of the standard English steno keys S- T- K- P- W- H- R- A- O- * -E -U -F -R -P -B -L -G -T -S -D -Z #
, followed by extra keys X1
through X26
.
For example, when S-
is pressed down, the device reports 80 00 00 00 00 00 00 00
(in hexadecimal). Then when T-
is additionally pressed it reports c0 00 00 00 00 00 00 00
.
See also
- The specification in the plover-machine-hid README
- Plover HID Inspector, for debugging.
- Plover HID Display, a web-based live keyboard display tool.