.\"##
.\" $XConsortium: p168,v 5.2 94/04/17 20:56:23 rws Exp $
.\"##
.\"## 
$XMCOPY
.\"## Copyright (c) 1990, 1991 by Sun Microsystems, Inc. 
.\"## 
.\"##                         All Rights Reserved
.\"## 
.\"## Permission to use, copy, modify, and distribute this software and its 
.\"## documentation for any purpose and without fee is hereby granted, 
.\"## provided that the above copyright notice appear in all copies and that
.\"## both that copyright notice and this permission notice appear in 
.\"## supporting documentation, and that the name of Sun Microsystems,
.\"## not be used in advertising or publicity 
.\"## pertaining to distribution of the software without specific, written 
.\"## prior permission.  
.\"## 
.\"## SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 
.\"## INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
.\"## EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
.\"## CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
.\"## USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
.\"## OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\"## PERFORMANCE OF THIS SOFTWARE.
.ds f \s-2INQUIRE MORE SIMULTANEOUS EVENTS\s+2
.TH "INQUIRE MORE SIMULTANEOUS EVENTS" 3P "29 February 1991"
.SH NAME
INQUIRE MORE SIMULTANEOUS EVENTS \- see if there are more simultaneous events on the input queue
.IX "Event Input Mode" "INQUIRE MORE SIMULTANEOUS EVENTS"
.IX "Input Modes" "INQUIRE MORE SIMULTANEOUS EVENTS"
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.5i 3i
.nf
void
pinq_more_simult_events ( error_ind, events )
Pint	*error_ind;	\fIOUT error indicator\fP
Pmore_simult_events	*events;	\fIOUT simultaneous events\fP
.fi
.ft R
.SS Required PHIGS Operating States
(PHOP, *, *, *)
.
.SH DESCRIPTION
Use \s-2INQUIRE MORE SIMULTANEOUS EVENTS\s+2 to determine if there are more simultaneous events on the input
queue.  Simultaneous events are generated when two or more input devices
in \s-2EVENT\s+2 mode share a trigger and that trigger is fired.  One event for
each device sharing the trigger is generated in such a case, and the
events are marked as simultaneous.
.
.SS C Input Parameters
.IP \fIerror_ind\fP
A pointer to the error indicator.  If an error is detected, the number of
the error is stored in this variable and the contents of \fIevents\fP is
undefined.
.IP \fIevents\fP
A pointer to a Pmore_simult_events type defined in phigs.h as:
.sp .2
.ta .5i
.nf
typedef enum {
.sp .2
	PSIMULT_NO_MORE,
	PSIMULT_MORE
.sp .2
} Pmore_simult_events;
.fi
.
.SS Execution
\s-2INQUIRE MORE SIMULTANEOUS EVENTS\s+2 examines the \fImore simultaneous events\fP field in the \s-2PHIGS\s+2 state list
to see if the next event is the next in a group of simultaneous events.
When the first event in a group of simultaneous events reaches the front of
the input event queue and is removed by \s-2AWAIT EVENT\s+2, the \fImore
simultaneous events\fP field is set to \s-2MORE\s+2.  When the last event in
the group is removed from the event queue the value is set to \s-2NO MORE\s+2.
.LP
Simultaneous events are generated by input devices that share the same
trigger.  If these input devices are in \s-2EVENT\s+2 mode and the trigger is fired,
then an input event will be enqueued for each of the devices and each will be
marked as one in a group of simultaneous events.  The order in which they
are enqueued is undefined.  If there is
not enough space on the input queue to hold this entire group of
events, then none of them will be enqueued and one of them will
be placed in the \fIidentification of one of the logical input devices that
caused an overflow\fP field in the \s-2PHIGS\s+2 error state list.
.LP
\s-2PEX-SI\s0 has many devices that can potentially share triggers.  See the
corresponding \s-2INITIALIZE\s+2 \fIinput class\fP functions for a
description of the triggers each device uses.
.
.SH ERRORS
.IP 002
Ignoring function, function requires state (\s-2PHOP, *, *, *\s+2)
.bp
.SH SEE ALSO
.nf
.IP
.ta 0.5i
.SM "AWAIT EVENT (3P)"
.SM "GET CHOICE (3P)"
.SM "GET LOCATOR (3P)"
.SM "GET PICK (3P)"
.SM "GET STRING (3P)"
.SM "GET STROKE (3P)"
.SM "GET VALUATOR (3P)"
.fi 
