Skip to content

feat(linux): add ydotool support for text input#557

Merged
cjpais merged 1 commit intocjpais:mainfrom
manimohans:feat/ydotool-support
Jan 10, 2026
Merged

feat(linux): add ydotool support for text input#557
cjpais merged 1 commit intocjpais:mainfrom
manimohans:feat/ydotool-support

Conversation

@manimohans
Copy link
Contributor

Human Written Description

I'm running Handy on Fedora 43 with GNOME/Wayland. The existing tools (wtype, dotool) either aren't packaged for Fedora or don't work with GNOME's compositor. ydotool is available in Fedora repos and uses uinput, which bypasses compositor limitations. This gives Fedora/GNOME users another option for text input.

Related Issues/Discussions

#522

Testing

Tested on Fedora 43 (Wayland/GNOME):

  • ydotool detection works (logs show "Using ydotool for direct text input")
  • Requires ydotoold daemon running and user in input group
  • Note: Key combo simulation may have issues on some GNOME setups due
    to keycode mapping, but direct text typing works

Add ydotool as a fallback option for direct text input and key
combinations on Linux, after wtype/dotool (Wayland) and xdotool (X11).

ydotool uses uinput and works on both Wayland and X11, making it a
useful alternative when other tools are unavailable.

Requirements:
- ydotool installed
- ydotoold daemon running
- User in input group with uinput permissions
@cjpais
Copy link
Owner

cjpais commented Jan 10, 2026

I can't test this since I'm on MacOS, but I'm assuming you've tested and we can just merge this.

@cjpais cjpais merged commit 3bd2ad8 into cjpais:main Jan 10, 2026
2 checks passed
h0lybyte added a commit to KBVE/Handy that referenced this pull request Jan 12, 2026
…, and UI improvements

Merged upstream features:
- feat: add Czech translation (cjpais#568)
- fix: keybinding changes failing silently due to incorrect key ordering (cjpais#524)
- fix: improve apple intelligence ui and add reusable alert component (cjpais#517)
- Fix race condition when toggling transcription via SIGUSR2 (cjpais#560)
- feat(linux): add ydotool support for text input (cjpais#557)
- feat: add Moonshine Base speech recognition model (cjpais#556)
- Prevent highlight and selection cursor hover on UI text items (cjpais#541)
- feat(ui): add reusable Tooltip component and integrate with settings (cjpais#538)
- PR guidelines for AI
- dont allow package-lock with a bun project for now

Conflicts resolved:
- src-tauri/src/shortcut.rs: Kept KBVE filler detection commands, adopted upstream's improved doc comment
- src/bindings.ts: Merged KBVE types (Discord, Memory, Filler) with upstream's Moonshine engine type
@jacobwhall
Copy link

Just want to express my thanks here, Handy now works for me using my Fedora Silverblue-based (Bluebuild) OS. I had to uninstall wtype so that Handy would only try using ydotool. This is the custom shortcut I created in GNOME Settings:

image

@jacobwhall
Copy link

To add to the above, here is how I got this working in Fedora:

mkdir -p ~/.config/systemd/user

Save the following to ~/.config/systemd/user/ydotoold.service:

[Unit]
Description=ydotool daemon

[Service]
ExecStart=/usr/bin/ydotoold
Restart=on-failure

[Install]
WantedBy=default.target

Then enable the service:

systemctl --user daemon-reload
systemctl --user enable ydotoold.service
systemctl --user start ydotoold.service

@asharpaev
Copy link

Is there a way to add support for cyrillic symbols for ydotool?

@cjpais
Copy link
Owner

cjpais commented Mar 16, 2026

thats an upstream issue not a handy issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants