TAP

API reference

Shared concepts across official SDKs. Platform method names differ — semantics do not. For SDK-specific surfaces see the platform pages.

  1. Tap combinations
  2. Input modes
  3. Air gestures
  4. Raw sensor types
  5. Haptics

Tap combinations (1–31)

Bitmask: bit0 = thumb … bit4 = pinky. Helpers: TAPCombination.toFingers (iOS), TapSdk.toFingers (Android).

ValueBinaryThumbIndexMiddleRingPinky
10b00001●····
20b00010·●···
30b00011●●···
40b00100··●··
50b00101●·●··
60b00110·●●··
70b00111●●●··
80b01000···●·
90b01001●··●·
100b01010·●·●·
110b01011●●·●·
120b01100··●●·
130b01101●·●●·
140b01110·●●●·
150b01111●●●●·
160b10000····●
170b10001●···●
180b10010·●··●
190b10011●●··●
200b10100··●·●
210b10101●·●·●
220b10110·●●·●
230b10111●●●·●
240b11000···●●
250b11001●··●●
260b11010·●·●●
270b11011●●·●●
280b11100··●●●
290b11101●·●●●
300b11110·●●●●
310b11111●●●●●

Example: 5 = 0b00101 = thumb + middle.

Input modes

ModeBehavior
TextHID keyboard. SDK tap callbacks are not delivered.
ControllerFinger combinations (+ mouse packets) to the SDK.
Controller + Mouse HIDController events plus system mouse cursor.
Raw SensorFinger accel + thumb IMU stream (Tap Strap 2 IMU).

Mental model: How Tap works.

Air gestures

TapXR on the new developer firmware supports the full gesture set (taps, thumb-to-finger pinches, pinch-and-drag, thumb swipes, fist). Raw air gestures (swipes, pinches, fist) are available in Python, Web and Android (Android via onAirMouseInputReceived). iOS delivers TapXR air gestures through tapXRAirGestured.

NameValue
OneFingerUp2
TwoFingersUp3
OneFingerDown4
TwoFingersDown5
OneFingerLeft6
TwoFingersLeft7
OneFingerRight8
TwoFingersRight9
IndexToThumbTouch10
MiddleToThumbTouch11
XRAirGestureNone (qualified)100
XRAirGestureThumbIndex (qualified)101
XRAirGestureThumbMiddle (qualified)102

Raw sensor types

TypeContents
DevicePer-finger 3-axis accelerometers (thumb, index, middle, ring, pinky)
IMUThumb-unit gyro + accelerometer (Tap Strap 2)

Haptics

Duration arrays are haptic, pause, haptic, pause… in milliseconds, up to 18 elements. Example: [500, 100, 500].