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/XkbOutOfRangeGroupNumber.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/XkbOutOfRangeGroupNumber.man')
-rw-r--r-- | libX11/man/xkb/XkbOutOfRangeGroupNumber.man | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/libX11/man/xkb/XkbOutOfRangeGroupNumber.man b/libX11/man/xkb/XkbOutOfRangeGroupNumber.man new file mode 100644 index 000000000..c38b3d866 --- /dev/null +++ b/libX11/man/xkb/XkbOutOfRangeGroupNumber.man @@ -0,0 +1,197 @@ +'\" 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 XkbOutOfRangeGroupNumber __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" +.SH NAME +XkbOutOfRangeGroupNumber \- Returns the out-of-range group number, represented +as a group index, from the group_info field of an XkbSymMapRec structure +.SH SYNOPSIS +.B unsigned char XkbOutOfRangeGroupNumber macro +( +.I grp_inf +) +.br + unsigned char \fIgrp_inf\fP\^; +.if n .ti +5n +.if t .ti +.5i +.SH ARGUMENTS +.TP +.I \- grp_inf +Xkb description of interest +.SH DESCRIPTION +.LP +.I XkbOutOfRangeGroupNumber +returns the out-of-range group number, represented as a group index, from the +.I group_info +field of an XkbSymMapRec structure. + +The +.I group_info +field of an XkbSymMapRec is an encoded value containing the number of groups of +symbols bound to the +key as well as the specification of the treatment of out-of-range groups. It is +legal for a key to +have zero groups, in which case it also has zero symbols and all events from +that key yield NoSymbol. +To obtain the number of groups of symbols bound to the key, use +.I XkbKeyNumGroups. +To change the number of groups bound to a key, use +.I XkbChangeTypesOfKey. +To obtain a mask that determines the treatment of out-of-range groups, use +.I XkbKeyGroupInfo +and +.I XkbOutOfRangeGroupInfo. + +The keyboard controls contain a +.I groups_wrap +field specifying the handling of illegal groups on a global basis. That is, when +the user performs an +action causing the effective group to go out of the legal range, the +.I groups_wrap +field specifies how to normalize the effective keyboard group to a group that is +legal for the +keyboard as a whole, but there is no guarantee that the normalized group will be +within the range of +legal groups for any individual key. The per-key +.I group_info +field specifies how a key treats a legal effective group if the key does not +have a type specified for +the group of concern. For example, the Enter key usually has just one group +defined. If the user +performs an action causing the global keyboard group to change to Group2, the +.I group_info +field for the Enter key describes how to handle this situation. + +Out-of-range groups for individual keys are mapped to a legal group using the +same options as are used +for the overall keyboard group. The particular type of mapping used is +controlled by the bits set in +the +.I group_info +flag, as shown in Table 1. + + +.TS +c s +l l +l l. +Table 1 group_info Range Normalization +_ +Bits set in group_info Normalization method +_ +XkbRedirectIntoRange XkbRedirectIntoRange +XkbClampIntoRange XkbClampIntoRange +none of the above XkbWrapIntoRange +.TE +.SH STRUCTURES +.LP +The KeySymMapRec structure is defined as follows: +.nf + + #define XkbNumKbdGroups 4 + #define XkbMaxKbdGroup (XkbNumKbdGroups-1) + + typedef struct { /\(** map to keysyms for a single keycode */ + unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */ + unsigned char group_info; /\(** # of groups and out of range group handling */ + unsigned char width; /\(** max # of shift levels for key */ + unsigned short offset; /\(** index to keysym table in syms array */ +} XkbSymMapRec, *XkbSymMapPtr; + +.fi + +.nf +The XkbControlsRec structure is defined as follows: + + #define XkbMaxLegalKeyCode 255 + #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8) + + + typedef struct { + unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */ + unsigned char num_groups; /\(** number of keyboard groups */ + unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */ + XkbModsRec internal; /\(** defines server internal modifiers */ + XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */ + unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */ + unsigned short repeat_delay; /\(** ms delay until first repeat */ + unsigned short repeat_interval; /\(** ms delay between repeats */ + unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */ + unsigned short debounce_delay; /\(** ms delay before key reactivated */ + unsigned short mk_delay; /\(** ms delay to second mouse motion event */ + unsigned short mk_interval; /\(** ms delay between repeat mouse events */ + unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */ + unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */ + short mk_curve; /\(** determines mouse move curve type */ + unsigned short ax_options; /\(** 1 bit => Access X option enabled */ + unsigned short ax_timeout; /\(** seconds until Access X disabled */ + unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */ + unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */ + unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */ + unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */ + unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */ + } XkbControlsRec, *XkbControlsPtr; +.fi + +.nf +The XkbControlsRec structure is defined as follows: + + #define XkbMaxLegalKeyCode 255 + #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8) + + + typedef struct { + unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */ + unsigned char num_groups; /\(** number of keyboard groups */ + unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */ + XkbModsRec internal; /\(** defines server internal modifiers */ + XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */ + unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */ + unsigned short repeat_delay; /\(** ms delay until first repeat */ + unsigned short repeat_interval; /\(** ms delay between repeats */ + unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */ + unsigned short debounce_delay; /\(** ms delay before key reactivated */ + unsigned short mk_delay; /\(** ms delay to second mouse motion event */ + unsigned short mk_interval; /\(** ms delay between repeat mouse events */ + unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */ + unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */ + short mk_curve; /\(** determines mouse move curve type */ + unsigned short ax_options; /\(** 1 bit => Access X option enabled */ + unsigned short ax_timeout; /\(** seconds until Access X disabled */ + unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */ + unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */ + unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */ + unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */ + unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */ + } XkbControlsRec, *XkbControlsPtr; +.fi +.SH "SEE ALSO" +.BR XkbChangeTypesOfKey (__libmansuffix__), +.BR XkbKeyGroupInfo (__libmansuffix__), +.BR XkbOutOfRangeGroupInfo (__libmansuffix__) |