joystick man page on Mandriva

Man page or keyword search:  
man Server   17060 pages
apropos Keyword Search (all sections)
Output format
Mandriva logo
[printable version]

joystick(4)							   joystick(4)

NAME
       joystick - Joystick input driver

SYNOPSIS
       Section "InputDevice"
	 Identifier "devname"
	 Driver "joystick"
	 Option "Device"   "devpath"
	 ...
       EndSection

DESCRIPTION
       joystick	 is  an	 Xorg input driver for Joysticks. There are 3 backends
       available that are used in the following order, if support was found:

       - Linux's evdev interface
       - Linux's joystick interface
       - BSD's usbhid interface

       The driver reports cursor movement as well as raw axis  values  through
       valuators.

SUPPORTED HARDWARE
       In  general, every by the kernel supported joystick should be supported
       through the joystick driver. The driver assumes that  the  joystick  is
       calibrated  and	reports axis values between -32768 and 32768.  See the
       Linux kernel documentation for a complete list of supported devices.

CONFIGURATION DETAILS
       Please refer to xorg.conf(5) for general configuration  details.	  This
       section only covers configuration details specific to this driver.

       The following Driver Options are supported:

       Option "Device" "string"

       Option "Path" "string"
	      Specifies the device through which the joystick can be accessed.
	      This option is mandatory and there is no default setting.

	      For Linux, joysticks are mostly accessible as /dev/input/jsX  or
	      /dev/input/eventX.

	      In *BSD, joysticks are usually recognized as /dev/uhidX.

       Option "AutoRepeat" "delay rate"
	      Sets  the	 auto  repeat  behaviour for key events.  delay is the
	      time in milliseconds before a key starts repeating.  rate is the
	      number of times a key repeats per second.	 Default: Xorg default

       Option "DebugLevel" "integer"
	      If  compiled  with debugging information, controls the verbosity
	      of the driver.  The higher the DebugLevel, the  more  output  is
	      produced.	 Default: 0

       Option "MapButton<number>" "string"
	      Sets  the	 mapping of the joystick button to the desired action.
	      Counting of buttons starts with 1, Possible options are:

	      none   This joystick button won't do anything.

	      "button=<number>"
		     The joystick button will generate a click with the speci‐
		     fied button (starting with 1).

	      "axis=[<factor>]<axis>"
		     Where <axis> is one of: x, y, zx, zy

		     and  <factor>  is an optional amplifier of the axis, like
		     -, +, -5, 0.4, 1.3, ...  Use positive and negative values
		     to control the direction. Default: 1.0

	      "amplify=<factor>"
		     Amplifies	the  movement  of all axes by the given factor
		     when pressed. Different factors can be combined.

	      "key=<scancode>[,<scancode>[,<scancode>[,<scancode>]]]
		     When button is pressed, a series of keydown  events  with
		     the  specified  scancode is generated. When the button is
		     released, keyup events in the opposite order  are	gener‐
		     ated. You can specify up to 4 scancodes per button.

		     See special section about key events below.

	      "disable-mouse"

	      "disable-keys"

	      "disable-all"
		     Disables  either  the  generation	of  mouse  events, key
		     events or the generation of all X events by  the  driver.
		     Press button again to allow the driver to generate events
		     again.

       Option "MapAxis<number>" "string"
	      Sets the mapping of the axis to the desired action. Counting  of
	      axes starts with 1, the parameter may contain:

	      "mode=<string>"
		     Where <string> can be one of:

		     none, relative, accelerated, absolute

		     Every  axis  which's mode is not none will be reported as
		     an additional valuator.

	      "valuator"
		     Send extra valuator events for this axis.	The  valuators
		     will  be  numbered ascending, starting with 2 (valuator 0
		     and 1 are reserved for pointer movement).	The  range  of
		     the  valuators  is	 always -32767 to 32768.  Neither mode
		     nor axis needs to	be  set	 to  generate  extra  valuator
		     events.  Default: not set.

	      "axis=[<factor>]<axis>"
		     Where  <axis>  is	one  of:  x,  y, zx, zy, key (see key‐
		     low/keyhigh)

		     and <factor> is an optional amplifier of the  axis,  like
		     -,	 +, -5, 0.4, 1.3, ...  Negative values will invert the
		     movement. Default: 1.0

	      "keylow= <scancode>[,<scancode>[,<scancode>[,<scancode>]]]

	      "keyhigh=<scancode>[,<scancode>[,<scancode>[,<scancode>]]]
		     When the axis is moved out of the deadzone, a  series  of
		     keydown events according to the direction of the movement
		     is generated. When the axis  is  released,	 keyup	events
		     will  be generated. You can specify up to 4 scancodes for
		     each direction.

		     keylow defines the keys to be generated when the axis  is
		     moved  in	negative  direction  (ie. left or up), keyhigh
		     defines the keys to be generated when the axis  is	 moved
		     in positive direction (ie. right or down).

		     If	 mode  is  set	to  relative:  The driver will emulate
		     autorepeat according to the current value of the axis.  A
		     keydown  and  subsequent keyup event will be generated in
		     short time intervals. To modify  that  interval  and  the
		     autorepeat speed, supply the "axis=[<factor>]KEY" parame‐
		     ter.

		     If mode is set to accelerated: Keydown and	 keyup	events
		     will  be generated repeatedly. The time between a keydown
		     and a keyup event corresponds to the  deflection  of  the
		     axis.   If	 the axis is deflected by 30%, the key will be
		     considered to be down 300ms out of 1  second.  The	 exact
		     intervals	may  vary and can be adjusted with the amplify
		     parameter. If the axis is deflected by 100%,  there  will
		     only  be one keydown event, so the key is considered down
		     all the time.  The keys will be autorepeated according to
		     the Xorg keyboard settings.

		     See special section about key events below.

	      "deadzone=<number>"
		     Sets  the	unresponsive  range  of	 the axis to <number>.
		     This can be between 0 and 30000.  Default: 5000

       Option "StartKeysEnabled" "boolean"
	      Set to False to disable key event generation after startup.  You
	      can  toggle  key	event  generation with the disable-keys button
	      mapping. Default: enabled

       Option "StartMouseEnabled" "boolean"
	      Set to False to disable mouse event  generation  after  startup.
	      You  can	toggle	mouse  event generation with the disable-mouse
	      button mapping. Default: enabled

DEFAULT CONFIGURATION
       The default configuration is as follows:

	 Option "DebugLevel"	    "0"
	 Option "StartKeysEnabled"  "True"
	 Option "StartMouseEnabled" "True"
	 Option "MapButton1"	    "button=1"
	 Option "MapButton2"	    "button=2"
	 Option "MapButton3"	    "button=3"
	 Option "MapButton4"	    "none"
	 ...
	 Option "MapAxis1"	    "mode=relative    axis=+1x	deadzone=5000"
	 Option "MapAxis2"	    "mode=relative    axis=+1y	deadzone=5000"
	 Option "MapAxis3"	    "mode=relative    axis=+1zx deadzone=5000"
	 Option "MapAxis4"	    "mode=relative    axis=+1zy deadzone=5000"
	 Option "MapAxis5"	    "mode=accelerated axis=+1x	deadzone=5000"
	 Option "MapAxis6"	    "mode=accelerated axis=+1y	deadzone=5000"
	 Option "MapAxis7"	    "mode=none"
	 ...

ACCELERATED AXIS CONFIGURATION
       Accelerated mode should be selected,  if	 the  axis  is	a  pad,	 which
       reports	only three states: negative, center, positive. It will produce
       a smooth acceleration of the movement when the axis is  deflected.  The
       speed will be affected by the factor of the axis, but not the accelera‐
       tion speed.

       This example will set up the axis  as  scrolling	 vertically  inverted,
       which half of the speed:
	 Option "MapAxis1"     "mode=accelerated axis=-0.5zy"

       This  example  maps  four buttons to the four half axes, so you can use
       them like a pad. The movement will get half the normal speed:
	 Option "MapButton1"	 "axis=+0.5x"
	 Option "MapButton2"	 "axis=-0.5x"
	 Option "MapButton3"	 "axis=+0.5y"
	 Option "MapButton4"	 "axis=-0.5y"

ABSOLUTE AXIS CONFIGURATION
       With the absolute axis mode, the position of the cursor will  be	 fixed
       to  the	position, according to the deflection of the axis.  This fixed
       position is calculated around the previous position of the cursor.  You
       can specify the range in pixels, the cursor can move. The default range
       is the width of the screen, when mapped to the x-axis and the height of
       the  screen,  when mapped to the y-axis. This mode can be combines with
       the other modes without problems.

       In this example the first axis gets a range from left to the  right  of
       the  screen.  The  second axis gets a total range of 200 pixels, 100 to
       the top and 100 to the bottom:
	 Option "MapAxis1"     "mode=absolute axis=x"
	 Option "MapAxis2"     "mode=absolute axis=200y"

GENERATING KEY EVENTS
       Providing a "key=<scancode>[,<scancode>[...]]" option will  generate  X
       Events with the specified scancodes when the joystick button is pressed
       or the axis changed it's position. When the  button/axis	 is  released,
       the keys are released in the reverse order.

       To  lookup  keycodes for KeySyms, you can use xmodmap -pk.  You can use
       unused keycodes	and  map  them	to  a  KeySym  of  your	 choice	 using
       xmodmap(1).

       You  can	 specify  up to 4 scancodes per joystick button/axis, which is
       useful to use modificators. Make sure you  use  modificators  that  are
       necessary to get a certain keysym.

       Examples:
	 Option "MapButton1"	 "key=64,23"
       will generate Alt_L+Tab when the button is pressed.

	 Option "MapButton1"	 "key=50,40"
       will generate a Shift_L+d which will be an uppercase d.

	 Option "MapButton1"	 "key=65"
       is for the space key.

	 Option	 "MapAxis1"	 "mode=relative	   keylow=113  keyhigh=114 axis=0.5key"
	 Option	 "MapAxis2"	 "mode=relative	   keylow=111  keyhigh=116"
	 Option	 "MapAxis3"	 "mode=accelerated keylow=113  keyhigh=114"
	 Option	 "MapAxis4"	 "mode=accelerated keylow=111  keyhigh=116"
       will  map the first and third axis to the arrow keys left and right and
       the second and fourth axis to the arrow keys up and down.  The keys for
       the  first  two	axes will be generated in an interval according to the
       value of the axis. The autorepeat speed of the first axis will be  half
       the  speed  of  that  of	 the  second axis.  The keys for the third and
       fourth axis are generated once when the axis moves out of the  deadzone
       and  when  it moves back into the deadzone. X.Org will autorepeat those
       keys according to current keyboard settings.

NOTES
       The driver does not do hotplugging on it's own. The joystick  needs  to
       be plugged in when the driver is loaded.	 If the joystick is unplugged,
       the device will be automatically deactivated.

       There is an example hal	policy	in  ${sourcecode}/config/50-x11-input-
       joystick.fdi   which  will  take	 care  of  hotplugging.	 Place	it  in
       /etc/hal/fdi/policy and customize it to your needs. Pass custom options
       to  the	driver	using  x11_options  properties.	 This  requires	 xorg-
       server-1.5 or higher.

       Make sure you add the "SendCoreEvents" keyword to the device  entry  of
       your  ServerLayout  section of the xorg.conf file, otherwise the device
       won't report core pointer and core key events.

       Example:
	   InputDevice	   "Joystick1"	   "SendCoreEvents"

SEE ALSO
       Xorg(1), xorg.conf(5), Xserver(1), X(7), xmodmap(1)

AUTHORS
       Sascha Hlusiak (2007-2009),
       Frederic Lepied (1995-1999)

X Version 11		   xf86-input-joystick 1.5.0		   joystick(4)
[top]

List of man pages available for Mandriva

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net