whkd
ydotool
whkd | ydotool | |
---|---|---|
5 | 63 | |
356 | 1,289 | |
- | - | |
3.9 | 5.3 | |
29 days ago | 8 days ago | |
Rust | C | |
MIT License | GNU Affero General Public License v3.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
whkd
-
WSL and Vim development setup
in powertoys, find a feature called “keyboard manager”. if you want to go deep into keymapping in windows, checkout autohotkey and whkd
-
Somehow AutoHotKey is kinda good now
It was only when I started writing my own sxhkd-inspired hotkey daemon[1] for Windows that I really started to appreciate just how _good_ AHK is. Even just for hotkey binding, AHK does some incredibly clever stuff very transparently to provide for such an excellent end-user experience. For example, using system hooks automatically when the user tries to bind a hotkey combination that is reserved by the system (usually win+something) is implemented so well. Really excellent software and I miss it when I'm using Linux or macOS.
[1]: https://github.com/LGUG2Z/whkd
-
AutoHotkey v2 Official Release Announcement
I ended up using AHK for komorebi[1] because I was still new to Windows when I start writing it and I didn't wanna have to write a tiling window manager AND a hotkey daemon. I even ended up generating a nice little AHK library to wrap around CLI commands that sent socket messages to the window manager to make it easier to write a configuration.
Ultimately the syntax changes make it impossible to fully reproduce the same library for AHKv2, which is being installed by default on all mainstream package managers now.
I ended up biting the bullet and making my own hotkey daemon[2] for use with komorebi based on skhd[3] and I haven't looked back since. This will be the "blessed" hotkey daemon recommended for use in the next release of komorebi.
I'm still using AHK (v1) for the stuff that it's good at (and there is a lot of stuff that it's good at!), but ultimately I've found that it's not the right tool as a hotkey daemon for a socket-based tiling window manager.
[1]: https://github.com/LGUG2Z/komorebi
[2]: https://github.com/LGUG2Z/whkd
[3]: https://github.com/koekeishiya/skhd
- Show HN: Whkd – A simple hotkey daemon for Windows
- whkd: A simple hotkey daemon for Windows
ydotool
- Show HN: Bonk, a command-line tool for X11 window management
-
Improving cursor rendering on Wayland
Wayland provides little by design, so this is quite typical. For example:
Screensharing is handled by pipewire [0], changing keyboard layouts aren't defined [1] by wayland, and generally anything Wayland devs think would 'corrupt' their protocol.
They leave most things to the compositor to implement, which leads to significant fragmentation as every compositor implements it differently.
Long gone are the days of xset and xdotool working across nearly every distro due to a common base, now the best you'll get is running a daemon as root to directly access `/dev/uinput` [2] or implementing each compositors accessibility settings (if they have them) as a workaround.
[0] https://superuser.com/questions/1221333/screensharing-under-...
[1] https://unix.stackexchange.com/questions/292868/how-to-custo...
[2] https://github.com/ReimuNotMoe/ydotool
-
how hard is it to program pinch zoom for my touchpad in linux?
I personally use libinput-gestures to call commands using touchpad gestures. You can also combine it with ydotool to bind macros and such to your gestures, e.g. 4 fingers swipe down closes the current window, 3 fingers swipe left or right changes workspace, etc
-
ydotoold background process?
Have you tried using the systemd unit file supplied with ydotool? It's probably installed somewhere on your system. Else you can get it here and just change the install location of ydotoold.
-
KDE-Connect keyboard input works on Wayland now!!
For simulated keyboard there are tools such as dotool or ydotool and KeePass extensions such as KPUInput that work by giving the user access to /dev/uinput. That works, but it's a bit inelegant; I guess in the future a Wayland protocol for simulated keyboard input will emerge, like wlroots already has, also for virtual pointers.
-
Out of curiosity, I tried to use Wayland earlier and compared to X11, everything seems to load faster which really surprised me. However, I've also noticed some things that confused me, that's why I'm posting this. To ask what I'm missing or what I did wrong. Thanks as always!
ydotool is the generic equivalent. It works on both X11 and Wayland environments.
-
Curious to know what are your general experiences on using keyboard and mouse input automations on Wayland...
Autokey does not work yet, but there is Hawck and Espanso that you could play around with. And there is ydotool if all you need is simulating basic input (as in ydotool mousemove -x -10 -y -10, ydotool type 'Hello world!' and so on).
-
Asahi Linux To Users: Please Stop Using X.Org
Does ydotool do what you need? I haven't even tried Wayland in years. I'm sure someday I'll find the need.
- Somehow AutoHotKey is kinda good now
- How to emulate mouse clicks with keyboard shortcuts
What are some alternatives?
AHK_X11 - AutoHotkey for Linux (X11-based systems)
xdotool - fake keyboard/mouse input, window management, and more
skhd - Simple hotkey daemon for macOS
wtype - xdotool type for wayland
autopy - A simple, cross-platform GUI automation module for Python and Rust.
AutoKey - AutoKey, a desktop automation utility for Linux and X11.
windows-hotkeys - A lightweight, threadsafe and ergonomic rust crate to handle system-wide hotkeys on windows
evsieve - A utility for mapping events from Linux event devices.
komorebi - A tiling window manager for Windows 🍉
sway - i3-compatible Wayland compositor
misc_settings - My opinions are correct, you should copy them :)
key-mapper - 🎮 An easy to use tool to change the mapping of your input device buttons. [Moved to: https://github.com/sezanzeb/input-remapper]