Man Linux: Main Page and Category List


       joy2key - Emulate keyboard events using a Joystick


       joy2key Usage: joy2key ["Window Name"]
              [ -rawconsole ]
              [ -terminal ]
              [ -X ]
              [ -axis [(axis0) low hi] [(axis1) low hi]  ...]
              [ -thresh [(axis0) low hi] [(axis1) low hi]  ...]
              [ -buttons [(button0)] [(button1)] [(button2)] ...]
              [ -dev {/dev/input/js0} ]
              [ -rcfile {.joy2keyrc} ]
              [ -config {no default} ]
              [ -autorepeat {(freq) 5} ]
              [ -deadzone {(percent) 50} ]

       note: [] denotes ‘optional’ option or argument,
             () hints at the wanted arguments for options
             {} denotes default (compiled-in) parameters

       (note: defaults may have been changed by editing joy2key.c)


       joy2key  monitors  the  joystick  (normally  /dev/input/js0)  and sends
       keyboard events to an X window, terminal, or raw console.  In the  case
       of X, xwininfo(1) is used to retrive the window ID, which should not be
       a problem as this is a standard utility in most X11 distributions.   To
       find    the    symbolic    name    of    a    particular    key,    see
       include/X11/keysymdef.h.  In terminal mode,  joy2key  sends  the  ascii
       character  given  on  the  command  line (that is, "joy2key -buttons a"
       means send lowercase ’a’ when the first joystick button is pushed).  In
       raw  console  mode, please consult the document "rawscancodes" included
       in this distribution for the proper scancodes.

       -X     Send X events.  May be compiled out of your copy of joy2key.

              For SVGALIB and similar programs that put the  keyboard  in  raw
              mode.   Sends  scancodes.   May  be compiled out of your copy of

              Send ascii characters.  May be compiled  out  of  your  copy  of

       -axis  Specifies  actions to send when passing low/high values for each
              axis.  Specified in pairs, from axis0 ... axisN, that is, the  X
              axis  is  axis0,  then  the  Y  axis (axis1), then if you have a
              joystick hat that may be axis 2 and 3, etc.  To figure out which
              axis  is  which,  use  the  jstest  program  that comes with the
              joystick driver.

              Similar to -arrows, but for  buttons.   Goes  from  button0  ...
              buttonN,  specifying  key  to  send for each button on joystick.
              Use the jstest program  to  determine  the  numbering  for  each

              Specifies  low/high thresholds to use (i.e. at what point moving
              the stick or pressing the gamepad triggers an event)  in  pairs,
              for each joystick axis.

       -dev   Specifies  joystick  device  to  use.   Defaults  /dev/input/js0
              (first joystick)

              Turns on and optionally  specifies  autorepeat  frequency,  i.e.
              the  number of times per second a button which is held down will
              be repeated.

              Controls sensitivity when manually calibrating.

              Sets the rc file to look in.

              Reads in a config in an rc file.


       /dev/js[01] The joystick driver.  Must  be  installed  for  joy2key  to
       work.   Joy2key  only  supports  versions  1.0+ of the joystick driver.
       Older versions of joy2key use the 0.8.0 joystick driver.  If  for  some
       reason a 1.0+ joystick driver does not work for you, use joy2key 1.2.

       The Linux joystick driver is available at

       ~/.joy2keyrc Rc file searched for commands in -config.

       The joy2key homepage is located at:


       I don’t like writing man pages, so this man page may be buggy :)


       This  is  free  software  under  the  GNU  General Public License.  See
       COPYING in the archive to more information.

                                17 August 1998