diff options
Diffstat (limited to 'libX11/man/xkb/XkbVirtualModsToReal.man')
-rw-r--r-- | libX11/man/xkb/XkbVirtualModsToReal.man | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/libX11/man/xkb/XkbVirtualModsToReal.man b/libX11/man/xkb/XkbVirtualModsToReal.man new file mode 100644 index 000000000..17785e365 --- /dev/null +++ b/libX11/man/xkb/XkbVirtualModsToReal.man @@ -0,0 +1,144 @@ +.\" 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 XkbVirtualModsToReal __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" +.SH NAME +XkbVirtualModsToReal \- Determines the mapping of virtual modifiers to core X +protocol modifiers +.SH SYNOPSIS +.B Bool XkbVirtualModsToReal +( +.I xkb, +.I virtual_mask, +.I mask_rtrn +) +.br + XkbDescPtr \fI xkb \fP\^; +.br + unsigned int \fI virtual_mask \fP\^; +.br + unsigned int *\fI mask_rtrn \fP\^; +.if n .ti +5n +.if t .ti +.5i +.SH ARGUMENTS +.TP +.I \- xkb +keyboard description for input device +.TP +.I \- virtual_mask +virtual modifier mask to translate +.TP +.I \- mask_rtrn +backfilled with real modifiers +.SH DESCRIPTION +.LP +Xkb maintains a +.I virtual modifier mapping, +which lists the virtual modifiers associated with, or bound to, each key. The +real modifiers bound to a virtual modifier always include all of the modifiers +bound to any of the keys that specify that virtual modifier in their virtual +modifier mapping. The +.I server.vmodmap +array indicates which virtual modifiers are bound to each key; each entry is a +bitmask for the virtual modifier bits. The +.I server.vmodmap +array is indexed by keycode. + +The +.I vmodmap +and +.I vmods +members of the server map are the "master" virtual modifier definitions. Xkb +automatically propagates any changes to these fields to all other fields that +use virtual modifier mappings. + +For example, if Mod3 is bound to the Num_Lock key by the core protocol modifier +mapping, and the NumLock virtual modifier is bound to they Num_Lock key by the +virtual modifier mapping, Mod3 is added to the set of modifiers associated with +NumLock. + +The virtual modifier mapping is normally updated whenever actions are +automatically applied to symbols and few applications should need to change the +virtual modifier mapping explicitly. + +Use +.I XkbGetMap +to get the virtual modifiers from the server or use +.I XkbGetVirtualMods +to update a local copy of the virtual modifiers bindings from the server. To set +the binding of a virtual modifier to a real modifier, use +.I XkbGetVirtualMods + +If the keyboard description defined by +.I xkb +includes bindings for virtual modifiers, +.I XkbVirtualModsToReal +uses those bindings to determine the set of real modifiers that correspond to +the set of virtual modifiers specified in +.I virtual_mask. +The +.I virtual_mask +parameter is a mask specifying the virtual modifiers to translate; the i-th bit +(0 relative) of the mask represents the i-th virtual modifier. If +.I mask_rtrn +is non-NULL, +.I XkbVirtualModsToReal +backfills it with the resulting real modifier mask. If the keyboard description +in +.I xkb +does not include virtual modifier bindings, +.I XkbVirtualModsToReal +returns False; otherwise, it returns True. +.SH "RETURN VALUES" +.TP 15 +True +The +.I XkbVirtualModsToReal +function returns True if the keyboard description +in +.I xkb +does include virtual modifier bindings. +.TP 15 +False +The +.I XkbVirtualModsToReal +function returns False if the keyboard description +in +.I xkb +does not include virtual modifier bindings. +.SH "SEE ALSO" +.BR XkbGetMap (__libmansuffix__), +.BR XkbGetVirtualMods (__libmansuffix__) +.SH NOTES +.LP +It is possible for a local (client-side) keyboard description (the +.I xkb +parameter) to not contain any virtual modifier information (simply because the +client has not requested it) while the server's corresponding definition may +contain virtual modifier information. + |