Haptic feedback for your games, driven by the keys you're already pressing.
TIGHC links your keyboard/mouse input to a Buttplug/Intiface toy. Sneak, sprint, attack, jump — each action can drive its own motor, at its own intensity, per game.
18+ only. See the notice above for details.
What it does
Per-game profiles
Each game gets its own profile — keybinds, intensity ranges, and window-title matching. TIGHC watches whatever window has focus and switches profiles automatically as you alt-tab. Matching supports substring or exact mode, case-sensitively, so Grounded and Grounded 2 never cross-activate.
Per-motor targeting
Every capability a device exposes — each motor's vibrate, oscillate, rotate — is its own independently controllable channel, nicknamed and targeted individually by a keybind, a group of keybinds, or all of them at once.
Hold-until-release bindings
Every binding works the same way: pressing a key fires the vibration at a rolled intensity; holding it sustains; releasing stops it immediately. Scroll wheel fires a short fixed burst since it has no release event. No modes to configure.
Randomized intensity bands
Every binding rolls its intensity from a configurable
[low, high] range each time it fires, so nothing
feels mechanically repetitive.
Full GUI, or hand-edit JSON
Connect to Intiface, scan devices, assign nicknames, build profiles, and tune settings — all from one interactive window. Every setting is also a plain JSON file you can edit by hand.
Test mode & panic key
Simulate any profile's keybinds without the game running, or drive a channel manually with a slider. A configurable panic key forces everything off instantly, any time.
How it works
-
1
Connect
Point TIGHC at your running Intiface Central instance and scan for devices.
-
2
Name your channels
Give each motor/capability a nickname that sticks across reconnects and rescans.
-
3
Pick or build a profile
Use an included profile or start a new one from a template, mapping keys/buttons to channels and intensity ranges.
-
4
Play
Start the engine and play. TIGHC follows the focused window, switching profiles automatically as you switch games.
Game profiles
Profiles live in a separate, shared repository — TIGHC Profiles — downloaded automatically on first launch, so new games and updates ship independently of the engine itself.
See the full profiles page for the
current list — bindings, window matching, and confirmation status
for each — fetched live from the profiles repository. Adding a new
one takes a copy of an existing profile folder and a few edits to
profile.json, from the GUI's "New profile..." button
or by hand.
Get started
Clone and run:
git clone https://github.com/TIGHC/Engine.git
cd Engine
python gui.py
Prefer not to install Python at all? Grab a standalone executable from the Releases page instead.
Windows
The primary target. Run python gui.py and follow
the on-screen setup — connect to Intiface, scan, and go. See the
Windows guide for the standalone
executable and troubleshooting.
Linux & Steam Deck
Fully supported, including Steam Deck's Desktop Mode — an X11 session is required rather than Wayland, since focused-window detection and global input capture both need it. See the Linux guide for the full walkthrough.
macOS
Run python gui.py, or grab the
TIGHC-macos-* executable from the
Releases page — no Python install needed.
See the macOS guide for the
Accessibility/Input Monitoring permissions it needs.