http://www.shallowsky.com/software/crikey/ Usage (command-line flags) ========================== Usage: crikey [-itxr] [-sS sleeptime] string... Send key events, as if args was typed in whatever X window currently has focus. Flags: -s seconds: sleep time before sending -S milliseconds: sleep time before sending Many window managers need a delay for focus shifting or to allow a modifier button to be released. -i: Interactive (read input from stdin) -t: Use XTest to send events (default) -x: Use XSendEvent to send events -r: Send events to root window (only with XSendEvent) -l: Show long (more detailed) help -d: Show debug messages If there are multiple arguments, single spaces will be inserted between them. Crikey input options ==================== Sample usage: crikey -s 1 'My long string\nExtending over two lines.' Using quotes around the string is normally recommended, to avoid problems with your shell treating any characters specially, especially backslashes. Special characters and syntaxes =============================== Control characters use ^: ^A sends a Control-A Numeric ASCII codes (decimal only): \27 sends ESC Special codes: \t tab, \b backspace, \n newline, \r return, \d delete, \e escape, \\ backslash Modifier keys: \S shift, \C control, \A alt, \M or \W for the "Windows" key. These must be capitalized, and they only apply to the next single character, so \Aabc will send alt-A followed by b and c with no modifier keys. Special symbols with \( \): \(Return\) ... these are defined in /usr/include/X11/keysymdef.h, but only those defined on your keyboard will likely work. A Note on Xterm =============== Crikey will work out of the box for most terminal emulators, but xterm blocks events generated with XSendEvent by default. To use crikey with xterm, you have two options: * Use crikey -t, to use the X Test extension instead of XSendEvent (this is now the default). * Add to your .Xdefaults file: XTerm*allowSendEvents: true Setting up Crikey in your Window Manager The most common way to use Crikey is to bind specific crikey commands to keys in your window manager (for instance, Shift-F12 might send a particular string). The procedure for making key bindings is different in every window manager, so I've moved the instructions for all the various window managers to a separate page: Making Crikey! work on various window managers.