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

FreeBSD Manual Pages

  
 
  

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

NAME
       XkbNoteDeviceChanges - Note device changes reported in an XkbExtension-
       DeviceNotify event

SYNOPSIS

       void  XkbNoteDeviceChanges  (XkbDeviceChangesPtr	old, XkbExtensionDevi-
	      ceNotifyEvent *new, unsigned int wanted);

ARGUMENTS
       old    structure	tracking state changes

       new    event indicating state changes

       wanted mask indicating changes to note

DESCRIPTION
       The wanted field	specifies the changes that should be noted in old, and
       is composed of the bitwise inclusive OR of one or  more	of  the	 masks
       from  Table 1. The reason field of the event in new indicates the types
       of changes the event is reporting.   XkbNoteDeviceChanges  updates  the
       XkbDeviceChangesRec  specified  by  old	with the changes that are both
       specified in wanted and contained in new->reason.

				Table 1	XkbDeviceInfoRec Mask Bits
       ____________________________________________________________________________________
       Name			    XkbDeviceInfoRec Value     Capability If Set
				    Fields Effected
       ____________________________________________________________________________________
       XkbXI_KeyboardsMask			     (1L <<0) Clients can use all
							      Xkb requests and events
							      with KeyClass devices
							      supported	by the input
							      device extension.

       XkbXI_ButtonActionsMask	     num_btns	     (1L <<1) Clients can assign key
				     btn_acts		      actions to buttons
							      non-KeyClass input
							      extension	devices.

       XkbXI_IndicatorNamesMask	     leds->names     (1L <<2) Clients can assign
							      names to indicators on
							      non-KeyClass input
							      extension	devices.

       XkbXI_IndicatorMapsMask	     leds->maps	     (1L <<3) Clients can assign
							      indicator	maps to
							      indicators on
							      non-KeyClass input
							      extension	devices.

       XkbXI_IndicatorStateMask	     leds->state     (1L <<4) Clients can request
							      the status of indicators
							      on non-KeyClass input
							      extension	devices.

       XkbXI_IndicatorsMask	     sz_leds	     (0x1c)   XkbXI_IndicatorNamesMask |
				     num_leds		      XkbXI_IndicatorMapsMask |
				     leds->*		      XkbXI_IndicatorStateMask

       XkbXI_UnsupportedFeaturesMask unsupported     (1L <<15)

       XkbXI_AllDeviceFeaturesMask   Those selected  (0x1e)   XkbXI_IndicatorsMask |
				     by	Value Column	      XkbSI_ButtonActionsMask
				     masks

       XkbXI_AllFeaturesMask	     Those selected  (0x1f)   XkbSI_AllDeviceFeaturesMask |
				     by	Value Column	      XkbSI_KeyboardsMask
				     masks

       XkbXI_AllDetailsMask	     Those selected  (0x801f) XkbXI_AllFeaturesMask |
				     by	Value column	      XkbXI_UnsupportedFeaturesMask
				     masks

       To update a local copy of the state and configuration of	an X input ex-
       tension	device	with  the  changes  previously	noted  in  an	XkbDe-
       viceChangesRec structure, use XkbGetDeviceInfoChanges.

STRUCTURES
       Changes	to an Xkb extension device may be tracked by listening to Xkb-
       DeviceExtensionNotify events and	accumulating the changes in an	XkbDe-
       viceChangesRec  structure.  The changes noted in	the structure may then
       be used in subsequent operations	to update either a  server  configura-
       tion  or	 a  local  copy	 of an Xkb extension device configuration. The
       changes structure is defined as follows:

       typedef struct _XkbDeviceChanges	{
	   unsigned int		changed;       /* bits indicating what has changed */
	   unsigned short	first_btn;     /* number of first button which changed,	if any */
	   unsigned short	num_btns;      /* number of buttons that have changed */
	   XkbDeviceLedChangesRec leds;
       } XkbDeviceChangesRec,*XkbDeviceChangesPtr;

SEE ALSO
       XkbGetDeviceInfoChanges(3)

X Version 11			 libX11	1.8.12	       XkbNoteDeviceChanges(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=XkbNoteDeviceChanges&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help