Files

46 lines
1.6 KiB
Markdown

# input-remapper-switcher
Automatically switches [input-remapper](https://github.com/sezanzeb/input-remapper) presets on a per-game (or per-app) basis when used with the **Hyprland** window manager.
## How It Works
1. Connects to the Hyprland socket (`.socket2.sock`) and listens for `activewindowv2` events.
2. On each window change, it grabs the focused window's **class** and **title** via `hyprctl activewindow -j | jq`.
3. If either value matches a configured entry in the `PROFILES` associative array, it activates the corresponding input-remapper preset on your device.
4. When an unknown window is focused, it deactivates the last active preset.
> Uses `input-remapper-control` under the hood to start/stop presets.
## Adding a Game Profile
1. Find the window class or title of your game:
- Run `hyprctl clients` and locate the game in the output (class and title are listed for each window)
2. Get the exact name of your input device:
- `sudo input-remapper-control --list-devices`
3. Edit `input-remapper-switcher.sh` and add an entry to the `PROFILES` array (line 6):
```bash
declare -A PROFILES=(
["Grand Theft Auto V"]="GTA"
["steam_app_1151340"]="Fallout"
["steam_app_1203620"]="Enshrouded"
# Add yours here:
["Your Window Class or Title"]="Your Preset Name"
)
```
4. If your device is different, update `DEVICE_NAME` on line 13:
```bash
DEVICE_NAME="Your Device Name"
```
## Usage
Run the script manually or launch it at Hyprland startup (e.g., in `hyprland.conf`):
```conf
exec-once = ~/.config/hypr/scripts/input-remapper-switcher.sh
```
The script runs in the foreground listening for events — it does not daemonize on its own.