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

TABLE OF CONTENTS

keyboard.device/CMD_CLEAR
keyboard.device/KBD_ADDRESETHANDLER
keyboard.device/KBD_READEVENT
keyboard.device/KBD_READMATRIX
keyboard.device/KBD_REMRESETHANDLER
keyboard.device/KBD_RESETHANDLERDONE
keyboard.device/CMD_CLEAR                           keyboard.device/CMD_CLEAR

   NAME
	CMD_CLEAR -- Clear the keyboard input buffer.

   FUNCTION
	Remove from the input buffer any keys transitions waiting to
	satisfy read requests.

   IO REQUEST
	io_Message	mn_ReplyPort set if quick I/O is not possible
	io_Device	preset by the call to OpenDevice
	io_Command	CMD_CLEAR
	io_Flags	IOB_QUICK set if quick I/O is possible

keyboard.device/KBD_ADDRESETHANDLER       keyboard.device/KBD_ADDRESETHANDLER

   NAME
	KBD_ADDRESETHANDLER -- Add a keyboard reset handler.

   FUNCTION
	Add a function to the list of functions called to clean up
	before a hard reset generated at the keyboard.  The reset
	handler is called as:
	    ResetHandler(handlerData)
	                 a1

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

   NOTES
	Few of the Amiga keyboard models generate the communication codes
	used to implement this reset processing.  Specifically, only the
	Euro a1000 (rare), and the B2000 keyboard generate them.

	The interrupt structure is kept by the keyboard device until a
	RemResetHandler command is satisfied for it, but the
	KBD_ADDRESETHANDLER command itself is replied immediately.

keyboard.device/KBD_READEVENT                   keyboard.device/KBD_READEVENT

   NAME
	KBD_READEVENT -- Return the next keyboard event.

   FUNCTION
	Read raw keyboard events from the keyboard and put them in the
	data area of the iORequest.  If there are no pending keyboard
	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_Command	KBD_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_RAWKEY
	    ie_Code
			contains the next key up/down reports
	    ie_Qualifier
			only the shift and numeric pad bits are set
	    ie_SubClass, ie_X, ie_Y, ie_TimeStamp
			are not used, and set to zero

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

keyboard.device/KBD_READMATRIX                 keyboard.device/KBD_READMATRIX

   NAME
	KBD_READMATRIX -- Read the current keyboard key matrix.

   FUNCTION
	This function reads the up/down state of every key in the
	key matrix.

   IO REQUEST INPUT
	io_Message	mn_ReplyPort set if quick I/O is not possible
	io_Device	preset by the call to OpenDevice
	io_Command	KBD_READMATRIX
	io_Flags	IOB_QUICK set if quick I/O is possible
	io_Length	the size of the io_Data area in bytes: this
			must be big enough to hold the key matrix.
	io_Data		a buffer area to fill with the key matrix:
			an array of bytes whose component bits reflect
			each keys state: the state of the key for
			keycode n is at bit (n MOD 8) in byte
			(n DIV 8) of this matrix.

   IO REQUEST OUTPUT
	io_Error
	     IOERR_BADLENGTH - the io_Length was not exactly 13 bytes.
			The buffer is unchanged.  This is only returned
			by V33/V34 kickstart.
	io_Actual	the number of bytes filled in io_Data with key
			matrix data, i.e. the minimum of the supplied
			length and the internal key matrix size.

   NOTE
	For V33/V34 Kickstart, io_Length must be set to exactly 13 bytes.

   RESULTS
	This function sets the error field in the IORequest, and sets
	matrix to the current key matrix.

keyboard.device/KBD_REMRESETHANDLER       keyboard.device/KBD_REMRESETHANDLER

   NAME
	KBD_REMRESETHANDLER -- Remove a keyboard reset handler.

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

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

keyboard.device/KBD_RESETHANDLERDONE     keyboard.device/KBD_RESETHANDLERDONE

   NAME
	KBD_RESETHANDLERDONE -- Indicate that reset handling is done.

   FUNCTION
	Indicate that reset cleanup associated with the handler has
	completed.  This command should be issued by all keyboard
	reset handlers so that the reset may proceed.

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

   NOTES
	The keyboard processor itself performs the hardware reset, and
	will time out and perform the reset even if some reset handlers
	have not indicated yet that the reset may proceed.  This
	timeout is several seconds.