2022-10-20 15:21:20 +02:00
|
|
|
# dotool
|
|
|
|
|
|
|
|
dotool reads commands from stdin and simulates keyboard and mouse events.
|
|
|
|
It works everywhere on Linux, including in X11, Wayland and TTYs.
|
|
|
|
|
2022-12-12 19:27:10 +01:00
|
|
|
It takes about half a second to register the virtual device, but it can be
|
|
|
|
kept using the daemon.
|
2022-10-20 15:21:20 +02:00
|
|
|
|
2022-10-24 11:29:35 +02:00
|
|
|
## Install From Source
|
2022-10-20 15:21:20 +02:00
|
|
|
|
2022-10-24 11:29:35 +02:00
|
|
|
With go (>=1.19) run `sudo ./install.sh`.
|
2022-10-20 15:21:20 +02:00
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
2022-10-24 11:29:35 +02:00
|
|
|
dotool will require root permissions unless you are in group input.
|
2022-10-20 15:21:20 +02:00
|
|
|
|
|
|
|
This greets the world:
|
|
|
|
`echo 'type Sup, Lads!' | dotool`
|
|
|
|
|
|
|
|
This screams for three seconds:
|
|
|
|
`{ echo keydown A; sleep 3; echo key H shift+1; } | dotool`
|
|
|
|
|
|
|
|
This drags the mouse:
|
|
|
|
`printf %s\\n 'buttondown left' 'mousemove 0 100' 'buttonup left' | dotool`
|
|
|
|
|
2022-12-12 19:27:10 +01:00
|
|
|
The daemon and client, `dotoold` and `dotoolc`, can used to keep a persistent
|
|
|
|
virtual device for a quicker initial response:
|
2022-10-20 15:21:20 +02:00
|
|
|
```
|
|
|
|
dotoold &
|
|
|
|
echo 'type super' | dotoolc
|
|
|
|
echo 'type speedy' | dotoolc
|
|
|
|
```
|
|
|
|
|
|
|
|
## Contact
|
|
|
|
|
2022-12-12 19:27:10 +01:00
|
|
|
You can send questions, thoughts or patches by composing an email to
|
|
|
|
[~geb/public-inbox@lists.sr.ht](https://lists.sr.ht/~geb/public-inbox).
|
|
|
|
|
|
|
|
## Support Me
|
|
|
|
|
|
|
|
[Thank you!](https://liberapay.com/geb)
|
2022-11-19 11:08:08 +01:00
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
GPLv3 only, see [LICENSE](./LICENSE).
|
|
|
|
|
|
|
|
Copyright (c) 2022 John Gebbie
|