FreeBSD Manual Pages
YDOTOOL(1) General Commands Manual YDOTOOL(1) NAME ydotool - command-line /dev/uinput automation tool SYNOPSIS ydotool cmd args ydotool cmd --help DESCRIPTION ydotool lets you programmatically (or manually) simulate keyboard input and mouse activity, etc. The ydotoold(8) daemon must be running. Currently implemented command(s): type Type a string key Press keys mousemove Move mouse pointer to absolute position click Click on mouse buttons KEYBOARD COMMANDS key [-d,--key-delay <ms>] [<KEYCODE:PRESSED> ...] Type a given keycode. e.g. 28:1 28:0 means pressing on the Enter button on a standard US keyboard. (where :1 for pressed means the key is down and then :0 means the key is released) 42:1 38:1 38:0 24:1 24:0 38:1 38:0 42:0 - "LOL" Non-interpretable values, such as 0, aaa, l0l, will only cause a delay. See `/usr/include/linux/input-event-codes.h' for available key codes (KEY_*). You can find the key name/number your keyboard is sending to libin- put by running `sudo libinput record` and then selecting your key- board from the list it will show you the libinput proper key name and number for each key you press. Options: -d,--key-delay <ms> Delay time between keystrokes. Default 12ms. type [-D,--next-delay <ms>] [-d,--key-delay <ms>] [-f,--file <filepath>] "text" Types text as if you had typed it on the keyboard. Options: -d,--key-delay <ms> Delay time between key events (up/down each). Default 12ms. -D,--next-delay <ms> Delay between strings. Default 0ms. -f,--file <filepath> Specify a file, the contents of which will be typed as if passed as an argument. The filepath may also be '-' to read from stdin. Example: to type 'Hello world!' you would do: ydotool type 'Hello world!' MOUSE COMMANDS mousemove [-a,--absolute] <x> <y> Move the mouse to the relative X and Y coordinates on the screen. Options: --absolute Use absolute position Example: to move the cursor to absolute coordinates (100,100): ydotool mousemove --absolute 100 100 click [-d,--next-delay <ms>] [-r,--repeat N ] [button ...] Send a click. Options: -d,--next-delay <ms> Delay between input events (up/down, a compete click means dou- bled time). Default 25ms. -r,--repeat N Repeat entire sequence N times all mouse buttons are represented using hexadecimal numeric values, with an optional bit mask to specify if mouse up/down needs to be omitted. • 0x00 - LEFT • 0x01 - RIGHT • 0x02 - MIDDLE • 0x03 - SIDE • 0x04 - EXTR • 0x05 - FORWARD • 0x06 - BACK • 0x07 - TASK • 0x40 - Mouse down • 0x80 - Mouse up Examples: • 0x00: chooses left button, but does nothing (you can use this to implement extra sleeps) • 0xC0: left button click (down then up) • 0x41: right button down • 0x82: middle button up The '0x' prefix can be omitted if you want. YDOTOOL SOCKET The socket to write to for ydotoold(8) can be changed by the environ- ment variable YDOTOOL_SOCKET. AUTHOR ydotool was written by ReimuNotMoe. This manpage was written by bob.hepple@gmail.com but updated since. LICENCE AGPLv3 SEE ALSO ydotoold(8) Project site: <https://github.com/ReimuNotMoe/ydotool> 2025-11-02 YDOTOOL(1)
NAME | SYNOPSIS | DESCRIPTION | KEYBOARD COMMANDS | MOUSE COMMANDS | YDOTOOL SOCKET | AUTHOR | LICENCE | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ydotool&sektion=1&manpath=FreeBSD+Ports+15.0>
