Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XkbSelectEvents(3)		 XKB FUNCTIONS		    XkbSelectEvents(3)

NAME
       XkbSelectEvents	-   Selects  and / or deselects	for delivery of	one or
       more Xkb	events and has them delivered under all	conditions

SYNOPSIS
       Bool XkbSelectEvents (Display *display, unsigned	int  device_spec,  un-
	      signed   long   int   bits_to_change,  unsigned  long  int  val-
	      ues_for_bits);

ARGUMENTS
       display
	      connection to the	X server

       device_spec
	      device ID, or XkbUseCoreKbd

       bits_to_change
	      determines events	to be selected / deselected

       values_for_bits
	      1=>select, 0->deselect; for events in bits_to_change

DESCRIPTION
       Xkb events are selected using an	event mask, much the  same  as	normal
       core  X	events	are selected. However, unlike selecting	core X events,
       where you must specify the selection status (on or off) for all	possi-
       ble  event types	whenever you wish to change the	selection criteria for
       any one event, Xkb allows you to	restrict the specification to only the
       event  types you	wish to	change.	This means that	you do not need	to re-
       member the event	selection values for all possible types	each time  you
       want to change one of them.

       Many  Xkb  event	 types	are  generated under several different circum-
       stances.	When selecting to receive an Xkb event,	you may	specify	either
       that you	want it	delivered under	all circumstances, or that you want it
       delivered only for a subset of the possible circumstances.

       You can also deselect an	event type that	was previously	selected  for,
       using the same granularity.

       Xkb  provides  two  functions  to  select  and deselect delivery	of Xkb
       events.	XkbSelectEvents	allows you to select or	deselect  delivery  of
       more  than  one	Xkb  event  type at once. Events selected using	XkbSe-
       lectEvents are delivered	to your	program	under all  circumstances  that
       generate	 the  events.  To restrict delivery of an event	to a subset of
       the conditions under which it occurs, use XkbSelectEventDetails.	XkbSe-
       lectEventDetails	only allows you	to change the selection	conditions for
       a single	event at a time, but it	provides a means  of  fine-tuning  the
       conditions under	which the event	is delivered.

       This  request  changes  the  Xkb	 event selection mask for the keyboard
       specified by device_spec.

       Each Xkb	event that can be selected is represented  by  a  bit  in  the
       bits_to_change and values_for_bits masks. Only the event	selection bits
       specified by the	bits_to_change parameter are affected; any unspecified
       bits  are  left unchanged. To turn on event selection for an event, set
       the bit for the event in	the bits_to_change parameter and set the  cor-
       responding  bit in the values_for_bits parameter. To turn off event se-
       lection for an event, set the bit for the event in  the	bits_to_change
       parameter  and  do not set the corresponding bit	in the values_for_bits
       parameter. The valid values for both of these parameters	are an	inclu-
       sive bitwise OR of the masks shown in Table 1. There is no interface to
       return your client's current event selection mask. Clients  cannot  set
       other clients' event selection masks.

       The  X server reports the events	defined	by Xkb to your client applica-
       tion only if you	have requested them via	a call to  XkbSelectEvents  or
       XkbSelectEventDetails.  Specify the event types in which	you are	inter-
       ested in	a mask.

       Table 1 lists the event mask constants that can be specified  with  the
       XkbSelectEvents	request	and the	circumstances in which the mask	should
       be specified.

			 Table 1 XkbSelectEvents Mask Constants
       ---------------------------------------------------------------------------
       Event Mask		      Value	 Notification Wanted
       ---------------------------------------------------------------------------
       XkbNewKeyboardNotifyMask	      (1L<<0)	 Keyboard geometry change
       XkbMapNotifyMask		      (1L<<1)	 Keyboard mapping change
       XkbStateNotifyMask	      (1L<<2)	 Keyboard state	change
       XkbControlsNotifyMask	      (1L<<3)	 Keyboard control change
       XkbIndicatorStateNotifyMask    (1L<<4)	 Keyboard indicator state change
       XkbIndicatorMapNotifyMask      (1L<<5)	 Keyboard indicator map	change
       XkbNamesNotifyMask	      (1L<<6)	 Keyboard name change
       XkbCompatMapNotifyMask	      (1L<<7)	 Keyboard compat map change
       XkbBellNotifyMask	      (1L<<8)	 Bell
       XkbActionMessageMask	      (1L<<9)	 Action	message
       XkbAccessXNotifyMask	      (1L<<10)	 AccessX features
       XkbExtensionDeviceNotifyMask   (1L<<11)	 Extension device
       XkbAllEventsMask		      (0xFFF)	 All Xkb events

       If a bit	is not set in the bits_to_change  parameter,  but  the	corre-
       sponding	bit is set in the values_for_bits parameter, a BadMatch	proto-
       col  error  results.  If	 an  undefined	bit  is	 set  in  either   the
       bits_to_change  or  the	values_for_bits	parameter, a BadValue protocol
       error results.

       All event selection bits	are initially zero for clients using  the  Xkb
       extension.  Once	you set	some bits, they	remain set for your client un-
       til you clear them via another call to XkbSelectEvents.

       XkbSelectEvents returns False if	the Xkb	extension has not been initil-
       ialized and True	otherwise.

RETURN VALUES
       True	      The XkbSelectEvents function returns True	if the Xkb ex-
		      tension has been initilialized.

       False	      The XkbSelectEvents function returns False  if  the  Xkb
		      extension	has not	been initilialized.

SEE ALSO
       XkbSelectEventDetails(3), XkbUseCoreKbd(3)

X Version 11			 libX11	1.6.5		    XkbSelectEvents(3)

NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | RETURN VALUES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=XkbSelectEvents&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help