Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

X11R7.4 - man page for xkblistcomponents (x11r4 section 3)

XkbListComponents(3)			  XKB FUNCTIONS 		     XkbListComponents(3)

NAME
       XkbListComponents - List of components for one or more component types

SYNOPSIS
       XkbComponentListPtr XkbListComponents ( dpy, device_spec, ptrns, max_inout )
	     Display * dpy;
	     unsigned int device_spec;
	     XkbComponentNamesPtr ptrnst;
	     int * max_inout;

ARGUMENTS
       - dpy  connection to X server

       - device_spec
	      device ID, or XkbUseCoreKbd

       - ptrns
	      namelist for components of interest

       - max_inout
	      max # returned names, # left over

DESCRIPTION
       You  may  ask  the  server  for	a list of components for one or more component types. The
       request takes the form of a set of patterns, one pattern for each of the component  types,
       including  a  pattern for the complete keyboard description. To obtain this list, use Xkb-
       ListComponents.

       XkbListComponents queries the server for a list of component names matching  the  patterns
       specified  in  ptrns.  It waits for a reply and returns the matching component names in an
       XkbComponentListRec structure.  When you are done using the structure, you should free  it
       using  XkbFreeComponentList. device_spec indicates a particular device in which the caller
       is interested. A server is allowed (but not required) to restrict its reply to portions of
       the database that are relevant for that particular device.

       ptrns is a pointer to an XkbComponentNamesRec. Each of the fields in ptrns contains a pat-
       tern naming the components of interest. Each of the patterns  is  composed  of  characters
       from  the  ISO  Latin1 encoding, but can contain only parentheses, the wildcard characters
       `?' and `*', and characters permitted in a component class or member name. A  pattern  may
       be  NULL, in which case no components for that type is returned. Pattern matches with com-
       ponent names are case sensitive. The `?'  wildcard matches any single character, except	a
       left  or  right	parenthesis;  the `*' wildcard matches any number of characters, except a
       left or right parenthesis. If an implementation allows additional characters in	a  compo-
       nent  class  or	member name other than those required by the Xkb extension, the result of
       comparing one of the additional characters to either of the wildcard characters is  imple-
       mentation-dependent.

       If a pattern contains illegal characters, the illegal characters are ignored. The matching
       process is carried out as if the illegal characters were omitted from the pattern.

       max_inout is used to throttle the amount of data passed to and from the server. On  input,
       it  specifies the maximum number of names to be returned (the total number of names in all
       component categories). Upon return from XkbListComponents, max_inout contains  the  number
       of names that matched the request but were not returned because of the limit.

       Component Names

       Component  names  have the form class(member) where class describes a subset of the avail-
       able components for a particular type and the optional member identifies a specific compo-
       nent  from  that  subset.  For  example, the name "atlantis(acme)" for a symbols component
       might specify the symbols used for the atlantis national keyboard  layout  by  the  vendor
       "acme."	Each  class  has an optional default member - references that specify a class but
       not a member refer to the default member of the class, if one exists. Xkb places  no  con-
       straints on the interpretation of the class and member names used in component names.

       The  class and member names are both specified using characters from the Latin-1 character
       set. Xkb implementations must accept all alphanumeric characters, minus (`-')  and  under-
       score (`_') in class or member names, and must not accept parentheses, plus, vertical bar,
       percent sign, asterisk, question mark, or white space. The  use	of  other  characters  is
       implementation-dependent.

STRUCTURES
       The  component  name patterns used to describe the request are passed to XkbListComponents
       using an XkbComponentNamesRec structure. This structure has  no	special  allocation  con-
       straints  or  interrelationships  with  other structures; allocate and free this structure
       using standard malloc and free calls or their equivalent:

	   typedef struct _XkbComponentNames {
	       char *	      keymap;		/* keymap names */
	       char *	      keycodes; 	/* keycode names */
	       char *	      types;		/* type names */
	       char *	      compat;		/* compatibility map names */
	       char *	      symbols;		/* symbol names */
	       char *	      geometry; 	/* geometry names */
	   } XkbComponentNamesRec, *XkbComponentNamesPtr;

       XkbListComponents returns a pointer to an XkbComponentListRec:

	   typedef struct _XkbComponentList {
	       int			num_keymaps;  /* number of entries in keymap */
	       int			num_keycodes; /* number of entries in keycodes */
	       int			num_types;    /* number of entries in types */
	       int			num_compat;   /* number of entries in compat */
	       int			num_symbols;  /* number of entries in symbols */
	       int			num_geometry; /* number of entries in geometry;
	       XkbComponentNamePtr	keymap;       /* keymap names */
	       XkbComponentNamePtr	keycodes;     /* keycode names */
	       XkbComponentNamePtr	types;	      /* type names */
	       XkbComponentNamePtr	compat;       /* compatibility map names */
	       XkbComponentNamePtr	symbols;      /* symbol names */
	       XkbComponentNamePtr	geometry;     /* geometry names */
	   } XkbComponentListRec, *XkbComponentListPtr;

	   typedef struct _XkbComponentName {
	       unsigned short		flags;	      /* hints regarding component name */
	       char *			name;	      /* name of component */
	   } XkbComponentNameRec, *XkbComponentNamePtr;

SEE ALSO
       XkbFreeComponentList(3)

NOTES
       Note that the structure used to specify patterns on input is an XkbComponentNamesRec,  and
       that used to hold the individual component names upon return is an XkbComponentNameRec (no
       trailing `s' in Name).

X Version 11				   libX11 1.2.1 		     XkbListComponents(3)


All times are GMT -4. The time now is 08:59 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password