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

FreeBSD Manual Pages

  
 
  

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

NAME
       XkbChangeMap  -	Update	only partial components	of a keyboard descrip-
       tion, modify the	appropriate fields in the server and map components of
       a local copy of the keyboard description

SYNOPSIS
       Bool  XkbChangeMap  (Display  *dpy,  XkbDescPtr	xkb,  XkbMapChangesPtr
	      changes);

ARGUMENTS
       - dpy  connection to X server

       - xkb  description from which new values	are taken

       - changes
	      identifies component parts to update

DESCRIPTION
       To update only partial components of a keyboard description, modify the
       appropriate  fields in the server and map components of a local copy of
       the keyboard description, then call XkbChangeMap	with an	XkbMapChanges-
       Rec structure indicating	which components have changed.

       XkbChangeMap  copies  any components specified by the changes structure
       from the	keyboard description, xkb, to the X server specified by	dpy.

       If any components specified by changes are not present in the  xkb  pa-
       rameter,	 XkbChangeMap  returns False. Otherwise, it sends a request to
       the server and returns True.

       XkbChangeMap can	generate BadAlloc, BadLength,  and  BadValue  protocol
       errors.

RETURN VALUES
       True	      The XkbChangeMap function	returns	True if	the components
		      specified	by changes are present in the xkb parameter.

       False	      The XkbChangeMap function	returns	False  if  the	compo-
		      nents  specified	by  changes are	not present in the xkb
		      parameter.

STRUCTURES
       Use the XkbMapChangesRec	structure to identify and track	partial	 modi-
       fications to the	mapping	components and to reduce the amount of traffic
       between the server and clients.

       typedef struct _XkbMapChanges {
	   unsigned short   changed;		/* identifies valid components in
       structure */
	   KeyCode	    min_key_code;	/* lowest numbered keycode for device
       */
	   KeyCode	    max_key_code;	/* highest numbered keycode for	device
       */
	   unsigned char    first_type;		/* index of first key type modified */
	   unsigned char    num_types;		/* # types modified */
	   KeyCode	    first_key_sym;	/* first key whose key_sym_map changed
       */
	   unsigned char    num_key_syms;	/* # key_sym_map entries changed */
	   KeyCode	    first_key_act;	/* first key whose key_acts entry
       changed */
	   unsigned char    num_key_acts;	/* # key_acts entries changed */
	   KeyCode	    first_key_behavior;	/* first key whose behaviors changed */
	   unsigned char    num_key_behaviors;	/* # behaviors entries changed */
	   KeyCode	    first_key_explicit;	/* first key whose explicit entry
       changed */
	   unsigned char    num_key_explicit;	/* # explicit entries changed */
	   KeyCode	    first_modmap_key;	/* first key whose modmap entry	changed
       */
	   unsigned char    num_modmap_keys;	/* # modmap entries changed */
	   KeyCode	    first_vmodmap_key;	/* first key whose vmodmap changed */
	   unsigned char    num_vmodmap_keys;	/* # vmodmap entries changed */
	   unsigned char    pad1;		/* reserved */
	   unsigned short   vmods;		/* mask	indicating which vmods changed
       */
       } XkbMapChangesRec,*XkbMapChangesPtr;

DIAGNOSTICS
       BadAlloc	      Unable to	allocate storage

       BadLength      The length of a request is shorter or longer  than  that
		      required to minimally contain the	arguments

       BadValue	      An argument is out of range

X Version 11			 libX11	1.6.5		       XkbChangeMap(3)

NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | RETURN VALUES | STRUCTURES | DIAGNOSTICS

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

home | help