diff options
author | marha <marha@users.sourceforge.net> | 2009-06-28 22:07:26 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2009-06-28 22:07:26 +0000 |
commit | 3562e78743202e43aec8727005182a2558117eca (patch) | |
tree | 8f9113a77d12470c5c851a2a8e4cb02e89df7d43 /libX11/man/xkb/XkbGetVirtualMods.man | |
download | vcxsrv-3562e78743202e43aec8727005182a2558117eca.tar.gz vcxsrv-3562e78743202e43aec8727005182a2558117eca.tar.bz2 vcxsrv-3562e78743202e43aec8727005182a2558117eca.zip |
Checked in the following released items:
xkeyboard-config-1.4.tar.gz
ttf-bitstream-vera-1.10.tar.gz
font-alias-1.0.1.tar.gz
font-sun-misc-1.0.0.tar.gz
font-sun-misc-1.0.0.tar.gz
font-sony-misc-1.0.0.tar.gz
font-schumacher-misc-1.0.0.tar.gz
font-mutt-misc-1.0.0.tar.gz
font-misc-misc-1.0.0.tar.gz
font-misc-meltho-1.0.0.tar.gz
font-micro-misc-1.0.0.tar.gz
font-jis-misc-1.0.0.tar.gz
font-isas-misc-1.0.0.tar.gz
font-dec-misc-1.0.0.tar.gz
font-daewoo-misc-1.0.0.tar.gz
font-cursor-misc-1.0.0.tar.gz
font-arabic-misc-1.0.0.tar.gz
font-winitzki-cyrillic-1.0.0.tar.gz
font-misc-cyrillic-1.0.0.tar.gz
font-cronyx-cyrillic-1.0.0.tar.gz
font-screen-cyrillic-1.0.1.tar.gz
font-xfree86-type1-1.0.1.tar.gz
font-adobe-utopia-type1-1.0.1.tar.gz
font-ibm-type1-1.0.0.tar.gz
font-bitstream-type1-1.0.0.tar.gz
font-bitstream-speedo-1.0.0.tar.gz
font-bh-ttf-1.0.0.tar.gz
font-bh-type1-1.0.0.tar.gz
font-bitstream-100dpi-1.0.0.tar.gz
font-bh-lucidatypewriter-100dpi-1.0.0.tar.gz
font-bh-100dpi-1.0.0.tar.gz
font-adobe-utopia-100dpi-1.0.1.tar.gz
font-adobe-100dpi-1.0.0.tar.gz
font-util-1.0.1.tar.gz
font-bitstream-75dpi-1.0.0.tar.gz
font-bh-lucidatypewriter-75dpi-1.0.0.tar.gz
font-adobe-utopia-75dpi-1.0.1.tar.gz
font-bh-75dpi-1.0.0.tar.gz
bdftopcf-1.0.1.tar.gz
font-adobe-75dpi-1.0.0.tar.gz
mkfontscale-1.0.6.tar.gz
openssl-0.9.8k.tar.gz
bigreqsproto-1.0.2.tar.gz
xtrans-1.2.2.tar.gz
resourceproto-1.0.2.tar.gz
inputproto-1.4.4.tar.gz
compositeproto-0.4.tar.gz
damageproto-1.1.0.tar.gz
zlib-1.2.3.tar.gz
xkbcomp-1.0.5.tar.gz
freetype-2.3.9.tar.gz
pthreads-w32-2-8-0-release.tar.gz
pixman-0.12.0.tar.gz
kbproto-1.0.3.tar.gz
evieext-1.0.2.tar.gz
fixesproto-4.0.tar.gz
recordproto-1.13.2.tar.gz
randrproto-1.2.2.tar.gz
scrnsaverproto-1.1.0.tar.gz
renderproto-0.9.3.tar.gz
xcmiscproto-1.1.2.tar.gz
fontsproto-2.0.2.tar.gz
xextproto-7.0.3.tar.gz
xproto-7.0.14.tar.gz
libXdmcp-1.0.2.tar.gz
libxkbfile-1.0.5.tar.gz
libfontenc-1.0.4.tar.gz
libXfont-1.3.4.tar.gz
libX11-1.1.5.tar.gz
libXau-1.0.4.tar.gz
libxcb-1.1.tar.gz
xorg-server-1.5.3.tar.gz
Diffstat (limited to 'libX11/man/xkb/XkbGetVirtualMods.man')
-rw-r--r-- | libX11/man/xkb/XkbGetVirtualMods.man | 222 |
1 files changed, 222 insertions, 0 deletions
diff --git a/libX11/man/xkb/XkbGetVirtualMods.man b/libX11/man/xkb/XkbGetVirtualMods.man new file mode 100644 index 000000000..e62670e44 --- /dev/null +++ b/libX11/man/xkb/XkbGetVirtualMods.man @@ -0,0 +1,222 @@ +'\" t +.\" Copyright (c) 1999 - Sun Microsystems, Inc. +.\" All rights reserved. +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the +.\" "Software"), to deal in the Software without restriction, including +.\" without limitation the rights to use, copy, modify, merge, publish, +.\" distribute, and/or sell copies of the Software, and to permit persons +.\" to whom the Software is furnished to do so, provided that the above +.\" copyright notice(s) and this permission notice appear in all copies of +.\" the Software and that both the above copyright notice(s) and this +.\" permission notice appear in supporting documentation. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL +.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING +.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION +.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.\" Except as contained in this notice, the name of a copyright holder +.\" shall not be used in advertising or otherwise to promote the sale, use +.\" or other dealings in this Software without prior written authorization +.\" of the copyright holder. +.\" +.TH XkbGetVirtualMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" +.SH NAME +XkbGetVirtualMods \- Obtain a subset of the virtual modifier bindings (the vmods +array) in a keyboard description +.SH SYNOPSIS +.B Status XkbGetVirtualMods +( +.I dpy, +.I which, +.I xkb +) +.br + Display * \fIdpy\fP\^; +.br + unsigned int \fIwhich\fP\^; +.br + XkbDescPtr \fIxkb\fP\^; +.if n .ti +5n +.if t .ti +.5i +.SH ARGUMENTS +.TP +.I \- dpy +connection to server +.TP +.I \- which +mask indicating virtual modifier bindings to get +.TP +.I \- xkb +Xkb description where results will be placed +.SH DESCRIPTION +.LP +.I XkbGetVirtualMods +sends a request to the server to obtain the +.I vmods +entries for the virtual modifiers specified in the mask, +.I which, +and waits for a reply. + +Virtual modifiers are named by converting their string name to an X Atom and storing the Atom in the +.I names.vmods +array in an XkbDescRec structure. The position of a name Atom in the +.I names.vmods +array defines the bit position used to represent the virtual modifier and also the index used when +accessing virtual modifier information in arrays: the name in the i-th (0 relative) entry of +.I names.vmods +is the i-th virtual modifier, represented by the mask (1<<i). Throughout Xkb, various functions have +a parameter that is a mask representing virtual modifier choices. In each case, the i-th bit (0 +relative) of the mask represents the i-th virtual modifier. + +To set the name of a virtual modifier, use +.I XkbSetNames, +using XkbVirtualModNamesMask in +.I which +and the name in the +.I xkb +argument; to retrieve indicator names, use +.I XkbGetNames. + +For each bit set in +.I which, XkbGetVirtualMods +updates the corresponding virtual modifier definition in the +.I server->vmods +array of +.I xkb. +The +.I xkb +parameter must be a pointer to a valid Xkb keyboard description. If successful, +.I XkbGetVirtualMods +returns Success. + +.B Virtual Modifier Names and Masks + +Virtual modifiers are named by converting their string name to an X Atom and +storing the Atom in the +.I names.vmods +array in an XkbDescRec structure. The position of a name Atom in the +.I names.vmods +array defines the bit position used to represent the virtual modifier and also +the index used when accessing virtual modifier information in arrays: the name +in the i-th (0 relative) entry of +.I names.vmods +is the i-th virtual modifier, represented by the mask (1<<i). Throughout Xkb, +various functions have a parameter that is a mask representing virtual modifier +choices. In each case, the i-th bit (0 relative) of the mask represents the i-th +virtual modifier. + +To set the name of a virtual modifier, use +.I XkbSetNames, +using XkbVirtualModNamesMask in +.I which +and the name in the +.I xkb +argument; to retrieve indicator names, use +.I XkbGetNames. + +If the +.I server +map has not been allocated in the +.I xkb +parameter, +.I XkbGetVirtualMods +allocates and initializes it before obtaining the virtual modifier bindings. + +If the server does not have a compatible version of Xkb, or the Xkb extension +has not been properly initialized, +.I XkbGetVirtualMods +returns BadMatch. Any errors in allocation cause +.I XkbGetVirtualMods +to return BadAlloc. +.SH "RETURN VALUES" +.TP 15 +Success +The +.I XkbGetVirtualMods +function returns Success when it successfully updates the corresponding virtual modifier definition +in the +.I server->vmods +array of +.I xkb. +.SH STRUCTURES +.LP +The complete description of an Xkb keyboard is given by an XkbDescRec. The +component +structures in the XkbDescRec represent the major Xkb components. + +.nf +typedef struct { + struct _XDisplay * display; /\(** connection to X server */ + unsigned short flags; /\(** private to Xkb, do not modify */ + unsigned short device_spec; /\(** device of interest */ + KeyCode min_key_code; /\(** minimum keycode for device */ + KeyCode max_key_code; /\(** maximum keycode for device */ + XkbControlsPtr ctrls; /\(** controls */ + XkbServerMapPtr server; /\(** server keymap */ + XkbClientMapPtr map; /\(** client keymap */ + XkbIndicatorPtr indicators; /\(** indicator map */ + XkbNamesPtr names; /\(** names for all components */ + XkbCompatMapPtr compat; /\(** compatibility map */ + XkbGeometryPtr geom; /\(** physical geometry of keyboard */ +} XkbDescRec, *XkbDescPtr; + +.fi +The +.I display +field points to an X display structure. The +.I flags +field is private to the library: modifying +.I flags +may yield unpredictable results. The +.I device_spec +field specifies the device identifier of the keyboard input device, or XkbUseCoreKeyboard, which +specifies the core keyboard device. The +.I min_key_code +and +.I max_key_code +fields specify the least and greatest keycode that can be returned by the keyboard. + +Each structure component has a corresponding mask bit that is used in function +calls to +indicate that the structure should be manipulated in some manner, such as +allocating it +or freeing it. These masks and their relationships to the fields in the +XkbDescRec are +shown in Table 1. + +.TS +c s s +l l l +l l l. +Table 1 Mask Bits for XkbDescRec +_ +Mask Bit XkbDescRec Field Value +_ +XkbControlsMask ctrls (1L<<0) +XkbServerMapMask server (1L<<1) +XkbIClientMapMask map (1L<<2) +XkbIndicatorMapMask indicators (1L<<3) +XkbNamesMask names (1L<<4) +XkbCompatMapMask compat (1L<<5) +XkbGeometryMask geom (1L<<6) +XkbAllComponentsMask All Fields (0x7f) +.TE +.SH DIAGNOSTICS +.TP 15 +.B BadAlloc +Unable to allocate storage +.TP 15 +.B BadMatch +A compatible version of Xkb was not available in the server or an argument has +correct type and range, but is otherwise invalid +.SH "SEE ALSO" +.BR XkbGetNames (__libmansuffix__), +.BR XkbSetNames (__libmansuffix__) |