aboutsummaryrefslogtreecommitdiff
path: root/libX11/man/xkb/XkbVirtualModsToReal.man
diff options
context:
space:
mode:
Diffstat (limited to 'libX11/man/xkb/XkbVirtualModsToReal.man')
-rw-r--r--libX11/man/xkb/XkbVirtualModsToReal.man144
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.
+