Is there a command that exists that can simulate keypresses? I want to pipe some data to it to make it type into a GUI program for me.
2 Answers
Yes, it is xdotool
.
To simulate a key press, use:
xdotool key <key>
For example, to simulate pressing F2
:
xdotool key F2
To simulate pressing crtl + c
:
xdotool key ctrl+c
To simulate pressing ctrl + c
and then a Backspace
:
xdotool key ctrl+c BackSpace
Check man xdotool
to get more idea.
You might need to install the xdotool
package first to use xdotool
command.
-
Sweet! I'm assuming people use this for remote connections? Commented Mar 4, 2016 at 21:10
-
@SpecialBomb Depends..i use it sometimes to simulate a key inside a script..– heemaylCommented Mar 4, 2016 at 21:13
-
Well, thanks! I'm going to use it specifically to make my own remote connection thing. Commented Mar 4, 2016 at 21:15
-
1I used it so that my computer wouldn't sleep while I was watching movies.– LiamCommented Mar 5, 2016 at 0:11
-
1What :key syntax is it to enter UP arrow key? Found it here as
xdotool key Up
askubuntu.com/q/382005/22308– Nam G VUCommented Dec 25, 2019 at 9:11
Use expect
(man expect)
#!/usr/bin/expect
#set timeout 10
set clientName [lindex $argv 0];
set hostName [lindex $argv 1];
set passWord [lindex $argv 2];
spawn ssh "$hostName";
expect "Password:";
send "$passWord\r";
expect "$hostName";
send "cd /apps/bin\r";
expect " bin]";
-
7