Home
API reference

HapticsOptions

strata-game-library/capacitor

strata-game-library/capacitor


strata-game-library/capacitor / HapticsOptions

Interface: HapticsOptions

Defined in: definitions.ts:75

Unified haptics options supporting multiple vibration modes.

Examples

// Preset intensity
await triggerHaptics({ intensity: 'medium' });
// Custom intensity with duration
await triggerHaptics({ customIntensity: 0.7, duration: 30 });
// Pattern (Android/Web only)
await triggerHaptics({ pattern: [100, 50, 100, 50, 100] });

Properties

customIntensity?

optional customIntensity: number

Defined in: definitions.ts:93

Custom intensity (0-1) for fine-grained control. If specified, takes precedence over intensity preset. Note: iOS will round to nearest preset (light/medium/heavy).

Minimum

0

Maximum

1


duration?

optional duration: number

Defined in: definitions.ts:99

Duration in milliseconds. Note: iOS ignores this parameter (uses system default ~10ms).

Default

Based on intensity (light=10, medium=25, heavy=50)

intensity?

optional intensity: "light" | "medium" | "heavy"

Defined in: definitions.ts:85

Preset intensity level (recommended for consistency across platforms). Maps to platform-specific intensities:

  • iOS: UIImpactFeedbackGenerator.light/medium/heavy
  • Android: Amplitude 50/150/255
  • Web: Duration 10/25/50ms (or gamepad magnitude 0.25/0.5/1.0)

Optional when customIntensity or pattern is provided; defaults to 'medium'.


pattern?

optional pattern: number[]

Defined in: definitions.ts:108

Vibration pattern: [vibrate, pause, vibrate, pause, ...] in milliseconds. When specified, overrides duration and intensity. Note: Not supported on iOS. Android supports patterns. Web: Uses Navigator.vibrate() pattern array. Note: Pattern-based haptics do not trigger gamepad vibration.

Example

[100, 50, 100] // vibrate 100ms, pause 50ms, vibrate 100ms

style?

optional style: "light" | "medium" | "heavy"

Defined in: definitions.ts:116

Legacy style for backward compatibility.


type?

optional type: "impact" | "notification" | "selection"

Defined in: definitions.ts:112

Legacy type for backward compatibility with initial implementation.