Simulate input/Keyboard

From Rosetta Code
Task
Simulate input/Keyboard
You are encouraged to solve this task according to the task description, using any language you may know.

send simulated keystrokes to a gui window (specify if the target may be externally created).

AutoHotkey

target may be externally created. <lang AutoHotkey> run, cmd /k WinWait, ahk_class ConsoleWindowClass controlsend, ,hello console, ahk_class ConsoleWindowClass </lang>

Tcl

Library: Tk


This only works with windows created by Tk; it sends a single key “x” to the given window. <lang tcl>event generate $target <Key-x></lang> To send multiple keys, call repeatedly in order. Alphabetic keys can be used directly as events, " " has to be mapped to "<space>". <lang Tcl>package require Tk pack [text .t] focus -force .t foreach c [split "hello world" ""] {

  event generate .t [expr {$c eq " "?"<space>": $c}]

}</lang> Note also that the task on keyboard macros illustrates a very closely related method.