#+title: exoskelegram #&summary An X11 key press/release catcher/sender wrapper #& #+license: bysa, text #+license: agpl 3+, program #&toc * exoskelegram exoskelegram is an X11 key press/release catcher/sender wrapper with abstractions. From its --help text: #+BEGIN_SRC Usage: exoskelegram COMMAND [ARGS...] An X11 key press/release catcher/sender wrapper with abstractions Options: --version show program's version number and exit -h, --help show this help message and exit Commands (note: [?] means that is a boolean value where t is true and f is false): catch [lock?f] [stopkeysym] Catch all X key events and print them to standard out. If lock is true, take control of all the events and don't let them get further than to this program. If stopkeysym is specified, stop catching when that keysym is caught. If it is not specified, have the user press the corresponding key before starting the catch loop. mapkey keycode keysym [shift_keysym[ mode_switch_keysym[ both_keysym]]] Map a key at keycode to the keysyms specified. If only one keysym is specified, the key is an alias to that keysym with and without any modifiers. If shift_keysym is given, Shift+key will invoke that keysym. If mode_switch_keysym is given, Mode_Switch (sometimes called AltGr or Option) + key will invoke that keysym. If both_keysym is given, Shift+Mode_Switch+key will invoke that keysym. If a keysym is given for one modifier but not for the rest, it will also be used for the other modifiers. sendkey keycode [press?t] [release?t] Send a key to the global X server. If press, send a key press. If release, send a key release. If both, first press, then release. sendtext text Send a text string to the X server (a series of press-release of keys). symtocode keysym Convert a keysym to a keycode and print. codetosym keycode Convert a keycode to its corresponding four keysyms and print. nametosym name Convert an XString to a keysym and print. symtouni keysym Convert a keysym to a unicode character and print. unitosym unicodechar Convert a unicode character to a keysym and print. xflush Flush the X server. Examples: exoskelegram catch f 65307 Catch key events, do not lock, end on ESC press. exoskelegram mapkey 23 121 Map the key at keycode 23 to the letter 'y'. exoskelegram sendkey 33 Send the key at keysym 33 ('!'). exoskelegram sendtext Hello Succesively send the characters H, e, l, l, and o. exoskelegram symtocode 89 Prints the current keycode for the keysym 89. exoskelegram codetosym 28 Prints the current keysyms for the keycode 28. exoskelegram nametosym asciitilde Prints the keysym for asciitilde exoskelegram symtouni 33 Prints the unicode character of the keysym 33. exoskelegram unitosym Å Prints the keysym for the 'Å' letter. #+END_SRC ** Download exoskelegram is released under the AGPLv3+. [[exoskelegram-0.1.0.tar.gz][Download]]. exoskelegram can also be found in the [[http://pypi.python.org/pypi/exoskelegram][Python Package Index]]. exoskelegram has its code at Gitorious; see [[http://gitorious.org/exoskelegram]].