[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

The Amiga has five gameport device controller types.

                 GAMEPORT DEVICE CONTROLLERS

         Controller Type         Description
         ---------------         -----------
         GPCT_MOUSE              Mouse controller
         GPCT_ABSJOYSTICK        Absolute (digital) joystick
         GPCT_RELJOYSTICK        Relative (digital) joystick
         GPCT_ALLOCATED          Custom controller
         GPCT_NOCONTROLLER       No controller

To use the gameport device, you must define the type of device connected
to the gameport and define how the device is to respond. The gameport
device can be set up to return the controller status immediately or only
when certain conditions have been met.

When a gameport device unit reponds to a request for input, it creates an
input event. The contents of the input event will vary based on the type
of device and the trigger conditions you have declared.

   *  A mouse controller can report input events for one, two, or three
      buttons and for positive or negative (x,y) movements. A trackball
      controller or car-driving controller is generally of the same type
      and can be declared as a mouse controller.

   *  An absolute joystick reports one single event for each change of its
      current location. If, for example, the joystick is centered and the
      user pushes the stick forward and holds it in that position, only one
      single forward-switch event will be generated.

   *  A relative joystick, on the other hand, is comparable to an absolute
      joystick with "autorepeat" installed. As long as the user holds the
      stick in a position other than centered, the gameport device
      continues to generate position reports.

   *  There is currently no system software support for proportional
      joysticks or proportional controllers (e.g., paddles). If you write
      custom code to read proportional controllers or other controllers
      (e.g., light pen) make certain that you issue GPD_SETCTYPE (explained
      below) with controller type GPCT_ALLOCATED to insure that other
      applications know the connector is being used.

   GPCT_NOCONTROLLER.
   ------------------
   The controller type GPCT_NOCONTROLLER is not a controller at all, but
   a flag to indicate that the unit is not being used at the present
   time.