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 description,
     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 ap-
     propriate	fields	in  the server and map components of a local copy of the
     keyboard description,  then  call	XkbChangeMap  with  an	XkbMapChangesRec
     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  parame-
     ter,  XkbChangeMap  returns  False.  Otherwise,  it  sends a request to the
     server and returns True.

     XkbChangeMap can generate BadAlloc, BadLength, and  BadValue  protocol  er-
     rors.

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  components
		    specified by changes are not present in the xkb parameter.

STRUCTURES
     Use  the XkbMapChangesRec structure to identify and track partial modifica-
     tions 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  re-
		    quired to minimally contain the arguments

     BadValue	    An argument is out of range

X Version 11			  libX11 1.8.13 		 XkbChangeMap(3)

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

home | help