Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
JOY(4)			    Kernel Interfaces Manual			JOY(4)

NAME
       joy -- joystick device driver

SYNOPSIS
       To link into the	kernel:
       device joy

       To load as a kernel loadable module:
	     kldload joy

       In /boot/device.hints:
       hint.joy.0.at="isa"
       hint.joy.0.port="0x201"

       #include	<sys/joystick.h>

DESCRIPTION
       The  joystick  device  driver allows applications to read the status of
       the PC joystick.

       This device may be opened by only one process at	a time.

       The joystick status is read from	a structure via	a  read()  call.   The
       structure is defined in the header file as follows:

		     struct joystick {
			     int x;	    /* x position */
			     int y;	    /* y position */
			     int b1;	    /* button 1	status */
			     int b2;	    /* button 2	status */
		     };

       Positions are typically in the range 0-2000.

   One line perl example:
       perl -e 'open(JOY,"/dev/joy0")||die;while(1)
       {sysread(JOY,$x,16);@j=unpack("iiii",$x);print "@j\n";sleep(1);}'

   ioctl calls
       Several	ioctl()	 calls	are  also available.  They take	an argument of
       type int	*

       JOY_SETTIMEOUT int *limit
			 Set the time limit (in	microseconds) for reading  the
			 joystick  status.  Setting a value too	small may pre-
			 vent to get correct values for	the  positions	(which
			 are  then  set	 to  -2147483648), however this	can be
			 useful	if one is only interested by the buttons  sta-
			 tus.

       JOY_GETTIMEOUT int *limit
			 Get the time limit (in	microseconds) used for reading
			 the joystick status.

       JOY_SET_X_OFFSET	int *offset
			 Set  the  value  to  be added to the X	position  when
			 reading the joystick status.

       JOY_SET_Y_OFFSET	int *offset
			 Set the value to be added to  the  Y  position	  when
			 reading the joystick status.

       JOY_GET_X_OFFSET	int *offset
			 Get  the value	which is added to the X	position  when
			 reading the joystick status.

       JOY_GET_Y_OFFSET	int *offset
			 Get the value which is	added to the Y position	  when
			 reading the joystick status.

TECHNICAL SPECIFICATIONS
       The pinout of the DB-15 connector is as follow:

	 1  XY1	(+5v)
	 2  Switch 1
	 3  X1 (potentiometer #1)
	 4  Switch 1 (GND)
	 5  Switch 2 (GND)
	 6  Y1 (potentiometer #2)
	 7  Switch 2
	 8  N.C.
	 9  XY2	(+5v)
	10  Switch 4
	11  X2 (potentiometer #3)
	12  Switch 3&4 (GND)
	13  Y2 (potentiometer #4)
	14  Switch 3
	15  N.C.

       Pots are	normally 0-150k	variable resistors (0-100k sometimes), and ac-
       cording	to  the	 IBM  techref,	the time is given by Time = 24.2e-6s +
       0.011e-6s * R/Ohms

FILES
       /dev/joy?  joystick device files

AUTHORS
       Jean-Marc Zucconi <jmz@cabri.obs-besancon.fr>

HISTORY
       The joystick driver appeared in FreeBSD 2.0.5.

FreeBSD	5.2.1		       January 23, 1995				JOY(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=joy&sektion=4&manpath=FreeBSD+5.2.1-RELEASE>

home | help