I'm running Fedora 22 (Linux) and have a Java application written by others that I want to send keystrokes to. I have tried to use xdotool in various ways, but I can neither set focus to the Java app nor send it keystrokes.The app is started with javaws with the following command line:javaws -J-XX:MaxPermSize=512M -J-d64 -J-Xms1G -J-Xmx1G /path/to/java/fileMy first attempt to send it keystrokes was with this command:xdotool search --name 'Window title' windowraise windowfocus --sync key H e l l o ReturnBut nothing happened. The Java window did not gain focus or see my keystrokes.So I looked up the Java process's PID and tried identifying the process by its PID.xdotool search --pid 1234 windowraise windowfocus --sync key H e l l o ReturnSame result. Finally, I tried identifying the window with 'selectwindow'.xdotool selectwindow windowraise windowfocus --sync key H e l l o ReturnAfter issuing the command, the cursor changed to a square. I moved the mouse to the Java window and clicked, but this didn't work either.To investigate further, I ran a different Java application with the following command:java -jar appname.jarxdotool could not set focus or send keystrokes to this window either.Having read the xdotool documentation, I know that some programs won't accept its input. Is there something I can do, such as passing different command line arguments, to these Java apps to get them to listen to xdotool's keystrokes?Here is some information about the versions of Java and xdotool I'm running:$ java -versionopenjdk version 1.8.0_65-debugOpenJDK Runtime Environment (build 1.8.0_65-debug-b17)OpenJDK 64-Bit Server VM (build 25.65-b01-debug, mixed mode)$ xdotool --versionxdotool version 2.20110530.1
Is there a problem using xdotool to direct keystrokes to Java windows?
java;xdotool
Window focus is the job of the window manager. I presume you are using one.The best way to focus a window is:xdotool search --name 'Window title' windowactivatexdotool uses 2 mechanisms to send key events, the XTEST extension for events to send to the current focus, and XSendEvent() to send events to a given window. The latter generates events with a synthetic flag, which some applications decide means it is a security risk, so ignore the event.However, you can still send real key events using xdotool, but you must not explicitly provide a window. After moving the focus to your window, usexdotool type Hello; xdotool key Return