tapwithus/tap-android-sdk/tap-android-raw-sensors

Claude Code and agent skill by tapwithus/tap-android-sdk

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Stream raw accelerometer and gyroscope samples from a Tap on Android (classic raw mode or framed RAW_IMU_DATA) and set sensitivity. Use for raw sensors, raw IMU, accelerometer, gyro, data logging, or custom gesture recognition. Requires tap-android-getting-started order: getDefault, registerTapListener, resume and pause.

Install

npx vskill@latest install tapwithus/tap-android-sdk/tap-android-raw-sensors

SKILL.md

Raw sensors

For logging and custom gesture models. For a cursor or orientation, prefer tap-android-imu-motion (less data, already integrated).

Samples arrive on onRawSensorInputReceived(id, RawSensorData). Keep the callback short: copy the sample onto a queue and write files on another thread.

Packet

RawSensorData fields: timestamp (device clock, milliseconds), dataType, points (Point3 x, y, z).

dataTypeContentsIndexes
RawSensorData.DataType.Devicefinger accelerometers, thumb firstiDEV_THUMB, iDEV_INDEX, iDEV_MIDDLE, iDEV_RING, iDEV_PINKY
RawSensorData.DataType.IMUthumb gyro and accelerometeriIMU_GYRO, iIMU_ACCELEROMETER
java
Point3 thumb = rsData.getPoint(RawSensorData.iDEV_THUMB);
if (thumb != null) {
double x = thumb.x, y = thumb.y, z = thumb.z;
}

Use timestamp for spacing between samples, not System.currentTimeMillis().

Classic protocol

java
sdk.registerTapListener(listener);
// from onTapConnected, or once you know the id:
sdk.startRawSensorMode(id, (byte) 0, (byte) 0, (byte) 0); // 0 = device default
// leave raw mode
sdk.startControllerMode(id);

Arguments are deviceAccelerometerSensitivity (finger accelerometers, 1–4), imuGyroSensitivity (1–5), and imuAccelerometerSensitivity (1–4). 0 keeps the default.

  • Raw streaming on classic firmware needs Developer mode in the Tap Manager app.
  • Tap Strap streams finger accelerometers. Tap Strap 2 and TapXR also stream the thumb IMU.
  • pause() stops the raw-mode refresh loop. resume() starts it again. Forward both.

Framed protocol

startRawSensorMode enables DeviceFeature.RAW_IMU_DATA and disables model detection and IMU-motion. The framed protocol streams the thumb IMU only. There are no finger accelerometers. DataType.Device packets are not produced.

java
sdk.setFeature(id, DeviceFeature.RAW_IMU_DATA, true);
sdk.setImuSensitivity(id, /* gyro 0-5 */ 3, /* accelerometer 0-4 */ 2);
sdk.getImuSensitivity(id, (identifier, sensitivity) -> {
// null on timeout
// sensitivity.getGyro() and sensitivity.getAccelerometer() are the wire bytes
});

Gyro range is 0–5. Accelerometer range is 0–4. 0 is not a named range.

Turn raw mode off with setFeature(id, DeviceFeature.RAW_IMU_DATA, false) or startControllerMode(id), then re-select a vision model if you want taps again (startXRTappingState).

Logging

Append samples to an ArrayDeque or a single-thread executor from the callback. Write CSV off that callback. Columns that stay unambiguous: timestamp, type (device or imu), then x, y, z per point. Ask the user how long to record. There is no sample script in the SDK; the callback above is the whole integration.

Docs in this repo

  • Field list: tap-android-sdk skill, reference.md
  • README section "Raw Sensor Mode"

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
31
Repository forks
7
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/tapwithus/tap-android-sdk/tap-android-raw-sensors/badge)](https://verified-skill.com/skills/tapwithus/tap-android-sdk/tap-android-raw-sensors)

Something wrong with this skill or its page? Tell us.