Use these scripts to control Buttplug.io compatible vibration devices using AutoHotkey. This project uses a Python-based web server to act as a bridge between AutoHotkey and Intiface Central, allowing for global hotkey control over your device's vibration level.
This has only been tested on one device (the one I own) and only for the function of vibration. IF you have a device with other functions, I won't be able to help you with that. However, I encourage anyone to use this code as an example to improve and expand upon.
Code was written with AI assistance.
- Global Hotkeys: Use your keyboard's numpad to instantly set vibration levels, even when you are in another application.
- Simple Startup: Just run one script (
vibe_hotkey.ahk) to automatically start both the server and the hotkey listener. - Automatic Shutdown: Closing the AHK script also automatically terminates the background server process, leaving no cleanup needed.
To run this project, you will need the following installed:
- Intiface Central: The application that manages the connection to your physical device.
- Python (Version 3.10.0 Recommended): The project was developed and tested using this version.
- AutoHotkey (v1.1 or newer recommended): The scripting engine for the hotkeys.
Once Python is installed, open a Command Prompt (cmd.exe) and run the following command to install the required libraries:
pip install "uvicorn[standard]" buttplug-py fastapiDownload the vibe_server1.py and vibe_hotkey.ahk files from this repository and place them in a folder together on your computer.
- Start Intiface Central and ensure your device is connected and functioning.
- Navigate to the folder where you saved the two project files.
- Double-click
vibe_hotkey.ahkto run the AHK script.
A message box will appear confirming the script and server are running. You can now use the numpad keys to control your device.
- Numpad 0-9: Sets vibration from 0% to 90%.
- Numpad Enter: Sets vibration to 100%.
- Esc: Exits the script and stops the server.
This project is licensed under the MIT License. See the LICENSE file for details.