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

  
 
  

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

NAME
     XkbNoteDeviceChanges - Note device changes reported in an XkbExtensionDevi-
     ceNotify event

SYNOPSIS
     void XkbNoteDeviceChanges (XkbDeviceChangesPtr old, XkbExtensionDeviceNoti-
	    fyEvent *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 exten-
     sion device with the changes previously  noted  in  an  XkbDeviceChangesRec
     structure, use XkbGetDeviceInfoChanges.

STRUCTURES
     Changes  to  an  Xkb extension device may be tracked by listening to XkbDe-
     viceExtensionNotify 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 configuration 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.13 	 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+15.1.quarterly>

home | help