What does the Device Access Toolkit expose from the band?
Every event carries a source and an on-device timestampMs. Two sources belong to the band (Meta, Inputs; InputSource reference):
| Source | What it is | Events it produces |
|---|---|---|
NEURAL_BAND | Discrete band gestures, such as a tap | Nav, Select |
NEURAL_BAND_DRAG | Pinch-and-drag stream | Drag |
The glasses add their own sources: the temple touchpad (CAPTOUCH), the capture button and the action button. Across all sources there are six event types: Nav, Select, Back, Button, Capture and Drag.
A Drag is one DOWN, any number of MOVE samples and one UP, each with x, y, dx, dy. Meta does not guarantee an origin, range or axis direction for those coordinates, so treat them as relative to each other, not as pixels. A Nav or Select arrives as exactly one event when the gesture is released; there are no separate down and up events.
Details that will shape any app built on it, all from the same page:
- The device decides the mapping, not your app. Which physical gesture becomes which event is device behaviour, and the wearer's settings can invert swipe directions.
- No permission prompt. Inputs has no
Permissionvalue, so there is nothing to request. - A 64-event buffer. The stream keeps the most recent 64 events and drops the oldest if your code falls behind.
- A 10-second activation timeout. If activation is not acknowledged in 10 seconds, the capability settles back to inactive.
Backis not delivered by real glasses yet. It exists in the SDK and can be injected in tests.- You can test without hardware. Mock Device Kit injects events over the same path, including
NavandSelectfrom the band source, but it bypasses the device's own gesture recognition, so validate that on real hardware.
Can you get raw EMG from the Neural Band?
Not through Inputs. The docs say you receive a decoded event "rather than touch coordinates or muscle activity" (Meta, Inputs).
Raw surface EMG is available from research instead. Alongside their Nature paper, Reality Labs released generic-neuromotor-interface: sEMG recordings from 100 participants for each of three tasks (discrete gestures, handwriting and wrist), recorded at 2 kHz and high-pass filtered at 40 Hz, with model implementations, training code and pretrained checkpoints. The dataset and code are CC-BY-NC-4.0, so they are for non-commercial work.
The paper sets the ceiling for what the band's signals can carry. Its generic models, trained across thousands of participants and used without per-person calibration, reached a median of 0.66 target acquisitions per second in continuous navigation, 0.88 gesture detections per second in a discrete-gesture task, and 20.9 words per minute of handwriting; personalising the handwriting model improved it by 16% (Kaifosh, Reardon et al., Nature 645, 702–711, 2025).
Does the Neural Band SDK support handwriting?
Not as a documented event. Handwriting at 20.9 words per minute is a research result from the paper. The Inputs event list in the developer docs has no text or handwriting event, so an app cannot read handwritten characters from the band through this capability today.
What does this mean for programming by gesture?
Count the symbols. On today's public interface a band gives an app five discrete symbols (four Nav directions and Select) and a stream of relative drag samples. Neuralang's gesture alphabet assumes nine chords plus surface handwriting, which is closer to what the paper demonstrates than to what the SDK exposes. The figures are on Research; pairing and the toolchain are in the docs. Other notes: blog.
A worked example. Spelling one of nine tokens with five symbols takes two symbols per token (5 × 5 = 25 combinations), so a nine-chord program would be roughly twice as many gestures. The alternative is to recognise shapes on the phone from Drag samples, which turns the pinch-and-drag stream into a small stroke alphabet. Both are design choices for the language, not features of the band. Neuralang's band daemon is still in design and does not read Neural Band events today; see the spec.
FAQ
Is there a Meta Neural Band SDK?
Which Neural Band gestures can an app receive?
Nav (four directions) and Select, and pinch-and-drag as a Drag stream. The device decides the mapping.Can Neural Band app developers see your muscle signals?
Can I test a Neural Band app without the band?
Nav, Select and Drag events. It skips the device's own gesture recognition.Can I use Meta's sEMG dataset in a product?
Is Neuralang made by Meta?
Sources
- Meta Wearables Developers. Inputs (Device Access Toolkit v1.0, beta). https://wearables.developer.meta.com/docs/develop/dat/inputs/
- Meta Wearables Developers. InputSource enum, Android DAT 1.0. https://wearables.developer.meta.com/docs/reference/android/dat/1.0/com_meta_wearable_dat_inputs_types_inputsource
- Kaifosh P., Reardon T. R. & CTRL-labs at Reality Labs. A generic non-invasive neuromotor interface for human-computer interaction. Nature 645, 702–711 (2025). https://www.nature.com/articles/s41586-025-09255-w
- facebookresearch/generic-neuromotor-interface (dataset and code, CC-BY-NC-4.0). https://github.com/facebookresearch/generic-neuromotor-interface