Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Apropos / Subsearch:
optional field

XkbCopyKeyTypes(3)               XKB FUNCTIONS              XkbCopyKeyTypes(3)

       XkbCopyKeyTypes - Copy more than one XkbKeyTypeRec structure

       Status XkbCopyKeyTypes ( from, into, num_types )
             XkbKeyTypePtr from;
             XkbKeyTypePtr into;
             int num_types;

       - from pointer to array of XkbKeyTypeRecs to copy

       - into pointer to array of XkbKeyTypeRecs to change

       - num_types
              number of types to copy

       XkbCopyKeyTypes  copies  num_types  XkbKeyTypeRec  structures  from the
       array specified by from into  the  array  specified  by  into.   It  is
       intended  for  copying  between,  rather than within, keyboard descrip-
       tions, so it doesn't check for overlaps. The same rules that  apply  to
       the  from  and into parameters in XkbCopyKeyType apply to each entry of
       the from and into arrays of XkbCopyKeyTypes.  If any allocation  errors
       occur  while  copying  from  to into, XkbCopyKeyTypes returns BadAlloc.
       Otherwise, XkbCopyKeyTypes copies from to into and returns Success.

       Success        The XkbCopyKeyTypes function returns Success when  there
                      are no allocation errors.

       Key types are used to determine the shift level of a key given the cur-
       rent state of the keyboard. The set of all possible key types  for  the
       Xkb keyboard description are held in the types field of the client map,
       whose total size is stored in size_types, and  whose  total  number  of
       valid  entries is stored in num_types.  Key types are defined using the
       following structure:

       typedef struct {                   /* Key Type */
           XkbModsRec        mods;        /* modifiers used to compute shift level */
           unsigned char     num_levels;  /* total # shift levels, do not modify
       directly */
           unsigned char     map_count;   /* # entries in map, preserve (if non-NULL)
           XkbKTMapEntryPtr  map;         /* vector of modifiers for each shift level
           XkbModsPtr        preserve;    /* mods to preserve for corresponding map
       entry */
           Atom              name;        /* name of key type */
           Atom *            level_names; /* array of names of each shift level */
       } XkbKeyTypeRec, *XkbKeyTypePtr;

       BadAlloc       Unable to allocate storage


X Version 11                     libX11 1.1.5               XkbCopyKeyTypes(3)