Skip to main content

Wayland overlays for visualizing touchpad gestures and keyboard shortcuts

Project description

TouchView

Wayland overlays for visualizing touchpad gestures and keyboard shortcuts. Shows semi-transparent panels using Layer Shell's OVERLAY layer — sits above all windows and panels, fully click-through.

Useful for demos, screen recordings, and showcasing compositor features.

Tools

  • touchview — touchpad finger position overlay (white dots on dark panel)
  • keyview — keyboard shortcut overlay (shows key combos like "Super + L", "Alt + Tab")

Requirements

  • Wayland compositor with layer shell support (sway, Hyprland, etc.)
  • gtk4-layer-shell (system package)
  • Access to /dev/input/event* (user must be in input group)

Install

pip install touchview

Or with uv:

uv tool install touchview

From source:

git clone https://github.com/malbiruk/touchview.git
cd touchview
pip install .

touchview

Visualizes touchpad finger positions in real-time.

touchview [OPTIONS]
Flag Default Description
--bg-color HEX #000000 Background color
--bg-opacity F 0.6 Background opacity (0-1)
--dot-color HEX #ffffff Finger dot color
--dot-opacity F 0.95 Dot opacity (0-1)
--dot-size PX 18 Dot radius
--glow-size PX 48 Glow radius
--height PX 400 Window height (width from touchpad aspect ratio)
--radius PX 24 Corner radius
--position bottom-right Window position
--margin PX 20 Edge margin
# Blue-tinted, bottom-left
touchview --bg-color '#1a1a2e' --position bottom-left

# Small overlay
touchview --height 200 --dot-size 10 --glow-size 24

keyview

Shows keyboard shortcuts and key combos as an overlay.

  • Modifier combos (Ctrl, Alt, Super, Shift + key) display as "Super + L"
  • Lone modifier taps show the modifier name
  • Auto-fades after timeout
keyview [OPTIONS]
Flag Default Description
--bg-color HEX #000000 Background color
--bg-opacity F 0.6 Background opacity (0-1)
--text-color HEX #ffffff Text color
--text-opacity F 0.95 Text opacity (0-1)
--font-size PX 40 Font size
--radius PX 16 Corner radius
--timeout SEC 1.5 Seconds before fade
--position bottom-left Window position
--margin PX 20 Edge margin
# Both tools side by side — touchview right, keyview left
touchview --position bottom-right &
keyview --position bottom-left &

Positions

Both tools support: top-left, top, top-right, left, right, bottom-left, bottom, bottom-right

Permissions

sudo usermod -aG input $USER
# then log out and back in

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

touchview-0.1.0.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

touchview-0.1.0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file touchview-0.1.0.tar.gz.

File metadata

  • Download URL: touchview-0.1.0.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.3

File hashes

Hashes for touchview-0.1.0.tar.gz
Algorithm Hash digest
SHA256 472063745c52c5fe9c7703f49631a687c0ace8d8347e1026415333acb9dc5ff6
MD5 c48306dc1bc0ea2070ce19b7ae07854a
BLAKE2b-256 fda3baca58a2788382203d70998c877ebb836ac64535bf78d757c3c3ac8b25df

See more details on using hashes here.

File details

Details for the file touchview-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: touchview-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.3

File hashes

Hashes for touchview-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2f09f7317401e807fd465f7b49f402177c3bde663fbfb5bfa98e434ea54fac88
MD5 7be15652c3643e18bb0a25f5f50dbaa0
BLAKE2b-256 3324dc15e277be6bb4aeccda8849607526da9b2c109e09ca4f0f9dabf3021eaa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page