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

TABLE OF CONTENTS

input.device/IND_ADDHANDLER
input.device/IND_REMHANDLER
input.device/IND_SETMPORT
input.device/IND_SETMTRIG
input.device/IND_SETMTYPE
input.device/IND_SETPERIOD
input.device/IND_SETTHRESH
input.device/IND_WRITEEVENT
input.device/PeekQualifier
input.device/IND_ADDHANDLER                       input.device/IND_ADDHANDLER

   NAME
        IND_ADDHANDLER -- Add an input handler to the device

   FUNCTION
        Add a function to the list of functions called to handle
        input events generated by this device.  The function is called
        as
            newInputEvents = Handler(inputEvents, handlerData);
            D0                       A0           A1

   IO REQUEST
        io_Message      mn_ReplyPort set
        io_Device       preset by OpenDevice
        io_Unit         preset by OpenDevice
        io_Command      IND_ADDHANDLER
        io_Data         a pointer to an interrupt structure.
            is_Data     the handlerData pointer described above
            is_Code     the Handler function address

   NOTES
        The interrupt structure is kept by the input device until a
        RemHandler command is satisfied for it.

input.device/IND_REMHANDLER                       input.device/IND_REMHANDLER

   NAME
        IND_REMHANDLER -- Remove an input handler from the device

   FUNCTION
        Remove a function previously added to the list of handler
        functions.

   IO REQUEST
        io_Message      mn_ReplyPort set
        io_Device       preset by OpenDevice
        io_Unit         preset by OpenDevice
        io_Command      IND_REMHANDLER
        io_Data         a pointer to the interrupt structure.

   NOTES
        This command is not immediate

input.device/IND_SETMPORT                           input.device/IND_SETMPORT

   NAME
        IND_SETMPORT -- Set the current mouse port

   FUNCTION
        This command sets the gameport port at which the mouse is
        connected.

   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      IND_SETMPORT
        io_Flags        IOB_QUICK set if quick I/O is possible
        io_Length       1
        io_Data         a pointer to a byte that is either 0 or 1,
                        indicating that mouse input should be obtained
                        from either the left or right controller port,
                        respectively.

input.device/IND_SETMTRIG                           input.device/IND_SETMTRIG

   NAME
        IND_SETMTRIG -- Set the conditions for a mouse port report

   FUNCTION
        This command sets what conditions must be met by a mouse
        before a pending Read request will be satisfied.  The trigger
        specification is that used by the gameport device.

   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      IND_SETMTRIG
        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

input.device/IND_SETMTYPE                           input.device/IND_SETMTYPE

   NAME
        IND_SETMTYPE -- Set the current mouse port controller type

   FUNCTION
        This command sets the type of device at the mouse port, so
        the signals at the port may be properly interpreted.

   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      IND_SETMTYPE
        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

input.device/IND_SETPERIOD                         input.device/IND_SETPERIOD

   NAME
        IND_SETPERIOD -- Set the key repeat period

   FUNCTION
        This command sets the period at which a repeating key repeats.

        This command always executes immediately.

   IO REQUEST - a timerequest
        tr_node.io_message      mn_replyport set if quick i/o is not possible
        tr_node.io_device       preset by the call to opendevice
        tr_node.io_unit         preset by the call to opendevice
        tr_node.io_command      ind_setperiod
        tr_node.io_flags        iob_quick set if quick i/o is possible
        tr_time.tv_secs         the repeat period seconds
        tr_time.tv_micro        the repeat period microseconds

input.device/IND_SETTHRESH                         input.device/IND_SETTHRESH

   NAME
        IND_SETTHRESH -- Set the key repeat threshold

   FUNCTION
        This command sets the time that a key must be held down before
        it can repeat.  The repeatability of a key may be restricted
        (as, for example, are the shift keys).

        This command always executes immediately.

   IO REQUEST - a timerequest
        tr_node.io_message      mn_replyport set if quick i/o is not possible
        tr_node.io_device       preset by the call to opendevice
        tr_node.io_unit         preset by the call to opendevice
        tr_node.io_command      ind_setthresh
        tr_node.io_flags        iob_quick set if quick i/o is possible
        tr_time.tv_secs         the threshold seconds
        tr_time.tv_micro        the threshold microseconds

input.device/IND_WRITEEVENT                       input.device/IND_WRITEEVENT

   NAME
        IND_WRITEEVENT -- Propagate an input event to all handlers

   FUNCTION

   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      IND_WRITEEVENT
        io_Flags        IOB_QUICK set if quick I/O is possible
        io_Length       should be sizeof(struct InputEvent)
        io_Data         a pointer to the struct InputEvent:
            ie_NextEvent
                        will be ignored.
            ie_Class
            ie_SubClass
            ie_Code
            ie_Qualifier
            ie_X, ie_Y
                        as desired
            ie_TimeStamp
                        will be set by this call (V36)

   NOTES
        The contents of the input event are destroyed.

        This function was documented in V34 and earlier to allow
        chaining of events via ie_NextEvent.  The implementation
        never allowed that.  The documentation now reflects this.

        ie_TimeStamp is set only in V36 and later.  Software written
        to run on earlier versions should set this field to the
        current time.

input.device/PeekQualifier                         input.device/PeekQualifier

   NAME
        PeekQualifier -- get the input device's current qualifiers (V36)

   SYNOPSIS
        qualifier = PeekQualifier()
        d0

        UWORD PeekQualifier( VOID );

   FUNCTION
        This function takes a snapshot of what the input device thinks
        the current qualifiers are.

   RESULTS
        qualifier - a word with the following bits set according to
            what the input device knows their state to be:
                IEQUALIFIER_LSHIFT, IEQUALIFIER_RSHIFT,
                IEQUALIFIER_CAPSLOCK, IEQUALIFIER_CONTROL,
                IEQUALIFIER_LALT, IEQUALIFIER_RALT,
                IEQUALIFIER_LCOMMAND, IEQUALIFIER_RCOMMAND,
                IEQUALIFIER_LEFTBUTTON, IEQUALIFIER_RBUTTON,
                IEQUALIFIER_MIDBUTTON

   NOTE
        This function is new for V36.

   SEE ALSO
        devices/inputevent.h