Build For The Hand.
By default, KeyboardHand outputs standard USB HID keystrokes. But beneath the surface, it is generating 120Hz 3D coordinate data for 26 distinct joints. We give you full access to that raw data.
The HID Bypass
For standard high-speed text input, the onboard Cortex-M7 handles the ML inference and outputs standard keystrokes, ensuring zero latency and driverless operation. However, developers can query the device via a dedicated serial interface to bypass the HID emulation and pull raw coordinate data.
Example: Polling Left Index Finger
import { KeyboardHand } from '@kh/sdk';
const device = await KeyboardHand.connect();
device.on('frame', (frame) => {
// Returns [x, y, z] coordinates in millimeters
// relative to the sensor origin.
const indexTip = frame.leftHand.index.distal;
if (frame.leftHand.isPinching()) {
console.log(`Pinch at ${indexTip.x}, ${indexTip.y}`);
}
});
Custom Chording Maps
The most common developer use-case is altering the onboard chording map. Using our visual desktop client, or by pushing a JSON map directly to the device's EEPROM, you can bind complex multi-finger gestures to OS-level macros or IDE snippets.
For example, many users map a 4-finger squeeze to `git push origin main` or bind a thumb-roll to switch virtual desktops in spatial computing environments. Because these maps are stored on the hardware, they persist if you plug the device into a locked-down enterprise machine.
Accessibility Integrations
KeyboardHand's ability to track micro-movements makes it a powerful tool for accessibility. Developers have built custom firmwares that map slight wrist rotations or single-finger twitches to full mouse control for users with limited mobility or severe RSI.
Test API Latency