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

TABLE OF CONTENTS

gameport.device/GPD_ASKCTYPE
gameport.device/GPD_ASKTRIGGER
gameport.device/GPD_READEVENT
gameport.device/GPD_SETCTYPE
gameport.device/GPD_SETTRIGGER
gameport.device/GPD_ASKCTYPE                     gameport.device/GPD_ASKCTYPE

   NAME
        GPD_ASKCTYPE -- Acquire the current game port controller type

   FUNCTION
        This command identifies the type of controller at the game
        port, so that the signals at the port may be properly
        interpreted.  The controller type has been set by a previous
        SetCType.

        This command always executes immediately.

   IO REQUEST
        io_Message      mn_ReplyPort set if quick I/O is not possible
        io_Device       preset by the call to OpenDevice
        io_Unit         preset by the call to OpenDevice
        io_Command      GPD_ASKCTYPE
        io_Flags        IOB_QUICK set if quick I/O is possible
        io_Length       at least 1
        io_Data         the address of the byte variable for the
                        result

gameport.device/GPD_ASKTRIGGER                 gameport.device/GPD_ASKTRIGGER

   NAME
        GPD_ASKTRIGGER -- Inquire the conditions for a game port report

   FUNCTION
        This command inquires what conditions must be met by a game
        port unit before a pending Read request will be satisfied.
        These conditions, called triggers, are independent -- that
        any one occurs is sufficient to queue a game port report to
        the Read queue.  These conditions are set by SetTrigger.

        This command always executes immediately.

   IO REQUEST
        io_Message      mn_ReplyPort set if quick I/O is not possible
        io_Device       preset by the call to OpenDevice
        io_Unit         preset by the call to OpenDevice
        io_Command      GPD_ASKTRIGGER
        io_Flags        IOB_QUICK set if quick I/O is possible
        io_Length       sizeof(gamePortTrigger)
        io_Data         a structure of type GamePortTrigger, which
                        has the following elements
            gpt_Keys -
                    GPTB_DOWNKEYS set if button down transitions
                    trigger a report, and GPTB_UPKEYS set if button up
                    transitions trigger a report
            gpt_Timeout -
                    a time which, if exceeded, triggers a report;
                    measured in vertical blank units (60/sec)
            gpt_XDelta  -
                    a distance in x which, if exceeded, triggers a
                    report
            gpt_YDelta  -
                    a distance in x which, if exceeded, triggers a
                    report

gameport.device/GPD_READEVENT                   gameport.device/GPD_READEVENT

   NAME
        GPD_READEVENT -- Return the next game port event.

   FUNCTION
        Read game port events from the game port and put them in the
        data area of the iORequest.  If there are no pending game port
        events, this command will not be satisfied, but if there are
        some events, but not as many as can fill IO_LENGTH, the
        request will be satisfied with those currently available.

   IO REQUEST
        io_Message      mn_ReplyPort set if quick I/O is not possible
        io_Device       preset by the call to OpenDevice
        io_Unit         preset by the call to OpenDevice
        io_Command      GPD_READEVENT
        io_Flags        IOB_QUICK set if quick I/O is possible
        io_Length       the size of the io_Data area in bytes: there
                        are sizeof(inputEvent) bytes per input event.
        io_Data         a buffer area to fill with input events.  The
                        fields of the input event are:
            ie_NextEvent
                        links the events returned
            ie_Class
                        is IECLASS_RAWMOUSE
            ie_SubClass
                        is 0 for the left, 1 for the right game port
            ie_Code
                        contains any gameport button reports.  No
                        report is indicated by the value 0xff.
            ie_Qualifier
                        only the relative and button bits are set
            ie_X, ie_Y
                        the x and y values for this report, in either
                        relative or absolute device dependent units.
            ie_TimeStamp
                        the delta time since the last report, given
                        not as a standard timestamp, but as the frame
                        count in the TV_SECS field.

   RESULTS
        This function sets the error field in the iORequest, and fills
        the iORequest with the next game port events (but not partial
        events).

   SEE ALSO
        gameport.device/SetCType, gameport.device/SetTrigger

gameport.device/GPD_SETCTYPE                     gameport.device/GPD_SETCTYPE

   NAME
        GPD_SETCTYPE -- Set the current game port controller type

   FUNCTION
        This command sets the type of device at the game port, so that
        the signals at the port may be properly interpreted.  The port
        can also be turned off, so that no reports are generated.

        This command always executes immediately.

   IO REQUEST
        io_Message      mn_ReplyPort set if quick I/O is not possible
        io_Device       preset by the call to OpenDevice
        io_Unit         preset by the call to OpenDevice
        io_Command      GPD_SETCTYPE
        io_Flags        IOB_QUICK set if quick I/O is possible
        io_Length       1
        io_Data         the address of the byte variable describing
                        the controller type, as per the equates in
                        the gameport include file

gameport.device/GPD_SETTRIGGER                 gameport.device/GPD_SETTRIGGER

   NAME
        GPD_SETTRIGGER -- Set the conditions for a game port report

   FUNCTION
        This command sets what conditions must be met by a game
        port unit before a pending Read request will be satisfied.
        These conditions, called triggers, are independent -- that
        any one occurs is sufficient to queue a game port report to
        the Read queue.  These conditions are inquired with
        AskTrigger.

        This command always executes immediately.

   IO REQUEST
        io_Message      mn_ReplyPort set if quick I/O is not possible
        io_Device       preset by the call to OpenDevice
        io_Unit         preset by the call to OpenDevice
        io_Command      GPD_SETTRIGGER
        io_Flags        IOB_QUICK set if quick I/O is possible
        io_Length       sizeof(gamePortTrigger)
        io_Data         a structure of type GamePortTrigger, which
                        has the following elements
            gpt_Keys -
                    GPTB_DOWNKEYS set if button down transitions
                    trigger a report, and GPTB_UPKEYS set if button up
                    transitions trigger a report
            gpt_Timeout -
                    a time which, if exceeded, triggers a report;
                    measured in vertical blank units (60/sec)
            gpt_XDelta  -
                    a distance in x which, if exceeded, triggers a
                    report
            gpt_YDelta  -
                    a distance in x which, if exceeded, triggers a
                    report