Skip to content

About

Per-device pointer sensitivity for Omarchy/Hyprland — calm down a ThinkPad TrackPoint without touching the touchpad

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

hypr-input-tune

A small menu-driven tool to live-preview and save per-device pointer sensitivity on Omarchy / Hyprland — e.g. calming down a ThinkPad's TrackPoint (the red nub) without touching the touchpad, or vice versa.

Hyprland already supports per-device input config via hl.device({ name = ..., sensitivity = ... }) in Lua config, keyed by the exact device name from hyprctl devices. This tool just wraps that in a menu so you don't have to hand-edit config files or remember device names: pick a device, step through sensitivity values with instant live preview, then save.

Device picker

Why

Omarchy has no built-in settings GUI for this — sensitivity tuning is config-file territory, and Hyprland's own per-device sensitivity has no menu/GUI anywhere in the ecosystem as far as we found. This fills that one gap without pulling in an unrelated settings app (see Alternatives below for what we looked at and why we didn't use it).

How it works

  1. Lists your pointer devices (hyprctl devices -j), shown with friendly labels ("TrackPoint", "Touchpad", "Mouse") — the real device name is kept underneath and is what actually gets configured.
  2. You pick a device, then step through sensitivity values (-1.0 to 1.0). Each pick is applied live with hyprctl eval so you feel the difference immediately, before anything is saved.
  3. Confirm to persist (writes a marked hl.device({...}) block into ~/.config/hypr/input.lua, one block per device, safe to re-run and re-edit) — or try another value, or abort and revert to whatever was last saved.

Requirements

  • Omarchy (uses hyprctl, jq, and Omarchy's own omarchy menu select for the UI)
  • python3 (used only for the config-file block update, stdlib only)

Install

git clone https://github.com/Dessection/hypr-input-tune.git ~/hypr-input-tune
mkdir -p ~/.local/bin
ln -sf ~/hypr-input-tune/hypr-input-tune ~/.local/bin/hypr-input-tune

Make sure ~/.local/bin is on your PATH (Omarchy's default shell config already puts it there).

Optional: add it to the Omarchy menu

Add to ~/.config/omarchy/extensions/omarchy-menu.jsonc:

"pointer-sensitivity": {
  "icon": "",
  "label": "Pointer sensitivity",
  "action": "hypr-input-tune",
  "description": "Per-device mouse/touchpad/TrackPoint sensitivity"
}

Then omarchy menu refresh. It'll show up searchable from the Omarchy menu.

Usage

hypr-input-tune

Or launch "Pointer sensitivity" from the Omarchy menu if you added the entry above.

Uninstall

rm ~/.local/bin/hypr-input-tune
rm -rf ~/hypr-input-tune

(and remove the pointer-sensitivity entry from omarchy-menu.jsonc if you added it). Any sensitivity already saved stays working — it's just plain hl.device({...}) calls in your input.lua, marked with -- hypr-input-tune:BEGIN/END <device> comments. Delete those blocks by hand if you want the values gone too.

Known issue in Omarchy (not this tool)

/usr/share/omarchy/bin/omarchy-menu-select forwards menu options as bare argv to perl -M... -e '...' "${options[@]}" with no -- separator. An option string starting with - (like -0.4) gets parsed by Perl as an unrecognized switch, and the menu aborts before it's even shown — silently, with just the plain-text error Unrecognized switch: -0.4 (-h will show valid options). on stderr. This tool works around it by prefixing every sensitivity value with "Sensitivitet " so the option string never starts with -. Worth reporting upstream to basecamp/omarchy — hasn't been filed yet as of this writing.

Alternatives considered

  • hyprsettings — a general Hyprland settings GUI, but mouse sensitivity there is global only, not per-device.
  • nwg-shell-config — does support per-device input config and Hyprland, but it's part of the separate nwg-shell ecosystem and writes plain Hyprland .conf, which risks conflicting with Omarchy's own Lua-based config loading.
  • Omarchist — a real Omarchy GUI app, but scoped to theming, not input devices.

None of these fit "adjust one device's sensitivity, live-preview it, save it" without either being global-only or risking fights with Omarchy's config system — hence this small standalone script instead.

License

MIT — see LICENSE.

About

Per-device pointer sensitivity for Omarchy/Hyprland — calm down a ThinkPad TrackPoint without touching the touchpad

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages