Skip to main content

Customization

Make Ultragrip your own with custom profiles, sensitivity tuning, and shared configurations.

Configuration Files

Ultragrip stores profiles as JSON files with hot-reload support. Edit them while the app is running to test changes instantly.

Configuration Location

macOS: ~/Library/Application Support/Ultragrip/profiles/
Windows: %APPDATA%\Ultragrip\profiles\
Linux: ~/.config/ultragrip/profiles/

Profile Structure

Each profile is a JSON file defining button mappings, sensitivity curves, and metadata.

{
  "name": "My Custom Profile",
  "version": "1.0.0",
  "sensitivity": {
    "leftStick": 1.0,
    "rightStick": 0.8,
    "triggers": 1.2
  },
  "buttons": {
    "south": {
      "action": "accept",
      "description": "Accept suggestion"
    },
    "east": {
      "action": "reject",
      "description": "Reject/Cancel"
    },
    "north": {
      "action": "cycle_mode",
      "description": "Switch profile"
    }
  },
  "axes": {
    "left_stick": "navigate_ui",
    "right_stick": "mouse_cursor",
    "left_trigger": "shift_modifier",
    "right_trigger": "voice_input"
  }
}

What You Can Customize

Button Mappings

  • • Remap any button to any action
  • • Create modifier combinations (L2 + X)
  • • Define per-application overrides
  • • Set hold vs. tap behaviors

Sensitivity Curves

  • • Adjust stick deadzone (0.0-0.5)
  • • Set trigger activation threshold
  • • Configure mouse cursor speed
  • • Enable/disable stick acceleration

Voice Settings

  • • Choose microphone input
  • • Set voice activation threshold
  • • Configure local vs. cloud STT
  • • Enable auto-punctuation

Visual Feedback

  • • Button highlight colors
  • • Voice indicator style
  • • Mode switch animations
  • • Minimize to tray behavior

Sharing Configurations

Share your custom profiles with teammates or the community. Profiles are just JSON files—commit them to git or share via any file transfer.

Export Profile

Copy your profile JSON from the config directory and share it.

cp claude-code.json ~/shared-profiles/

Import Profile

Drop a profile JSON into your config directory. It loads automatically.

mv custom.json ~/Library/.../profiles/

Hot Reload

Ultragrip watches your config files for changes. Edit a profile, save it, and the changes apply instantly—no restart needed. Perfect for iterative tuning.