#+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: [<arg>?<default>] means that <arg> 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]].

