mirror of
https://gitlab.freedesktop.org/xorg/lib/libx11.git
synced 2026-05-09 04:58:06 +02:00
Add man pages for XKB API's
Man pages originally written for X11R6.4 integration to Solaris 7 11/99 Sun bug id 4258344: Add new XKB API manpages for 6.4 upgrade <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=4258344> (Volunteer needed to convert prototypes in man pages to ANSI C style...)
This commit is contained in:
parent
f640a49b5e
commit
d9954c6f6f
200 changed files with 27520 additions and 0 deletions
146
man/xkb/XkbActionCtrls.man
Normal file
146
man/xkb/XkbActionCtrls.man
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
'\" 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 XkbActionCtrls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbActionCtrls \- Returns the ctrls fields of act converted to an unsigned int
|
||||
.SH SYNOPSIS
|
||||
.B unsigned int XkbActionCtrls macro
|
||||
(
|
||||
.I act
|
||||
)
|
||||
.br
|
||||
XkbCtrlsAction \fIact\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- act
|
||||
action from which to extract controls
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Actions associated with the XkbCtrlsAction structure change the state of the
|
||||
boolean controls.
|
||||
|
||||
The
|
||||
.I type
|
||||
field can have any one of the values shown in Table 1.
|
||||
|
||||
.TS
|
||||
c s
|
||||
l l
|
||||
l lw(4i).
|
||||
Table 1 Controls Action Types
|
||||
_
|
||||
Type Effect
|
||||
_
|
||||
XkbSA_SetControls T{
|
||||
A key press enables any boolean controls specified in the ctrls fields that were
|
||||
not already enabled at
|
||||
the time of the key press.
|
||||
A key release disables any controls enabled by the key press.
|
||||
This action can cause XkbControlsNotify events.
|
||||
T}
|
||||
XkbSA_LockControls T{
|
||||
If the XkbSA_LockNoLock bit is not set in the flags field, a key press enables
|
||||
any controls specified in
|
||||
the ctrls fields that were not already enabled at the time of the key press.
|
||||
.br
|
||||
If the XkbSA_LockNoUnlock bit is not set in the flags field, a key release
|
||||
disables any controls
|
||||
specified in the ctrls fields that were not already disabled at the time of the
|
||||
key press.
|
||||
.br
|
||||
This action can cause XkbControlsNotify events.
|
||||
T}
|
||||
.TE
|
||||
|
||||
The
|
||||
.I flags
|
||||
field is composed of the bitwise inclusive OR of the masks shown in Table 2.
|
||||
|
||||
.TS
|
||||
c s
|
||||
l l
|
||||
l lw(4i).
|
||||
Table 2 Control Action Flags
|
||||
_
|
||||
Flag Meaning
|
||||
_
|
||||
XkbSA_LockNoLock T{
|
||||
If set, and the action type is XkbSA_LockControls, the server only disables
|
||||
controls.
|
||||
T}
|
||||
XkbSA_LockNoUnlock T{
|
||||
If set, and the action type is XkbSA_LockControls, the server only enables
|
||||
controls.
|
||||
T}
|
||||
.TE
|
||||
|
||||
The XkbSA_SetControls action implements a key that enables a boolean control
|
||||
when pressed and disables it
|
||||
when released. The XkbSA_LockControls action is used to implement a key that
|
||||
toggles the state of a
|
||||
boolean control each time it is pressed and released. The XkbSA_LockNoLock and
|
||||
XkbSA_LockNoUnlock flags
|
||||
allow modifying the toggling behavior to only unlock or only lock the boolean
|
||||
control.
|
||||
|
||||
The
|
||||
.I ctrls0, ctrls1, ctrls2,
|
||||
and
|
||||
.I ctrls3
|
||||
fields represent the boolean controls in the
|
||||
.I enabled_ctrls
|
||||
field of the controls structure. Xkb macros, to convert between the two formats.
|
||||
|
||||
.I XkbActionCtrls
|
||||
returns the
|
||||
.I ctrls
|
||||
fields of
|
||||
.I act
|
||||
converted to an unsigned int.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef struct _XkbCtrlsAction {
|
||||
unsigned char type; /* XkbSA_SetControls, XkbSA_LockControls */
|
||||
unsigned char flags; /* with type, controls enabling and disabling
|
||||
of controls */
|
||||
unsigned char ctrls3; /* ctrls0 through ctrls3 represent the boolean
|
||||
controls */
|
||||
unsigned char ctrls2; /* ctrls0 through ctrls3 represent the boolean
|
||||
controls */
|
||||
unsigned char ctrls1; /* ctrls0 through ctrls3 represent the boolean
|
||||
controls */
|
||||
unsigned char ctrls0; /* ctrls0 through ctrls3 represent the boolean
|
||||
controls */
|
||||
} XkbCtrlsAction;
|
||||
.fi
|
||||
131
man/xkb/XkbAddDeviceLedInfo.man
Normal file
131
man/xkb/XkbAddDeviceLedInfo.man
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
'\" 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 XkbAddDeviceLedInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAddDeviceLedInfo \- Initialize an XkbDeviceLedInfoRec structure
|
||||
.SH SYNOPSIS
|
||||
.B XkbDeviceLedInfoPtr XkbAddDeviceLedInfo
|
||||
(
|
||||
.I device_info,
|
||||
.I led_class,
|
||||
.I led_id
|
||||
)
|
||||
.br
|
||||
XkbDeviceInfoPtr \fIdevice_info\fP\^;
|
||||
.br
|
||||
unsigned int \fIled_class\fP\^;
|
||||
.br
|
||||
unsigned int \fIled_id\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- device_info
|
||||
structure in which to add LED info
|
||||
.TP
|
||||
.I \- led_class
|
||||
input extension class for LED device of interest
|
||||
.TP
|
||||
.I \- led_id
|
||||
input extension ID for LED device of interest
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbAddDeviceLedInfo
|
||||
first checks to see whether an entry matching
|
||||
.I led_class
|
||||
and
|
||||
.I led_id
|
||||
already exists in the
|
||||
.I device_info->leds
|
||||
array. If it finds a matching entry, it returns a pointer to that entry. Otherwise, it checks to be sure
|
||||
there is at least one empty entry in
|
||||
.I device_info->leds
|
||||
and extends it if there is not enough room. It then increments
|
||||
.I device_info->num_leds
|
||||
and fills in the next available entry in
|
||||
.I device_info->leds
|
||||
with
|
||||
.I led_class
|
||||
and
|
||||
.I led_id.
|
||||
|
||||
If successful,
|
||||
.I XkbAddDeviceLedInfo
|
||||
returns a pointer to the XkbDeviceLedInfoRec structure that was initialized. If unable to allocate
|
||||
sufficient storage, or if
|
||||
.I device_info
|
||||
points to an invalid XkbDeviceInfoRec structure, or if
|
||||
.I led_class
|
||||
or
|
||||
.I led_id
|
||||
are inappropriate,
|
||||
.I XkbAddDeviceLedInfo
|
||||
returns NULL.
|
||||
|
||||
To allocate additional space for button actions in an XkbDeviceInfoRec structure, use
|
||||
.I XkbResizeDeviceButtonActions.
|
||||
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
Information about X Input Extension devices is transferred between a client program and the Xkb
|
||||
extension in an XkbDeviceInfoRec structure:
|
||||
.nf
|
||||
|
||||
typedef struct {
|
||||
char * name; /* name for device */
|
||||
Atom type; /* name for class of devices */
|
||||
unsigned short device_spec; /* device of interest */
|
||||
Bool has_own_state; /* True=>this device has its own state */
|
||||
unsigned short supported; /* bits indicating supported capabilities */
|
||||
unsigned short unsupported; /* bits indicating unsupported capabilities */
|
||||
unsigned short num_btns; /* number of entries in btn_acts */
|
||||
XkbAction * btn_acts; /* button actions */
|
||||
unsigned short sz_leds; /* total number of entries in LEDs vector */
|
||||
unsigned short num_leds; /* number of valid entries in LEDs vector */
|
||||
unsigned short dflt_kbd_fb; /* input extension ID of default (core kbd) indicator */
|
||||
unsigned short dflt_led_fb; /* input extension ID of default indicator feedback */
|
||||
XkbDeviceLedInfoPtr leds; /* LED descriptions */
|
||||
} XkbDeviceInfoRec, *XkbDeviceInfoPtr;
|
||||
|
||||
|
||||
typedef struct {
|
||||
unsigned short led_class; /* class for this LED device*/
|
||||
unsigned short led_id; /* ID for this LED device */
|
||||
unsigned int phys_indicators; /* bits for which LEDs physically present */
|
||||
unsigned int maps_present; /* bits for which LEDs have maps in maps */
|
||||
unsigned int names_present; /* bits for which LEDs are in names */
|
||||
unsigned int state; /* 1 bit => corresponding LED is on */
|
||||
Atom names[XkbNumIndicators]; /* names for LEDs */
|
||||
XkbIndicatorMapRec maps; /* indicator maps for each LED */
|
||||
} XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
|
||||
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbResizeDeviceButtonActions (__libmansuffix__)
|
||||
110
man/xkb/XkbAddGeomColor.man
Normal file
110
man/xkb/XkbAddGeomColor.man
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
.\" 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 XkbAddGeomColor __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAddGeomColor \- Add one color name to an existing keyboard geometry
|
||||
description
|
||||
.SH SYNOPSIS
|
||||
.B XkbColorPtr XkbAddGeomColor
|
||||
(
|
||||
.I geom,
|
||||
.I spec,
|
||||
.I pixel
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
char * \fIspec\fP\^;
|
||||
.br
|
||||
unsigned int \fIpixel\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry to be updated
|
||||
.TP
|
||||
.I \- spec
|
||||
color to be added
|
||||
.TP
|
||||
.I \- pixel
|
||||
color to be added
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides functions to add a single new element to the top-level keyboard
|
||||
geometry. In each case the
|
||||
.I num_ *
|
||||
fields of the corresponding structure is incremented by 1. These functions do
|
||||
not change
|
||||
.I sz_*
|
||||
unless there is no more room in the array. Some of these functions fill in the
|
||||
values of the element's structure from the arguments. For other functions, you
|
||||
must explicitly write code to fill the structure's elements.
|
||||
|
||||
The top-level geometry description includes a list of
|
||||
.I geometry properties.
|
||||
A geometry property associates an arbitrary string with an equally arbitrary
|
||||
name. Programs that display images of keyboards can use geometry properties as
|
||||
hints, but they are not interpreted by Xkb. No other geometry structures refer
|
||||
to geometry properties.
|
||||
|
||||
.I XkbAddGeomColor
|
||||
adds the specified color
|
||||
.I name
|
||||
and
|
||||
.I pixel
|
||||
to the specified geometry
|
||||
.I geom.
|
||||
The top-level geometry description includes a list of up to MaxColors (32)
|
||||
.I color names.
|
||||
A color
|
||||
.I name
|
||||
is a string whose interpretation is not specified by Xkb and neither is the
|
||||
.I pixel
|
||||
value's interpretation. All other geometry data structures refer to colors using
|
||||
their indices in this global list or pointers to colors in this list.
|
||||
.I XkbAddGeomColor
|
||||
returns NULL if any of the parameters is empty or if it was not able to allocate
|
||||
space for the color. To allocate space for an arbitrary number of colors to a
|
||||
geometry, use the
|
||||
.I XkbAllocGeomColors
|
||||
function.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef struct _XkbColor {
|
||||
unsigned int pixel; /* color */
|
||||
char * spec; /* color name */
|
||||
} XkbColorRec,*XkbColorPtr;
|
||||
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAllocGeomColors (__libmansuffix__)
|
||||
|
||||
123
man/xkb/XkbAddGeomDoodad.man
Normal file
123
man/xkb/XkbAddGeomDoodad.man
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
.\" 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 XkbAddGeomDoodad __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAddGeomDoodad \- Add one doodad to a section of a keyboard geometry or to the
|
||||
top-level geometry
|
||||
.SH SYNOPSIS
|
||||
.B XkbDoodadPtr XkbAddGeomDoodad
|
||||
(
|
||||
.I geom ,
|
||||
.I section,
|
||||
.I name
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
XkbSectionPtr \fIsection\fP\^;
|
||||
.br
|
||||
Atom \fIname\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry to which the doodad is added
|
||||
.TP
|
||||
.I \- section
|
||||
section, if any, to which the doodad is added
|
||||
.TP
|
||||
.I \- name
|
||||
name of the new doodad
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides functions to add a single new element to the top-level keyboard
|
||||
geometry. In each case the
|
||||
.I num_ *
|
||||
fields of the corresponding structure is incremented by 1. These functions do
|
||||
not change
|
||||
.I sz_*
|
||||
unless there is no more room in the array. Some of these functions fill in the
|
||||
values of the element's structure from the arguments. For other functions, you
|
||||
must explicitly write code to fill the structure's elements.
|
||||
|
||||
The top-level geometry description includes a list of
|
||||
.I geometry properties.
|
||||
A geometry property associates an arbitrary string with an equally arbitrary
|
||||
name. Programs that display images of keyboards can use geometry properties as
|
||||
hints, but they are not interpreted by Xkb. No other geometry structures refer
|
||||
to geometry properties.
|
||||
|
||||
A
|
||||
.I doodad
|
||||
describes some visible aspect of the keyboard that is not a key and is not a
|
||||
section.
|
||||
.I XkbAddGeomDoodad
|
||||
adds a doodad with name specified by
|
||||
.I name
|
||||
to the geometry
|
||||
.I geom
|
||||
if
|
||||
.I section
|
||||
is NULL or to the section of the geometry specified by
|
||||
.I section
|
||||
if
|
||||
.I section
|
||||
is not NULL.
|
||||
.I XkbAddGeomDoodad
|
||||
returns NULL if any of the parameters is empty or if it was not able to allocate
|
||||
space for the doodad. If there is already a doodad with the name
|
||||
.I name
|
||||
in the doodad array for the geometry (if
|
||||
.I section
|
||||
is NULL) or the section (if
|
||||
.I section
|
||||
is non-NULL), a pointer to that doodad is returned. To allocate space for an
|
||||
arbitrary number of doodads to a section, use the
|
||||
.I XkbAllocGeomSectionDoodads
|
||||
function. To allocate space for an arbitrary number of doodads to a keyboard
|
||||
geometry, use the
|
||||
.I XkbAllocGeomDoodads
|
||||
function.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef union _XkbDoodad {
|
||||
XkbAnyDoodadRec any;
|
||||
XkbShapeDoodadRec shape;
|
||||
XkbTextDoodadRec text;
|
||||
XkbIndicatorDoodadRec indicator;
|
||||
XkbLogoDoodadRec logo;
|
||||
} XkbDoodadRec, *XkbDoodadPtr;
|
||||
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAllocGeomDoodads (__libmansuffix__),
|
||||
.BR XkbAllocGeomSectionDoodads (__libmansuffix__)
|
||||
86
man/xkb/XkbAddGeomKey.man
Normal file
86
man/xkb/XkbAddGeomKey.man
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
.\" 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 XkbAddGeomKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAddGeomKey \- Add one key at the end of an existing row of keys
|
||||
.SH SYNOPSIS
|
||||
.B XkbKeyPtr XkbAddGeomKey
|
||||
(
|
||||
.I row
|
||||
)
|
||||
.br
|
||||
XkbRowPtr \fIrow\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- row
|
||||
row to be updated
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides functions to add a single new element to the top-level keyboard geometry. In each case
|
||||
the
|
||||
.I num_ *
|
||||
fields of the corresponding structure is incremented by 1. These functions do not change
|
||||
.I sz_*
|
||||
unless there is no more room in the array. Some of these functions fill in the values of the
|
||||
element's structure from the arguments. For other functions, you must explicitly write code to fill
|
||||
the structure's elements.
|
||||
|
||||
The top-level geometry description includes a list of
|
||||
.I geometry properties.
|
||||
A geometry property associates an arbitrary string with an equally arbitrary name. Programs that
|
||||
display images of keyboards can use geometry properties as hints, but they are not interpreted by
|
||||
Xkb. No other geometry structures refer to geometry properties.
|
||||
|
||||
Keys are grouped into rows.
|
||||
.I XkbAddGeomKey
|
||||
adds one key to the end of the specified
|
||||
.I row.
|
||||
The key is allocated and zeroed.
|
||||
.I XkbAddGeomKey
|
||||
returns NULL if
|
||||
.I row
|
||||
is empty or if it was not able to allocate space for the key. To allocate space for an arbitrary
|
||||
number of keys to a row, use
|
||||
.I XkbAllocGeomKeys.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef struct _XkbKey { /* key in a row */
|
||||
XkbKeyNameRec name; /* key name */
|
||||
short gap; /* gap in mm/10 from previous key in row */
|
||||
unsigned char shape_ndx; /* index of shape for key */
|
||||
unsigned char color_ndx; /* index of color for key body */
|
||||
} XkbKeyRec, *XkbKeyPtr;
|
||||
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAllocGeomKeys (__libmansuffix__)
|
||||
99
man/xkb/XkbAddGeomKeyAlias.man
Normal file
99
man/xkb/XkbAddGeomKeyAlias.man
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
.\" 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 XkbAddGeomKeyAlias __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAddGeomKeyAlias \- Add one key alias to an existing keyboard geometry
|
||||
description
|
||||
.SH SYNOPSIS
|
||||
.B XkbKeyAliasPtr XkbAddGeomKeyAlias
|
||||
(
|
||||
.I geom,
|
||||
.I alias,
|
||||
.I real
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
char * \fIalias\fP\^;
|
||||
.br
|
||||
char * \fIreal\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry to be updated
|
||||
.TP
|
||||
.I \- alias
|
||||
alias to be added
|
||||
.TP
|
||||
.I \- real
|
||||
real name to be bound to the new alias
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides functions to add a single new element to the top-level keyboard
|
||||
geometry. In each case the
|
||||
.I num_ *
|
||||
fields of the corresponding structure is incremented by 1. These functions do
|
||||
not change
|
||||
.I sz_*
|
||||
unless there is no more room in the array. Some of these functions fill in the
|
||||
values of the element's structure from the arguments. For other functions, you
|
||||
must explicitly write code to fill the structure's elements.
|
||||
|
||||
The top-level geometry description includes a list of
|
||||
.I geometry properties.
|
||||
A geometry property associates an arbitrary string with an equally arbitrary
|
||||
name. Programs that display images of keyboards can use geometry properties as
|
||||
hints, but they are not interpreted by Xkb. No other geometry structures refer
|
||||
to geometry properties.
|
||||
|
||||
.I XkbAddGeomKeyAlias
|
||||
adds one key alias with the value
|
||||
.I alias
|
||||
to the geometry
|
||||
.I geom,
|
||||
and associates it with the key whose real name is
|
||||
.I real. XkbAddGeomKeyAlias
|
||||
returns NULL if any of the parameters is empty or if it was not able to allocate
|
||||
space for the alias. To allocate space for an arbitrary number of aliases, use
|
||||
the
|
||||
.I XkbAllocGeomKeyAliases
|
||||
function.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef struct {
|
||||
char real[XkbKeyNameLength]; /* this key name must be in the keys array */
|
||||
char alias[XkbKeyNameLength]; /* symbolic key name as alias for the key */
|
||||
} XkbKeyAliasRec,*XkbKeyAliasPtr;
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAllocGeomKeyAliases (__libmansuffix__)
|
||||
94
man/xkb/XkbAddGeomOutline.man
Normal file
94
man/xkb/XkbAddGeomOutline.man
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
.\" 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 XkbAddGeomOutline __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAddGeomOutline \- Add one outline to an existing shape
|
||||
.SH SYNOPSIS
|
||||
.B XkbOutlinePtr XkbAddGeomOutline
|
||||
(
|
||||
.I shape,
|
||||
.I sz_points
|
||||
)
|
||||
.br
|
||||
XkbShapePtr \fIshape\fP\^;
|
||||
.br
|
||||
int \fIsz_points\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- shape
|
||||
shape to be updated
|
||||
.TP
|
||||
.I \- sz_points
|
||||
number of points to be reserved
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides functions to add a single new element to the top-level keyboard
|
||||
geometry. In each case the
|
||||
.I num_ *
|
||||
fields of the corresponding structure is incremented by 1. These functions do
|
||||
not change
|
||||
.I sz_*
|
||||
unless there is no more room in the array. Some of these functions fill in the
|
||||
values of the element's structure from the arguments. For other functions, you
|
||||
must explicitly write code to fill the structure's elements.
|
||||
|
||||
The top-level geometry description includes a list of
|
||||
.I geometry properties.
|
||||
A geometry property associates an arbitrary string with an equally arbitrary
|
||||
name. Programs that display images of keyboards can use geometry properties as
|
||||
hints, but they are not interpreted by Xkb. No other geometry structures refer
|
||||
to geometry properties.
|
||||
|
||||
An outline consists of an arbitrary number of points.
|
||||
.I XkbAddGeomOutline
|
||||
adds an outline to the specified
|
||||
.I shape
|
||||
by reserving
|
||||
.I sz_points
|
||||
points for it. The new outline is allocated and zeroed.
|
||||
.I XkbAddGeomOutline
|
||||
returns NULL if any of the parameters is empty or if it was not able to allocate
|
||||
space. To allocate space for an arbitrary number of outlines to a shape, use
|
||||
.I XkbAllocGeomOutlines.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef struct _XkbOutline {
|
||||
unsigned short num_points; /* number of points in the outline */
|
||||
unsigned short sz_points; /* size of the points array */
|
||||
unsigned short corner_radius; /* draw corners as circles with this radius */
|
||||
XkbPointPtr points; /* array of points defining the outline */
|
||||
} XkbOutlineRec, *XkbOutlinePtr;
|
||||
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAllocGeomOutlines (__libmansuffix__)
|
||||
105
man/xkb/XkbAddGeomOverlay.man
Normal file
105
man/xkb/XkbAddGeomOverlay.man
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
.\" 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 XkbAddGeomOverlay __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAddGeomOverlay \- Add one overlay to a section
|
||||
.SH SYNOPSIS
|
||||
.B XkbOverlayPtr XkbAddGeomOverlay
|
||||
(
|
||||
.I section,
|
||||
.I name,
|
||||
.I sz_rows
|
||||
)
|
||||
.br
|
||||
XkbSectionPtr \fIsection\fP\^;
|
||||
.br
|
||||
Atom \fIname\fP\^;
|
||||
.br
|
||||
int \fIsz_rows\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- section
|
||||
section to which an overlay will be added
|
||||
.TP
|
||||
.I \- name
|
||||
name of the overlay
|
||||
.TP
|
||||
.I \- sz_rows
|
||||
number of rows to reserve in the overlay
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides functions to add a single new element to the top-level keyboard
|
||||
geometry. In each case the
|
||||
.I num_ *
|
||||
fields of the corresponding structure is incremented by 1. These functions do
|
||||
not change
|
||||
.I sz_*
|
||||
unless there is no more room in the array. Some of these functions fill in the
|
||||
values of the element's structure from the arguments. For other functions, you
|
||||
must explicitly write code to fill the structure's elements.
|
||||
|
||||
The top-level geometry description includes a list of
|
||||
.I geometry properties.
|
||||
A geometry property associates an arbitrary string with an equally arbitrary
|
||||
name. Programs that display images of keyboards can use geometry properties as
|
||||
hints, but they are not interpreted by Xkb. No other geometry structures refer
|
||||
to geometry properties.
|
||||
|
||||
.I XkbAddGeomOverlay
|
||||
adds an overlay with the specified name to the specified
|
||||
.I section.
|
||||
The new overlay is created with space allocated for
|
||||
.I sz_rows
|
||||
rows. If an overlay with name
|
||||
.I name
|
||||
already exists in the section, a pointer to the existing overlay is returned.
|
||||
.I XkbAddGeomOverlay
|
||||
returns NULL if any of the parameters is empty or if it was not able to allocate
|
||||
space for the overlay. To allocate space for an arbitrary number of overlays to
|
||||
a section, use the
|
||||
.I XkbAllocGeomOverlay
|
||||
function.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef struct _XkbOverlayRec {
|
||||
Atom name; /* overlay name */
|
||||
XkbSectionPtr section_under; /* the section under this overlay */
|
||||
unsigned short num_rows; /* number of rows in the rows array */
|
||||
unsigned short sz_rows; /* size of the rows array */
|
||||
XkbOverlayRowPtr rows; /* array of rows in the overlay */
|
||||
XkbBoundsPtr bounds; /* bounding box for the overlay */
|
||||
} XkbOverlayRec,*XkbOverlayPtr;
|
||||
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAllocGeomOverlay (__libmansuffix__)
|
||||
95
man/xkb/XkbAddGeomOverlayKey.man
Normal file
95
man/xkb/XkbAddGeomOverlayKey.man
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
.\" 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 XkbAddGeomOverlayKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAddGeomOverlayKey \- Add a key to an existing overlay row
|
||||
.SH SYNOPSIS
|
||||
.B XkbOverlayKeyPtr XkbAddGeomOverlayKey
|
||||
(
|
||||
.I overlay,
|
||||
.I row,
|
||||
.I under
|
||||
)
|
||||
.br
|
||||
XkbOverlayPtr \fIoverlay\fP\^;
|
||||
.br
|
||||
XkbRowPtr \fIrow\fP\^;
|
||||
.br
|
||||
char * \fIunder\fP\^;
|
||||
..if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- overlay
|
||||
overlay to be updated
|
||||
.TP
|
||||
.I \- row
|
||||
row in overlay to be updated
|
||||
.TP
|
||||
.I \- under
|
||||
primary name of the key to be considered
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides functions to add a single new element to the top-level keyboard
|
||||
geometry. In each case the
|
||||
.I num_ *
|
||||
fields of the corresponding structure is incremented by 1. These functions do
|
||||
not change
|
||||
.I sz_*
|
||||
unless there is no more room in the array. Some of these functions fill in the
|
||||
values of the element's structure from the arguments. For other functions, you
|
||||
must explicitly write code to fill the structure's elements.
|
||||
|
||||
The top-level geometry description includes a list of
|
||||
.I geometry properties.
|
||||
A geometry property associates an arbitrary string with an equally arbitrary
|
||||
name. Programs that display images of keyboards can use geometry properties as
|
||||
hints, but they are not interpreted by Xkb. No other geometry structures refer
|
||||
to geometry properties.
|
||||
|
||||
.I XkbAddGeomOverlayKey
|
||||
adds one key to the
|
||||
.I row
|
||||
in the
|
||||
.I overlay.
|
||||
If there is no key named
|
||||
.I under
|
||||
in the row of the underlying section,
|
||||
.I XkbAddGeomOverlayKey
|
||||
returns NULL.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef struct _XkbOverlayKey {
|
||||
XkbKeyNameRec over; /* name of this overlay key */
|
||||
XkbKeyNameRec under; /* name of the key under this overlay key */
|
||||
} XkbOverlayKeyRec,*XkbOverlayKeyPtr;
|
||||
.fi
|
||||
|
||||
100
man/xkb/XkbAddGeomOverlayRow.man
Normal file
100
man/xkb/XkbAddGeomOverlayRow.man
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
.\" 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 XkbAddGeomOverlayRow __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAddGeomOverlayRow \- Add a row to an existing overlay
|
||||
.SH SYNOPSIS
|
||||
.B XkbOverlayRowPtr XkbAddGeomOverlayRow
|
||||
(
|
||||
.I overlay,
|
||||
.I row_under,
|
||||
.I sz_keys
|
||||
)
|
||||
.br
|
||||
XkbOverlayPtr \fIoverlay\fP\^;
|
||||
.br
|
||||
XkbRowPtr \fIrow_under\fP\^;
|
||||
.br
|
||||
int \fIsz_keys\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- overlay
|
||||
overlay to be updated
|
||||
.TP
|
||||
.I \- row_under
|
||||
row to be overlayed in the section overlay overlays
|
||||
.TP
|
||||
.I \- sz_keys
|
||||
number of keys to reserve in the row
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides functions to add a single new element to the top-level keyboard
|
||||
geometry. In each case the
|
||||
.I num_ *
|
||||
fields of the corresponding structure is incremented by 1. These functions do
|
||||
not change
|
||||
.I sz_*
|
||||
unless there is no more room in the array. Some of these functions fill in the
|
||||
values of the element's structure from the arguments. For other functions, you
|
||||
must explicitly write code to fill the structure's elements.
|
||||
|
||||
The top-level geometry description includes a list of
|
||||
.I geometry properties.
|
||||
A geometry property associates an arbitrary string with an equally arbitrary
|
||||
name. Programs that display images of keyboards can use geometry properties as
|
||||
hints, but they are not interpreted by Xkb. No other geometry structures refer
|
||||
to geometry properties.
|
||||
|
||||
.I XkbAddGeomOverlayRow
|
||||
adds one row to the
|
||||
.I overlay.
|
||||
The new row contains space for
|
||||
.I sz_keys
|
||||
keys. If
|
||||
. I row_under
|
||||
specifies a row that doesn't exist on the underlying section,
|
||||
.I XkbAddGeomOverlayRow
|
||||
returns NULL and doesn't change the overlay.
|
||||
.I XkbAddGeomOverlayRow
|
||||
returns NULL if any of the parameters is empty or if it was not able to allocate
|
||||
space for the overlay.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef struct _XkbOverlayRow {
|
||||
unsigned short row_under; /* index into the row under this overlay row */
|
||||
unsigned short num_keys; /* number of keys in the keys array */
|
||||
unsigned short sz_keys; /* size of the keys array */
|
||||
XkbOverlayKeyPtr keys; /* array of keys in the overlay row */
|
||||
} XkbOverlayRowRec,*XkbOverlayRowPtr;
|
||||
|
||||
.fi
|
||||
100
man/xkb/XkbAddGeomProperty.man
Normal file
100
man/xkb/XkbAddGeomProperty.man
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
.\" 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 XkbAddGeomProperty __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAddGeomProperty \- Add one property to an existing keyboard geometry
|
||||
description
|
||||
.SH SYNOPSIS
|
||||
.B XkbPropertyPtr XkbAddGeomProperty
|
||||
(
|
||||
.I geom,
|
||||
.I name,
|
||||
.I value
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
char * \fIname\fP\^;
|
||||
.br
|
||||
char * \fIvalue\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry to be updated
|
||||
.TP
|
||||
.I \- name
|
||||
name of the new property
|
||||
.TP
|
||||
.I \- value
|
||||
value for the new property
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides functions to add a single new element to the top-level keyboard
|
||||
geometry. In each case the
|
||||
.I num_ *
|
||||
fields of the corresponding structure is incremented by 1. These functions do
|
||||
not change
|
||||
.I sz_*
|
||||
unless there is no more room in the array. Some of these functions fill in the
|
||||
values of the element's structure from the arguments. For other functions, you
|
||||
must explicitly write code to fill the structure's elements.
|
||||
|
||||
The top-level geometry description includes a list of
|
||||
.I geometry properties.
|
||||
A geometry property associates an arbitrary string with an equally arbitrary
|
||||
name. Programs that display images of keyboards can use geometry properties as
|
||||
hints, but they are not interpreted by Xkb. No other geometry structures refer
|
||||
to geometry properties.
|
||||
|
||||
.I XkbAddGeomProperty
|
||||
adds one property with the specified
|
||||
.I name
|
||||
and
|
||||
.I value
|
||||
to the keyboard geometry specified by
|
||||
.I geom. XkbAddGeomProperty
|
||||
returns NULL if any of the parameters is empty or if it was not able to allocate
|
||||
space for the property. To allocate space for an arbitrary number of properties,
|
||||
use the
|
||||
.I XkbAllocGeomProps
|
||||
function.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef struct _XkbProperty {
|
||||
char * name; /* property name */
|
||||
char * value; /* property value */
|
||||
} XkbPropertyRec,*XkbPropertyPtr;
|
||||
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAllocGeomProps (__libmansuffix__)
|
||||
88
man/xkb/XkbAddGeomRow.man
Normal file
88
man/xkb/XkbAddGeomRow.man
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
.\" 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 XkbAddGeomRow __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAddGeomRow \- Add a row to a section
|
||||
.SH SYNOPSIS
|
||||
.B XkbRowPtr XkbAddGeomRow
|
||||
(
|
||||
.I section,
|
||||
.I sz_keys
|
||||
)
|
||||
.br
|
||||
XkbSectionPtr \fIsection\fP\^;
|
||||
.br
|
||||
int \fIsz_keys\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- section
|
||||
section to be updated
|
||||
.TP
|
||||
.I \- sz_keys
|
||||
number of keys to be reserved
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides functions to add a single new element to the top-level keyboard geometry. In each case the
|
||||
.I num_ *
|
||||
fields of the corresponding structure is incremented by 1. These functions do not change
|
||||
.I sz_*
|
||||
unless there is no more room in the array. Some of these functions fill in the values of the element's structure from the arguments. For other functions, you must explicitly write code to fill the structure's elements.
|
||||
|
||||
The top-level geometry description includes a list of
|
||||
.I geometry properties.
|
||||
A geometry property associates an arbitrary string with an equally arbitrary name. Programs that display images of keyboards can use geometry properties as hints, but they are not interpreted by Xkb. No other geometry structures refer to geometry properties.
|
||||
|
||||
One of the components of a keyboard geometry section is one or more rows of keys.
|
||||
.I XkbAddGeomRow
|
||||
adds one row to the specified
|
||||
.I section.
|
||||
The newly created row contains space for the number of keys specified in
|
||||
.I sz_keys.
|
||||
They are allocated and zeroed, but otherwise uninitialized.
|
||||
.I XkbAddGeomRow
|
||||
returns NULL if any of the parameters is empty or if it was not able to allocate space for the row. To allocate space for an arbitrary number of rows to a section, use the
|
||||
.I XkbAllocGeomRows
|
||||
function.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
typedef struct _XkbRow {
|
||||
short top;
|
||||
short left;
|
||||
unsigned short num_keys;
|
||||
unsigned short sz_keys;
|
||||
int vertical;
|
||||
XkbKeyPtr keys;
|
||||
XkbBoundsRec bounds;
|
||||
} XkbRowRec, *XkbRowPtr;
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAllocGeomRows (__libmansuffix__)
|
||||
137
man/xkb/XkbAddGeomSection.man
Normal file
137
man/xkb/XkbAddGeomSection.man
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
.\" 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 XkbAddGeomSection __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAddGeomSection \- Add one section to an existing keyboard geometry
|
||||
.SH SYNOPSIS
|
||||
.B XkbSectionPtr XkbAddGeomSection
|
||||
(
|
||||
.I geom,
|
||||
.I name,
|
||||
.I sz_rows,
|
||||
.I sz_doodads,
|
||||
.I sz_overlays
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
Atom \fIname\fP\^;
|
||||
.br
|
||||
int \fIsz_rows\fP\^;
|
||||
.br
|
||||
int \fIsz_doodads\fP\^;
|
||||
.br
|
||||
int \fIsz_overlays\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry to be updated
|
||||
.TP
|
||||
.I \- name
|
||||
name of the new section
|
||||
.TP
|
||||
.I \- sz_rows
|
||||
number of rows to reserve in the section
|
||||
.TP
|
||||
.I \- sz_doodads
|
||||
number of doodads to reserve in the section
|
||||
.TP
|
||||
.I \- sz_overlays
|
||||
number of overlays to reserve in the section
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides functions to add a single new element to the top-level keyboard
|
||||
geometry. In each case the
|
||||
.I num_ *
|
||||
fields of the corresponding structure is incremented by 1. These functions do
|
||||
not change
|
||||
.I sz_*
|
||||
unless there is no more room in the array. Some of these functions fill in the
|
||||
values of the element's structure from the arguments. For other functions, you
|
||||
must explicitly write code to fill the structure's elements.
|
||||
|
||||
The top-level geometry description includes a list of
|
||||
.I geometry properties.
|
||||
A geometry property associates an arbitrary string with an equally arbitrary
|
||||
name. Programs that display images of keyboards can use geometry properties as
|
||||
hints, but they are not interpreted by Xkb. No other geometry structures refer
|
||||
to geometry properties.
|
||||
|
||||
A keyboard geometry contains an arbitrary number of sections.
|
||||
.I XkbAddGeomSection
|
||||
adds one section to an existing keyboard geometry
|
||||
.I geom.
|
||||
The new section contains space for the number of rows, doodads, and overlays
|
||||
specified by
|
||||
.I sz_rows, sz_doodads,
|
||||
and
|
||||
.I sz_overlays.
|
||||
The new section is allocated and zeroed and given the name specified by
|
||||
.I name.
|
||||
If a section with name
|
||||
.I name
|
||||
already exists in the geometry, a pointer to the existing section is returned.
|
||||
.I XkbAddGeomSection
|
||||
returns NULL if any of the parameters is empty or if it was not able to allocate
|
||||
space for the section. To allocate space for an arbitrary number of sections to
|
||||
a geometry, use
|
||||
.I XkbAllocGeomSections.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef struct _XkbSection {
|
||||
Atom name; /* section name */
|
||||
unsigned char priority; /* drawing priority, 0=>highest, 255=>lowest */
|
||||
short top; /* top coordinate of section origin */
|
||||
short left; /* left coordinate of row origin */
|
||||
unsigned short width; /* section width, in mm/10 */
|
||||
unsigned short height; /* section height, in mm/10 */
|
||||
short angle; /* angle of section rotation, counterclockwise */
|
||||
unsigned short num_rows; /* number of rows in the rows array */
|
||||
unsigned short num_doodads; /* number of doodads in the doodads array */
|
||||
unsigned short num_overlays; /* number of overlays in the overlays array */
|
||||
unsigned short sz_rows; /* size of the rows array */
|
||||
unsigned short sz_doodads; /* size of the doodads array */
|
||||
unsigned short sz_overlays; /* size of the overlays array */
|
||||
XkbRowPtr rows; /* section rows array */
|
||||
XkbDoodadPtr doodads; /* section doodads array */
|
||||
XkbBoundsRec bounds; /* bounding box for the section, before rotation*/
|
||||
XkbOverlayPtr overlays; /* section overlays array */
|
||||
} XkbSectionRec, *XkbSectionPtr;
|
||||
|
||||
.fi
|
||||
.I top
|
||||
and
|
||||
.I left
|
||||
are the origin of the section, relative to the origin of the keyboard, in mm/10. angle is in 1/10 degrees.
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAllocGeomSections (__libmansuffix__)
|
||||
103
man/xkb/XkbAddGeomShape.man
Normal file
103
man/xkb/XkbAddGeomShape.man
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
.\" 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 XkbAddGeomShape __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAddGeomShape \- Add a shape to a keyboard geometry
|
||||
.SH SYNOPSIS
|
||||
.B XkbShapePtr XkbAddGeomShape
|
||||
(
|
||||
.I geom,
|
||||
.I name,
|
||||
.I sz_outlines
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
Atom \fIname\fP\^;
|
||||
.br
|
||||
int \fIsz_outlines\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry to be updated
|
||||
.TP
|
||||
.I \- name
|
||||
name of the new shape
|
||||
.TP
|
||||
.I \- sz_outlines
|
||||
number of outlines to be reserved
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides functions to add a single new element to the top-level keyboard geometry. In each case the
|
||||
.I num_ *
|
||||
fields of the corresponding structure is incremented by 1. These functions do not change
|
||||
.I sz_*
|
||||
unless there is no more room in the array. Some of these functions fill in the values of the element's structure from the
|
||||
arguments. For other functions, you must explicitly write code to fill the structure's elements.
|
||||
|
||||
The top-level geometry description includes a list of
|
||||
.I geometry properties.
|
||||
A geometry property associates an arbitrary string with an equally arbitrary name. Programs that display images of
|
||||
keyboards can use geometry properties as hints, but they are not interpreted by Xkb. No other geometry structures refer to
|
||||
geometry properties.
|
||||
|
||||
A geometry contains an arbitrary number of shapes, each of which is made up of an arbitrary number of outlines.
|
||||
.I XkbAddGeomShape
|
||||
adds a shape to a geometry
|
||||
.I geom
|
||||
by allocating space for
|
||||
.I sz_outlines
|
||||
outlines for it and giving it the name specified by
|
||||
.I name.
|
||||
If a shape with name
|
||||
.I name
|
||||
already exists in the geometry, a pointer to the existing shape is returned.
|
||||
.I XkbAddGeomShape
|
||||
returns NULL if any of the parameters is empty or if it was not able to allocate space. To allocate space for an arbitrary
|
||||
number of geometry shapes, use
|
||||
.I XkbAllocGeomShapes.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef struct _XkbShape {
|
||||
Atom name; /* shape's name */
|
||||
unsigned short num_outlines; /* number of outlines for the shape */
|
||||
unsigned short sz_outlines; /* size of the outlines array */
|
||||
XkbOutlinePtr outlines; /* array of outlines for the shape */
|
||||
XkbOutlinePtr approx; /* pointer into the array to the approximating outline */
|
||||
XkbOutlinePtr primary; /* pointer into the array to the primary outline */
|
||||
XkbBoundsRec bounds; /* bounding box for the shape; encompasses all outlines */
|
||||
} XkbShapeRec, *XkbShapePtr;
|
||||
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAllocGeomShapes (__libmansuffix__)
|
||||
81
man/xkb/XkbAddSymInterpret.man
Normal file
81
man/xkb/XkbAddSymInterpret.man
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
.\" 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 XkbAddSymInterpret __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAddSymInterpret \- Add a symbol interpretation to the list of symbol
|
||||
interpretations in an XkbCompatRec
|
||||
.SH SYNOPSIS
|
||||
.B XkbSymInterpretPtr XkbAddSymInterpret
|
||||
(
|
||||
.I xkb,
|
||||
.I si,
|
||||
.I updateMap,
|
||||
.I changes
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
XkbSymInterpretPtr \fIsi\fP\^;
|
||||
.br
|
||||
Bool \fIupdateMap\fP\^;
|
||||
.br
|
||||
XkbChangesPtr \fIchanges\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description to be updated
|
||||
.TP
|
||||
.I \- si
|
||||
symbol interpretation to be added
|
||||
.TP
|
||||
.I \- updateMap
|
||||
True=>apply compatibility map to keys
|
||||
.TP
|
||||
.I \- changes
|
||||
changes are put here
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbAddSymInterpret
|
||||
adds
|
||||
.I si
|
||||
to the list of symbol interpretations in
|
||||
.I xkb.
|
||||
If
|
||||
.I updateMap
|
||||
is True, it (re)applies the compatibility map to all of the keys on the
|
||||
keyboard. If
|
||||
.I changes
|
||||
is non-NULL, it reports the parts of the keyboard that were affected (unless
|
||||
.I updateMap
|
||||
is True, not much changes).
|
||||
.I XkbAddSymInterpret
|
||||
returns a pointer to the actual new symbol interpretation in the list or NULL if
|
||||
it failed.
|
||||
178
man/xkb/XkbAllocClientMap.man
Normal file
178
man/xkb/XkbAllocClientMap.man
Normal file
|
|
@ -0,0 +1,178 @@
|
|||
'\" 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 XkbAllocClientMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocClientMap \- Allocate and initialize an empty client map description
|
||||
record
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocClientMap
|
||||
(
|
||||
.I xkb,
|
||||
.I which,
|
||||
.I type_count
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.br
|
||||
unsigned int \fItype_count\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description in which to allocate client map
|
||||
.TP
|
||||
.I \- which
|
||||
mask selecting map components to allocate
|
||||
.TP
|
||||
.I \- type_count
|
||||
value of num_types field in map to be allocated
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Calling
|
||||
.I XkbGetMap
|
||||
should be sufficient for most applications to get client and server maps. As a
|
||||
result, most applications do not need to directly allocate client and server
|
||||
maps.
|
||||
|
||||
If you change the number of key types or construct map components without
|
||||
loading the necessary components from the X server, do not allocate any map
|
||||
components directly using
|
||||
.I malloc
|
||||
or
|
||||
.I Xmalloc.
|
||||
Instead, use the Xkb allocators,
|
||||
.I XkbAllocClientMap,
|
||||
and
|
||||
.I XkbAllocServerMap.
|
||||
|
||||
Similarly, use the Xkb destructors,
|
||||
.I XkbFreeClientMap,
|
||||
and
|
||||
.I XkbFreeServerMap
|
||||
instead of
|
||||
.I free
|
||||
or
|
||||
.I Xfree.
|
||||
|
||||
.I XkbAllocClientMap
|
||||
allocates and initializes an empty client map in the
|
||||
.I map
|
||||
field of the keyboard description specified by
|
||||
.I xkb.
|
||||
The
|
||||
.I which
|
||||
parameter specifies the particular components of the client map structure to
|
||||
allocate and is a mask composed by a bitwise inclusive OR of one or more of the
|
||||
masks shown in Table 1.
|
||||
.bp
|
||||
.TS
|
||||
c s
|
||||
l l
|
||||
l lw(4i).
|
||||
Table 1 XkbAllocClientMap Masks
|
||||
_
|
||||
Mask Effect
|
||||
_
|
||||
XkbKeyTypesMask T{
|
||||
The type_count field specifies the number of entries to preallocate for the
|
||||
types field of the client map. If the type_count field is less than
|
||||
XkbNumRequiredTypes returns BadValue.
|
||||
T}
|
||||
.sp
|
||||
XkbKeySymsMask T{
|
||||
The min_key_code and max_key_code fields of the xkb parameter are used to
|
||||
allocate the syms and key_sym_map fields of the client map. The fields are
|
||||
allocated to contain the maximum number of entries necessary for max_key_code -
|
||||
min_key_code + 1 keys.
|
||||
T}
|
||||
.sp
|
||||
XkbModifierMapMask T{
|
||||
The min_key_code and max_key_code fields of the xkb parameter are used to
|
||||
allocate the modmap field of the client map. The field is allocated to contain
|
||||
the maximum number of entries necessary for max_key_code - min_key_code + 1
|
||||
keys.
|
||||
T}
|
||||
.TE
|
||||
|
||||
NOTE: The
|
||||
.I min_key_code
|
||||
and
|
||||
.I max_key_code
|
||||
fields of the
|
||||
.I xkb
|
||||
parameter must be legal values if the XkbKeySymsMask or XkbModifierMapMask masks
|
||||
are set in the
|
||||
.I which
|
||||
parameter. If they are not valid,
|
||||
.I XkbAllocClientMap
|
||||
returns BadValue.
|
||||
|
||||
If the client map of the keyboard description is not NULL, and any fields are
|
||||
already allocated in the client map,
|
||||
.I XkbAllocClientMap
|
||||
does not overwrite the existing values; it simply ignores that part of the
|
||||
request. The only exception is the
|
||||
.I types
|
||||
array. If
|
||||
.I type_count
|
||||
is greater than the current
|
||||
.I num_types
|
||||
field of the client map,
|
||||
.I XkbAllocClientMap
|
||||
resizes the
|
||||
.I types
|
||||
array and resets the
|
||||
.I num_types
|
||||
field accordingly.
|
||||
|
||||
If
|
||||
.I XkbAllocClientMap
|
||||
is successful, it returns Success. Otherwise, it can return either BadMatch,
|
||||
BadAlloc, or BadValue errors.
|
||||
.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
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAllocClientMap (__libmansuffix__),
|
||||
.BR XkbAllocServerMap (__libmansuffix__),
|
||||
.BR XkbFreeClientMap, (__libmansuffix__),
|
||||
.BR XkbFreeServerMap (__libmansuffix__),
|
||||
.BR XkbGetMap (__libmansuffix__)
|
||||
122
man/xkb/XkbAllocCompatMap.man
Normal file
122
man/xkb/XkbAllocCompatMap.man
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
'\" 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 XkbAllocCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocCompatMap \- Allocate a new compatibility map if you do not already have one available
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocCompatMap
|
||||
(
|
||||
.I xkb,
|
||||
.I which,
|
||||
.I num_si
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.br
|
||||
unsigned int \fInum_si\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description in which to allocate compat map
|
||||
.TP
|
||||
.I \- which
|
||||
mask of compatibility map components to allocate
|
||||
.TP
|
||||
.I \- num_si
|
||||
number of symbol interpretations to allocate
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I xkb
|
||||
specifies the keyboard description for which compatibility maps are to be allocated. The compatibility map is the
|
||||
.I compat
|
||||
field in this structure.
|
||||
|
||||
.I which
|
||||
specifies the compatibility map components to be allocated (see XkbGetCompatMap).
|
||||
.I which
|
||||
is an inclusive OR of the bits shown in Table 1.
|
||||
|
||||
.TS
|
||||
c s s
|
||||
l l l.
|
||||
Table 1 Compatibility Map Component Masks
|
||||
_
|
||||
Mask Value Affecting
|
||||
_
|
||||
XkbSymInterpMask (1<<0) Symbol interpretations
|
||||
XkbGroupCompatMask (1<<1) Group maps
|
||||
XkbAllCompatMask (0x3) All compatibility map components
|
||||
.TE
|
||||
|
||||
.I num_si
|
||||
specifies the total number of entries to allocate in the symbol interpretation vector
|
||||
.I (xkb.compat.sym_interpret).
|
||||
|
||||
.I XkbAllocCompatMap
|
||||
returns Success if successful, BadMatch if
|
||||
.I xkb
|
||||
is NULL, or BadAlloc if errors are encountered when attempting to allocate storage.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef struct {
|
||||
KeySym sym; /* keysym of interest or NULL */
|
||||
unsigned char flags; /* XkbSI_AutoRepeat, XkbSI_LockingKey */
|
||||
unsigned char match; /* specifies how mods is interpreted */
|
||||
unsigned char mods; /* modifier bits, correspond to eight real modifiers */
|
||||
unsigned char virtual_mod; /* 1 modifier to add to key virtual mod map */
|
||||
XkbAnyAction act; /* action to bind to symbol position on key */
|
||||
} XkbSymInterpretRec,*XkbSymInterpretPtr;
|
||||
|
||||
.fi
|
||||
.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 XkbGetCompatMap (__libmansuffix__)
|
||||
.SH NOTES
|
||||
.LP
|
||||
Note that symbol interpretations in a compatibility map (the
|
||||
.I sym_interpret
|
||||
vector of XkbSymInterpretRec structures) are also allocated using this same function. To ensure that there is sufficient space in the symbol interpretation vector for entries to be added, use
|
||||
.I XkbAllocCompatMap
|
||||
specifying
|
||||
.I which
|
||||
as XkbSymInterpretMask and the number of free symbol interpretations needed in
|
||||
.I num_si.
|
||||
150
man/xkb/XkbAllocControls.man
Normal file
150
man/xkb/XkbAllocControls.man
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
'\" 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 XkbAllocControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocControls \- Allocates an XkbControlsRec structure in the XkbDescRec
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocControls
|
||||
(
|
||||
.I xkb,
|
||||
.I which
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
Xkb description in which to allocate ctrls rec
|
||||
.TP
|
||||
.I \- which
|
||||
mask of components of ctrls to allocate
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
The need to allocate an XkbControlsRec structure seldom arises; Xkb creates one
|
||||
when an application calls
|
||||
.I XkbGetControls
|
||||
or a related function. For those situations where there is not an XkbControlsRec
|
||||
structure allocated in the XkbDescRec, allocate one by calling
|
||||
.I XkbAllocControls.
|
||||
|
||||
.I XkbAllocControls
|
||||
allocates the
|
||||
.I ctrls
|
||||
field of the
|
||||
.I xkb
|
||||
parameter, initializes all fields to zero, and returns Success. If the
|
||||
.I ctrls
|
||||
field is not NULL,
|
||||
.I XkbAllocControls
|
||||
simply returns Success. If
|
||||
.I xkb
|
||||
is NULL,
|
||||
.I XkbAllocControls
|
||||
reports a BadMatch error. If the
|
||||
.I ctrls
|
||||
field could not be allocated, it reports a BadAlloc error.
|
||||
|
||||
The
|
||||
.I which
|
||||
mask specifies the individual fields of the
|
||||
.I ctrls
|
||||
structure to be allocated and can contain any of the valid masks defined in
|
||||
Table 1.
|
||||
(SHOULD THIS COMMENT BE LEFT IN????)
|
||||
Because none of the currently existing controls have any structures associated
|
||||
with them, which is currently of little practical value in this call.
|
||||
|
||||
Table 1 shows the actual values for the individual mask bits used to select
|
||||
controls for
|
||||
modification and to enable and disable the control. Note that the same mask bit
|
||||
is used to
|
||||
specify general modifications to the parameters used to configure the control
|
||||
(which), and to
|
||||
enable and disable the control (enabled_ctrls). The anomalies in the table (no
|
||||
"ok" in column)
|
||||
are for controls that have no configurable attributes; and for controls that are
|
||||
not boolean
|
||||
controls and therefore cannot be enabled or disabled.
|
||||
|
||||
.TS
|
||||
c s s s
|
||||
l l l l
|
||||
l l l l
|
||||
l l l l.
|
||||
Table 1 Controls Mask Bits
|
||||
_
|
||||
Mask Bit which or enabled Value
|
||||
changed_ctrls _ctrls
|
||||
_
|
||||
XkbRepeatKeysMask ok ok (1L<<0)
|
||||
XkbSlowKeysMask ok ok (1L<<1)
|
||||
XkbBounceKeysMask ok ok (1L<<2)
|
||||
XkbStickyKeysMask ok ok (1L<<3)
|
||||
XkbMouseKeysMask ok ok (1L<<4)
|
||||
XkbMouseKeysAccelMask ok ok (1L<<5)
|
||||
XkbAccessXKeysMask ok ok (1L<<6)
|
||||
XkbAccessXTimeoutMask ok ok (1L<<7)
|
||||
XkbAccessXFeedbackMask ok ok (1L<<8)
|
||||
XkbAudibleBellMask ok (1L<<9)
|
||||
XkbOverlay1Mask ok (1L<<10)
|
||||
XkbOverlay2Mask ok (1L<<11)
|
||||
XkbIgnoreGroupLockMask ok (1L<<12)
|
||||
XkbGroupsWrapMask ok (1L<<27)
|
||||
XkbInternalModsMask ok (1L<<28)
|
||||
XkbIgnoreLockModsMask ok (1L<<29)
|
||||
XkbPerKeyRepeatMask ok (1L<<30)
|
||||
XkbControlsEnabledMask ok (1L<<31)
|
||||
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
|
||||
XkbAccessXFeedbackMask)
|
||||
XkbAllBooleanCtrlsMask ok (0x00001FFF)
|
||||
XkbAllControlsMask ok (0xF8001FFF)
|
||||
.TE
|
||||
.nh
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
SUCCESS
|
||||
allocates the ctrls field of the xkb parameter, initializes all fields to zero
|
||||
.sp
|
||||
.in 20
|
||||
the ctrls field is not NULL
|
||||
.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 XkbGetControls (__libmansuffix__)
|
||||
114
man/xkb/XkbAllocDeviceInfo.man
Normal file
114
man/xkb/XkbAllocDeviceInfo.man
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
'\" 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 XkbAllocDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocDeviceInfo \- Obtain an XkbDeviceInfoRec structure
|
||||
.SH SYNOPSIS
|
||||
.B XkbDeviceInfoPtr XkbAllocDeviceInfo
|
||||
(
|
||||
.I device_spec,
|
||||
.I n_buttons,
|
||||
.I sz_leds
|
||||
)
|
||||
.br
|
||||
unsigned int \fIdevice_spec\fP\^;
|
||||
.br
|
||||
unsigned int \fIn_buttons\fP\^;
|
||||
.br
|
||||
unsigned int \fIsz_leds\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- device_spec
|
||||
device ID with which structure will be used
|
||||
.TP
|
||||
.I \- n_buttons
|
||||
number of button actions to allocate space for
|
||||
.TP
|
||||
.I \- sz_leds
|
||||
number of LED feedbacks to allocate space for
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbAllocDeviceInfo
|
||||
allocates space for an XkbDeviceInfoRec structure and initializes that structure's
|
||||
.I device_spec
|
||||
field with the device ID specified by
|
||||
.I device_spec.
|
||||
If
|
||||
.I n_buttons
|
||||
is nonzero,
|
||||
.I n_buttons
|
||||
XkbActions are linked into the XkbDeviceInfoRec structure and initialized to zero. If
|
||||
.I sz_leds
|
||||
is nonzero,
|
||||
.I sz_leds
|
||||
XkbDeviceLedInfoRec structures are also allocated and linked into the XkbDeviceInfoRec structure. If
|
||||
you request XkbDeviceLedInfoRec structures be allocated using this request, you must initialize them
|
||||
explicitly.
|
||||
|
||||
To obtain an XkbDeviceLedInfoRec structure, use
|
||||
.I XkbAllocDeviceLedInfo.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
Information about X Input Extension devices is transferred between a client program and the Xkb
|
||||
extension in an XkbDeviceInfoRec structure:
|
||||
.nf
|
||||
|
||||
typedef struct {
|
||||
char * name; /* name for device */
|
||||
Atom type; /* name for class of devices */
|
||||
unsigned short device_spec; /* device of interest */
|
||||
Bool has_own_state; /* True=>this device has its own state */
|
||||
unsigned short supported; /* bits indicating supported capabilities */
|
||||
unsigned short unsupported; /* bits indicating unsupported capabilities */
|
||||
unsigned short num_btns; /* number of entries in btn_acts */
|
||||
XkbAction * btn_acts; /* button actions */
|
||||
unsigned short sz_leds; /* total number of entries in LEDs vector */
|
||||
unsigned short num_leds; /* number of valid entries in LEDs vector */
|
||||
unsigned short dflt_kbd_fb; /* input extension ID of default (core kbd) indicator */
|
||||
unsigned short dflt_led_fb; /* input extension ID of default indicator feedback */
|
||||
XkbDeviceLedInfoPtr leds; /* LED descriptions */
|
||||
} XkbDeviceInfoRec, *XkbDeviceInfoPtr;
|
||||
|
||||
|
||||
typedef struct {
|
||||
unsigned short led_class; /* class for this LED device*/
|
||||
unsigned short led_id; /* ID for this LED device */
|
||||
unsigned int phys_indicators; /* bits for which LEDs physically present */
|
||||
unsigned int maps_present; /* bits for which LEDs have maps in maps */
|
||||
unsigned int names_present; /* bits for which LEDs are in names */
|
||||
unsigned int state; /* 1 bit => corresponding LED is on */
|
||||
Atom names[XkbNumIndicators]; /* names for LEDs */
|
||||
XkbIndicatorMapRec maps; /* indicator maps for each LED */
|
||||
} XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAllocDeviceLedInfo (__libmansuffix__)
|
||||
125
man/xkb/XkbAllocDeviceLedInfo.man
Normal file
125
man/xkb/XkbAllocDeviceLedInfo.man
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
'\" 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 XkbAllocDeviceLedInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocDeviceLedInfo \- Obtain an XkbDeviceLedInfoRec structure
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocDeviceLedInfo
|
||||
(
|
||||
.I device_info,
|
||||
.I num_needed
|
||||
)
|
||||
.br
|
||||
XkbDeviceInfoPtr \fIdevice_info\fP\^;
|
||||
.br
|
||||
int \fInum_needed\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- device_info
|
||||
structure in which to allocate LED space
|
||||
.TP
|
||||
.I \- num_needed
|
||||
number of indicators to allocate space for
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbAllocDeviceLedInfo
|
||||
allocates space for an XkbDeviceLedInfoRec and places it in
|
||||
.I device_info.
|
||||
If
|
||||
.I num_needed
|
||||
is nonzero,
|
||||
.I num_needed
|
||||
XkbIndicatorMapRec structures are also allocated and linked into the XkbDeviceLedInfoRec structure. If you request XkbIndicatorMapRec structures be allocated using this request, you must initialize them explicitly. All other fields are initialized to zero.
|
||||
|
||||
To initialize an XkbDeviceLedInfoRec structure, use
|
||||
.I XkbAddDeviceLedInfo.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
Information about X Input Extension devices is transferred between a client program and the Xkb
|
||||
extension in an XkbDeviceInfoRec structure:
|
||||
.nf
|
||||
|
||||
typedef struct {
|
||||
char * name; /* name for device */
|
||||
Atom type; /* name for class of devices */
|
||||
unsigned short device_spec; /* device of interest */
|
||||
Bool has_own_state; /* True=>this device has its own state */
|
||||
unsigned short supported; /* bits indicating supported capabilities */
|
||||
unsigned short unsupported; /* bits indicating unsupported capabilities */
|
||||
unsigned short num_btns; /* number of entries in btn_acts */
|
||||
XkbAction * btn_acts; /* button actions */
|
||||
unsigned short sz_leds; /* total number of entries in LEDs vector */
|
||||
unsigned short num_leds; /* number of valid entries in LEDs vector */
|
||||
unsigned short dflt_kbd_fb; /* input extension ID of default (core kbd) indicator */
|
||||
unsigned short dflt_led_fb; /* input extension ID of default indicator feedback */
|
||||
XkbDeviceLedInfoPtr leds; /* LED descriptions */
|
||||
} XkbDeviceInfoRec, *XkbDeviceInfoPtr;
|
||||
|
||||
|
||||
typedef struct {
|
||||
unsigned short led_class; /* class for this LED device*/
|
||||
unsigned short led_id; /* ID for this LED device */
|
||||
unsigned int phys_indicators; /* bits for which LEDs physically present */
|
||||
unsigned int maps_present; /* bits for which LEDs have maps in maps */
|
||||
unsigned int names_present; /* bits for which LEDs are in names */
|
||||
unsigned int state; /* 1 bit => corresponding LED is on */
|
||||
Atom names[XkbNumIndicators]; /* names for LEDs */
|
||||
XkbIndicatorMapRec maps; /* indicator maps for each LED */
|
||||
} XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
|
||||
|
||||
.fi
|
||||
Each indicator has its own set of attributes that specify whether clients can explicitly set its state and whether it tracks the keyboard state. The attributes of each indicator are held in the maps array, which is an array of XkbIndicatorRec structures:
|
||||
.nf
|
||||
|
||||
typedef struct {
|
||||
unsigned char flags; /* how the indicator can be changed */
|
||||
unsigned char which_groups; /* match criteria for groups */
|
||||
unsigned char groups; /* which keyboard groups the indicator watches */
|
||||
unsigned char which_mods; /* match criteria for modifiers */
|
||||
XkbModsRec mods; /* which modifiers the indicator watches */
|
||||
unsigned int ctrls; /* which controls the indicator watches */
|
||||
} XkbIndicatorMapRec, *XkbIndicatorMapPtr;
|
||||
|
||||
.fi
|
||||
This indicator map specifies for each indicator:
|
||||
|
||||
.IP \(bu 5
|
||||
The conditions under which the keyboard modifier state affects the indicator
|
||||
.IP \(bu 5
|
||||
The conditions under which the keyboard group state affects the indicator
|
||||
.IP \(bu 5
|
||||
The conditions under which the state of the boolean controls affects the indicator
|
||||
.IP \(bu 5
|
||||
The effect (if any) of attempts to explicitly change the state of the indicator using the functions XkbSetControls or XChangeKeyboardControl
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAddDeviceLedInfo (__libmansuffix__),
|
||||
.BR XkbSetControls (__libmansuffix__)
|
||||
82
man/xkb/XkbAllocGeomColors.man
Normal file
82
man/xkb/XkbAllocGeomColors.man
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
.\" 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 XkbAllocGeomColors __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocGeomColors \- Allocate geometry colors
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocGeomColors
|
||||
(
|
||||
.I geom,
|
||||
.I num_needed
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
int \fInum_needed\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry for which colors should be allocated
|
||||
.TP
|
||||
.I \- num_needed
|
||||
number of new colors required
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
.I XkbAllocGeomColors
|
||||
allocates space for
|
||||
.I num_needed
|
||||
colors and adds them to the specified geometry
|
||||
.I geom.
|
||||
A color name is a string whose interpretation is not specified by Xkb. All other
|
||||
geometry data structures refer to colors using their indices in this global list
|
||||
or pointers to colors in this list.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
81
man/xkb/XkbAllocGeomDoodads.man
Normal file
81
man/xkb/XkbAllocGeomDoodads.man
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
'\" 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 XkbAllocGeomDoodads __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocGeomDoodads \- Allocate doodads that are global to a keyboard geometry
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocGeomDoodads
|
||||
(
|
||||
.I geom,
|
||||
.I num_needed
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
int \fInum_needed\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry for which doodads should be allocated
|
||||
.TP
|
||||
.I \- num_needed
|
||||
number of new doodads required
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
.I XkbAllocGeomDoodads
|
||||
allocates
|
||||
.I num_needed
|
||||
doodads and adds them to the specified geometry
|
||||
.I geom.
|
||||
No initialization of the doodads is done.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
86
man/xkb/XkbAllocGeomKeyAliases.man
Normal file
86
man/xkb/XkbAllocGeomKeyAliases.man
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
.\" 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 XkbAllocGeomKeyAliases __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocGeomKeyAliases \- Allocate geometry key aliases
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocGeomKeyAliases
|
||||
(
|
||||
.I geom,
|
||||
.I num_needed
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
int \fInum_needed\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry for which key aliases should be allocated
|
||||
.TP
|
||||
.I \- num_needed
|
||||
number of new key aliases required
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
.I XkbAllocGeomKeyAliases
|
||||
allocates space for
|
||||
.I num_needed
|
||||
key aliases and adds them to the specified geometry
|
||||
.I geom.
|
||||
A key alias is a pair of strings that associates an alternate name for a key
|
||||
with the real name for that key.
|
||||
|
||||
To free geometry key aliases, use
|
||||
.I XkbFreeGeomKeyAliases.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbFreeGeomKeyAliases (__libmansuffix__)
|
||||
80
man/xkb/XkbAllocGeomKeys.man
Normal file
80
man/xkb/XkbAllocGeomKeys.man
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
.\" 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 XkbAllocGeomKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocGeomKeys \- Allocate space for an arbitrary number of keys to a row
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocGeomKeys
|
||||
(
|
||||
.I row,
|
||||
.I num_needed
|
||||
)
|
||||
.br
|
||||
XkbRowPtr \fIrow\fP\^;
|
||||
.br
|
||||
int \fInum_needed\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- row
|
||||
row to which keys should be allocated
|
||||
.TP
|
||||
.I \- num_needed
|
||||
number of new keys required
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
.I XkbAllocGeomKeys
|
||||
allocates
|
||||
.I num_needed
|
||||
keys and adds them to the
|
||||
.I row.
|
||||
No initialization of the keys is done.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
86
man/xkb/XkbAllocGeomOutlines.man
Normal file
86
man/xkb/XkbAllocGeomOutlines.man
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
.\" 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 XkbAllocGeomOutlines __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocGeomOutlines \- Allocate space for an arbitrary number of outlines to a
|
||||
shape
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocGeomOutlines
|
||||
(
|
||||
.I shape,
|
||||
.I num_needed
|
||||
)
|
||||
.br
|
||||
XkbShapePtr \fIshape\fP\^;
|
||||
.br
|
||||
int \fInum_needed\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- shape
|
||||
shape for which outlines should be allocated
|
||||
.TP
|
||||
.I \- num_needed
|
||||
number of new outlines required
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
.I XkbAllocGeomOutlines
|
||||
allocates space for
|
||||
.I num_needed
|
||||
outlines in the specified
|
||||
.I shape.
|
||||
The outlines are not initialized.
|
||||
|
||||
To free geometry outlines, use
|
||||
.I XkbFreeGeomOutlines.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbFreeGeomOutlines (__libmansuffix__)
|
||||
76
man/xkb/XkbAllocGeomOverlayKey.man
Normal file
76
man/xkb/XkbAllocGeomOverlayKey.man
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
'\" 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 XkbAllocGeomOverlayKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocGeomOverlayKeys \- Allocate keys in an overlay row
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocGeomOverlayKeys
|
||||
(
|
||||
.I row,
|
||||
.I num_needed
|
||||
)
|
||||
.br
|
||||
XkbRowPtr \fIrow\fP\^;
|
||||
.br
|
||||
int \fInum_needed\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- row
|
||||
section for which rows should be allocated
|
||||
.TP
|
||||
.I \- num_needed
|
||||
number of new rows required
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a keyboard geometry. Use these functions to create or modify keyboard geometries. Note that these functions merely allocate space for the new element(s), and it is up to you to fill in the values explicitly in your code. These allocation functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
.I XkbAllocGeomOverlayKeys
|
||||
allocates
|
||||
.I num_needed
|
||||
keys and adds them to the
|
||||
.I row.
|
||||
No initialization of the keys is done.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
85
man/xkb/XkbAllocGeomOverlayRows.man
Normal file
85
man/xkb/XkbAllocGeomOverlayRows.man
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
.\" 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 XkbAllocGeomOverlayRows 3Xkb "Release 6.1" "X Version 11" "XKBLIB FUNCTION"
|
||||
.SH NAME
|
||||
XkbAllocGeomOverlayRows \- Allocate rows in a overlay
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocGeomOverlayRows
|
||||
(
|
||||
.I overlay,
|
||||
.I num_needed
|
||||
)
|
||||
.br
|
||||
XkbSectionPtr \fIoverlay\fP\^;
|
||||
.br
|
||||
int \fInum_needed\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- overlay
|
||||
section for which rows should be allocated
|
||||
.TP
|
||||
.I \- num_needed
|
||||
number of new rows required
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
.I XkbAllocGeomOverlayRows
|
||||
allocates
|
||||
.I num_needed
|
||||
rows and adds them to the
|
||||
.I overlay.
|
||||
No initialization of the rows is done.
|
||||
|
||||
To free rows in an overlay, use
|
||||
.I XkbFreeGeomOverlayRows.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbFreeGeomOverlayRows (__libmansuffix__)
|
||||
75
man/xkb/XkbAllocGeomOverlays.man
Normal file
75
man/xkb/XkbAllocGeomOverlays.man
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
.\" 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 XkbAllocGeomOverlays __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocGeomOverlays \- Allocate overlays in a section
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocGeomOverlays
|
||||
(
|
||||
.I section,
|
||||
.I num_needed
|
||||
)
|
||||
.br
|
||||
XkbSectionPtr \fIsection\fP\^;
|
||||
.br
|
||||
int \fInum_needed\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- section
|
||||
section for which overlays should be allocated
|
||||
.TP
|
||||
.I \- num_needed
|
||||
number of new overlays required
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a keyboard geometry. Use these functions to create or modify keyboard geometries. Note that these functions merely allocate space for the new element(s), and it is up to you to fill in the values explicitly in your code. These allocation functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
.I XkbAllocGeomOverlays
|
||||
allocates
|
||||
.I num_needed
|
||||
overlays and adds them to the
|
||||
.I section.
|
||||
No initialization of the overlays is done.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
80
man/xkb/XkbAllocGeomPoints.man
Normal file
80
man/xkb/XkbAllocGeomPoints.man
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
.\" 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 XkbAllocGeomPoints __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocGeomPoints \- Allocate points in an outline
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocGeomPoints
|
||||
(
|
||||
.I outline,
|
||||
.I num_needed
|
||||
)
|
||||
.br
|
||||
XkbOutlinePtr \fIoutline\fP\^;
|
||||
.br
|
||||
int \fInum_needed\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- outline
|
||||
outline for which points should be allocated
|
||||
.TP
|
||||
.I \- num_needed
|
||||
number of new points required
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
.I XkbAllocGeomPoints
|
||||
allocates space for
|
||||
.I num_needed
|
||||
points in the specified
|
||||
.I outline.
|
||||
The points are not initialized.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
83
man/xkb/XkbAllocGeomProps.man
Normal file
83
man/xkb/XkbAllocGeomProps.man
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
.\" 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 XkbAllocGeomProps __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocGeomProps \- Allocate geometry properties
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocGeomProps
|
||||
(
|
||||
.I geom,
|
||||
.I num_needed
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
int \fInum_needed\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
_summary_
|
||||
.TP
|
||||
.I \- num_needed
|
||||
_summary_
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
.I XkbAllocGeomProps
|
||||
allocates space for
|
||||
.I num_needed
|
||||
properties and adds them to the specified geometry
|
||||
.I geom.
|
||||
No initialization of the properties is done. A geometry property associates an
|
||||
arbitrary string with an equally arbitrary name. Geometry properties can be used
|
||||
to provide hints to programs that display images of keyboards, but they are not
|
||||
interpreted by Xkb. No other geometry structures refer to geometry properties.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
80
man/xkb/XkbAllocGeomRows.man
Normal file
80
man/xkb/XkbAllocGeomRows.man
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
.\" 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 XkbAllocGeomRows __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocGeomRows \- Allocate rows in a section
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocGeomRows
|
||||
(
|
||||
.I section,
|
||||
.I num_needed
|
||||
)
|
||||
.br
|
||||
XkbSectionPtr \fIsection\fP\^;
|
||||
.br
|
||||
int \fInum_needed\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- section
|
||||
section for which rows should be allocated
|
||||
.TP
|
||||
.I \- num_needed
|
||||
number of new rows required
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
.I XkbAllocGeomRows
|
||||
allocates
|
||||
.I num_needed
|
||||
rows and adds them to the
|
||||
.I section.
|
||||
No initialization of the rows is done.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
87
man/xkb/XkbAllocGeomSectionDoodads.man
Normal file
87
man/xkb/XkbAllocGeomSectionDoodads.man
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
'\" 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 XkbAllocGeomSectionDoodads 3Xkb "Release 6.1" "X Version 11" "XKBLIB
|
||||
FUNCTION"
|
||||
.SH NAME
|
||||
XkbAllocGeomSectionDoodads \- Allocate doodads that are specific to a section
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocGeomSectionDoodads
|
||||
(
|
||||
.I section,
|
||||
.I num_needed
|
||||
)
|
||||
.br
|
||||
XkbSectionPtr \fIsection\fP\^;
|
||||
.br
|
||||
int \fInum_needed\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- section
|
||||
section for which doodads should be allocated
|
||||
.TP
|
||||
.I \- num_needed
|
||||
number of new doodads required
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
.I XkbAllocGeomSectionDoodads
|
||||
allocates
|
||||
.I num_needed
|
||||
doodads and adds them to the specified
|
||||
.I section.
|
||||
No initialization of the doodads is done.
|
||||
|
||||
To free geometry doodads, use
|
||||
.I XkbFreeGeomDoodads.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbFreeGeomDoodads (__libmansuffix__)
|
||||
85
man/xkb/XkbAllocGeomSections.man
Normal file
85
man/xkb/XkbAllocGeomSections.man
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
.\" 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 XkbAllocGeomSections __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocGeomSections \- Allocate geometry sections
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocGeomSections
|
||||
(
|
||||
.I geom,
|
||||
.I num_needed
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
int \fInum_needed\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry for which sections should be allocated
|
||||
.TP
|
||||
.I \- num_needed
|
||||
number of new sections required
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
.I XkbAllocGeomSections
|
||||
allocates
|
||||
.I num_needed
|
||||
sections and adds them to the geometry
|
||||
.I geom.
|
||||
No initialization of the sections is done.
|
||||
|
||||
To free geometry sections, use
|
||||
.I XkbFreeGeomSections.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbFreeGeomSections (__libmansuffix__)
|
||||
86
man/xkb/XkbAllocGeomShapes.man
Normal file
86
man/xkb/XkbAllocGeomShapes.man
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
.\" 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 XkbAllocGeomShapes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocGeomShapes \- Allocate space for an arbitrary number of geometry shapes
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocGeomShapes
|
||||
(
|
||||
.I geom,
|
||||
.I num_needed
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
int \fInum_needed\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry for which shapes should be allocated
|
||||
.TP
|
||||
.I \- num_needed
|
||||
number of new shapes required
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
.I XkbAllocGeomShapes
|
||||
allocates space for
|
||||
.I num_needed
|
||||
shapes in the specified geometry
|
||||
.I geom.
|
||||
The shapes are not initialized.
|
||||
|
||||
To free geometry shapes, use
|
||||
.I XkbFreeGeomShapes.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbFreeGeomShapes (__libmansuffix__)
|
||||
|
||||
97
man/xkb/XkbAllocGeometry.man
Normal file
97
man/xkb/XkbAllocGeometry.man
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
'\" 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 XkbAllocGeometry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocGeometry \- Allocate an entire geometry
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocGeometry
|
||||
(
|
||||
.I xkb,
|
||||
.I sizes
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
XkbGeometrySizesPtr \fIsizes\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description for which geometry is to be allocated
|
||||
.TP
|
||||
.I \- sizes
|
||||
initial sizes for all geometry components
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
.I XkbAllocGeometry
|
||||
allocates a keyboard geometry and adds it to the keyboard description specified
|
||||
by
|
||||
.I xkb.
|
||||
The keyboard description should be obtained via the
|
||||
.I XkbGetKeyboard
|
||||
or
|
||||
.I XkbAllocKeyboard
|
||||
functions. The
|
||||
.I sizes
|
||||
parameter specifies the number of elements to be reserved for the subcomponents
|
||||
of the keyboard geometry and can be zero or more. These subcomponents include
|
||||
the
|
||||
.I properties, colors, shapes, sections, and doodads.
|
||||
|
||||
To free an entire geometry, use
|
||||
.I XkbFreeGeometry.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAllocKeyboard (__libmansuffix__),
|
||||
.BR XkbFreeGeometry (__libmansuffix__),
|
||||
.BR XkbGetKeyboard (__libmansuffix__)
|
||||
|
||||
75
man/xkb/XkbAllocIndicatorMaps.man
Normal file
75
man/xkb/XkbAllocIndicatorMaps.man
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
.\" 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 XkbAllocIndicatorMaps __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocIndicatorMaps \- Allocates, directly, the
|
||||
.I indicators
|
||||
member of the keyboard description record
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocIndicatorMaps
|
||||
(
|
||||
.I xkb
|
||||
)
|
||||
.br
|
||||
variable_type *\fIxkb\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description structure
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
The
|
||||
.I xkb
|
||||
parameter must point to a valid keyboard description. If it doesn't,
|
||||
.I XkbAllocIndicatorMaps
|
||||
returns a BadMatch error. Otherwise,
|
||||
.I XkbAllocIndicatorMaps
|
||||
allocates and initializes the
|
||||
.I indicators
|
||||
member of the keyboard description record and returns Success. If
|
||||
.I XkbAllocIndicatorMaps
|
||||
was unable to allocate the indicators record, it reports a BadAlloc error.
|
||||
.SH RETURN VALUES"
|
||||
.TP 15
|
||||
Success
|
||||
The
|
||||
.I XkbAllocIndicatorMaps
|
||||
function returns Success if it is successful in allocating and initializing the
|
||||
.I indicators
|
||||
member of the keyboard description record.
|
||||
.SH DIAGNOSTICS
|
||||
.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
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
62
man/xkb/XkbAllocKeyboard.man
Normal file
62
man/xkb/XkbAllocKeyboard.man
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
.\" 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 XkbAllocKeyboard __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocKeyboard \- Creates a keyboard description from scratch
|
||||
.SH SYNOPSIS
|
||||
.B XkbDescRec XkbAllocKeyboard
|
||||
(
|
||||
.I void
|
||||
)
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Applications seldom need to directly allocate a keyboard description; calling
|
||||
.I XkbGetKeyboard
|
||||
usually suffices. In the event you need to create a keyboard description from
|
||||
scratch, however, use
|
||||
.I XkbAllocKeyboard
|
||||
rather than directly calling
|
||||
.I malloc.
|
||||
|
||||
If
|
||||
.I XkbAllocKeyboard
|
||||
fails to allocate the keyboard description, it returns NULL.
|
||||
Otherwise, it returns a pointer to an empty keyboard description structure. The
|
||||
.I device_spec
|
||||
field will have been initialized to XkbUseCoreKbd. You may then
|
||||
either fill in the structure components or use Xkb functions to obtain values
|
||||
for the structure components from a keyboard device.
|
||||
.SH "SEE ALSO"
|
||||
.BR malloc (3F),
|
||||
.BR XkbUseCoreKbd (__libmansuffix__),
|
||||
.BR XkbGetKeyboard (__libmansuffix__)
|
||||
|
||||
|
||||
132
man/xkb/XkbAllocNames.man
Normal file
132
man/xkb/XkbAllocNames.man
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
'\" 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 XkbAllocNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocNames \- Allocate symbolic names structures
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocNames
|
||||
(
|
||||
.I xkb,
|
||||
.I which,
|
||||
.I num_rg,
|
||||
.I num_key_aliases
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.br
|
||||
int \fInum_rg\fP\^;
|
||||
.br
|
||||
int \fInum_key_aliases\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description for which names are to be allocated
|
||||
.TP
|
||||
.I \- which
|
||||
mask of names to be allocated
|
||||
.TP
|
||||
.I \- num_rg
|
||||
total number of radio group names needed
|
||||
.TP
|
||||
.I \- num_key_aliases
|
||||
total number of key aliases needed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Most applications do not need to directly allocate symbolic names structures. Do
|
||||
not allocate a names structure directly using
|
||||
.I malloc
|
||||
or
|
||||
.I Xmalloc
|
||||
if your application changes the number of key aliases or radio groups or
|
||||
constructs a symbolic names structure without loading the necessary components
|
||||
from the X server. Instead use
|
||||
.I XkbAllocNames.
|
||||
|
||||
.I XkbAllocNames
|
||||
can return BadAlloc, BadMatch, and BadValue errors. The
|
||||
.I which
|
||||
parameter is the bitwise inclusive OR of the valid names mask bits defined in
|
||||
Table 1.
|
||||
|
||||
.TS
|
||||
c s s s
|
||||
l l l l.
|
||||
Table 1 Symbolic Names Masks
|
||||
_
|
||||
Mask Bit Value Keyboard Field
|
||||
Component
|
||||
_
|
||||
XkbKeycodesNameMask (1<<0) Xkb->names keycodes
|
||||
XkbGeometryNameMask (1<<1) Xkb->names geometry
|
||||
XkbSymbolsNameMask (1<<2) Xkb->names symbols
|
||||
XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
|
||||
XkbTypesNameMask (1<<4) Xkb->names type
|
||||
XkbCompatNameMask (1<<5) Xkb->names compat
|
||||
XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
|
||||
XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
|
||||
XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
|
||||
XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
|
||||
XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
|
||||
XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
|
||||
XkbGroupNamesMask (1<<12) Xkb->names groups[*]
|
||||
XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
|
||||
XkbComponentNamesMask (0x3f) Xkb->names keycodes,
|
||||
geometry,
|
||||
symbols,
|
||||
physical symbols,
|
||||
types, and
|
||||
compatibility map
|
||||
XkbAllNamesMask (0x3fff) Xkb->names all name components
|
||||
.TE
|
||||
|
||||
Do not free symbolic names structures directly using
|
||||
.I free
|
||||
or
|
||||
.I XFree.
|
||||
Use
|
||||
.I XkbFreeNames
|
||||
instead.
|
||||
.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
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbFreeNames (__libmansuffix__)
|
||||
135
man/xkb/XkbAllocServerMap.man
Normal file
135
man/xkb/XkbAllocServerMap.man
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
'\" 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 XkbAllocServerMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbAllocServerMap \- Allocate and initialize an empty server map description record
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbAllocServerMap
|
||||
(
|
||||
.I xkb,
|
||||
.I which,
|
||||
.I count_acts
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.br
|
||||
unsigned int \fIcount_acts\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description in which to allocate server map
|
||||
.TP
|
||||
.I \- which
|
||||
mask selecting map components to allocate
|
||||
.TP
|
||||
.I \- count_acts
|
||||
value of num_acts field in map to be allocated
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbAllocServerMap
|
||||
allocates and initializes an empty server map in the
|
||||
.I server
|
||||
field of the keyboard description specified by
|
||||
.I xkb.
|
||||
The
|
||||
.I which
|
||||
parameter specifies the particular components of the server map structure to allocate, as specified in Table 1.
|
||||
|
||||
.TS
|
||||
c s
|
||||
l l
|
||||
l lw(4i).
|
||||
Table 1 XkbAllocServerMap Masks
|
||||
_
|
||||
Mask Effect
|
||||
_
|
||||
XkbExplicitComponentsMask T{
|
||||
The min_key_code and max_key_code fields of the xkb parameter are used to
|
||||
allocate the explicit field of the server map.
|
||||
T}
|
||||
.sp
|
||||
XkbKeyActionsMask T{
|
||||
The min_key_code and max_key_code fields of the xkb parameter are used to allocate the key_acts field of the server map. The count_acts parameter is used to allocate the acts field of the server map.
|
||||
T}
|
||||
.sp
|
||||
XkbKeyBehaviorsMask T{
|
||||
The min_key_code and max_key_code fields of the xkb parameter are used to allocate the behaviors field of the server map.
|
||||
T}
|
||||
.sp
|
||||
XkbVirtualModMapMask T{
|
||||
The min_key_code and max_key_code fields of the xkb parameter are used to allocate the vmodmap field of the server map.
|
||||
T}
|
||||
|
||||
.TE
|
||||
|
||||
If the server map of the keyboard description is not NULL and any fields are already allocated in the server map,
|
||||
.I XkbAllocServerMap
|
||||
does not overwrite the existing values. The only exception is with the
|
||||
.I acts
|
||||
array. If the
|
||||
.I count_acts
|
||||
parameter is greater than the current
|
||||
.I num_acts
|
||||
field of the server map,
|
||||
.I XkbAllocServerMap
|
||||
resizes the
|
||||
.I acts
|
||||
array and resets the
|
||||
.I num_acts
|
||||
field accordingly.
|
||||
|
||||
If
|
||||
.I XkbAllocServerMap
|
||||
is successful, it returns Success. Otherwise, it can return either BadMatch or BadAlloc errors.
|
||||
.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
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
.SH NOTES
|
||||
.LP
|
||||
The
|
||||
.I min_key_code
|
||||
and
|
||||
.I max_key_code
|
||||
fields of the
|
||||
.I xkb
|
||||
parameter must be legal values. If they are not valid,
|
||||
.I XkbAllocServerMap
|
||||
returns BadValue.
|
||||
376
man/xkb/XkbApplyCompatMapToKey.man
Normal file
376
man/xkb/XkbApplyCompatMapToKey.man
Normal file
|
|
@ -0,0 +1,376 @@
|
|||
'\" 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 XkbApplyCompatMapToKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbApplyCompatMapToKey \- Apply the new compatibility mapping to an individual
|
||||
key to get its semantics updated
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbApplyCompatMapToKey
|
||||
(
|
||||
.I xkb,
|
||||
.I key,
|
||||
.I changes
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
KeyCode \fIkey\fP\^;
|
||||
.br
|
||||
XkbChangesPtr \fIchanges\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description to be updated
|
||||
.TP
|
||||
.I \- key
|
||||
key to be updated
|
||||
.TP
|
||||
.I \- changes
|
||||
notes changes to the Xkb keyboard description
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbApplyCompatMapToKey
|
||||
essentially performs the operation described in Core Keyboard Mapping to Xkb
|
||||
Keyboard Mapping Transformation to a specific key. This updates the behavior,
|
||||
actions, repeat status, and virtual modifier bindings of the key.
|
||||
|
||||
.B Core Keyboard Mapping to Xkb Keyboard Mapping Transformation
|
||||
|
||||
When a core protocol keyboard mapping request is received by the server, the
|
||||
server's core keyboard map is updated, and then the Xkb map maintained by the
|
||||
server is updated. Because a client may have explicitly configured some of the
|
||||
Xkb keyboard mapping in the server, this automatic regeneration of the Xkb
|
||||
keyboard mapping from the core protocol keyboard mapping should not modify any
|
||||
components of the Xkb keyboard mapping that were explicitly set by a client. The
|
||||
client must set explicit override controls to prevent this from happening (see
|
||||
Explicit Components-Avoiding Automatic Remapping by the Server). The core-to-Xkb
|
||||
mapping is done as follows:
|
||||
|
||||
.B Explicit Components-Avoiding Automatic Remapping by the Server
|
||||
|
||||
Whenever a client remaps the keyboard using core protocol requests, Xkb examines
|
||||
the map to determine likely default values for the components that cannot be
|
||||
specified using the core protocol.
|
||||
|
||||
This automatic remapping might replace definitions explicitly requested by an
|
||||
application, so the Xkb keyboard description defines an explicit components mask
|
||||
for each key. Any aspects of the automatic remapping listed in the explicit
|
||||
components mask for a key are not changed by the automatic keyboard mapping.
|
||||
|
||||
The explicit components masks are held in the
|
||||
.I explicit
|
||||
field of the server map, which is an array indexed by keycode. Each entry in
|
||||
this array is a mask that is a bitwise inclusive OR of the values shown in Table
|
||||
1.
|
||||
|
||||
.TS
|
||||
c s s
|
||||
l l l
|
||||
l l lw(3i).
|
||||
Table 1 Explicit Component Masks
|
||||
_
|
||||
Bit in Explicit Mask Value Protects Against
|
||||
_
|
||||
ExplicitKeyType1 (1<<0) T{
|
||||
Automatic determination of the key type associated with Group1.
|
||||
T}
|
||||
ExplicitKeyType2 (1<<1) T{
|
||||
Automatic determination of the key type associated with Group2.
|
||||
T}
|
||||
ExplicitKeyType3 (1<<2) T{
|
||||
Automatic determination of the key type associated with Group3.
|
||||
T}
|
||||
ExplicitKeyType4 (1<<3) T{
|
||||
Automatic determination of the key type associated with Group4.
|
||||
T}
|
||||
ExplicitInterpret (1<<4) T{
|
||||
Application of any of the fields of a symbol interpretation to the key in
|
||||
question.
|
||||
T}
|
||||
ExplicitAutoRepeat (1<<5) T{
|
||||
Automatic determination of auto-repeat status for the key, as specified in a
|
||||
symbol interpretation.
|
||||
T}
|
||||
ExplicitBehavior (1<<6) T{
|
||||
Automatic assignment of the XkbKB_Lock behavior to the key, if the
|
||||
XkbSI_LockingKey flag is set in a symbol interpretation.
|
||||
T}
|
||||
ExplicitVModMap (1<<7) T{
|
||||
Automatic determination of the virtual modifier map for the key based on the
|
||||
actions assigned to the key and the symbol interpretations that match the key.
|
||||
T}
|
||||
.TE
|
||||
.TP 4
|
||||
1.
|
||||
Map the symbols from the keys in the core keyboard map to groups and symbols on
|
||||
keys in the Xkb keyboard map. The core keyboard mapping is of fixed width, so
|
||||
each key in the core mapping has the same number of symbols associated with it.
|
||||
The Xkb mapping allows a different number of symbols to be associated with each
|
||||
key; those symbols may be divided into a different number of groups (1-4) for
|
||||
each key. For each key, this process therefore involves partitioning the fixed
|
||||
number of symbols from the core mapping into a set of variable-length groups
|
||||
with a variable number of symbols in each group. For example, if the core
|
||||
protocol map is of width five, the partition for one key might result in one
|
||||
group with two symbols and another with three symbols. A different key might
|
||||
result in two groups with two symbols plus a third group with one symbol. The
|
||||
core protocol map requires at least two symbols in each of the first two groups.
|
||||
.TP 4
|
||||
1a.
|
||||
For each changed key, determine the number of groups represented in the new core
|
||||
keyboard map. This results in a tentative group count for each key in the Xkb
|
||||
map.
|
||||
.TP 4
|
||||
1b.
|
||||
For each changed key, determine the number of symbols in each of the groups
|
||||
found in step 1a. There is one explicit override control associated with each of
|
||||
the four possible groups for each Xkb key, ExplicitKeyType1 through
|
||||
ExplicitKeyType4. If no explicit override control is set for a group, the number
|
||||
of symbols used for that group from the core map is two. If the explicit
|
||||
override control is set for a group on the key, the number of symbols used for
|
||||
that Xkb group from the core map is the width of the Xkb group with one
|
||||
exception: because of the core protocol requirement for at least two symbols in
|
||||
each of groups one and two, the number of symbols used for groups one and two is
|
||||
the maximum of 2 or the width of the Xkb group.
|
||||
.TP 4
|
||||
1c.
|
||||
For each changed key, assign the symbols in the core map to the appropriate
|
||||
group on the key. If the total number of symbols required by the Xkb map for a
|
||||
particular key needs more symbols than the core protocol map contains, the
|
||||
additional symbols are taken to be NoSymbol keysyms appended to the end of the
|
||||
core set. If the core map contains more symbols than are needed by the Xkb map,
|
||||
trailing symbols in the core map are discarded. In the absence of an explicit
|
||||
override for group one or two, symbols are assigned in order by group; the first
|
||||
symbols in the core map are assigned to group one, in order, followed by group
|
||||
two, and so on. For example, if the core map contained eight symbols per key,
|
||||
and a particular Xkb map contained 2 symbols for G1 and G2 and three for G3, the
|
||||
symbols would be assigned as (G is group, L is shift level):
|
||||
.nf
|
||||
|
||||
G1L1 G1L2 G2L1 G2L2 G3L1 G3L2 G3L3
|
||||
|
||||
.fi
|
||||
If an explicit override control is set for group one or two, the symbols are
|
||||
taken from the core set in a somewhat different order. The first four symbols
|
||||
from the core set are assigned to G1L1, G1L2, G2L1, G2L2, respectively. If group
|
||||
one requires more symbols, they are taken next, and then any additional symbols
|
||||
needed by group two. Group three and four symbols are taken in complete sequence
|
||||
after group two. For example, a key with four groups and three symbols in each
|
||||
group would take symbols from the core set in the following order:
|
||||
.nf
|
||||
|
||||
G1L1 G1L2 G2L1 G2L2 G1L3 G2L3 G3L1 G3L2 G3L3 G4L1 G4L2 G4L3
|
||||
|
||||
.fi
|
||||
As previously noted, the core protocol map requires at lease two symbols in
|
||||
groups one and two. Because of this, if an explicit override control for an Xkb
|
||||
key is set and group one and / or group two is of width one, it is not possible
|
||||
to generate the symbols taken from the core protocol set and assigned to
|
||||
position G1L2 and / or G2L2.
|
||||
.TP 4
|
||||
1d.
|
||||
For each group on each changed key, assign a key type appropriate for the
|
||||
symbols in the group.
|
||||
.TP 4
|
||||
1e.
|
||||
For each changed key, remove any empty or redundant groups.
|
||||
|
||||
At this point, the groups and their associated symbols have been assigned to the
|
||||
corresponding key definitions in the Xkb map.
|
||||
.TP 4
|
||||
2.
|
||||
Apply symbol interpretations to modify key operation. This phase is completely
|
||||
skipped if the ExplicitInterpret override control bit is set in the explicit
|
||||
controls mask for the Xkb key (see Explicit Components-Avoiding Automatic
|
||||
Remapping by the Server).
|
||||
.TP 4
|
||||
2a.
|
||||
For each symbol on each changed key, attempt to match the symbol and modifiers
|
||||
from the Xkb map to a symbol interpretation describing how to generate the
|
||||
symbol.
|
||||
.TP 4
|
||||
2b.
|
||||
When a match is found in step 2a, apply the symbol interpretation to change the
|
||||
semantics associated with the symbol in the Xkb key map. If no match is found,
|
||||
apply a default interpretation.
|
||||
.LP
|
||||
The symbol interpretations used in step 2 are configurable and may be specified
|
||||
using XkbSymInterpretRec structures referenced by the sym_interpret field of an
|
||||
XkbCompatMapRec.
|
||||
|
||||
.B Symbol Interpretations - the XkbSymInterpretRec Structure
|
||||
|
||||
Symbol interpretations are used to guide the X server when it modifies the Xkb
|
||||
keymap in step 2. An initial set of symbol interpretations is loaded by the
|
||||
server when it starts. A client may add new ones using XkbSetCompatMap.
|
||||
|
||||
Symbol interpretations result in key semantics being set. When a symbol
|
||||
interpretation is applied, the following components of server key event
|
||||
processing may be modified for the particular key involved:
|
||||
.nf
|
||||
|
||||
Virtual modifier map
|
||||
Auto repeat
|
||||
Key behavior (may be set to XkbKB_Lock)
|
||||
Key action
|
||||
|
||||
.fi
|
||||
The XkbSymInterpretRec structure specifies a symbol interpretation:
|
||||
.nf
|
||||
|
||||
typedef struct {
|
||||
KeySym sym; /* keysym of interest or NULL */
|
||||
unsigned char flags; /* XkbSI_AutoRepeat, XkbSI_LockingKey */
|
||||
unsigned char match; /* specifies how mods is interpreted */
|
||||
unsigned char mods; /* modifier bits, correspond to eight real modifiers */
|
||||
unsigned char virtual_mod; /* 1 modifier to add to key virtual mod map */
|
||||
XkbAnyAction act; /* action to bind to symbol position on key */
|
||||
} XkbSymInterpretRec,*XkbSymInterpretPtr;
|
||||
|
||||
.fi
|
||||
If sym is not NULL, it limits the symbol interpretation to keys on which that
|
||||
particular keysym is selected by the modifiers matching the criteria specified
|
||||
by
|
||||
.I mods
|
||||
and
|
||||
.I match.
|
||||
If
|
||||
.I sym
|
||||
is NULL, the interpretation may be applied to any symbol selected on a key when
|
||||
the modifiers match the criteria specified by
|
||||
.I mods
|
||||
and
|
||||
.I match.
|
||||
|
||||
.I match
|
||||
must be one of the values shown in Table 2 and specifies how the real modifiers
|
||||
specified in
|
||||
.I mods
|
||||
are to be interpreted.
|
||||
|
||||
.TS
|
||||
c s s
|
||||
l l l
|
||||
l l lw(3i).
|
||||
Table 2 Symbol Interpretation Match Criteria
|
||||
_
|
||||
Match Criteria Value Effect
|
||||
_
|
||||
XkbSI_NoneOf (0) T{
|
||||
None of the bits that are on in mods can be set, but other bits can be.
|
||||
T}
|
||||
XkbSI_AnyOfOrNone (1) T{
|
||||
Zero or more of the bits that are on in mods can be set, as well as others.
|
||||
T}
|
||||
XkbSI_AnyOf (2) T{
|
||||
One or more of the bits that are on in mods can be set, as well as any others.
|
||||
T}
|
||||
XkbSI_AllOf (3) T{
|
||||
All of the bits that are on in mods must be set, but others may be set as well.
|
||||
T}
|
||||
XkbSI_Exactly (4) T{
|
||||
All of the bits that are on in mods must be set, and no other bits may be set.
|
||||
T}
|
||||
.TE
|
||||
|
||||
In addition to the above bits,
|
||||
.I match
|
||||
may contain the XkbSI_LevelOneOnly bit, in which case the modifier match
|
||||
criteria specified by
|
||||
.I mods
|
||||
and
|
||||
.I match
|
||||
applies only if
|
||||
.I sym
|
||||
is in level one of its group; otherwise,
|
||||
.I mods
|
||||
and
|
||||
.I match
|
||||
are ignored and the symbol matches a condition where no modifiers are set.
|
||||
.nf
|
||||
|
||||
#define XkbSI_LevelOneOnly (0x80) /* use mods + match only if sym is level 1 */
|
||||
|
||||
.fi
|
||||
If no matching symbol interpretation is found, the server uses a default
|
||||
interpretation where:
|
||||
.nf
|
||||
|
||||
sym = 0
|
||||
flags = XkbSI_AutoRepeat
|
||||
match = XkbSI_AnyOfOrNone
|
||||
mods = 0
|
||||
virtual_mod = XkbNoModifier
|
||||
act = SA_NoAction
|
||||
|
||||
.fi
|
||||
When a matching symbol interpretation is found in step 2a, the interpretation is
|
||||
applied to modify the Xkb map as follows.
|
||||
|
||||
The
|
||||
.I act
|
||||
field specifies a single action to be bound to the symbol position; any key event that selects the symbol
|
||||
causes the action to be taken. Valid actions are defined in Key Actions.
|
||||
|
||||
If the Xkb keyboard map for the key does not have its ExplicitVModMap control set, the XkbSI_LevelOneOnly bit
|
||||
and symbol position are examined. If the XkbSI_LevelOneOnly bit is not set in
|
||||
.I match
|
||||
or the symbol is in position G1L1, the
|
||||
.I virtual_mod
|
||||
field is examined. If
|
||||
.I virtual_mod
|
||||
is not XkbNoModifier,
|
||||
.I virtual_mod
|
||||
specifies a single virtual modifier to be added to the virtual modifier map for the key.
|
||||
.I virtual_mod
|
||||
is specified as an index in the range [0..15].
|
||||
|
||||
If the matching symbol is in position G1L1 of the key, two bits in the flags field potentially specify
|
||||
additional behavior modifications:
|
||||
.nf
|
||||
|
||||
#define XkbSI_AutoRepeat (1<<0) /* key repeats if sym is in position G1L1 */
|
||||
#define XkbSI_LockingKey (1<<1) /* set KB_Lock behavior if sym is in psn G1L1 */
|
||||
|
||||
.fi
|
||||
If the Xkb keyboard map for the key does not have its ExplicitAutoRepeat control set, its auto repeat behavior
|
||||
is set based on the value of the XkbSI_AutoRepeat bit. If the XkbSI_AutoRepeat bit is set, the auto-repeat
|
||||
behavior of the key is turned on; otherwise, it is turned off.
|
||||
|
||||
If the Xkb keyboard map for the key does not have its ExplicitBehavior control set, its locking behavior is
|
||||
set based on the value of the XkbSI_LockingKey bit. If XkbSI_LockingKey is set, the key behavior is set to
|
||||
KB_Lock; otherwise, it is turned off.
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbKeyAction (__libmansuffix__),
|
||||
.BR XkbKeyActionEntry (__libmansuffix__),
|
||||
.BR XkbKeyActionsPtr (__libmansuffix__),
|
||||
.BR XkbKeyHasActions (__libmansuffix__),
|
||||
.BR XkbKeyNumActions (__libmansuffix__)
|
||||
344
man/xkb/XkbBell.man
Normal file
344
man/xkb/XkbBell.man
Normal file
|
|
@ -0,0 +1,344 @@
|
|||
'\" 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 XkbBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbBell \- Rings the bell on the default keyboard
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbBell
|
||||
(
|
||||
.I display,
|
||||
.I window,
|
||||
.I percent,
|
||||
.I name
|
||||
)
|
||||
.br
|
||||
Display *\fIdisplay\fP\^;
|
||||
.br
|
||||
Window \fIwindow\fP\^;
|
||||
.br
|
||||
int \fIpercent\fP\^;
|
||||
.br
|
||||
Atom \fIname\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- display
|
||||
connection to the X server
|
||||
.TP
|
||||
.I \- window
|
||||
event window, or None
|
||||
.TP
|
||||
.I \- percent
|
||||
relative volume, which can range from -100 to 100 inclusive
|
||||
.TP
|
||||
.I \- name
|
||||
a bell name, or NULL
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
The core X protocol allows only applications to explicitly sound the system bell
|
||||
with a
|
||||
given duration, pitch, and volume. Xkb extends this capability by allowing
|
||||
clients to
|
||||
attach symbolic names to bells, disable audible bells, and receive an event
|
||||
whenever the
|
||||
keyboard bell is rung. For the purposes of this document, the
|
||||
.I audible
|
||||
bell is defined to be the system bell, or the default keyboard bell, as opposed
|
||||
to any
|
||||
other audible sound generated elsewhere in the system.
|
||||
You can ask to receive XkbBellNotify events when any client rings any one of the
|
||||
following:
|
||||
|
||||
.IP \(bu 5
|
||||
The default bell
|
||||
.IP \(bu 5
|
||||
Any bell on an input device that can be specified by a bell_class and bell_id
|
||||
pair
|
||||
.IP \(bu 5
|
||||
Any bell specified only by an arbitrary name. (This is, from the server's point
|
||||
of view,
|
||||
merely a name, and not connected with any physical sound-generating device. Some
|
||||
client
|
||||
application must generate the sound, or visual feedback, if any, that is
|
||||
associated with
|
||||
the name.)
|
||||
|
||||
.LP
|
||||
You can also ask to receive XkbBellNotify events when the server rings the
|
||||
default bell
|
||||
or if any client has requested events only (without the bell sounding) for any
|
||||
of the
|
||||
bell types previously listed.
|
||||
|
||||
You can disable audible bells on a global basis. For example, a client that
|
||||
replaces the
|
||||
keyboard bell with some other audible cue might want to turn off the AudibleBell
|
||||
control
|
||||
to prevent the server from also generating a sound and avoid cacophony. If you
|
||||
disable
|
||||
audible bells and request to receive XkbBellNotify events, you can generate
|
||||
feedback
|
||||
different from the default bell.
|
||||
|
||||
You can, however, override the AudibleBell control by calling one of the
|
||||
functions that
|
||||
force the ringing of a bell in spite of the setting of the AudibleBell control -
|
||||
.I XkbForceDeviceBell
|
||||
or
|
||||
.I XkbForceBell.
|
||||
In this case the server does not generate a bell event.
|
||||
|
||||
Just as some keyboards can produce keyclicks to indicate when a key is pressed
|
||||
or
|
||||
repeating, Xkb can provide feedback for the controls by using special beep
|
||||
codes. The
|
||||
AccessXFeedback control is used to configure the specific types of operations
|
||||
that
|
||||
generate feedback.
|
||||
|
||||
Bell Names
|
||||
|
||||
You can associate a name to an act of ringing a bell by converting the name to
|
||||
an Atom
|
||||
and then using this name when you call the functions listed in this chapter. If
|
||||
an event
|
||||
is generated as a result, the name is then passed to all other clients
|
||||
interested in
|
||||
receiving XkbBellNotify events. Note that these are arbitrary names and that
|
||||
there is no
|
||||
binding to any sounds. Any sounds or other effects (such as visual bells on the
|
||||
screen)
|
||||
must be generated by a client application upon receipt of the bell event
|
||||
containing the
|
||||
name. There is no default name for the default keyboard bell. The server does
|
||||
generate
|
||||
some predefined bells for the AccessX controls. These named bells are shown in
|
||||
Table 1 below; the name is included in any bell event sent to clients that have
|
||||
requested to receive XkbBellNotify events.
|
||||
|
||||
.TS
|
||||
c s
|
||||
l l
|
||||
lW(4I) l.
|
||||
Table 1 Predefined Bells
|
||||
_
|
||||
Action Named Bell
|
||||
_
|
||||
Indicator turned on AX_IndicatorOn
|
||||
Indicator turned off AX_IndicatorOff
|
||||
More than one indicator changed state AX_IndicatorChange
|
||||
Control turned on AX_FeatureOn
|
||||
Control turned off AX_FeatureOff
|
||||
More than one control changed state AX_FeatureChange
|
||||
T{ SlowKeys and BounceKeys about to be turned on or off
|
||||
T} AX_SlowKeysWarning
|
||||
SlowKeys key pressed AX_SlowKeyPress
|
||||
SlowKeys key accepted AX_SlowKeyAccept
|
||||
SlowKeys key rejected AX_SlowKeyReject
|
||||
Accepted SlowKeys key released AX_SlowKeyRelease
|
||||
BounceKeys key rejected AX_BounceKeyReject
|
||||
StickyKeys key latched AX_StickyLatch
|
||||
StickyKeys key locked AX_StickyLock
|
||||
StickyKeys key unlocked AX_StickyUnlock
|
||||
.TE
|
||||
|
||||
Audible Bells
|
||||
|
||||
Using Xkb you can generate bell events that do not necessarily ring the system
|
||||
bell. This
|
||||
is useful if you need to use an audio server instead of the system beep. For
|
||||
example,
|
||||
when an audio client starts, it could disable the audible bell (the system bell)
|
||||
and then
|
||||
listen for XkbBellNotify events. When it receives a XkbBellNotify event, the
|
||||
audio client
|
||||
could then send a request to an audio server to play a sound.
|
||||
|
||||
You can control the audible bells feature by passing the XkbAudibleBellMask to
|
||||
.I XkbChangeEnabledControls.
|
||||
If you set XkbAudibleBellMask on, the server rings the system bell when a bell
|
||||
event
|
||||
occurs. This is the default. If you set XkbAudibleBellMask off and a bell event
|
||||
occurs,
|
||||
the server does not ring the system bell unless you call
|
||||
.I XkbForceDeviceBell
|
||||
or
|
||||
.I XkbForceBell.
|
||||
|
||||
Audible bells are also part of the per-client auto-reset controls.
|
||||
|
||||
Bell Functions
|
||||
|
||||
Use the functions described in this section to ring bells and to generate bell
|
||||
events.
|
||||
|
||||
The input extension has two types of feedbacks that can generate bells - bell
|
||||
feedback
|
||||
and keyboard feedback. Some of the functions in this section have
|
||||
.I bell_class
|
||||
and
|
||||
.I bell_id
|
||||
parameters; set them as follows: Set
|
||||
.I bell_class
|
||||
to BellFeedbackClass or KbdFeedbackClass. A device can have more than one
|
||||
feedback of
|
||||
each type; set
|
||||
.I bell_id
|
||||
to the particular bell feedback of
|
||||
.I bell_class
|
||||
type.
|
||||
|
||||
Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent
|
||||
to be generated when a bell function is called.
|
||||
|
||||
.TS
|
||||
c s s s
|
||||
l l l l
|
||||
l l l l.
|
||||
Table 2 Bell Sounding and Bell Event Generating
|
||||
_
|
||||
Function called AudibleBell Server sounds a bell Server sends an
|
||||
XkbBellNotifyEvent
|
||||
_
|
||||
XkbDeviceBell On Yes Yes
|
||||
XkbDeviceBell Off No Yes
|
||||
XkbBell On Yes Yes
|
||||
XkbBell Off No Yes
|
||||
XkbDeviceBellEvent On or Off No Yes
|
||||
XkbBellEvent On or Off No Yes
|
||||
XkbDeviceForceBell On or Off Yes No
|
||||
XkbForceBell On or Off Yes No
|
||||
.TE
|
||||
|
||||
If a compatible keyboard extension isn't present in the X server,
|
||||
.I XkbBell
|
||||
calls
|
||||
.I XBell
|
||||
with the specified
|
||||
.I display
|
||||
and
|
||||
.I percent,
|
||||
and returns False. Otherwise,
|
||||
.I XkbBell
|
||||
calls
|
||||
.I XkbDeviceBell
|
||||
with the specified
|
||||
.I display, window, percent,
|
||||
and
|
||||
.I name,
|
||||
a
|
||||
.I device_spec
|
||||
of XkbUseCoreKbd, a
|
||||
.I bell_class
|
||||
of XkbDfltXIClass, and a
|
||||
.I bell_id
|
||||
of XkbDfltXIId, and returns True.
|
||||
|
||||
If you have disabled the audible bell, the server does not ring the system bell,
|
||||
although it does generate a XkbBellNotify event.
|
||||
|
||||
You can call
|
||||
.I XkbBell
|
||||
without first initializing the keyboard extension.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
FALSE
|
||||
The XkbBell function returns FALSE if XlibDisplayNoXkb is set.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
Xkb generates XkbBellNotify events for all bells except for those resulting from
|
||||
calls to
|
||||
.I XkbForceDeviceBell
|
||||
and
|
||||
.I XkbForceBell.
|
||||
To receive XkbBellNotify events under all possible conditions, pass
|
||||
XkbBellNotifyMask in
|
||||
both the
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits
|
||||
parameters to
|
||||
.I XkbSelectEvents.
|
||||
|
||||
The XkbBellNotify event has no event details. It is either selected or it is
|
||||
not.
|
||||
However, you can call
|
||||
.I XkbSelectEventDetails
|
||||
using XkbBellNotify as the
|
||||
.I event_type
|
||||
and specifying XkbAllBellNotifyMask in
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits.
|
||||
This has the same effect as a call to
|
||||
.I XkbSelectEvents.
|
||||
|
||||
The structure for the XkbBellNotify event type contains:
|
||||
.nf
|
||||
|
||||
typedef struct _XkbBellNotify {
|
||||
int type; /* Xkb extension base event code */
|
||||
unsigned long serial; /* X server serial number for event */
|
||||
Bool send_event; /* True => synthetically generated */
|
||||
Display * display; /* server connection where event generated */
|
||||
Time time; /* server time when event generated */
|
||||
int xkb_type; /* XkbBellNotify */
|
||||
unsigned int device; /* Xkb device ID, will not be XkbUseCoreKbd
|
||||
*/
|
||||
int percent; /* requested volume as % of max */
|
||||
int pitch; /* requested pitch in Hz */
|
||||
int duration; /* requested duration in microseconds */
|
||||
unsigned int bell_class; /* X input extension feedback class */
|
||||
unsigned int bell_id; /* X input extension feedback ID */
|
||||
Atom name; /* "name" of requested bell */
|
||||
Window window; /* window associated with event */
|
||||
Bool event_only; /* False -> the server did not produce a beep
|
||||
*/
|
||||
} XkbBellNotifyEvent;
|
||||
|
||||
.fi
|
||||
If your application needs to generate visual bell feedback on the screen when it
|
||||
receives
|
||||
a bell event, use the window ID in the XkbBellNotifyEvent, if present.
|
||||
|
||||
.SH "SEE ALSO"
|
||||
.BR XBell (3X11),
|
||||
.BR XkbBellNotify (__libmansuffix__),
|
||||
.BR XkbChangeEnabledControls (__libmansuffix__),
|
||||
.BR XkbDeviceBell (__libmansuffix__),
|
||||
.BR XkbForceBell (__libmansuffix__),
|
||||
.BR XkbForceDeviceBell (__libmansuffix__),
|
||||
.BR XkbUseCoreKbd (__libmansuffix__)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
341
man/xkb/XkbBellEvent.man
Normal file
341
man/xkb/XkbBellEvent.man
Normal file
|
|
@ -0,0 +1,341 @@
|
|||
'\" 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 XkbBellEvent __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbBellEvent \- Provides a function that initiates a bell event for the keyboard
|
||||
without ringing the bell
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbBellEvent
|
||||
(
|
||||
.I display,
|
||||
.I window,
|
||||
.I percent,
|
||||
.I name
|
||||
)
|
||||
.br
|
||||
Display *\fI display \fP\^;
|
||||
.br
|
||||
Window \fI window \fP\^;
|
||||
.br
|
||||
int \fI percent \fP\^;
|
||||
.br
|
||||
Atom \fI name \fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- display
|
||||
connection to the X server
|
||||
.TP
|
||||
.I \- window
|
||||
the event window, or None
|
||||
.TP
|
||||
.I \- percent,
|
||||
relative volume, which can range from -100 to 100 inclusive
|
||||
.TP
|
||||
.I \- name
|
||||
a bell name, or NULL
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
The core X protocol allows only applications to explicitly sound the system bell
|
||||
with a
|
||||
given duration, pitch, and volume. Xkb extends this capability by allowing
|
||||
clients to
|
||||
attach symbolic names to bells, disable audible bells, and receive an event
|
||||
whenever the
|
||||
keyboard bell is rung. For the purposes of this document, the
|
||||
.I audible
|
||||
bell is defined to be the system bell, or the default keyboard bell, as opposed
|
||||
to any
|
||||
other audible sound generated elsewhere in the system.
|
||||
You can ask to receive XkbBellNotify events when any client rings any one of the
|
||||
following:
|
||||
|
||||
.IP \(bu 5
|
||||
The default bell
|
||||
.IP \(bu 5
|
||||
Any bell on an input device that can be specified by a bell_class and bell_id
|
||||
pair
|
||||
.IP \(bu 5
|
||||
Any bell specified only by an arbitrary name. (This is, from the server's point
|
||||
of view,
|
||||
merely a name, and not connected with any physical sound-generating device. Some
|
||||
client
|
||||
application must generate the sound, or visual feedback, if any, that is
|
||||
associated with
|
||||
the name.)
|
||||
|
||||
You can also ask to receive XkbBellNotify events when the server rings the
|
||||
default bell
|
||||
or if any client has requested events only (without the bell sounding) for any
|
||||
of the
|
||||
bell types previously listed.
|
||||
|
||||
You can disable audible bells on a global basis. For example, a client that
|
||||
replaces the
|
||||
keyboard bell with some other audible cue might want to turn off the AudibleBell
|
||||
control
|
||||
to prevent the server from also generating a sound and avoid cacophony. If you
|
||||
disable
|
||||
audible bells and request to receive XkbBellNotify events, you can generate
|
||||
feedback
|
||||
different from the default bell.
|
||||
|
||||
You can, however, override the AudibleBell control by calling one of the
|
||||
functions that
|
||||
force the ringing of a bell in spite of the setting of the AudibleBell control -
|
||||
.I XkbForceDeviceBell or
|
||||
.I XkbForceBell.
|
||||
In this case the server does not generate a bell event.
|
||||
|
||||
Just as some keyboards can produce keyclicks to indicate when a key is pressed
|
||||
or
|
||||
repeating, Xkb can provide feedback for the controls by using special beep
|
||||
codes. The
|
||||
AccessXFeedback control is used to configure the specific types of operations
|
||||
that
|
||||
generate feedback.
|
||||
|
||||
Bell Names
|
||||
|
||||
You can associate a name to an act of ringing a bell by converting the name to
|
||||
an Atom
|
||||
and then using this name when you call the functions listed in this chapter. If
|
||||
an event
|
||||
is generated as a result, the name is then passed to all other clients
|
||||
interested in
|
||||
receiving XkbBellNotify events. Note that these are arbitrary names and that
|
||||
there is no
|
||||
binding to any sounds. Any sounds or other effects (such as visual bells on the
|
||||
screen)
|
||||
must be generated by a client application upon receipt of the bell event
|
||||
containing the
|
||||
name. There is no default name for the default keyboard bell. The server does
|
||||
generate
|
||||
some predefined bells for the AccessX controls. These named bells are shown in
|
||||
Table 1; the name is included in any bell event sent to clients that have
|
||||
requested to
|
||||
receive XkbBellNotify events.
|
||||
|
||||
.TS
|
||||
c s
|
||||
l l
|
||||
lW(4i) l.
|
||||
Table 1 Predefined Bells
|
||||
_
|
||||
Action Named Bell
|
||||
_
|
||||
Indicator turned on AX_IndicatorOn
|
||||
Indicator turned off AX_IndicatorOff
|
||||
More than one indicator changed state AX_IndicatorChange
|
||||
Control turned on AX_FeatureOn
|
||||
Control turned off AX_FeatureOff
|
||||
More than one control changed state AX_FeatureChange
|
||||
T{
|
||||
SlowKeys and BounceKeys about to be turned on or off
|
||||
T} AX_SlowKeysWarning
|
||||
SlowKeys key pressed AX_SlowKeyPress
|
||||
SlowKeys key accepted AX_SlowKeyAccept
|
||||
SlowKeys key rejected AX_SlowKeyReject
|
||||
Accepted SlowKeys key released AX_SlowKeyRelease
|
||||
BounceKeys key rejected AX_BounceKeyReject
|
||||
StickyKeys key latched AX_StickyLatch
|
||||
StickyKeys key locked AX_StickyLock
|
||||
StickyKeys key unlocked AX_StickyUnlock
|
||||
.TE
|
||||
|
||||
Audible Bells
|
||||
|
||||
Using Xkb you can generate bell events that do not necessarily ring the system
|
||||
bell. This
|
||||
is useful if you need to use an audio server instead of the system beep. For
|
||||
example,
|
||||
when an audio client starts, it could disable the audible bell (the system bell)
|
||||
and then
|
||||
listen for XkbBellNotify events. When it receives a XkbBellNotify event, the
|
||||
audio client
|
||||
could then send a request to an audio server to play a sound.
|
||||
|
||||
You can control the audible bells feature by passing the XkbAudibleBellMask to
|
||||
.I XkbChangeEnabledControls.
|
||||
If you set XkbAudibleBellMask on, the server rings the system bell when a bell
|
||||
event
|
||||
occurs. This is the default. If you set XkbAudibleBellMask off and a bell event
|
||||
occurs,
|
||||
the server does not ring the system bell unless you call
|
||||
.I XkbForceDeviceBell
|
||||
or
|
||||
.I XkbForceBell.
|
||||
|
||||
Audible bells are also part of the per-client auto-reset controls.
|
||||
|
||||
Bell Functions
|
||||
|
||||
Use the functions described in this section to ring bells and to generate bell
|
||||
events.
|
||||
|
||||
The input extension has two types of feedbacks that can generate bells - bell
|
||||
feedback
|
||||
and keyboard feedback. Some of the functions in this section have
|
||||
.I bell_class
|
||||
and
|
||||
.I bell_id
|
||||
parameters; set them as follows: Set
|
||||
.I bell_class
|
||||
to BellFeedbackClass or KbdFeedbackClass. A device can have more than one
|
||||
feedback of
|
||||
each type; set
|
||||
.I bell_id
|
||||
to the particular bell feedback of
|
||||
.I bell_class
|
||||
type.
|
||||
|
||||
Table 2 shows the conditions that cause a bell to sound or an
|
||||
XkbBellNotifyEvent
|
||||
to be generated when a bell function is called.
|
||||
|
||||
.TS
|
||||
c s s s
|
||||
l l l l
|
||||
l l l l.
|
||||
Table 2 Bell Sounding and Bell Event Generating
|
||||
_
|
||||
Function called AudibleBell Server sounds a bell Server sends an
|
||||
XkbBellNotifyEvent
|
||||
_
|
||||
XkbDeviceBell On Yes Yes
|
||||
XkbDeviceBell Off No Yes
|
||||
XkbBell On Yes Yes
|
||||
XkbBell Off No Yes
|
||||
XkbDeviceBellEvent On or Off No Yes
|
||||
XkbBellEvent On or Off No Yes
|
||||
XkbDeviceForceBell On or Off Yes No
|
||||
XkbForceBell On or Off Yes No
|
||||
.TE
|
||||
|
||||
If a compatible keyboard extension isn't present in the X server,
|
||||
.I XkbBellEvent
|
||||
immediately returns False. Otherwise,
|
||||
.I XkbBellEvent
|
||||
calls
|
||||
.I XkbDeviceBellEvent
|
||||
with the specified
|
||||
.I display, window, percent,
|
||||
and
|
||||
.I name,
|
||||
a
|
||||
.I device_spec
|
||||
of XkbUseCoreKbd, a
|
||||
.I bell_class
|
||||
of XkbDfltXIClass, and a
|
||||
.I bell_id
|
||||
of XkbDfltXIId, and returns what
|
||||
.I XkbDeviceBellEvent
|
||||
returns.
|
||||
|
||||
.I XkbBellEvent
|
||||
generates a XkbBellNotify event.
|
||||
|
||||
You can call
|
||||
.I XkbBellEvent
|
||||
without first initializing the keyboard extension.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
False
|
||||
The
|
||||
.I XkbBellEvent
|
||||
immediately returns False, if a compatible keyboard extension isn't present in
|
||||
the X server.
|
||||
.SH STRUCTURES
|
||||
Xkb generates XkbBellNotify events for all bells except for those resulting from
|
||||
calls to
|
||||
.I XkbForceDeviceBell
|
||||
and
|
||||
.I XkbForceBell.
|
||||
To receive XkbBellNotify events under all possible conditions, pass
|
||||
XkbBellNotifyMask in
|
||||
both the
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits
|
||||
parameters to
|
||||
.I XkbSelectEvents.
|
||||
|
||||
The XkbBellNotify event has no event details. It is either selected or it is
|
||||
not.
|
||||
However, you can call
|
||||
.I XkbSelectEventDetails
|
||||
using XkbBellNotify as the
|
||||
.I event_type
|
||||
and specifying XkbAllBellNotifyMask in
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits.
|
||||
This has the same effect as a call to
|
||||
.I XkbSelectEvents.
|
||||
|
||||
The structure for the XkbBellNotify event type contains:
|
||||
.nf
|
||||
|
||||
typedef struct _XkbBellNotify {
|
||||
int type; /* Xkb extension base event code */
|
||||
unsigned long serial; /* X server serial number for event */
|
||||
Bool send_event; /* True => synthetically generated */
|
||||
Display * display; /* server connection where event generated */
|
||||
Time time; /* server time when event generated */
|
||||
int xkb_type; /* XkbBellNotify */
|
||||
unsigned int device; /* Xkb device ID, will not be XkbUseCoreKbd
|
||||
*/
|
||||
int percent; /* requested volume as % of max */
|
||||
int pitch; /* requested pitch in Hz */
|
||||
int duration; /* requested duration in microseconds */
|
||||
unsigned int bell_class; /* X input extension feedback class */
|
||||
unsigned int bell_id; /* X input extension feedback ID */
|
||||
Atom name; /* "name" of requested bell */
|
||||
Window window; /* window associated with event */
|
||||
Bool event_only; /* False -> the server did not produce a beep
|
||||
*/
|
||||
} XkbBellNotifyEvent;
|
||||
|
||||
.fi
|
||||
If your application needs to generate visual bell feedback on the screen when it
|
||||
receives
|
||||
a bell event, use the window ID in the XkbBellNotifyEvent, if present.
|
||||
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbChangeEnabledControls (__libmansuffix__),
|
||||
.BR XkbDeviceBellEvent (__libmansuffix__),
|
||||
.BR XkbForceBell (__libmansuffix__),
|
||||
.BR XkbForceDeviceBell (__libmansuffix__),
|
||||
.BR XkbSelectEventDetails (__libmansuffix__),
|
||||
.BR XkbSelectEvents (__libmansuffix__)
|
||||
|
||||
|
||||
|
||||
336
man/xkb/XkbChangeControls.man
Normal file
336
man/xkb/XkbChangeControls.man
Normal file
|
|
@ -0,0 +1,336 @@
|
|||
'\" 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 XkbChangeControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbChangeControls \- Provides a flexible method for updating the controls in a
|
||||
server to match those in
|
||||
the changed keyboard description
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbChangeControls
|
||||
(
|
||||
.I dpy,
|
||||
.I xkb,
|
||||
.I changes
|
||||
)
|
||||
.br
|
||||
Display *\fIdpy\fP\^;
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
XkbControlsChangesPtr \fIchanges\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- dpy
|
||||
connection to X server
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description with changed xkb->ctrls
|
||||
.TP
|
||||
.I \- changes
|
||||
which parts of xkb->ctrls have changed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
The XkbControlsChangesRec structure allows applications to track modifications
|
||||
to an XkbControlsRec
|
||||
structure and thereby reduce the amount of traffic sent to the server. The same
|
||||
XkbControlsChangesRec
|
||||
structure may be used in several successive modifications to the same
|
||||
XkbControlsRec structure, then
|
||||
subsequently used to cause all of the changes, and only the changes, to be
|
||||
propagated to the server.
|
||||
|
||||
The
|
||||
.I changed_ctrls
|
||||
field is a mask specifying which logical sets of data in the controls structure
|
||||
have been modified. In
|
||||
this context, modified means
|
||||
.I set,
|
||||
that is, if a value is set to the same value it previously contained, it has
|
||||
still been modified, and is
|
||||
noted as changed. Valid values for
|
||||
.I changed_ctrls
|
||||
are any combination of the masks listed in Table 1 that have "ok" in the
|
||||
.I changed_ctrls
|
||||
column. Setting a bit implies the corresponding data fields from the "Relevant
|
||||
XkbControlsRec Data
|
||||
Fields" column in Table 1 have been modified. The
|
||||
.I enabled_ctrls_changes
|
||||
field specifies which bits in the
|
||||
.I enabled_ctrls
|
||||
field have changed. If the number of keyboard groups has changed, the
|
||||
.I num_groups_changed
|
||||
field is set to True.
|
||||
|
||||
Table 1 shows the actual values for the individual mask bits used to select
|
||||
controls for
|
||||
modification and to enable and disable the control. Note that the same mask bit
|
||||
is used to
|
||||
specify general modifications to the parameters used to configure the control
|
||||
(which), and to
|
||||
enable and disable the control (enabled_ctrls). The anomalies in the table (no
|
||||
"ok" in column)
|
||||
are for controls that have no configurable attributes; and for controls that are
|
||||
not boolean
|
||||
controls and therefore cannot be enabled or disabled.
|
||||
|
||||
.TS
|
||||
c s s s s
|
||||
l l l l l
|
||||
l l l l l
|
||||
l l l l l
|
||||
l l l l l
|
||||
lw(1.5i) lw(1.5i) l lw(1.5i) l.
|
||||
Table 1 Xkb Controls
|
||||
_
|
||||
Control Control
|
||||
Selection Relevant
|
||||
Mask XkbControlsRec Boolean Control
|
||||
(which parameter) DataFields enabled_ctrls bit Section
|
||||
_
|
||||
T{
|
||||
AccessXFeedback
|
||||
T} T{
|
||||
XkbAccessXFeedbackMask
|
||||
T} ax_options: T{
|
||||
XkbAccessXFeedbackMask
|
||||
T} 10.6.3
|
||||
XkbAX_*FBMask
|
||||
T{
|
||||
AccessXKeys
|
||||
T} T{
|
||||
XkbAccessXKeysMask
|
||||
T} 10.6.1
|
||||
T{
|
||||
AccessXTimeout
|
||||
T} T{
|
||||
XkbAccessXTimeoutMask
|
||||
T} ax_timeout T{
|
||||
XkbAccessXTimeoutMask
|
||||
T} 10.6.2
|
||||
axt_opts_mask
|
||||
axt_opts_values
|
||||
axt_ctrls_mask
|
||||
axt_ctrls_values
|
||||
T{
|
||||
AudibleBell
|
||||
T} T{
|
||||
XkbAudibleBellMask
|
||||
T} 9.2
|
||||
T{
|
||||
AutoReset
|
||||
T} 10.1.2
|
||||
T{
|
||||
BounceKeys
|
||||
T} T{
|
||||
XkbBounceKeysMask
|
||||
T} debounce_delay T{
|
||||
XkbBounceKeysMask
|
||||
T} 10.6.7
|
||||
T{
|
||||
Detectable-
|
||||
T} 10.3.3
|
||||
T{
|
||||
Autorepeat
|
||||
T}
|
||||
T{
|
||||
EnabledControls
|
||||
T} T{
|
||||
XkbControlsEnabledMask
|
||||
T} enabled_ctrls T{
|
||||
Non-Boolean Control
|
||||
T} 10.1.1
|
||||
T{
|
||||
GroupsWrap
|
||||
T} T{
|
||||
XkbGroupsWrapMask
|
||||
T} groups_wrap T{
|
||||
Non-Boolean Control
|
||||
T} 10.7.1
|
||||
T{
|
||||
IgnoreGroupLock
|
||||
T} T{
|
||||
XkbIgnoreGroupLockMask
|
||||
T} 10.7.3
|
||||
T{
|
||||
IgnoreLockMods
|
||||
T} T{
|
||||
XkbIgnoreLockModsMask
|
||||
T} ignore_lock T{
|
||||
Non-Boolean Control
|
||||
T} 5.1
|
||||
T{
|
||||
InternalMods
|
||||
T} T{
|
||||
XkbInternalModsMask
|
||||
T} internal T{
|
||||
Non-Boolean Control
|
||||
T} 5.1
|
||||
T{
|
||||
MouseKeys
|
||||
T} T{
|
||||
XkbMouseKeysMask
|
||||
T} mk_dflt_btn T{
|
||||
XkbMouseKeysMask
|
||||
T} 10.5.1
|
||||
T{
|
||||
MouseKeysAccel
|
||||
T} T{
|
||||
XkbMouseKeysAccelMask
|
||||
T} mk_delay T{
|
||||
XkbMouseKeysAccelMask
|
||||
T} 10.5.2
|
||||
mk_interval
|
||||
mk_time_to_max
|
||||
mk_max_speed
|
||||
mk_curve
|
||||
T{
|
||||
Overlay1
|
||||
T} T{
|
||||
XkbOverlay1Mask
|
||||
T} 10.4
|
||||
T{
|
||||
Overlay2
|
||||
T} T{
|
||||
XkbOverlay2Mask
|
||||
T} 10.4
|
||||
T{
|
||||
PerKeyRepeat
|
||||
T} T{
|
||||
XkbPerKeyRepeatMask
|
||||
T} per_key_repeat T{
|
||||
Non-Boolean Control
|
||||
T} 10.3.1
|
||||
T{
|
||||
RepeatKeys
|
||||
T} T{
|
||||
XkbRepeatKeysMask
|
||||
T} repeat_delay T{
|
||||
XkbRepeatKeysMask
|
||||
T} 10.3
|
||||
repeat_interval
|
||||
T{
|
||||
SlowKeys
|
||||
T} T{
|
||||
XkbSlowKeysMask
|
||||
T} slow_keys_delay T{
|
||||
XkbSlowKeysMask
|
||||
T} 10.6.6
|
||||
T{
|
||||
StickyKeys
|
||||
T} T{
|
||||
XkbStickyKeysMask
|
||||
T} ax_options: T{
|
||||
XkbStickyKeysMask
|
||||
T} 10.6.8
|
||||
XkbAX_TwoKeysMask
|
||||
XkbAX_LatchToLockMask
|
||||
.TE
|
||||
|
||||
Table 2 shows the actual values for the individual mask bits used to select
|
||||
controls for
|
||||
modification and to enable and disable the control. Note that the same mask bit
|
||||
is used to
|
||||
specify general modifications to the parameters used to configure the control
|
||||
(which), and to
|
||||
enable and disable the control (enabled_ctrls). The anomalies in the table (no
|
||||
"ok" in column)
|
||||
are for controls that have no configurable attributes; and for controls that are
|
||||
not boolean
|
||||
controls and therefore cannot be enabled or disabled.
|
||||
|
||||
.TS
|
||||
c s s s
|
||||
l l l l
|
||||
l l l l
|
||||
l l l l.
|
||||
Table 2 Controls Mask Bits
|
||||
_
|
||||
Mask Bit which or enabled Value
|
||||
changed_ctrls _ctrls
|
||||
_
|
||||
XkbRepeatKeysMask ok ok (1L<<0)
|
||||
XkbSlowKeysMask ok ok (1L<<1)
|
||||
XkbBounceKeysMask ok ok (1L<<2)
|
||||
XkbStickyKeysMask ok ok (1L<<3)
|
||||
XkbMouseKeysMask ok ok (1L<<4)
|
||||
XkbMouseKeysAccelMask ok ok (1L<<5)
|
||||
XkbAccessXKeysMask ok ok (1L<<6)
|
||||
XkbAccessXTimeoutMask ok ok (1L<<7)
|
||||
XkbAccessXFeedbackMask ok ok (1L<<8)
|
||||
XkbAudibleBellMask ok (1L<<9)
|
||||
XkbOverlay1Mask ok (1L<<10)
|
||||
XkbOverlay2Mask ok (1L<<11)
|
||||
XkbIgnoreGroupLockMask ok (1L<<12)
|
||||
XkbGroupsWrapMask ok (1L<<27)
|
||||
XkbInternalModsMask ok (1L<<28)
|
||||
XkbIgnoreLockModsMask ok (1L<<29)
|
||||
XkbPerKeyRepeatMask ok (1L<<30)
|
||||
XkbControlsEnabledMask ok (1L<<31)
|
||||
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
|
||||
XkbAccessXFeedbackMask)
|
||||
XkbAllBooleanCtrlsMask ok (0x00001FFF)
|
||||
XkbAllControlsMask ok (0xF8001FFF)
|
||||
.TE
|
||||
|
||||
|
||||
|
||||
|
||||
If you have an Xkb description with controls that have been modified and an
|
||||
XkbControlsChangesRec that
|
||||
describes the changes that have been made, the
|
||||
.I XkbChangeControls
|
||||
function provides a flexible method for updating the controls in a server to
|
||||
match those in the changed
|
||||
keyboard description.
|
||||
|
||||
.I XkbChangeControls
|
||||
copies any controls fields specified by
|
||||
.I changes
|
||||
from the keyboard description controls structure,
|
||||
.I xkb->ctrls,
|
||||
to the server specified by
|
||||
.I dpy.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
The XkbControlsChangesRec structure is defined as follows:
|
||||
.nf
|
||||
|
||||
typedef struct _XkbControlsChanges {
|
||||
unsigned int changed_ctrls; /* bits indicating changed control data
|
||||
*/
|
||||
unsigned int enabled_ctrls_changes; /* bits indicating enabled/disabled
|
||||
controls */
|
||||
Bool num_groups_changed; /* True if number of keyboard groups
|
||||
changed */
|
||||
} XkbControlsChangesRec,*XkbControlsChangesPtr;
|
||||
|
||||
.fi
|
||||
88
man/xkb/XkbChangeDeviceInfo.man
Normal file
88
man/xkb/XkbChangeDeviceInfo.man
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
'\" 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 XkbChangeDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbChangeDeviceInfo \- Update the server's description of a device with the changes noted in an
|
||||
XkbDeviceChangesRec
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbChangeDeviceInfo
|
||||
(
|
||||
.I dpy,
|
||||
.I device_info,
|
||||
.I changes
|
||||
)
|
||||
.br
|
||||
Display * \fIdpy\fP\^;
|
||||
.br
|
||||
XkbDeviceInfoPtr \fIdevice_info\fP\^;
|
||||
.br
|
||||
XkbDeviceChangesPtr \fIchanges\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- dpy
|
||||
connection to X server
|
||||
.TP
|
||||
.I \- device_info
|
||||
local copy of device state and configuration
|
||||
.TP
|
||||
.I \- changes
|
||||
note specifying changes in device_info
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbChangeDeviceInfo
|
||||
updates the server's description of the device specified in
|
||||
.I device_info->device_spec
|
||||
with the changes specified in
|
||||
.I changes
|
||||
and contained in
|
||||
.I device_info.
|
||||
The update is made by an
|
||||
.I XkbSetDeviceInfo
|
||||
request.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
Changes to an Xkb extension device may be tracked by listening to XkbDeviceExtensionNotify events
|
||||
and accumulating the changes in an XkbDeviceChangesRec structure. The changes noted in the
|
||||
structure may then be used in subsequent operations to update either a server configuration or a
|
||||
local copy of an Xkb extension device configuration. The changes structure is defined as follows:
|
||||
.nf
|
||||
|
||||
typedef struct _XkbDeviceChanges {
|
||||
unsigned int changed; /* bits indicating what has changed */
|
||||
unsigned short first_btn; /* number of first button which changed, if any */
|
||||
unsigned short num_btns; /* number of buttons that have changed */
|
||||
XkbDeviceLedChangesRec leds;
|
||||
} XkbDeviceChangesRec,*XkbDeviceChangesPtr;
|
||||
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbSetDeviceInfo (__libmansuffix__)
|
||||
180
man/xkb/XkbChangeEnabledControls.man
Normal file
180
man/xkb/XkbChangeEnabledControls.man
Normal file
|
|
@ -0,0 +1,180 @@
|
|||
'\" 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 XkbChangeEnabledControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbChangeEnabledControls \- Manipulates the EnabledControls control
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbChangeEnabledControls
|
||||
(
|
||||
.I dpy,
|
||||
.I device_spec,
|
||||
.I mask,
|
||||
.I values
|
||||
)
|
||||
.br
|
||||
Display *\fI dpy \fP\^;
|
||||
.br
|
||||
unsigned int \fI device_spec \fP\^;
|
||||
.br
|
||||
unsigned int \fI mask \fP\^;
|
||||
.br
|
||||
unsigned int \fI values \fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- dpy
|
||||
connection to X server
|
||||
.TP
|
||||
.I \- device_spec
|
||||
keyboard device to modify
|
||||
.TP
|
||||
.I \- mask
|
||||
1 bit -> controls to enable / disable
|
||||
.TP
|
||||
.I \- values
|
||||
1 bit => enable, 0 bit => disable
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
The EnabledControls control is a bit mask where each bit that is turned on means the
|
||||
corresponding control is enabled, and when turned off, disabled. It corresponds to the
|
||||
.I enabled_ctrls
|
||||
field of an XkbControlsRec structure (see STRUCTURES). The bits describing which controls are
|
||||
turned on or off are defined in Table 1.
|
||||
|
||||
Table 1 shows the actual values for the individual mask bits used to select controls for
|
||||
modification and to enable and disable the control. Note that the same mask bit is used to
|
||||
specify general modifications to the parameters used to configure the control (which), and to
|
||||
enable and disable the control (enabled_ctrls). The anomalies in the table (no "ok" in column)
|
||||
are for controls that have no configurable attributes; and for controls that are not boolean
|
||||
controls and therefore cannot be enabled or disabled.
|
||||
.bp
|
||||
.TS
|
||||
c s s s
|
||||
l l l l
|
||||
l l l l
|
||||
l l l l.
|
||||
Table 1 Controls Mask Bits
|
||||
_
|
||||
Mask Bit which or enabled Value
|
||||
changed_ctrls _ctrls
|
||||
_
|
||||
XkbRepeatKeysMask ok ok (1L<<0)
|
||||
XkbSlowKeysMask ok ok (1L<<1)
|
||||
XkbBounceKeysMask ok ok (1L<<2)
|
||||
XkbStickyKeysMask ok ok (1L<<3)
|
||||
XkbMouseKeysMask ok ok (1L<<4)
|
||||
XkbMouseKeysAccelMask ok ok (1L<<5)
|
||||
XkbAccessXKeysMask ok ok (1L<<6)
|
||||
XkbAccessXTimeoutMask ok ok (1L<<7)
|
||||
XkbAccessXFeedbackMask ok ok (1L<<8)
|
||||
XkbAudibleBellMask ok (1L<<9)
|
||||
XkbOverlay1Mask ok (1L<<10)
|
||||
XkbOverlay2Mask ok (1L<<11)
|
||||
XkbIgnoreGroupLockMask ok (1L<<12)
|
||||
XkbGroupsWrapMask ok (1L<<27)
|
||||
XkbInternalModsMask ok (1L<<28)
|
||||
XkbIgnoreLockModsMask ok (1L<<29)
|
||||
XkbPerKeyRepeatMask ok (1L<<30)
|
||||
XkbControlsEnabledMask ok (1L<<31)
|
||||
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
|
||||
XkbAccessXFeedbackMask)
|
||||
XkbAllBooleanCtrlsMask ok (0x00001FFF)
|
||||
XkbAllControlsMask ok (0xF8001FFF)
|
||||
.TE
|
||||
|
||||
The
|
||||
.I mask
|
||||
parameter specifies the boolean controls to be enabled or disabled, and the
|
||||
.I values
|
||||
mask specifies the new state for those controls. Valid values for both of these
|
||||
masks are composed of a bitwise inclusive OR of bits taken from the set of mask
|
||||
bits in Table 1, using only those masks with "ok" in the
|
||||
.I enabled_ctrls
|
||||
column.
|
||||
|
||||
If the X server does not support a compatible version of Xkb or the Xkb
|
||||
extension has not been properly initialized,
|
||||
.I XkbChangeEnabledControls
|
||||
returns False; otherwise, it sends the request to the X server and returns True.
|
||||
|
||||
Note that the EnabledControls control only enables and disables controls; it
|
||||
does not configure them. Some controls, such as the AudibleBell control, have no
|
||||
configuration attributes and are therefore manipulated solely by enabling and
|
||||
disabling them. Others, however, have additional attributes to configure their
|
||||
behavior. For example, the RepeatControl control uses
|
||||
.I repeat_delay
|
||||
and
|
||||
.I repeat_interval
|
||||
fields to describe the timing behavior of keys that repeat. The RepeatControl
|
||||
behavior is turned on or off depending on the value of the XkbRepeatKeysMask
|
||||
bit, but you must use other means, as described in this chapter, to configure
|
||||
its behavior in detail.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
True
|
||||
The X server supports a compatible version of Xkb.
|
||||
.TP 15
|
||||
False
|
||||
The X server does not support a compatible version of Xkb or the Xkb extension has not been properly initialized.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.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
|
||||
172
man/xkb/XkbChangeIndicators.man
Normal file
172
man/xkb/XkbChangeIndicators.man
Normal file
|
|
@ -0,0 +1,172 @@
|
|||
.\" 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 XkbChangeIndicators __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbChangeIndicators \- Changes indicator maps or state without passing the
|
||||
entire keyboard description
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbChangeIndicators
|
||||
(
|
||||
.I dpy,
|
||||
.I xkb,
|
||||
.I changes,
|
||||
.I state
|
||||
)
|
||||
.br
|
||||
Display *\fI dpy \fP\^;
|
||||
.br
|
||||
XkbDescPtr \fI xkb \fP\^;
|
||||
.br
|
||||
XkbIndicatorChangesPtr \fI changes \fP\^;
|
||||
.br
|
||||
unsigned int \fI state \fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- dpy
|
||||
connection to the X server
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description from which names are to be taken.
|
||||
.TP
|
||||
.I \- changes
|
||||
indicators to be updated on the server
|
||||
.TP
|
||||
.I \- state
|
||||
new state of indicators listed in changes->state_changes
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
The XkbIndicatorChangesRec identifies small modifications to the indicator map.
|
||||
Use it with the function
|
||||
.I XkbChangeIndicators
|
||||
to reduce the amount of traffic sent to the server (see STRUCTURES).
|
||||
|
||||
The
|
||||
.I state_changes
|
||||
field is a mask that specifies the indicators that have changed state, and
|
||||
.I map_changes
|
||||
is a mask that specifies the indicators whose maps have changed.
|
||||
|
||||
.I XkbChangeIndicators
|
||||
copies any maps specified by
|
||||
.I changes
|
||||
from the keyboard description,
|
||||
.I xkb,
|
||||
to the server specified by
|
||||
.I dpy.
|
||||
If any bits are set in the
|
||||
.I state_changes
|
||||
field of
|
||||
.I changes, XkbChangeIndicators
|
||||
also sets the state of those indicators to the values specified in the
|
||||
.I state
|
||||
mask. A 1 bit in
|
||||
.I state
|
||||
turns the corresponding indicator on, a 0 bit turns it off.
|
||||
|
||||
In addition, it can also generate XkbIndicatorStateNotify and
|
||||
XkbIndicatorMapNotify events.
|
||||
|
||||
Whenever an indicator changes state, the server sends XkbIndicatorStateNotify events
|
||||
to all interested clients. Similarly, whenever an indicator's map changes, the
|
||||
server sends XkbIndicatorMapNotify events to all interested clients.
|
||||
|
||||
To receive XkbIndicatorStateNotify events, use
|
||||
.I XkbSelectEvents
|
||||
with both the
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits
|
||||
parameters containing XkbIndicatorStateNotifyMask. To receive XkbIndicatorMapNotify
|
||||
events, use
|
||||
.I XkbSelectEvents
|
||||
with XkbIndicatorMapNotifyMask.
|
||||
|
||||
To receive events for only specific indicators, use
|
||||
.I XkbSelectEventDetails.
|
||||
Set the
|
||||
.I event_type
|
||||
parameter to XkbIndicatorStateNotify or XkbIndicatorMapNotify, and set both the
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits
|
||||
detail parameters to a mask where each bit specifies one indicator, turning on those
|
||||
bits that specify the indicators for which you want to receive events.
|
||||
|
||||
.I xkb_type
|
||||
is either XkbIndicatorStateNotify or XkbIndicatorMapNotify, depending on whether the
|
||||
event is a kbIndicatorStateNotify event or kbIndicatorMapNotify event.
|
||||
|
||||
The
|
||||
.I changed
|
||||
parameter is a mask that is the bitwise inclusive OR of the indicators that have
|
||||
changed. If the event is of type XkbIndicatorMapNotify,
|
||||
.I changed
|
||||
reports the maps that changed. If the event is of type XkbIndicatorStateNotify,
|
||||
.I changed
|
||||
reports the indicators that have changed state.
|
||||
.I state
|
||||
is a mask that specifies the current state of all indicators, whether they have
|
||||
changed or not, for both XkbIndicatorStateNotify and IndicatorMapNotify events.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
typedef struct _XkbIndicatorChanges {
|
||||
unsigned int state_changes;
|
||||
unsigned int map_changes;
|
||||
}XkbIndicatorChangesRec,*XkbIndicatorChangesPtr;
|
||||
|
||||
.fi
|
||||
Both types of indicator events use the same structure:
|
||||
|
||||
.nf
|
||||
typedef struct _XkbIndicatorNotify {
|
||||
int type; /* Xkb extension base event code */
|
||||
unsigned long serial; /* X server serial number for event */
|
||||
Bool send_event; /* True => synthetically generated */
|
||||
Display * display; /* server connection where event generated */
|
||||
Time time; /* server time when event generated */
|
||||
int xkb_type; /* specifies state or map notify */
|
||||
int device; /* Xkb device ID, will not be XkbUseCoreKbd*/
|
||||
unsigned int changed; /* mask of indicators with new state or map */
|
||||
unsigned int state; /* current state of all indicators */
|
||||
} XkbIndicatorNotifyEvent;
|
||||
|
||||
.fi
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAtom
|
||||
A name is neither a valid Atom or None
|
||||
.TP 15
|
||||
.B BadImplementation
|
||||
Invalid reply from server
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbIndicatorMapNotify (__libmansuffix__),
|
||||
.BR XkbIndicatorStateNotify (__libmansuffix__)
|
||||
149
man/xkb/XkbChangeMap.man
Normal file
149
man/xkb/XkbChangeMap.man
Normal file
|
|
@ -0,0 +1,149 @@
|
|||
'\" 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 XkbChangeMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbChangeMap \- Update only partial components of a keyboard description, modify
|
||||
the appropriate fields in the server and map components of a local copy of the
|
||||
keyboard description
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbChangeMap
|
||||
(
|
||||
.I dpy,
|
||||
.I xkb,
|
||||
.I changes
|
||||
)
|
||||
.br
|
||||
Display * \fIdpy\fP\^;
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
XkbMapChangesPtr \fIchanges\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- dpy
|
||||
connection to X server
|
||||
.TP
|
||||
.I \- xkb
|
||||
description from which new values are taken
|
||||
.TP
|
||||
.I \- changes
|
||||
identifies component parts to update
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
To update only partial components of a keyboard description, modify the
|
||||
appropriate fields in the server and map components of a local copy of the
|
||||
keyboard description, then call
|
||||
.I XkbChangeMap
|
||||
with an XkbMapChangesRec structure indicating which components have changed.
|
||||
|
||||
.I XkbChangeMap
|
||||
copies any components specified by the
|
||||
.I changes
|
||||
structure from the keyboard description,
|
||||
.I xkb,
|
||||
to the X server specified by
|
||||
.I dpy.
|
||||
|
||||
If any components specified by
|
||||
.I changes
|
||||
are not present in the
|
||||
.I xkb
|
||||
parameter,
|
||||
.I XkbChangeMap
|
||||
returns False. Otherwise, it sends a request to the server and returns True.
|
||||
|
||||
.I XkbChangeMap
|
||||
can generate BadAlloc, BadLength, and BadValue protocol errors.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
True
|
||||
The XkbChangeMap function returns True if the components specified by
|
||||
.I changes
|
||||
are present in the
|
||||
.I xkb
|
||||
parameter.
|
||||
.TP 15
|
||||
False
|
||||
The XkbChangeMap function returns False if the components specified by
|
||||
.I changes
|
||||
are not present in the
|
||||
.I xkb
|
||||
parameter.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
Use the XkbMapChangesRec structure to identify and track partial modifications
|
||||
to the mapping components and to reduce the amount of traffic between the server
|
||||
and clients.
|
||||
.nf
|
||||
|
||||
typedef struct _XkbMapChanges {
|
||||
unsigned short changed; /* identifies valid components in
|
||||
structure */
|
||||
KeyCode min_key_code; /* lowest numbered keycode for device
|
||||
*/
|
||||
KeyCode max_key_code; /* highest numbered keycode for device
|
||||
*/
|
||||
unsigned char first_type; /* index of first key type modified */
|
||||
unsigned char num_types; /* # types modified */
|
||||
KeyCode first_key_sym; /* first key whose key_sym_map changed
|
||||
*/
|
||||
unsigned char num_key_syms; /* # key_sym_map entries changed */
|
||||
KeyCode first_key_act; /* first key whose key_acts entry
|
||||
changed */
|
||||
unsigned char num_key_acts; /* # key_acts entries changed */
|
||||
KeyCode first_key_behavior; /* first key whose behaviors changed */
|
||||
unsigned char num_key_behaviors; /* # behaviors entries changed */
|
||||
KeyCode first_key_explicit; /* first key whose explicit entry
|
||||
changed */
|
||||
unsigned char num_key_explicit; /* # explicit entries changed */
|
||||
KeyCode first_modmap_key; /* first key whose modmap entry changed
|
||||
*/
|
||||
unsigned char num_modmap_keys; /* # modmap entries changed */
|
||||
KeyCode first_vmodmap_key; /* first key whose vmodmap changed */
|
||||
unsigned char num_vmodmap_keys; /* # vmodmap entries changed */
|
||||
unsigned char pad1; /* reserved */
|
||||
unsigned short vmods; /* mask indicating which vmods changed
|
||||
*/
|
||||
} XkbMapChangesRec,*XkbMapChangesPtr;
|
||||
|
||||
.fi
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadLength
|
||||
The length of a request is shorter or longer than that required to minimally
|
||||
contain the arguments
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
200
man/xkb/XkbChangeNames.man
Normal file
200
man/xkb/XkbChangeNames.man
Normal file
|
|
@ -0,0 +1,200 @@
|
|||
'\" 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 XkbChangeNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbChangeNames \- _summary-line_
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbChangeNames
|
||||
(
|
||||
.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 the X server
|
||||
.TP
|
||||
.I \- which
|
||||
mask of names or map components to be updated
|
||||
.TP
|
||||
.I \- Xkb
|
||||
keyboard description to be updated
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbChangeNames
|
||||
provides a more flexible method for changing symbolic names than
|
||||
.I XkbSetNames
|
||||
and requires the use of an XkbNameChangesRec structure.
|
||||
|
||||
.I XkbChangeNames
|
||||
copies any names specified by
|
||||
.I changes
|
||||
from the keyboard description,
|
||||
.I xkb,
|
||||
to the X server specified by
|
||||
.I dpy. XkbChangeNames
|
||||
aborts and returns False if any illegal type names or type shift level names are
|
||||
specified by changes.
|
||||
|
||||
To change the symbolic names in the server, first modify a local copy of the
|
||||
keyboard description and then use either
|
||||
.I XkbSetNames,
|
||||
or, to save network traffic, use a XkbNameChangesRec structure and call
|
||||
.I XkbChangeNames
|
||||
to download the changes to the server.
|
||||
.I XkbSetNames
|
||||
and
|
||||
.I XkbChangeNames
|
||||
can generate BadAlloc, BadAtom, BadLength, BadMatch, and BadImplementation
|
||||
errors.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
The XkbNameChangesRec allows applications to identify small modifications to the
|
||||
symbolic names and
|
||||
effectively reduces the amount of traffic sent to the server:
|
||||
.nf
|
||||
|
||||
typedef struct _XkbNameChanges {
|
||||
unsigned int changed; /* name components that have changed
|
||||
*/
|
||||
unsigned char first_type; /* first key type with a new name */
|
||||
unsigned char num_types; /* number of types with new names */
|
||||
unsigned char first_lvl; /* first key type with new level
|
||||
names */
|
||||
unsigned char num_lvls; /* number of key types with new level
|
||||
names */
|
||||
unsigned char num_aliases; /* if key aliases changed, total
|
||||
number of key aliases */
|
||||
unsigned char num_rg; /* if radio groups changed, total
|
||||
number of radio groups */
|
||||
unsigned char first_key; /* first key with a new name */
|
||||
unsigned char num_keys; /* number of keys with new names */
|
||||
unsigned short changed_vmods; /* mask of virtual modifiers for
|
||||
which names have changed */
|
||||
unsigned long changed_indicators; /* mask of indicators for which names
|
||||
were changed */
|
||||
unsigned char changed_groups; /* mask of groups for which names
|
||||
were changed */
|
||||
} XkbNameChangesRec, *XkbNameChangesPtr
|
||||
|
||||
.fi
|
||||
The
|
||||
.I changed
|
||||
field specifies the name components that have changed and is the bitwise
|
||||
inclusive OR of the valid names
|
||||
mask bits defined in Table 1. The rest of the fields in the structure specify
|
||||
the ranges that have changed
|
||||
for the various kinds of symbolic names, as shown in Table 2.
|
||||
|
||||
Xkb provides several functions that work with symbolic names. Each of these
|
||||
functions uses a mask to
|
||||
specify individual fields of the structures described above. These masks and
|
||||
their relationships to the
|
||||
fields in a keyboard description are shown in Table 1.
|
||||
|
||||
.TS
|
||||
c s s s
|
||||
l l l l.
|
||||
Table 1 Symbolic Names Masks
|
||||
_
|
||||
Mask Bit Value Keyboard Field
|
||||
Component
|
||||
_
|
||||
XkbKeycodesNameMask (1<<0) Xkb->names keycodes
|
||||
XkbGeometryNameMask (1<<1) Xkb->names geometry
|
||||
XkbSymbolsNameMask (1<<2) Xkb->names symbols
|
||||
XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
|
||||
XkbTypesNameMask (1<<4) Xkb->names type
|
||||
XkbCompatNameMask (1<<5) Xkb->names compat
|
||||
XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
|
||||
XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
|
||||
XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
|
||||
XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
|
||||
XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
|
||||
XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
|
||||
XkbGroupNamesMask (1<<12) Xkb->names groups[*]
|
||||
XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
|
||||
XkbComponentNamesMask (0x3f) Xkb->names keycodes,
|
||||
geometry,
|
||||
symbols,
|
||||
physical symbols,
|
||||
types, and
|
||||
compatibility map
|
||||
XkbAllNamesMask (0x3fff) Xkb->names all name components
|
||||
.TE
|
||||
|
||||
.TS
|
||||
c s s s
|
||||
l l l l.
|
||||
Table 2 XkbNameChanges Fields
|
||||
_
|
||||
Mask Fields Component Field
|
||||
_
|
||||
XkbKeyTypeNamesMask first_type, Xkb->map type[*].name
|
||||
num_types
|
||||
XkbKTLevelNamesMask first_lvl, Xkb->map type[*].lvl_names[*]
|
||||
num_lvls
|
||||
XkbKeyAliasesMask num_aliases Xkb->names key_aliases[*]
|
||||
XkbRGNamesMask num_rg Xkb->names radio_groups[*]
|
||||
XkbKeyNamesMask first_key, Xkb->names keys[*]
|
||||
num_keys
|
||||
XkbVirtualModNamesMask changed_vmods Xkb->names vmods[*]
|
||||
XkbIndicatorNamesMask changed_indicators Xkb->names indicators[*]
|
||||
XkbGroupNamesMask changed_groups Xkb->names groups[*]
|
||||
.TE
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadAtom
|
||||
A name is neither a valid Atom or None
|
||||
.TP 15
|
||||
.B BadImplementation
|
||||
Invalid reply from server
|
||||
.TP 15
|
||||
.B BadLength
|
||||
The length of a request is shorter or longer than that required to minimally
|
||||
contain the arguments
|
||||
.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 XkbSetNames (__libmansuffix__)
|
||||
222
man/xkb/XkbChangeTypesOfKey.man
Normal file
222
man/xkb/XkbChangeTypesOfKey.man
Normal file
|
|
@ -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 XkbChangeTypesOfKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbChangeTypesOfKey \- Change the number of groups and the types bound to a key
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbChangeTypesOfKey
|
||||
(
|
||||
.I xkb,
|
||||
.I key,
|
||||
.I n_groups,
|
||||
.I groups,
|
||||
.I new_types_in,
|
||||
.I p_changes
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
int \fIkey\fP\^;
|
||||
.br
|
||||
int \fIn_groups\fP\^;
|
||||
.br
|
||||
unsigned int \fIgroups\fP\^;
|
||||
.br
|
||||
int * \fInew_types_in\fP\^;
|
||||
.br
|
||||
XkbMapChangesPtr \fIp_changes\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description to be changed
|
||||
.TP
|
||||
.I \- key
|
||||
keycode for key of interest
|
||||
.TP
|
||||
.I \- n_groups
|
||||
new number of groups for key
|
||||
.TP
|
||||
.I \- groups
|
||||
mask indicating groups to change
|
||||
.TP
|
||||
.I \- new_types_in
|
||||
indices for new groups specified in groups
|
||||
.TP
|
||||
.I \- p_changes
|
||||
notes changes made to xkb
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbChangeTypesOfKey
|
||||
reallocates the symbols and actions bound to the key, if necessary, and
|
||||
initializes any new symbols
|
||||
or actions to NoSymbol or NoAction, as appropriate. If the p_changes parameter
|
||||
is not NULL,
|
||||
.I XkbChangeTypesOfKey
|
||||
adds the XkbKeySymsMask to the changes field of
|
||||
.I p_changes
|
||||
and modifies the
|
||||
.I first_key_sym
|
||||
and
|
||||
.I num_key_syms
|
||||
fields of
|
||||
.I p_changes
|
||||
to include the
|
||||
.I key
|
||||
that was changed. See STRUCTURE for more information on the XkbMapChangesPtr
|
||||
structure. If
|
||||
successful,
|
||||
.I XkbChangeTypesOfKey
|
||||
returns Success.
|
||||
|
||||
The
|
||||
.I n_groups
|
||||
parameter specifies the new number of groups for the key. The
|
||||
.I groups
|
||||
parameter is a mask specifying the groups for which new types are supplied and
|
||||
is a bitwise
|
||||
inclusive OR of the following masks: XkbGroup1Mask, XkbGroup2Mask,
|
||||
XkbGroup3Mask, and XkbGroup4Mask.
|
||||
|
||||
The
|
||||
.I new_types_in
|
||||
parameter is an integer array of length
|
||||
.I n_groups.
|
||||
Each entry represents the type to use for the associated group and is an index
|
||||
into
|
||||
.I xkb->map->types.
|
||||
The
|
||||
.I new_types_in
|
||||
array is indexed by group index; if
|
||||
.I n_groups
|
||||
is four and
|
||||
.I groups
|
||||
only has Group1Mask and Group3Mask set,
|
||||
.I new_types_in
|
||||
looks like this:
|
||||
.nf
|
||||
|
||||
new_types_in[0] = type for Group1
|
||||
new_types_in[1] = ignored
|
||||
new_types_in[2] = type for Group3
|
||||
new_types_in[3] = ignored
|
||||
|
||||
.fi
|
||||
For convenience, Xkb provides the following constants to use as indices to the
|
||||
groups:
|
||||
|
||||
.TS
|
||||
c s
|
||||
l l
|
||||
l l.
|
||||
Table 1 Group Index Constants
|
||||
_
|
||||
Constant Name Value
|
||||
_
|
||||
XkbGroup1Index 0
|
||||
XkbGroup2Index 1
|
||||
XkbGroup3Index 2
|
||||
XkbGroup4Index 3
|
||||
.TE
|
||||
|
||||
If the Xkb extension has not been properly initialized,
|
||||
.I XkbChangeTypesOfKey
|
||||
returns BadAccess. If the
|
||||
.I xkb
|
||||
parameter it not valid (that is, it is NULL or it does not contain a valid
|
||||
client map),
|
||||
.I XkbChangeTypesOfKey
|
||||
returns BadMatch. If the
|
||||
.I key
|
||||
is not a valid keycode,
|
||||
.I n_groups
|
||||
is greater than XkbNumKbdGroups, or the
|
||||
.I groups
|
||||
mask does not contain any of the valid group mask bits,
|
||||
.I XkbChangeTypesOfKey
|
||||
returns BadValue. If it is necessary to resize the key symbols or key actions
|
||||
arrays and any
|
||||
allocation errors occur,
|
||||
.I XkbChangeTypesOfKey
|
||||
returns BadAlloc.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
Use the XkbMapChangesRec structure to identify and track partial modifications
|
||||
to the mapping
|
||||
components and to reduce the amount of traffic between the server and clients.
|
||||
.nf
|
||||
|
||||
typedef struct _XkbMapChanges {
|
||||
unsigned short changed; /* identifies valid components in
|
||||
structure */
|
||||
KeyCode min_key_code; /* lowest numbered keycode for device
|
||||
*/
|
||||
KeyCode max_key_code; /* highest numbered keycode for device
|
||||
*/
|
||||
unsigned char first_type; /* index of first key type modified */
|
||||
unsigned char num_types; /* # types modified */
|
||||
KeyCode first_key_sym; /* first key whose key_sym_map changed
|
||||
*/
|
||||
unsigned char num_key_syms; /* # key_sym_map entries changed */
|
||||
KeyCode first_key_act; /* first key whose key_acts entry
|
||||
changed */
|
||||
unsigned char num_key_acts; /* # key_acts entries changed */
|
||||
KeyCode first_key_behavior; /* first key whose behaviors changed */
|
||||
unsigned char num_key_behaviors; /* # behaviors entries changed */
|
||||
KeyCode first_key_explicit; /* first key whose explicit entry
|
||||
changed */
|
||||
unsigned char num_key_explicit; /* # explicit entries changed */
|
||||
KeyCode first_modmap_key; /* first key whose modmap entry changed
|
||||
*/
|
||||
unsigned char num_modmap_keys; /* # modmap entries changed */
|
||||
KeyCode first_vmodmap_key; /* first key whose vmodmap changed */
|
||||
unsigned char num_vmodmap_keys; /* # vmodmap entries changed */
|
||||
unsigned char pad1; /* reserved */
|
||||
unsigned short vmods; /* mask indicating which vmods changed
|
||||
*/
|
||||
} XkbMapChangesRec,*XkbMapChangesPtr;
|
||||
|
||||
.fi
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAccess
|
||||
The Xkb extension has not been properly initialized
|
||||
.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
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
64
man/xkb/XkbComputeRowBounds.man
Normal file
64
man/xkb/XkbComputeRowBounds.man
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
.\" 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 XkbComputeRowBounds __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbComputeRowBounds \- Update the bounding box of a row
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbComputeRowBounds
|
||||
(
|
||||
.I geom,
|
||||
.I section,
|
||||
.I row
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
XkbSectionPtr \fIsection\fP\^;
|
||||
.br
|
||||
XkbRowPtr \fIrow\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry that contains the section
|
||||
.TP
|
||||
.I \- section
|
||||
section that contains the row
|
||||
.TP
|
||||
.I \- row
|
||||
row to be examined and updated
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbComputeRowBounds
|
||||
checks the bounds of all keys in the
|
||||
.I row
|
||||
and updates the bounding box of the row if necessary.
|
||||
.I XkbComputeRowBounds
|
||||
returns False if any of the arguments is NULL; otherwise, it returns True.
|
||||
62
man/xkb/XkbComputeSectionBounds.man
Normal file
62
man/xkb/XkbComputeSectionBounds.man
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
.\" 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 XkbComputeSectionBounds __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbComputeSectionBounds \- Update the bounding box of a section
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbComputeSectionBounds
|
||||
(
|
||||
.I geom,
|
||||
.I section
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
XkbSectionPtr \fIsection\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry that contains the section
|
||||
.TP
|
||||
.I \- section
|
||||
section to be examined and updated
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
If you add or delete a row to or from a section, or if you change the geometry
|
||||
of any of the rows in that section, you may need to update the bounding box for
|
||||
that section.
|
||||
|
||||
.I XkbComputeSectionBounds
|
||||
examines all the rows of the
|
||||
.I section
|
||||
and updates the bounding box of that section so that it contains all rows.
|
||||
.I XkbComputeSectionBounds
|
||||
returns False if any of the arguments is NULL; otherwise, it returns True.
|
||||
92
man/xkb/XkbComputeShapeBounds.man
Normal file
92
man/xkb/XkbComputeShapeBounds.man
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
.\" 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 XkbComputeShapeBounds __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbComputeShapeBounds \- Updates the bounding box of a shape
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbComputeShapeBounds
|
||||
(
|
||||
.I shape
|
||||
)
|
||||
.br
|
||||
XkbShapePtr \fIshape\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- shape
|
||||
shape to be examined
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of convenience functions to help use a keyboard geometry. These include
|
||||
functions to return the bounding box of a shape's top surface and to update the bounding box
|
||||
of a shape row or section.
|
||||
|
||||
A shape is made up of a number of outlines. Each outline is a polygon made up of a number of
|
||||
points. The bounding box of a shape is a rectangle that contains all the outlines of that
|
||||
shape.
|
||||
|
||||
A ShapeRec contains a BoundsRec that describes the bounds of the shape. If you add or delete
|
||||
an outline to or from a shape, the bounding box must be updated.
|
||||
|
||||
.I XkbComputeShapeBounds
|
||||
updates the BoundsRec contained in the
|
||||
.I shape
|
||||
by examining all the outlines of the shape and setting the BoundsRec to the minimum x and
|
||||
minimum y, and maximum x and maximum y values found in those outlines.
|
||||
.I XkbComputeShapeBounds
|
||||
returns False if
|
||||
.I shape
|
||||
is NULL or if there are no outlines for the shape; otherwise, it returns True.
|
||||
|
||||
If you add or delete a key to or from a row, or if you update the shape of one of the keys in that row, you may need to update the bounding box of that row. To update the bounding box of a row, use
|
||||
.I XkbComputeRowBounds.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef struct _XkbShape {
|
||||
Atom name; /* shape's name */
|
||||
unsigned short num_outlines; /* number of outlines for the shape */
|
||||
unsigned short sz_outlines; /* size of the outlines array */
|
||||
XkbOutlinePtr outlines; /* array of outlines for the shape */
|
||||
XkbOutlinePtr approx; /* pointer into the array to the approximating outline */
|
||||
XkbOutlinePtr primary; /* pointer into the array to the primary outline */
|
||||
XkbBoundsRec bounds; /* bounding box for the shape; encompasses all outlines */
|
||||
} XkbShapeRec, *XkbShapePtr;
|
||||
|
||||
typedef struct _XkbBounds {
|
||||
short x1,y1; /* upper left corner of the bounds, in mm/10 */
|
||||
short x2,y2; /* lower right corner of the bounds, in mm/10 */
|
||||
} XkbBoundsRec, *XkbBoundsPtr;
|
||||
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbComputeRowBounds (__libmansuffix__)
|
||||
|
||||
87
man/xkb/XkbComputeShapeTop.man
Normal file
87
man/xkb/XkbComputeShapeTop.man
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
.\" 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 XkbComputeShapeTop __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbComputeShapeTop \- Determines the bounding box of the top surface of a shape
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbComputeShapeTop
|
||||
(
|
||||
.I shape,
|
||||
.I bounds_rtrn
|
||||
)
|
||||
.br
|
||||
XkbShapePtr \fIshape\fP\^;
|
||||
.br
|
||||
XkbBoundsPtr \fIbounds_rtrn\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- shape
|
||||
shape to be examined
|
||||
.TP
|
||||
.I \- bounds_rtrn
|
||||
backfilled with the bounding box for the shape
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of convenience functions to help use a keyboard geometry.
|
||||
These include functions to return the bounding box of a shape's top surface and
|
||||
to update the bounding box of a shape row or section.
|
||||
|
||||
A shape is made up of a number of outlines. Each outline is a polygon made up of
|
||||
a number of points. The bounding box of a shape is a rectangle that contains all
|
||||
the outlines of that shape.
|
||||
|
||||
.I XkbComputeShapeTop
|
||||
returns a BoundsRec that contains two x and y coordinates. These coordinates
|
||||
describe the corners of a rectangle that contains the outline that describes the
|
||||
top surface of the shape. The top surface is defined to be the approximating
|
||||
outline if the
|
||||
.I approx
|
||||
field of
|
||||
.I shape
|
||||
is not NULL. If
|
||||
.I approx
|
||||
is NULL, the top surface is defined as the last outline in the
|
||||
.I shape's
|
||||
array of outlines.
|
||||
.I XkbComputeShapeTop
|
||||
returns False if
|
||||
.I shape
|
||||
is NULL or if there are no outlines for the shape; otherwise, it returns True.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef struct _XkbBounds {
|
||||
short x1,y1; /* upper left corner of the bounds, in mm/10 */
|
||||
short x2,y2; /* lower right corner of the bounds, in mm/10 */
|
||||
} XkbBoundsRec, *XkbBoundsPtr;
|
||||
|
||||
.fi
|
||||
106
man/xkb/XkbCopyKeyType.man
Normal file
106
man/xkb/XkbCopyKeyType.man
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
.\" 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 XkbCopyKeyType __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbCopyKeyType \- Copy one XkbKeyTypeRec structures
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbCopyKeyType
|
||||
(
|
||||
.I from,
|
||||
.I into
|
||||
)
|
||||
.br
|
||||
XkbKeyTypePtr \fIfrom\fP\^;
|
||||
.br
|
||||
XkbKeyTypePtr \fIinto\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- from
|
||||
pointer to XkbKeyTypeRec to be copied
|
||||
.TP
|
||||
.I \- into
|
||||
pointer to XkbKeyTypeRec to be changed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbCopyKeyType
|
||||
copies the key type specified by
|
||||
.I from
|
||||
to the key type specified by
|
||||
.I into.
|
||||
Both must point to legal XkbKeyTypeRec structures. Xkb assumes
|
||||
.I from
|
||||
and
|
||||
.I into
|
||||
point to different places. As a result, overlaps can be fatal.
|
||||
.I XkbCopyKeyType
|
||||
frees any existing
|
||||
.I map, preserve,
|
||||
and
|
||||
.I level_names
|
||||
in
|
||||
.I into
|
||||
prior to copying. If any allocation errors occur while copying
|
||||
.I from
|
||||
to
|
||||
.I into, XkbCopyKeyType
|
||||
returns BadAlloc. Otherwise,
|
||||
.I XkbCopyKeyType
|
||||
copies
|
||||
.I from
|
||||
to
|
||||
.I into
|
||||
and returns Success.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
Key types are used to determine the shift level of a key given the current state of the
|
||||
keyboard. The set of all possible key types for the Xkb keyboard description are held in the
|
||||
.I types
|
||||
field of the client map, whose total size is stored in
|
||||
.I size_types,
|
||||
and whose total number of valid entries is stored in
|
||||
.I num_types.
|
||||
Key types are defined using the following structure:
|
||||
.nf
|
||||
|
||||
typedef struct { /* Key Type */
|
||||
XkbModsRec mods; /* modifiers used to compute shift level */
|
||||
unsigned char num_levels; /* total # shift levels, do not modify directly */
|
||||
unsigned char map_count; /* # entries in map, preserve (if non-NULL) */
|
||||
XkbKTMapEntryPtr map; /* vector of modifiers for each shift level */
|
||||
XkbModsPtr preserve; /* mods to preserve for corresponding map entry */
|
||||
Atom name; /* name of key type */
|
||||
Atom * level_names; /* array of names of each shift level */
|
||||
} XkbKeyTypeRec, *XkbKeyTypePtr;
|
||||
.fi
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
130
man/xkb/XkbCopyKeyTypes.man
Normal file
130
man/xkb/XkbCopyKeyTypes.man
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
.\" 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 XkbCopyKeyTypes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbCopyKeyTypes \- Copy more than one XkbKeyTypeRec structure
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbCopyKeyTypes
|
||||
(
|
||||
.I from,
|
||||
.I into,
|
||||
.I num_types
|
||||
)
|
||||
.br
|
||||
XkbKeyTypePtr \fIfrom\fP\^;
|
||||
.br
|
||||
XkbKeyTypePtr \fIinto\fP\^;
|
||||
.br
|
||||
int \fInum_types\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- from
|
||||
pointer to array of XkbKeyTypeRecs to copy
|
||||
.TP
|
||||
.I \- into
|
||||
pointer to array of XkbKeyTypeRecs to change
|
||||
.TP
|
||||
.I \- num_types
|
||||
number of types to copy
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbCopyKeyTypes
|
||||
copies
|
||||
.I num_types
|
||||
XkbKeyTypeRec structures from the array specified by
|
||||
.I from
|
||||
into the array specified by
|
||||
.I into.
|
||||
It is intended for copying between, rather than within, keyboard descriptions,
|
||||
so it
|
||||
doesn't check for overlaps. The same rules that apply to the
|
||||
.I from
|
||||
and
|
||||
.I into
|
||||
parameters in
|
||||
.I XkbCopyKeyType
|
||||
apply to each entry of the
|
||||
.I from
|
||||
and
|
||||
.I into
|
||||
arrays of
|
||||
.I XkbCopyKeyTypes.
|
||||
If any allocation errors occur while copying
|
||||
.I from
|
||||
to
|
||||
.I into, XkbCopyKeyTypes
|
||||
returns BadAlloc. Otherwise,
|
||||
.I XkbCopyKeyTypes
|
||||
copies
|
||||
.I from
|
||||
to
|
||||
.I into
|
||||
and returns Success.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
Success
|
||||
The XkbCopyKeyTypes function returns Success when there are no allocation
|
||||
errors.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
Key types are used to determine the shift level of a key given the current state
|
||||
of the
|
||||
keyboard. The set of all possible key types for the Xkb keyboard description are
|
||||
held in
|
||||
the
|
||||
.I types
|
||||
field of the client map, whose total size is stored in
|
||||
.I size_types,
|
||||
and whose total number of valid entries is stored in
|
||||
.I num_types.
|
||||
Key types are defined using the following structure:
|
||||
.nf
|
||||
|
||||
typedef struct { /* Key Type */
|
||||
XkbModsRec mods; /* modifiers used to compute shift level */
|
||||
unsigned char num_levels; /* total # shift levels, do not modify
|
||||
directly */
|
||||
unsigned char map_count; /* # entries in map, preserve (if non-NULL)
|
||||
*/
|
||||
XkbKTMapEntryPtr map; /* vector of modifiers for each shift level
|
||||
*/
|
||||
XkbModsPtr preserve; /* mods to preserve for corresponding map
|
||||
entry */
|
||||
Atom name; /* name of key type */
|
||||
Atom * level_names; /* array of names of each shift level */
|
||||
} XkbKeyTypeRec, *XkbKeyTypePtr;
|
||||
.fi
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbCopyKeyType (__libmansuffix__)
|
||||
313
man/xkb/XkbDeviceBell.man
Normal file
313
man/xkb/XkbDeviceBell.man
Normal file
|
|
@ -0,0 +1,313 @@
|
|||
'\" 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 XkbDeviceBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbDeviceBell \- Rings the bell on an X input extension device or the default keyboard
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbDeviceBell
|
||||
(
|
||||
.I display,
|
||||
.I window,
|
||||
.I device_spec,
|
||||
.I bell_class,
|
||||
.I bell_id,
|
||||
.I percent,
|
||||
.I name
|
||||
)
|
||||
.br
|
||||
Display *\fI display \fP\^;
|
||||
.br
|
||||
Window \fI window \fP\^;
|
||||
.br
|
||||
unsigned int \fI device_spec \fP\^;
|
||||
.br
|
||||
unsigned int \fI bell_class \fP\^;
|
||||
.br
|
||||
unsigned int \fI bell_id \fP\^;
|
||||
.br
|
||||
int \fI percent \fP\^;
|
||||
.br
|
||||
Atom \fI name \fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- display
|
||||
connection to the X server
|
||||
.TP
|
||||
.I \- window
|
||||
window for which the bell is generated, or None
|
||||
.TP
|
||||
.I \- device_spec
|
||||
device ID, or XkbUseCoreKbd
|
||||
.TP
|
||||
.I \- bell_class
|
||||
X input extension bell class of the bell to be rung
|
||||
.TP
|
||||
.I \- bell_id
|
||||
X input extension bell ID of the bell to be rung
|
||||
.TP
|
||||
.I \- percent
|
||||
bell volume, from -100 to 100 inclusive
|
||||
.TP
|
||||
.I \- name
|
||||
a name for the bell, or NULL
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
The core X protocol allows only applications to explicitly sound the system bell with a
|
||||
given duration, pitch, and volume. Xkb extends this capability by allowing clients to
|
||||
attach symbolic names to bells, disable audible bells, and receive an event whenever the
|
||||
keyboard bell is rung. For the purposes of this document, the
|
||||
.I audible
|
||||
bell is defined to be the system bell, or the default keyboard bell, as opposed to any
|
||||
other audible sound generated elsewhere in the system.
|
||||
You can ask to receive XkbBellNotify events when any client rings any one of the
|
||||
following:
|
||||
|
||||
.IP \(bu 5
|
||||
The default bell
|
||||
.IP \(bu 5
|
||||
Any bell on an input device that can be specified by a bell_class and bell_id pair
|
||||
.IP \(bu 5
|
||||
Any bell specified only by an arbitrary name. (This is, from the server's point of view,
|
||||
merely a name, and not connected with any physical sound-generating device. Some client
|
||||
application must generate the sound, or visual feedback, if any, that is associated with
|
||||
the name.)
|
||||
|
||||
You can also ask to receive XkbBellNotify events when the server rings the default bell
|
||||
or if any client has requested events only (without the bell sounding) for any of the
|
||||
bell types previously listed.
|
||||
|
||||
You can disable audible bells on a global basis. For example, a client that replaces the
|
||||
keyboard bell with some other audible cue might want to turn off the AudibleBell control
|
||||
to prevent the server from also generating a sound and avoid cacophony. If you disable
|
||||
audible bells and request to receive XkbBellNotify events, you can generate feedback
|
||||
different from the default bell.
|
||||
|
||||
You can, however, override the AudibleBell control by calling one of the functions that
|
||||
force the ringing of a bell in spite of the setting of the AudibleBell control -
|
||||
.I XkbForceDeviceBell
|
||||
or
|
||||
.I XkbForceBell.
|
||||
In this case the server does not generate a bell event.
|
||||
|
||||
Just as some keyboards can produce keyclicks to indicate when a key is pressed or
|
||||
repeating, Xkb can provide feedback for the controls by using special beep codes. The
|
||||
AccessXFeedback control is used to configure the specific types of operations that
|
||||
generate feedback.
|
||||
|
||||
Bell Names
|
||||
|
||||
You can associate a name to an act of ringing a bell by converting the name to an Atom
|
||||
and then using this name when you call the functions listed in this chapter. If an event
|
||||
is generated as a result, the name is then passed to all other clients interested in
|
||||
receiving XkbBellNotify events. Note that these are arbitrary names and that there is no
|
||||
binding to any sounds. Any sounds or other effects (such as visual bells on the screen)
|
||||
must be generated by a client application upon receipt of the bell event containing the
|
||||
name. There is no default name for the default keyboard bell. The server does generate
|
||||
some predefined bells for the AccessX controls. These named bells are shown in the Table 1
|
||||
; the name is included in any bell event sent to clients that have requested to
|
||||
receive XkbBellNotify events.
|
||||
|
||||
.TS
|
||||
c s
|
||||
l l
|
||||
lW(4i) l.
|
||||
Table 1 Predefined Bells
|
||||
_
|
||||
Action Named Bell
|
||||
_
|
||||
Indicator turned on AX_IndicatorOn
|
||||
Indicator turned off AX_IndicatorOff
|
||||
More than one indicator changed state AX_IndicatorChange
|
||||
Control turned on AX_FeatureOn
|
||||
Control turned off AX_FeatureOff
|
||||
More than one control changed state AX_FeatureChange
|
||||
T{
|
||||
SlowKeys and BounceKeys about to be turned on or off
|
||||
T} AX_SlowKeysWarning
|
||||
SlowKeys key pressed AX_SlowKeyPress
|
||||
SlowKeys key accepted AX_SlowKeyAccept
|
||||
SlowKeys key rejected AX_SlowKeyReject
|
||||
Accepted SlowKeys key released AX_SlowKeyRelease
|
||||
BounceKeys key rejected AX_BounceKeyReject
|
||||
StickyKeys key latched AX_StickyLatch
|
||||
StickyKeys key locked AX_StickyLock
|
||||
StickyKeys key unlocked AX_StickyUnlock
|
||||
.TE
|
||||
|
||||
Audible Bells
|
||||
|
||||
Using Xkb you can generate bell events that do not necessarily ring the system bell. This
|
||||
is useful if you need to use an audio server instead of the system beep. For example,
|
||||
when an audio client starts, it could disable the audible bell (the system bell) and then
|
||||
listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio client
|
||||
could then send a request to an audio server to play a sound.
|
||||
|
||||
You can control the audible bells feature by passing the XkbAudibleBellMask to
|
||||
.I XkbChangeEnabledControls.
|
||||
If you set XkbAudibleBellMask on, the server rings the system bell when a bell event
|
||||
occurs. This is the default. If you set XkbAudibleBellMask off and a bell event occurs,
|
||||
the server does not ring the system bell unless you call
|
||||
.I XkbForceDeviceBell
|
||||
or
|
||||
.I XkbForceBell.
|
||||
|
||||
Audible bells are also part of the per-client auto-reset controls.
|
||||
|
||||
Bell Functions
|
||||
|
||||
Use the functions described in this section to ring bells and to generate bell events.
|
||||
|
||||
The input extension has two types of feedbacks that can generate bells - bell feedback
|
||||
and keyboard feedback. Some of the functions in this section have
|
||||
.I bell_class
|
||||
and
|
||||
.I bell_id
|
||||
parameters; set them as follows: Set
|
||||
.I bell_class
|
||||
to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback of
|
||||
each type; set
|
||||
.I bell_id
|
||||
to the particular bell feedback of
|
||||
.I bell_class
|
||||
type.
|
||||
|
||||
The Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent
|
||||
to be generated when a bell function is called.
|
||||
|
||||
.TS
|
||||
c s s s
|
||||
l l l l
|
||||
l l l l.
|
||||
Table 2 Bell Sounding and Bell Event Generating
|
||||
_
|
||||
Function called AudibleBell Server sounds a bell Server sends an
|
||||
XkbBellNotifyEvent
|
||||
_
|
||||
XkbDeviceBell On Yes Yes
|
||||
XkbDeviceBell Off No Yes
|
||||
XkbBell On Yes Yes
|
||||
XkbBell Off No Yes
|
||||
XkbDeviceBellEvent On or Off No Yes
|
||||
XkbBellEvent On or Off No Yes
|
||||
XkbDeviceForceBell On or Off Yes No
|
||||
XkbForceBell On or Off Yes No
|
||||
.TE
|
||||
|
||||
Set
|
||||
.I percent
|
||||
to be the volume relative to the base volume for the keyboard as described for .I XBell.
|
||||
|
||||
Note that
|
||||
.I bell_class
|
||||
and
|
||||
.I bell_id
|
||||
indicate the bell to physically ring.
|
||||
.I name
|
||||
is simply an arbitrary moniker for the client application's use.
|
||||
|
||||
To determine the current feedback settings of an extension input device, use
|
||||
.I XGetFeedbackControl.
|
||||
See the X input extension documentation for more information on
|
||||
.I XGetFeedbackControl
|
||||
and related data structures.
|
||||
|
||||
If a compatible keyboard extension is not present in the X server,
|
||||
.I XkbDeviceBell
|
||||
immediately returns False. Otherwise,
|
||||
.I XkbDeviceBell
|
||||
rings the bell as specified for the display and keyboard device and returns True. If you have disabled the audible bell, the server does not ring the system bell, although it does generate a
|
||||
.I XkbBellNotify
|
||||
event.
|
||||
|
||||
You can call
|
||||
.I XkbDeviceBell
|
||||
without first initializing the keyboard extension.
|
||||
.SH STRUCTURES
|
||||
Xkb generates XkbBellNotify events for all bells except for those resulting from calls to
|
||||
.I XkbForceDeviceBell
|
||||
and
|
||||
.I XkbForceBell.
|
||||
To receive XkbBellNotify events under all possible conditions, pass XkbBellNotifyMask in
|
||||
both the
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits
|
||||
parameters to
|
||||
.I XkbSelectEvents.
|
||||
|
||||
The XkbBellNotify event has no event details. It is either selected or it is not.
|
||||
However, you can call
|
||||
.I XkbSelectEventDetails
|
||||
using XkbBellNotify as the
|
||||
.I event_type
|
||||
and specifying XkbAllBellNotifyMask in
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits.
|
||||
This has the same effect as a call to
|
||||
.I XkbSelectEvents.
|
||||
|
||||
The structure for the XkbBellNotify event type contains:
|
||||
.nf
|
||||
|
||||
typedef struct _XkbBellNotify {
|
||||
int type; /* Xkb extension base event code */
|
||||
unsigned long serial; /* X server serial number for event */
|
||||
Bool send_event; /* True => synthetically generated */
|
||||
Display * display; /* server connection where event generated */
|
||||
Time time; /* server time when event generated */
|
||||
int xkb_type; /* XkbBellNotify */
|
||||
unsigned int device; /* Xkb device ID, will not be XkbUseCoreKbd */
|
||||
int percent; /* requested volume as % of max */
|
||||
int pitch; /* requested pitch in Hz */
|
||||
int duration; /* requested duration in microseconds */
|
||||
unsigned int bell_class; /* X input extension feedback class */
|
||||
unsigned int bell_id; /* X input extension feedback ID */
|
||||
Atom name; /* "name" of requested bell */
|
||||
Window window; /* window associated with event */
|
||||
Bool event_only; /* False -> the server did not produce a beep */
|
||||
} XkbBellNotifyEvent;
|
||||
|
||||
.fi
|
||||
If your application needs to generate visual bell feedback on the screen when it receives
|
||||
a bell event, use the window ID in the XkbBellNotifyEvent, if present.
|
||||
|
||||
.SH "SEE ALSO"
|
||||
.BR XBell (3X11),
|
||||
.BR XkbBellNotify (__libmansuffix__),
|
||||
.BR XkbChangeEnabledControls (__libmansuffix__),
|
||||
.BR XkbDeviceBell (__libmansuffix__),
|
||||
.BR XkbForceBell (__libmansuffix__),
|
||||
.BR XkbForceDeviceBell (__libmansuffix__),
|
||||
.BR XGetFeedbackControl (__libmansuffix__),
|
||||
.BR XkbSelectEvents (__libmansuffix__)
|
||||
|
||||
344
man/xkb/XkbDeviceBellEvent.man
Normal file
344
man/xkb/XkbDeviceBellEvent.man
Normal file
|
|
@ -0,0 +1,344 @@
|
|||
'\" 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 XkbDeviceBellEvent __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbDeviceBellEvent \- Creates a bell event for an X input extension device or
|
||||
for the keyboard, without ringing the corresponding bell
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbDeviceBellEvent
|
||||
(
|
||||
.I display,
|
||||
.I window,
|
||||
.I device_spec,
|
||||
.I bell_class,
|
||||
.I bell_id,
|
||||
.I percent,
|
||||
.I name
|
||||
)
|
||||
.br
|
||||
Display *\fI display \fP\^;
|
||||
.br
|
||||
Window \fI window \fP\^;
|
||||
.br
|
||||
unsigned int \fI device_spec \fP\^;
|
||||
.br
|
||||
unsigned int \fI bell_class \fP\^;
|
||||
.br
|
||||
unsigned int \fI bell_id \fP\^;
|
||||
.br
|
||||
int \fI percent \fP\^;
|
||||
.br
|
||||
Atom \fI name \fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- display
|
||||
connection to the X server
|
||||
.TP
|
||||
.I \- window
|
||||
event window, or None
|
||||
.TP
|
||||
.I \- device_spec
|
||||
device ID, or XkbUseCoreKbd
|
||||
.TP
|
||||
.I \- bell_class
|
||||
input extension bell class for the event
|
||||
.TP
|
||||
.I \- bell_id
|
||||
input extension bell ID for the event
|
||||
.TP
|
||||
.I \- percent
|
||||
volume for the bell, which can range from -100 to 100 inclusive
|
||||
.TP
|
||||
.I \- name
|
||||
a bell name, or NULL
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
The core X protocol allows only applications to explicitly sound the system bell with
|
||||
a
|
||||
given duration, pitch, and volume. Xkb extends this capability by allowing clients to
|
||||
attach symbolic names to bells, disable audible bells, and receive an event whenever
|
||||
the
|
||||
keyboard bell is rung. For the purposes of this document, the
|
||||
.I audible
|
||||
bell is defined to be the system bell, or the default keyboard bell, as opposed to
|
||||
any
|
||||
other audible sound generated elsewhere in the system.
|
||||
You can ask to receive XkbBellNotify events when any client rings any one of the
|
||||
following:
|
||||
|
||||
.IP \(bu 5
|
||||
The default bell
|
||||
.IP \(bu 5
|
||||
Any bell on an input device that can be specified by a bell_class and bell_id pair
|
||||
.IP \(bu 5
|
||||
Any bell specified only by an arbitrary name. (This is, from the server's point of
|
||||
view,
|
||||
merely a name, and not connected with any physical sound-generating device. Some
|
||||
client
|
||||
application must generate the sound, or visual feedback, if any, that is associated
|
||||
with
|
||||
the name.)
|
||||
|
||||
You can also ask to receive XkbBellNotify events when the server rings the default
|
||||
bell
|
||||
or if any client has requested events only (without the bell sounding) for any of the
|
||||
bell types previously listed.
|
||||
|
||||
You can disable audible bells on a global basis. For example, a client that replaces
|
||||
the
|
||||
keyboard bell with some other audible cue might want to turn off the AudibleBell
|
||||
control
|
||||
to prevent the server from also generating a sound and avoid cacophony. If you
|
||||
disable
|
||||
audible bells and request to receive XkbBellNotify events, you can generate feedback
|
||||
different from the default bell.
|
||||
|
||||
You can, however, override the AudibleBell control by calling one of the functions
|
||||
that
|
||||
force the ringing of a bell in spite of the setting of the AudibleBell control -
|
||||
.I XkbForceDeviceBell
|
||||
or
|
||||
.I XkbForceBell.
|
||||
In this case the server does not generate a bell event.
|
||||
|
||||
Just as some keyboards can produce keyclicks to indicate when a key is pressed or
|
||||
repeating, Xkb can provide feedback for the controls by using special beep codes. The
|
||||
AccessXFeedback control is used to configure the specific types of operations that
|
||||
generate feedback.
|
||||
|
||||
Bell Names
|
||||
|
||||
You can associate a name to an act of ringing a bell by converting the name to an
|
||||
Atom
|
||||
and then using this name when you call the functions listed in this chapter. If an
|
||||
event
|
||||
is generated as a result, the name is then passed to all other clients interested in
|
||||
receiving XkbBellNotify events. Note that these are arbitrary names and that there is
|
||||
no
|
||||
binding to any sounds. Any sounds or other effects (such as visual bells on the
|
||||
screen)
|
||||
must be generated by a client application upon receipt of the bell event containing
|
||||
the
|
||||
name. There is no default name for the default keyboard bell. The server does
|
||||
generate
|
||||
some predefined bells for the AccessX controls. These named bells are shown in the
|
||||
Table 1
|
||||
below; the name is included in any bell event sent to clients that have requested to
|
||||
receive XkbBellNotify events.
|
||||
|
||||
.TS
|
||||
c s
|
||||
l l
|
||||
lW(4i) l.
|
||||
Table 1 Predefined Bells
|
||||
_
|
||||
Action Named Bell
|
||||
_
|
||||
Indicator turned on AX_IndicatorOn
|
||||
Indicator turned off AX_IndicatorOff
|
||||
More than one indicator changed state AX_IndicatorChange
|
||||
Control turned on AX_FeatureOn
|
||||
Control turned off AX_FeatureOff
|
||||
More than one control changed state AX_FeatureChange
|
||||
T{
|
||||
SlowKeys and BounceKeys about to be turned on or off
|
||||
T} AX_SlowKeysWarning
|
||||
SlowKeys key pressed AX_SlowKeyPress
|
||||
SlowKeys key accepted AX_SlowKeyAccept
|
||||
SlowKeys key rejected AX_SlowKeyReject
|
||||
Accepted SlowKeys key released AX_SlowKeyRelease
|
||||
BounceKeys key rejected AX_BounceKeyReject
|
||||
StickyKeys key latched AX_StickyLatch
|
||||
StickyKeys key locked AX_StickyLock
|
||||
StickyKeys key unlocked AX_StickyUnlock
|
||||
.TE
|
||||
|
||||
Audible Bells
|
||||
|
||||
Using Xkb you can generate bell events that do not necessarily ring the system bell.
|
||||
This
|
||||
is useful if you need to use an audio server instead of the system beep. For example,
|
||||
when an audio client starts, it could disable the audible bell (the system bell) and
|
||||
then
|
||||
listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio
|
||||
client
|
||||
could then send a request to an audio server to play a sound.
|
||||
|
||||
You can control the audible bells feature by passing the XkbAudibleBellMask to
|
||||
.I XkbChangeEnabledControls.
|
||||
If you set XkbAudibleBellMask on, the server rings the system bell when a bell event
|
||||
occurs. This is the default. If you set XkbAudibleBellMask off and a bell event
|
||||
occurs,
|
||||
the server does not ring the system bell unless you call
|
||||
.I XkbForceDeviceBell
|
||||
or
|
||||
.I XkbForceBell.
|
||||
|
||||
Audible bells are also part of the per-client auto-reset controls.
|
||||
|
||||
Bell Functions
|
||||
|
||||
Use the functions described in this section to ring bells and to generate bell
|
||||
events.
|
||||
|
||||
The input extension has two types of feedbacks that can generate bells - bell
|
||||
feedback
|
||||
and keyboard feedback. Some of the functions in this section have
|
||||
.I bell_class
|
||||
and
|
||||
.I bell_id
|
||||
parameters; set them as follows: Set
|
||||
.I bell_class
|
||||
to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback of
|
||||
each type; set
|
||||
.I bell_id
|
||||
to the particular bell feedback of
|
||||
.I bell_class
|
||||
type.
|
||||
|
||||
Table 2 shows the conditions that cause a bell to sound or an
|
||||
XkbBellNotifyEvent
|
||||
to be generated when a bell function is called.
|
||||
|
||||
.TS
|
||||
c s s s
|
||||
l l l l
|
||||
l l l l.
|
||||
Table 2 Bell Sounding and Bell Event Generating
|
||||
_
|
||||
Function called AudibleBell Server sounds a bell Server sends an
|
||||
XkbBellNotifyEvent
|
||||
_
|
||||
XkbDeviceBell On Yes Yes
|
||||
XkbDeviceBell Off No Yes
|
||||
XkbBell On Yes Yes
|
||||
XkbBell Off No Yes
|
||||
XkbDeviceBellEvent On or Off No Yes
|
||||
XkbBellEvent On or Off No Yes
|
||||
XkbDeviceForceBell On or Off Yes No
|
||||
XkbForceBell On or Off Yes No
|
||||
.TE
|
||||
|
||||
If a compatible keyboard extension isn't present in the X server,
|
||||
.I XkbDeviceBellEvent
|
||||
immediately returns False. Otherwise,
|
||||
.I XkbDeviceBellEvent
|
||||
causes an XkbBellNotify event to be sent to all interested clients and returns
|
||||
True. Set
|
||||
.I percent
|
||||
to be the volume relative to the base volume for the keyboard as described for
|
||||
.I XBell.
|
||||
|
||||
In addition,
|
||||
.I XkbDeviceBellEvent
|
||||
may generate Atom protocol errors as well as XkbBellNotify events. You can call
|
||||
.I XkbBell
|
||||
without first initializing the keyboard extension.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
True
|
||||
The
|
||||
.I XkbDeviceBellEvent
|
||||
sends an XkbBellNotify event to to all interested clients and returns
|
||||
True.
|
||||
.TP 15
|
||||
False
|
||||
If a compatible keyboard extension isn't present in the X server,
|
||||
.I XkbDeviceBellEvent
|
||||
immediately returns False
|
||||
.SH STRUCTURES
|
||||
.TP
|
||||
Xkb generates XkbBellNotify events for all bells except for those resulting from
|
||||
calls to
|
||||
.I XkbForceDeviceBell
|
||||
and
|
||||
.I XkbForceBell.
|
||||
To receive XkbBellNotify events under all possible conditions, pass XkbBellNotifyMask
|
||||
in
|
||||
both the
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits
|
||||
parameters to
|
||||
.I XkbSelectEvents.
|
||||
|
||||
The XkbBellNotify event has no event details. It is either selected or it is not.
|
||||
However, you can call
|
||||
.I XkbSelectEventDetails
|
||||
using XkbBellNotify as the
|
||||
.I event_type
|
||||
and specifying XkbAllBellNotifyMask in
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits.
|
||||
This has the same effect as a call to
|
||||
.I XkbSelectEvents.
|
||||
|
||||
The structure for the XkbBellNotify event type contains:
|
||||
.nf
|
||||
|
||||
typedef struct _XkbBellNotify {
|
||||
int type; /* Xkb extension base event code */
|
||||
unsigned long serial; /* X server serial number for event */
|
||||
Bool send_event; /* True => synthetically generated */
|
||||
Display * display; /* server connection where event generated */
|
||||
Time time; /* server time when event generated */
|
||||
int xkb_type; /* XkbBellNotify */
|
||||
unsigned int device; /* Xkb device ID, will not be XkbUseCoreKbd */
|
||||
int percent; /* requested volume as % of max */
|
||||
int pitch; /* requested pitch in Hz */
|
||||
int duration; /* requested duration in microseconds */
|
||||
unsigned int bell_class; /* X input extension feedback class */
|
||||
unsigned int bell_id; /* X input extension feedback ID */
|
||||
Atom name; /* "name" of requested bell */
|
||||
Window window; /* window associated with event */
|
||||
Bool event_only; /* False -> the server did not produce a beep */
|
||||
} XkbBellNotifyEvent;
|
||||
|
||||
.fi
|
||||
If your application needs to generate visual bell feedback on the screen when it
|
||||
receives
|
||||
a bell event, use the window ID in the XkbBellNotifyEvent, if present.
|
||||
|
||||
.SH "SEE ALSO"
|
||||
.BR XBell (3X11),
|
||||
.BR XkbBellNotify (__libmansuffix__),
|
||||
.BR XkbChangeEnabledControls (__libmansuffix__),
|
||||
.BR XkbDeviceBell (__libmansuffix__),
|
||||
.BR XkbForceBell (__libmansuffix__),
|
||||
.BR XkbForceDeviceBell (__libmansuffix__),
|
||||
.BR XkbSelectEvents (__libmansuffix__),
|
||||
.BR XkbSelectEventDetails (__libmansuffix__),
|
||||
.BR XkbUseCoreKbd (__libmansuffix__)
|
||||
|
||||
|
||||
|
||||
66
man/xkb/XkbFindOverlayForKey.man
Normal file
66
man/xkb/XkbFindOverlayForKey.man
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
.\" 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 XkbFindOverlayForKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFindOverlayForKey \- Find the alternate name by using the primary name for a
|
||||
key that is part of an overlay
|
||||
.SH SYNOPSIS
|
||||
.B char * XkbFindOverlayForKey
|
||||
(
|
||||
.I geom,
|
||||
.I section,
|
||||
.I under
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
XkbSectionPtr \fIsection\fP\^;
|
||||
.br
|
||||
char * \fIunder\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry that contains the section
|
||||
.TP
|
||||
.I \- section
|
||||
section to be searched for matching keys
|
||||
.TP
|
||||
.I \- under
|
||||
primary name of the key to be considered
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Keys that can generate multiple keycodes may be associated with multiple names.
|
||||
Such keys have a primary name and an alternate name.
|
||||
|
||||
.I XkbFindOverlayForKey
|
||||
uses the primary name of the key,
|
||||
.I under,
|
||||
to look up the alternate name, which it returns.
|
||||
326
man/xkb/XkbForceBell.man
Normal file
326
man/xkb/XkbForceBell.man
Normal file
|
|
@ -0,0 +1,326 @@
|
|||
'\" 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 XkbForceBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbForceBell \- Overrides user preference settings for audible bells to ring the
|
||||
bell on the default keyboard
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbForceBell
|
||||
(
|
||||
.I display,
|
||||
.I percent
|
||||
)
|
||||
.br
|
||||
Display *\fI display \fP\^;
|
||||
.br
|
||||
int \fI percent \fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- display
|
||||
connection to the X server
|
||||
.TP
|
||||
.I \- percent
|
||||
volume for the bell, which can range from -100 to 100 inclusive
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
The core X protocol allows only applications to explicitly sound the system bell
|
||||
with a
|
||||
given duration, pitch, and volume. Xkb extends this capability by allowing clients
|
||||
to
|
||||
attach symbolic names to bells, disable audible bells, and receive an event whenever
|
||||
the
|
||||
keyboard bell is rung. For the purposes of this document, the
|
||||
.I audible
|
||||
bell is defined to be the system bell, or the default keyboard bell, as opposed to
|
||||
any
|
||||
other audible sound generated elsewhere in the system.
|
||||
You can ask to receive XkbBellNotify events when any client rings any one of the
|
||||
following:
|
||||
|
||||
.IP \(bu 5
|
||||
The default bell
|
||||
.IP \(bu 5
|
||||
Any bell on an input device that can be specified by a bell_class and bell_id pair
|
||||
.IP \(bu 5
|
||||
Any bell specified only by an arbitrary name. (This is, from the server's point of
|
||||
view,
|
||||
merely a name, and not connected with any physical sound-generating device. Some
|
||||
client
|
||||
application must generate the sound, or visual feedback, if any, that is associated
|
||||
with
|
||||
the name.)
|
||||
|
||||
.LP
|
||||
You can also ask to receive XkbBellNotify events when the server rings the default
|
||||
bell
|
||||
or if any client has requested events only (without the bell sounding) for any of
|
||||
the
|
||||
bell types previously listed.
|
||||
|
||||
You can disable audible bells on a global basis. For example, a client that replaces
|
||||
the
|
||||
keyboard bell with some other audible cue might want to turn off the AudibleBell
|
||||
control
|
||||
to prevent the server from also generating a sound and avoid cacophony. If you
|
||||
disable
|
||||
audible bells and request to receive XkbBellNotify events, you can generate feedback
|
||||
different from the default bell.
|
||||
|
||||
You can, however, override the AudibleBell control by calling one of the functions
|
||||
that
|
||||
force the ringing of a bell in spite of the setting of the AudibleBell control -
|
||||
.I XkbForceDeviceBell
|
||||
or
|
||||
.I XkbForceBell.
|
||||
In this case the server does not generate a bell event.
|
||||
|
||||
Just as some keyboards can produce keyclicks to indicate when a key is pressed or
|
||||
repeating, Xkb can provide feedback for the controls by using special beep codes.
|
||||
The
|
||||
AccessXFeedback control is used to configure the specific types of operations that
|
||||
generate feedback.
|
||||
|
||||
.B Bell Names
|
||||
|
||||
You can associate a name to an act of ringing a bell by converting the name to an
|
||||
Atom
|
||||
and then using this name when you call the functions listed in this chapter. If an
|
||||
event
|
||||
is generated as a result, the name is then passed to all other clients interested in
|
||||
receiving XkbBellNotify events. Note that these are arbitrary names and that there
|
||||
is no
|
||||
binding to any sounds. Any sounds or other effects (such as visual bells on the
|
||||
screen)
|
||||
must be generated by a client application upon receipt of the bell event containing
|
||||
the
|
||||
name. There is no default name for the default keyboard bell. The server does
|
||||
generate
|
||||
some predefined bells for the AccessX controls. These named bells are shown in the
|
||||
Table 1; the name is included in any bell event sent to clients that have requested to
|
||||
receive XkbBellNotify events.
|
||||
|
||||
.TS
|
||||
c s
|
||||
l l
|
||||
lW(4i) l.
|
||||
Table 1 Predefined Bells
|
||||
_
|
||||
Action Named Bell
|
||||
_
|
||||
Indicator turned on AX_IndicatorOn
|
||||
Indicator turned off AX_IndicatorOff
|
||||
More than one indicator changed state AX_IndicatorChange
|
||||
Control turned on AX_FeatureOn
|
||||
Control turned off AX_FeatureOff
|
||||
More than one control changed state AX_FeatureChange
|
||||
T{
|
||||
SlowKeys and BounceKeys about to be turned on or off
|
||||
T} AX_SlowKeysWarning
|
||||
SlowKeys key pressed AX_SlowKeyPress
|
||||
SlowKeys key accepted AX_SlowKeyAccept
|
||||
SlowKeys key rejected AX_SlowKeyReject
|
||||
Accepted SlowKeys key released AX_SlowKeyRelease
|
||||
BounceKeys key rejected AX_BounceKeyReject
|
||||
StickyKeys key latched AX_StickyLatch
|
||||
StickyKeys key locked AX_StickyLock
|
||||
StickyKeys key unlocked AX_StickyUnlock
|
||||
.TE
|
||||
|
||||
.B Audible Bells
|
||||
|
||||
Using Xkb you can generate bell events that do not necessarily ring the system bell.
|
||||
This
|
||||
is useful if you need to use an audio server instead of the system beep. For
|
||||
example,
|
||||
when an audio client starts, it could disable the audible bell (the system bell) and
|
||||
then
|
||||
listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio
|
||||
client
|
||||
could then send a request to an audio server to play a sound.
|
||||
|
||||
You can control the audible bells feature by passing the XkbAudibleBellMask to
|
||||
.I XkbChangeEnabledControls.
|
||||
If you set XkbAudibleBellMask on, the server rings the system bell when a bell event
|
||||
occurs. This is the default. If you set XkbAudibleBellMask off and a bell event
|
||||
occurs,
|
||||
the server does not ring the system bell unless you call
|
||||
.I XkbForceDeviceBell
|
||||
or
|
||||
.I XkbForceBell.
|
||||
|
||||
Audible bells are also part of the per-client auto-reset controls.
|
||||
|
||||
Bell Functions
|
||||
|
||||
Use the functions described in this section to ring bells and to generate bell
|
||||
events.
|
||||
|
||||
The input extension has two types of feedbacks that can generate bells - bell
|
||||
feedback
|
||||
and keyboard feedback. Some of the functions in this section have
|
||||
.I bell_class
|
||||
and
|
||||
.I bell_id
|
||||
parameters; set them as follows: Set
|
||||
.I bell_class
|
||||
to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback
|
||||
of
|
||||
each type; set
|
||||
.I bell_id
|
||||
to the particular bell feedback of
|
||||
.I bell_class
|
||||
type.
|
||||
|
||||
Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent to be generated when a bell function is
|
||||
called.
|
||||
|
||||
.TS
|
||||
c s s s
|
||||
l l l l
|
||||
l l l l.
|
||||
Table 2 Bell Sounding and Bell Event Generating
|
||||
_
|
||||
Function called AudibleBell Server sounds a bell Server sends an
|
||||
XkbBellNotifyEvent
|
||||
_
|
||||
XkbDeviceBell On Yes Yes
|
||||
XkbDeviceBell Off No Yes
|
||||
XkbBell On Yes Yes
|
||||
XkbBell Off No Yes
|
||||
XkbDeviceBellEvent On or Off No Yes
|
||||
XkbBellEvent On or Off No Yes
|
||||
XkbDeviceForceBell On or Off Yes No
|
||||
XkbForceBell On or Off Yes No
|
||||
.TE
|
||||
|
||||
|
||||
If a compatible keyboard extension isn't present in the X server,
|
||||
.I XkbForceBell
|
||||
calls
|
||||
.I XBell
|
||||
with the specified
|
||||
.I display
|
||||
and
|
||||
.I percent
|
||||
and returns False. Otherwise,
|
||||
.I XkbForceBell
|
||||
calls
|
||||
.I XkbForceDeviceBell
|
||||
with the specified
|
||||
.I display
|
||||
and
|
||||
.I percent, device_spec
|
||||
=XkbUseCoreKbd,
|
||||
.I bell_class
|
||||
= XkbDfltXIClass,
|
||||
.I bell_id
|
||||
= XkbDfltXIId,
|
||||
.I window
|
||||
= None, and
|
||||
.I name
|
||||
= NULL, and returns what
|
||||
.I XkbForceDeviceBell
|
||||
returns.
|
||||
|
||||
.I XkbForceBell
|
||||
does not cause an XkbBellNotify event.
|
||||
|
||||
You can call
|
||||
.I XkbBell
|
||||
without first initializing the keyboard extension.
|
||||
.SH "RETURNS VALUES"
|
||||
.TP 15
|
||||
False
|
||||
The
|
||||
.I XkbForceBell
|
||||
function returns False when a compatible keyboard extension isn't present in the X server.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
Xkb generates XkbBellNotify events for all bells except for those resulting from
|
||||
calls to
|
||||
.I XkbForceDeviceBell
|
||||
and
|
||||
.I XkbForceBell.
|
||||
To receive XkbBellNotify events under all possible conditions, pass
|
||||
XkbBellNotifyMask in
|
||||
both the
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits
|
||||
parameters to
|
||||
.I XkbSelectEvents.
|
||||
|
||||
The XkbBellNotify event has no event details. It is either selected or it is not.
|
||||
However, you can call
|
||||
.I XkbSelectEventDetails
|
||||
using XkbBellNotify as the
|
||||
.I event_type
|
||||
and specifying XkbAllBellNotifyMask in
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits.
|
||||
This has the same effect as a call to
|
||||
.I XkbSelectEvents.
|
||||
|
||||
The structure for the XkbBellNotify event type contains:
|
||||
.nf
|
||||
|
||||
typedef struct _XkbBellNotify {
|
||||
int type; /* Xkb extension base event code */
|
||||
unsigned long serial; /* X server serial number for event */
|
||||
Bool send_event; /* True => synthetically generated */
|
||||
Display * display; /* server connection where event generated */
|
||||
Time time; /* server time when event generated */
|
||||
int xkb_type; /* XkbBellNotify */
|
||||
unsigned int device; /* Xkb device ID, will not be XkbUseCoreKbd */
|
||||
int percent; /* requested volume as % of max */
|
||||
int pitch; /* requested pitch in Hz */
|
||||
int duration; /* requested duration in microseconds */
|
||||
unsigned int bell_class; /* X input extension feedback class */
|
||||
unsigned int bell_id; /* X input extension feedback ID */
|
||||
Atom name; /* "name" of requested bell */
|
||||
Window window; /* window associated with event */
|
||||
Bool event_only; /* False -> the server did not produce a beep */
|
||||
} XkbBellNotifyEvent;
|
||||
|
||||
.fi
|
||||
If your application needs to generate visual bell feedback on the screen when it
|
||||
receives
|
||||
a bell event, use the window ID in the XkbBellNotifyEvent, if present.
|
||||
|
||||
.SH "SEE ALSO"
|
||||
.BR XBell (3X11),
|
||||
.BR XkbBell (__libmansuffix__),
|
||||
.BR XkbChangeEnabledControls (__libmansuffix__),
|
||||
.BR XkbForceDeviceBell (__libmansuffix__),
|
||||
.BR XkbSelectEventDetails (__libmansuffix__),
|
||||
.BR XkbSelectEvents (__libmansuffix__)
|
||||
319
man/xkb/XkbForceDeviceBell.man
Normal file
319
man/xkb/XkbForceDeviceBell.man
Normal file
|
|
@ -0,0 +1,319 @@
|
|||
'\" 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 XkbForceDeviceBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbForceDeviceBell \- Rings the bell on any keyboard, overriding user preference
|
||||
settings for audible bells
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbForceDeviceBell
|
||||
(
|
||||
.I display,
|
||||
.I window,
|
||||
.I device_spec,
|
||||
.I bell_class,
|
||||
.I bell_id,
|
||||
.I percent
|
||||
)
|
||||
.br
|
||||
Display *\fI display \fP\^;
|
||||
.br
|
||||
Window \fI window \fP\^;
|
||||
.br
|
||||
unsigned int \fI device_spec \fP\^;
|
||||
.br
|
||||
unsigned int \fI bell_class \fP\^;
|
||||
.br
|
||||
unsigned int \fI bell_id \fP\^;
|
||||
.br
|
||||
int \fI percent \fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- display
|
||||
connection to the X server
|
||||
.TP
|
||||
.I \- window
|
||||
event window, or None
|
||||
.TP
|
||||
.I \- device_spec
|
||||
device ID, or XkbUseCoreKbd
|
||||
.TP
|
||||
.I \- bell_class
|
||||
input extension class of the bell to be rung
|
||||
.TP
|
||||
.I \- bell_id
|
||||
input extension ID of the bell to be rung
|
||||
.TP
|
||||
.I \- percent
|
||||
relative volume, which can range from -100 to 100 inclusive
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
The core X protocol allows only applications to explicitly sound the system bell
|
||||
with a
|
||||
given duration, pitch, and volume. Xkb extends this capability by allowing clients
|
||||
to
|
||||
attach symbolic names to bells, disable audible bells, and receive an event
|
||||
whenever the
|
||||
keyboard bell is rung. For the purposes of this document, the
|
||||
.I audible
|
||||
bell is defined to be the system bell, or the default keyboard bell, as opposed to
|
||||
any
|
||||
other audible sound generated elsewhere in the system.
|
||||
You can ask to receive XkbBellNotify events when any client rings any one of the
|
||||
following:
|
||||
|
||||
.IP \(bu 5
|
||||
The default bell
|
||||
.IP \(bu 5
|
||||
Any bell on an input device that can be specified by a bell_class and bell_id pair
|
||||
.IP \(bu 5
|
||||
Any bell specified only by an arbitrary name. (This is, from the server's point of
|
||||
view,
|
||||
merely a name, and not connected with any physical sound-generating device. Some
|
||||
client
|
||||
application must generate the sound, or visual feedback, if any, that is associated
|
||||
with
|
||||
the name.)
|
||||
|
||||
.LP
|
||||
You can also ask to receive XkbBellNotify events when the server rings the default
|
||||
bell
|
||||
or if any client has requested events only (without the bell sounding) for any of
|
||||
the
|
||||
bell types previously listed.
|
||||
|
||||
You can disable audible bells on a global basis. For example, a client that
|
||||
replaces the
|
||||
keyboard bell with some other audible cue might want to turn off the AudibleBell
|
||||
control
|
||||
to prevent the server from also generating a sound and avoid cacophony. If you
|
||||
disable
|
||||
audible bells and request to receive XkbBellNotify events, you can generate
|
||||
feedback
|
||||
different from the default bell.
|
||||
|
||||
You can, however, override the AudibleBell control by calling one of the functions
|
||||
that
|
||||
force the ringing of a bell in spite of the setting of the AudibleBell control -
|
||||
.I XkbForceDeviceBell
|
||||
or
|
||||
.I XkbForceBell.
|
||||
In this case the server does not generate a bell event.
|
||||
|
||||
Just as some keyboards can produce keyclicks to indicate when a key is pressed or repeating, Xkb
|
||||
can provide feedback for the controls by using special beep codes. The AccessXFeedback control
|
||||
is used to configure the specific types of operations that generate feedback.
|
||||
|
||||
Bell Names
|
||||
|
||||
You can associate a name to an act of ringing a bell by converting the name to an Atom
|
||||
and then using this name when you call the functions listed in this chapter. If an event
|
||||
is generated as a result, the name is then passed to all other clients interested in receiving
|
||||
XkbBellNotify events. Note that these are arbitrary names and that there is no binding to any
|
||||
sounds. Any sounds or other effects (such as visual bells on the screen) must be generated by a
|
||||
client application upon receipt of the bell event containing the name. There is no default name
|
||||
for the default keyboard bell. The server does generate some predefined bells for the AccessX
|
||||
controls. These named bells are shown in Table 1; the name is included in any bell event sent to
|
||||
clients that have requested to receive XkbBellNotify events.
|
||||
|
||||
.TS
|
||||
c s
|
||||
l l
|
||||
lW(4i) l.
|
||||
Table 1 Predefined Bells
|
||||
_
|
||||
Action Named Bell
|
||||
_
|
||||
Indicator turned on AX_IndicatorOn
|
||||
Indicator turned off AX_IndicatorOff
|
||||
More than one indicator changed state AX_IndicatorChange
|
||||
Control turned on AX_FeatureOn
|
||||
Control turned off AX_FeatureOff
|
||||
More than one control changed state AX_FeatureChange
|
||||
T{
|
||||
SlowKeys and BounceKeys about to be turned on or off
|
||||
T} AX_SlowKeysWarning
|
||||
SlowKeys key pressed AX_SlowKeyPress
|
||||
SlowKeys key accepted AX_SlowKeyAccept
|
||||
SlowKeys key rejected AX_SlowKeyReject
|
||||
Accepted SlowKeys key released AX_SlowKeyRelease
|
||||
BounceKeys key rejected AX_BounceKeyReject
|
||||
StickyKeys key latched AX_StickyLatch
|
||||
StickyKeys key locked AX_StickyLock
|
||||
StickyKeys key unlocked AX_StickyUnlock
|
||||
.TE
|
||||
|
||||
Audible Bells
|
||||
|
||||
Using Xkb you can generate bell events that do not necessarily ring the system bell. This
|
||||
is useful if you need to use an audio server instead of the system beep. For example,
|
||||
when an audio client starts, it could disable the audible bell (the system bell) and then
|
||||
listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio client could
|
||||
then send a request to an audio server to play a sound.
|
||||
|
||||
You can control the audible bells feature by passing the XkbAudibleBellMask to
|
||||
.I XkbChangeEnabledControls.
|
||||
If you set XkbAudibleBellMask on, the server rings the system bell when a bell event occurs.
|
||||
This is the default. If you set XkbAudibleBellMask off and a bell event occurs, the server does
|
||||
not ring the system bell unless you call
|
||||
.I XkbForceDeviceBell
|
||||
or
|
||||
.I XkbForceBell.
|
||||
|
||||
Audible bells are also part of the per-client auto-reset controls.
|
||||
|
||||
Bell Functions
|
||||
|
||||
Use the functions described in this section to ring bells and to generate bell events.
|
||||
|
||||
The input extension has two types of feedbacks that can generate bells - bell feedback and
|
||||
keyboard feedback. Some of the functions in this section have
|
||||
.I bell_class
|
||||
and
|
||||
.I bell_id
|
||||
parameters; set them as follows: Set
|
||||
.I bell_class
|
||||
to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback of each type;
|
||||
set
|
||||
.I bell_id
|
||||
to the particular bell feedback of
|
||||
.I bell_class
|
||||
type.
|
||||
|
||||
Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent to be generated
|
||||
when a bell function is called.
|
||||
|
||||
.TS
|
||||
c s s s
|
||||
l l l l
|
||||
l l l l.
|
||||
Table 2 Bell Sounding and Bell Event Generating
|
||||
_
|
||||
Function called AudibleBell Server sounds a bell Server sends an
|
||||
XkbBellNotifyEvent
|
||||
_
|
||||
XkbDeviceBell On Yes Yes
|
||||
XkbDeviceBell Off No Yes
|
||||
XkbBell On Yes Yes
|
||||
XkbBell Off No Yes
|
||||
XkbDeviceBellEvent On or Off No Yes
|
||||
XkbBellEvent On or Off No Yes
|
||||
XkbDeviceForceBell On or Off Yes No
|
||||
XkbForceBell On or Off Yes No
|
||||
.TE
|
||||
|
||||
|
||||
If a compatible keyboard extension isn't present in the X server,
|
||||
.I XkbForceDeviceBell
|
||||
immediately returns False. Otherwise,
|
||||
.I XkbForceDeviceBell
|
||||
rings the bell as specified for the display and keyboard device and returns
|
||||
True. Set
|
||||
.I percent
|
||||
to be the volume relative to the base volume for the keyboard as described for
|
||||
.I XBell.
|
||||
|
||||
There is no
|
||||
.I name
|
||||
parameter because
|
||||
.I XkbForceDeviceBell
|
||||
does not cause an XkbBellNotify event.
|
||||
|
||||
You can call
|
||||
.I XkbBell
|
||||
without first initializing the keyboard extension.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
Xkb generates XkbBellNotify events for all bells except for those resulting from
|
||||
calls to
|
||||
.I XkbForceDeviceBell
|
||||
and
|
||||
.I XkbForceBell.
|
||||
To receive XkbBellNotify events under all possible conditions, pass
|
||||
XkbBellNotifyMask in
|
||||
both the
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits
|
||||
parameters to
|
||||
.I XkbSelectEvents.
|
||||
|
||||
The XkbBellNotify event has no event details. It is either selected or it is not.
|
||||
However, you can call
|
||||
.I XkbSelectEventDetails
|
||||
using XkbBellNotify as the
|
||||
.I event_type
|
||||
and specifying XkbAllBellNotifyMask in
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits.
|
||||
This has the same effect as a call to
|
||||
.I XkbSelectEvents.
|
||||
|
||||
The structure for the XkbBellNotify event type contains:
|
||||
.nf
|
||||
|
||||
typedef struct _XkbBellNotify {
|
||||
int type; /* Xkb extension base event code */
|
||||
unsigned long serial; /* X server serial number for event */
|
||||
Bool send_event; /* True => synthetically generated */
|
||||
Display * display; /* server connection where event generated */
|
||||
Time time; /* server time when event generated */
|
||||
int xkb_type; /* XkbBellNotify */
|
||||
unsigned int device; /* Xkb device ID, will not be XkbUseCoreKbd */
|
||||
int percent; /* requested volume as % of max */
|
||||
int pitch; /* requested pitch in Hz */
|
||||
int duration; /* requested duration in microseconds */
|
||||
unsigned int bell_class; /* X input extension feedback class */
|
||||
unsigned int bell_id; /* X input extension feedback ID */
|
||||
Atom name; /* "name" of requested bell */
|
||||
Window window; /* window associated with event */
|
||||
Bool event_only; /* False -> the server did not produce a beep */
|
||||
} XkbBellNotifyEvent;
|
||||
|
||||
.fi
|
||||
If your application needs to generate visual bell feedback on the screen when it
|
||||
receives
|
||||
a bell event, use the window ID in the XkbBellNotifyEvent, if present.
|
||||
.SH "SEE ALSO"
|
||||
.BR XBell (3X11),
|
||||
.BR XkbBell (__libmansuffix__),
|
||||
.BR XkbBellNotify (__libmansuffix__),
|
||||
.BR XkbChangeEnabledControls (__libmansuffix__),
|
||||
.BR XkbDeviceBell (__libmansuffix__),
|
||||
.BR XkbForceBell (__libmansuffix__),
|
||||
.BR XkbForceDeviceBell (__libmansuffix__),
|
||||
.BR XkbSelectEventDetails (__libmansuffix__),
|
||||
.BR XkbSelectEvents (__libmansuffix__)
|
||||
|
||||
|
||||
|
||||
|
||||
215
man/xkb/XkbFreeClientMap.man
Normal file
215
man/xkb/XkbFreeClientMap.man
Normal file
|
|
@ -0,0 +1,215 @@
|
|||
'\" 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 XkbFreeClientMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeClientMap \- Free memory used by the client map member of an XkbDescRec
|
||||
structure
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeClientMap
|
||||
(
|
||||
.I xkb,
|
||||
.I which,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description containing client map to free
|
||||
.TP
|
||||
.I \- which
|
||||
mask identifying components of map to free
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => free all client components and map itself
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbFreeClientMap
|
||||
frees the components of client map specified by
|
||||
.I which
|
||||
in the XkbDescRec structure specified by the
|
||||
.I xkb
|
||||
parameter and sets the corresponding structure component values to NULL. The
|
||||
.I which
|
||||
parameter specifies a combination of the client map masks shown in Table 1.
|
||||
|
||||
If
|
||||
.I free_all
|
||||
is True,
|
||||
.I which
|
||||
is ignored;
|
||||
.I XkbFreeClientMap
|
||||
frees every non-NULL structure component in the client map, frees the
|
||||
XkbClientMapRec
|
||||
structure referenced by the
|
||||
.I map
|
||||
member of the
|
||||
.I xkb
|
||||
parameter, and sets the
|
||||
.I map
|
||||
member to NULL.
|
||||
|
||||
.TS
|
||||
c s
|
||||
l l
|
||||
l lw(4i).
|
||||
Table 1 XkbAllocClientMap Masks
|
||||
_
|
||||
Mask Effect
|
||||
_
|
||||
XkbKeyTypesMask T{
|
||||
The type_count field specifies the number of entries to preallocate for the
|
||||
types field of the client map. If the type_count field is less than
|
||||
XkbNumRequiredTypes returns BadValue.
|
||||
T}
|
||||
.sp
|
||||
XkbKeySymsMask T{
|
||||
The min_key_code and max_key_code fields of the xkb parameter are used to
|
||||
allocate the syms and key_sym_map fields of the client map. The fields are
|
||||
allocated to contain the maximum number of entries necessary for max_key_code -
|
||||
min_key_code + 1 keys.
|
||||
T}
|
||||
.sp
|
||||
XkbModifierMapMask T{
|
||||
The min_key_code and max_key_code fields of the xkb parameter are used to
|
||||
allocate the modmap field of the client map. The field is allocated to contain
|
||||
the maximum number of entries necessary for max_key_code - min_key_code + 1
|
||||
keys.
|
||||
T}
|
||||
.TE
|
||||
|
||||
NOTE: The
|
||||
.I min_key_code
|
||||
and
|
||||
.I max_key_code
|
||||
fields of the
|
||||
.I xkb
|
||||
parameter must be legal values if the XkbKeySymsMask or XkbModifierMapMask masks
|
||||
are set in the
|
||||
.I which
|
||||
parameter. If they are not valid,
|
||||
.I XkbAllocClientMap
|
||||
returns BadValue.
|
||||
.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 2.
|
||||
|
||||
.TS
|
||||
c s s
|
||||
l l l
|
||||
l l l.
|
||||
Table 2 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
|
||||
|
||||
The
|
||||
.I map
|
||||
field of the complete Xkb keyboard description is a pointer to the Xkb client
|
||||
map, which is
|
||||
of type XkbClientMapRec:
|
||||
.nf
|
||||
|
||||
typedef struct { /* Client Map */
|
||||
unsigned char size_types; /* # occupied entries in types */
|
||||
unsigned char num_types; /* # entries in types */
|
||||
XkbKeyTypePtr types; /* vector of key types used by this keymap */
|
||||
unsigned short size_syms; /* length of the syms array */
|
||||
unsigned short num_syms; /* # entries in syms */
|
||||
KeySym * syms; /* linear 2d tables of keysyms, 1 per key */
|
||||
XkbSymMapPtr key_sym_map; /* 1 per keycode, maps keycode to syms */
|
||||
unsigned char * modmap; /* 1 per keycode, real mods bound to key */
|
||||
} XkbClientMapRec, *XkbClientMapPtr;
|
||||
|
||||
.fi
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAllocClientMap (__libmansuffix__)
|
||||
178
man/xkb/XkbFreeCompatMap.man
Normal file
178
man/xkb/XkbFreeCompatMap.man
Normal file
|
|
@ -0,0 +1,178 @@
|
|||
'\" 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 XkbFreeCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeCompatMap \- Free an entire compatibility map or selected portions of one
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeCompatMap
|
||||
(
|
||||
.I xkb,
|
||||
.I which,
|
||||
.I free_map
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.br
|
||||
Bool \fIfree_map\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
Xkb description in which to free compatibility map
|
||||
.TP
|
||||
.I \- which
|
||||
mask of compatibility map components to free
|
||||
.TP
|
||||
.I \- free_map
|
||||
True => free XkbCompatMap structure itself
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I which
|
||||
specifies the compatibility map components to be freed (see XkbGetCompatMap).
|
||||
.I which
|
||||
is an inclusive OR of the bits shown in Table 1.
|
||||
|
||||
.TS
|
||||
c s s
|
||||
l l l.
|
||||
Table 1 Compatibility Map Component Masks
|
||||
_
|
||||
Mask Value Affecting
|
||||
_
|
||||
XkbSymInterpMask (1<<0) Symbol interpretations
|
||||
XkbGroupCompatMask (1<<1) Group maps
|
||||
XkbAllCompatMask (0x3) All compatibility map components
|
||||
.TE
|
||||
|
||||
.I free_map
|
||||
indicates whether the XkbCompatMap structure itself should be freed. If
|
||||
.I free_map
|
||||
is True,
|
||||
.I which
|
||||
is ignored, all non-NULL compatibility map components are freed, and the
|
||||
.I compat
|
||||
field in the XkbDescRec referenced by
|
||||
.I xkb
|
||||
is set to NULL.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
|
||||
typedef struct _XkbCompatMapRec {
|
||||
XkbSymInterpretPtr sym_interpret; /* symbol based key semantics*/
|
||||
XkbModsRec groups[XkbNumKbdGroups]; /* group => modifier map */
|
||||
unsigned short num_si; /* # structures used in sym_interpret */
|
||||
unsigned short size_si; /* # structures allocated in sym_interpret */
|
||||
} XkbCompatMapRec, *XkbCompatMapPtr;
|
||||
|
||||
.fi
|
||||
|
||||
The complete description of an Xkb keyboard is given by an XkbDescRec. The component
|
||||
structures in the XkbDescRec represent the major Xkb components outlined in Figure 1.1.
|
||||
|
||||
.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.
|
||||
The other fields specify structure components of the keyboard description and are
|
||||
described in detail in other sections of this document. Table 2 identifies the
|
||||
subsequent sections of this document that discuss the individual components of the
|
||||
XkbDescRec.
|
||||
|
||||
.TS
|
||||
c s
|
||||
l l
|
||||
l l.
|
||||
Table 2 XkbDescRec Component References
|
||||
_
|
||||
XkbDescRec Field For more info
|
||||
_
|
||||
ctrls Chapter 10
|
||||
server Chapter 16
|
||||
map Chapter 15
|
||||
indicators Chapter 8
|
||||
names Chapter 18
|
||||
compat Chapter 17
|
||||
geom Chapter 13
|
||||
.TE
|
||||
|
||||
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 3.
|
||||
|
||||
.TS
|
||||
c s s
|
||||
l l l
|
||||
l l l.
|
||||
Table 3 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 "SEE ALSO"
|
||||
.BR XkbGetCompatMap (__libmansuffix__)
|
||||
54
man/xkb/XkbFreeComponentList.man
Normal file
54
man/xkb/XkbFreeComponentList.man
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
'\" 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 XkbFreeComponentList __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeComponentList \- Free the structure returned by
|
||||
.I XkbListComponents
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeComponentList
|
||||
(
|
||||
.I list
|
||||
)
|
||||
.br
|
||||
XkbComponentListPtr \fIlist\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- list
|
||||
pointer to XkbComponentListRec to free
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
When you are done using the structure returned by
|
||||
.I XkbListComponents,
|
||||
free it using
|
||||
.I XkbFreeComponentList.
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbListComponents (__libmansuffix__)
|
||||
127
man/xkb/XkbFreeControls.man
Normal file
127
man/xkb/XkbFreeControls.man
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
'\" 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 XkbFreeControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeControls \- Frees memory used by the ctrls member of an XkbDescRec structure
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeControls
|
||||
(
|
||||
.I xkb,
|
||||
.I which,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
Xkb description in which to free controls components
|
||||
.TP
|
||||
.I \- which
|
||||
mask of components of ctrls to free
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => free everything + ctrls itself
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbFreeControls
|
||||
frees the specified components of the
|
||||
.I ctrls
|
||||
field in the
|
||||
.I xkb
|
||||
keyboard description and sets the corresponding structure component values to NULL or zero. The
|
||||
.I which
|
||||
mask specifies the fields of
|
||||
.I ctrls
|
||||
to be freed and can contain any of the controls components specified in Table 1.
|
||||
|
||||
Table 1 shows the actual values for the individual mask bits used to select
|
||||
controls for
|
||||
modification and to enable and disable the control. Note that the same mask bit
|
||||
is used to
|
||||
specify general modifications to the parameters used to configure the control
|
||||
(which), and to
|
||||
enable and disable the control (enabled_ctrls). The anomalies in the table (no
|
||||
"ok" in column)
|
||||
are for controls that have no configurable attributes; and for controls that are
|
||||
not boolean
|
||||
controls and therefore cannot be enabled or disabled.
|
||||
|
||||
.TS
|
||||
c s s s
|
||||
l l l l
|
||||
l l l l
|
||||
l l l l.
|
||||
Table 1 Controls Mask Bits
|
||||
_
|
||||
Mask Bit which or enabled Value
|
||||
changed_ctrls _ctrls
|
||||
_
|
||||
XkbRepeatKeysMask ok ok (1L<<0)
|
||||
XkbSlowKeysMask ok ok (1L<<1)
|
||||
XkbBounceKeysMask ok ok (1L<<2)
|
||||
XkbStickyKeysMask ok ok (1L<<3)
|
||||
XkbMouseKeysMask ok ok (1L<<4)
|
||||
XkbMouseKeysAccelMask ok ok (1L<<5)
|
||||
XkbAccessXKeysMask ok ok (1L<<6)
|
||||
XkbAccessXTimeoutMask ok ok (1L<<7)
|
||||
XkbAccessXFeedbackMask ok ok (1L<<8)
|
||||
XkbAudibleBellMask ok (1L<<9)
|
||||
XkbOverlay1Mask ok (1L<<10)
|
||||
XkbOverlay2Mask ok (1L<<11)
|
||||
XkbIgnoreGroupLockMask ok (1L<<12)
|
||||
XkbGroupsWrapMask ok (1L<<27)
|
||||
XkbInternalModsMask ok (1L<<28)
|
||||
XkbIgnoreLockModsMask ok (1L<<29)
|
||||
XkbPerKeyRepeatMask ok (1L<<30)
|
||||
XkbControlsEnabledMask ok (1L<<31)
|
||||
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
|
||||
XkbAccessXFeedbackMask)
|
||||
XkbAllBooleanCtrlsMask ok (0x00001FFF)
|
||||
XkbAllControlsMask ok (0xF8001FFF)
|
||||
.TE
|
||||
|
||||
If
|
||||
.I free_all
|
||||
is True,
|
||||
.I XkbFreeControls
|
||||
frees every non-NULL structure component in the controls, frees the XkbControlsRec structure referenced by the
|
||||
.I ctrls
|
||||
member of
|
||||
.I xkb,
|
||||
and sets
|
||||
.I ctrls
|
||||
to NULL.
|
||||
190
man/xkb/XkbFreeDeviceInfo.man
Normal file
190
man/xkb/XkbFreeDeviceInfo.man
Normal file
|
|
@ -0,0 +1,190 @@
|
|||
'\" 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 XkbFreeDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeDeviceInfo \- Free an XkbDeviceInfoRec structure
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeDeviceInfo
|
||||
(
|
||||
.I device_info,
|
||||
.I which,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbDeviceInfoPtr \fIdevice_info\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- device_info
|
||||
pointer to XkbDeviceInfoRec in which to free items
|
||||
.TP
|
||||
.I \- which
|
||||
mask of components of device_info to free
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => free everything, including device_info
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
If
|
||||
.I free_all
|
||||
is True, the
|
||||
.I XkbFreeDeviceInfo
|
||||
frees all components of
|
||||
.I device_info
|
||||
and the XkbDeviceInfoRec structure pointed to by
|
||||
.I device_info
|
||||
itself. If
|
||||
.I free_all
|
||||
is False, the value of
|
||||
.I which
|
||||
determines which subcomponents are freed.
|
||||
.I which
|
||||
is an inclusive OR of one or more of the values from Table 1. If
|
||||
.I which
|
||||
contains XkbXI_ButtonActionsMask, all button actions associated with
|
||||
.I device_info
|
||||
are freed,
|
||||
.I device_info->btn_acts
|
||||
is set to NULL, and
|
||||
.I device_info->num_btns
|
||||
is set to zero. If
|
||||
.I which
|
||||
contains all bits in XkbXI_IndicatorsMask, all XkbDeviceLedInfoRec structures associated with
|
||||
.I device_info
|
||||
are freed,
|
||||
.I device_info->leds
|
||||
is set to NULL, and
|
||||
.I device_info->sz_leds
|
||||
and
|
||||
.I device_info->num_leds
|
||||
are set to zero. If
|
||||
.I which
|
||||
contains XkbXI_IndicatorMapsMask, all indicator maps associated with
|
||||
.I device_info
|
||||
are cleared, but the number of LEDs and the leds structures themselves is preserved. If
|
||||
.I which
|
||||
contains XkbXI_IndicatorNamesMask, all indicator names associated with
|
||||
.I device_info
|
||||
are cleared, but the number of LEDs and the leds structures themselves is preserved. If
|
||||
.I which
|
||||
contains XkbXI_IndicatorStateMask, the indicator state associated with the
|
||||
.I device_info
|
||||
leds are set to zeros but the number of LEDs and the leds structures themselves is preserved.
|
||||
.bp
|
||||
.nf
|
||||
Table 1 XkbDeviceInfoRec Mask Bits
|
||||
____________________________________________________________________________________
|
||||
Name XkbDeviceInfoRec Value Capability If Set
|
||||
Fields Effected
|
||||
____________________________________________________________________________________
|
||||
XkbXI_KeyboardsMask (1L <<0) Clients can use all
|
||||
Xkb requests and events
|
||||
with KeyClass devices
|
||||
supported by the input
|
||||
device extension.
|
||||
|
||||
XkbXI_ButtonActionsMask num_btns (1L <<1) Clients can assign key
|
||||
btn_acts actions to buttons
|
||||
non-KeyClass input
|
||||
extension devices.
|
||||
|
||||
XkbXI_IndicatorNamesMask leds->names (1L <<2) Clients can assign
|
||||
names to indicators on
|
||||
non-KeyClass input
|
||||
extension devices.
|
||||
|
||||
XkbXI_IndicatorMapsMask leds->maps (1L <<3) Clients can assign
|
||||
indicator maps to
|
||||
indicators on
|
||||
non-KeyClass input
|
||||
extension devices.
|
||||
|
||||
XkbXI_IndicatorStateMask leds->state (1L <<4) Clients can request
|
||||
the status of indicators
|
||||
on non-KeyClass input
|
||||
extension devices.
|
||||
|
||||
XkbXI_IndicatorsMask sz_leds (0x1c) XkbXI_IndicatorNamesMask |
|
||||
num_leds XkbXI_IndicatorMapsMask |
|
||||
leds->* XkbXI_IndicatorStateMask
|
||||
|
||||
XkbXI_UnsupportedFeaturesMask unsupported (1L <<15)
|
||||
|
||||
XkbXI_AllDeviceFeaturesMask Those selected (0x1e) XkbXI_IndicatorsMask |
|
||||
by Value Column XkbSI_ButtonActionsMask
|
||||
masks
|
||||
|
||||
XkbXI_AllFeaturesMask Those selected (0x1f) XkbSI_AllDeviceFeaturesMask |
|
||||
by Value Column XkbSI_KeyboardsMask
|
||||
masks
|
||||
|
||||
XkbXI_AllDetailsMask Those selected (0x801f) XkbXI_AllFeaturesMask |
|
||||
by Value column XkbXI_UnsupportedFeaturesMask
|
||||
masks
|
||||
.fi
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
Information about X Input Extension devices is transferred between a client program and the Xkb
|
||||
extension in an XkbDeviceInfoRec structure:
|
||||
.nf
|
||||
|
||||
typedef struct {
|
||||
char * name; /* name for device */
|
||||
Atom type; /* name for class of devices */
|
||||
unsigned short device_spec; /* device of interest */
|
||||
Bool has_own_state; /* True=>this device has its own state */
|
||||
unsigned short supported; /* bits indicating supported capabilities */
|
||||
unsigned short unsupported; /* bits indicating unsupported capabilities */
|
||||
unsigned short num_btns; /* number of entries in btn_acts */
|
||||
XkbAction * btn_acts; /* button actions */
|
||||
unsigned short sz_leds; /* total number of entries in LEDs vector */
|
||||
unsigned short num_leds; /* number of valid entries in LEDs vector */
|
||||
unsigned short dflt_kbd_fb; /* input extension ID of default (core kbd) indicator */
|
||||
unsigned short dflt_led_fb; /* input extension ID of default indicator feedback */
|
||||
XkbDeviceLedInfoPtr leds; /* LED descriptions */
|
||||
} XkbDeviceInfoRec, *XkbDeviceInfoPtr;
|
||||
|
||||
typedef struct {
|
||||
unsigned short led_class; /* class for this LED device*/
|
||||
unsigned short led_id; /* ID for this LED device */
|
||||
unsigned int phys_indicators; /* bits for which LEDs physically present */
|
||||
unsigned int maps_present; /* bits for which LEDs have maps in maps */
|
||||
unsigned int names_present; /* bits for which LEDs are in names */
|
||||
unsigned int state; /* 1 bit => corresponding LED is on */
|
||||
Atom names[XkbNumIndicators]; /* names for LEDs */
|
||||
XkbIndicatorMapRec maps; /* indicator maps for each LED */
|
||||
} XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
|
||||
|
||||
.fi
|
||||
96
man/xkb/XkbFreeGeomColors.man
Normal file
96
man/xkb/XkbFreeGeomColors.man
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
.\" 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 XkbFreeGeomColors __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeGeomColors \- Free geometry colors
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeGeomColors
|
||||
(
|
||||
.I geom,
|
||||
.I first,
|
||||
.I count,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
int \fIfirst\fP\^;
|
||||
.br
|
||||
int \fIcount\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry in which colors should be freed
|
||||
.TP
|
||||
.I \- first
|
||||
first color to be freed
|
||||
.TP
|
||||
.I \- count
|
||||
number of colors to be freed
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => all colors are freed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
If
|
||||
.I free_all
|
||||
is True, all colors are freed regardless of the value of
|
||||
.I first
|
||||
or
|
||||
.I count.
|
||||
Otherwise,
|
||||
.I count
|
||||
colors are freed beginning with the one specified by
|
||||
.I first.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
92
man/xkb/XkbFreeGeomDoodads.man
Normal file
92
man/xkb/XkbFreeGeomDoodads.man
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
.\" 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 XkbFreeGeomDoodads __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeGeomDoodads \- Free geometry doodads
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeGeomDoodads
|
||||
(
|
||||
.I doodads,
|
||||
.I count,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbDoodadPtr \fIdoodads\fP\^;
|
||||
.br
|
||||
int \fIcount\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- doodads
|
||||
doodads to be freed
|
||||
.TP
|
||||
.I \- count
|
||||
number of doodads to be freed
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => all doodads are freed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
If
|
||||
.I free_all
|
||||
is True, all doodads in the array are freed, regardless of the value of
|
||||
.I count.
|
||||
Otherwise,
|
||||
.I count
|
||||
doodads are freed.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
Success
|
||||
The XkbFreeGeomDoodads function returns Success if there are no allocation
|
||||
errors.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
105
man/xkb/XkbFreeGeomKeyAliases.man
Normal file
105
man/xkb/XkbFreeGeomKeyAliases.man
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
.\" 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 XkbFreeGeomKeyAliases __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeGeomKeyAliases \- Free geometry key aliases
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeGeomKeyAliases
|
||||
(
|
||||
.I geom,
|
||||
.I first,
|
||||
.I count,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
int \fIfirst\fP\^;
|
||||
.br
|
||||
int \fIcount\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry in which key aliases should be freed
|
||||
.TP
|
||||
.I \- first
|
||||
first key alias to be freed
|
||||
.TP
|
||||
.I \- count
|
||||
number of key aliases to be freed
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => all key aliases are freed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
If
|
||||
.I free_all
|
||||
is True, all aliases in the top level of the specified geometry
|
||||
.I geom
|
||||
are freed regardless of the value of
|
||||
.I first
|
||||
or
|
||||
.I count.
|
||||
Otherwise,
|
||||
.I count
|
||||
aliases in
|
||||
.I geom
|
||||
are freed beginning with the one specified by
|
||||
.I first.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
Success
|
||||
The XkbFreeGeomKeyAliases function returns Success if there are no allocation
|
||||
errors.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
74
man/xkb/XkbFreeGeomKeys.man
Normal file
74
man/xkb/XkbFreeGeomKeys.man
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
.\" 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 XkbFreeGeomKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeGeomKeys \- Free geometry keys
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeGeomKeys
|
||||
(
|
||||
.I row,
|
||||
.I first,
|
||||
.I count,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbRowPtr \fIrow\fP\^;
|
||||
.br
|
||||
int \fIfirst\fP\^;
|
||||
.br
|
||||
int \fIcount\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- row
|
||||
row in which keys should be freed
|
||||
.TP
|
||||
.I \- first
|
||||
first key to be freed
|
||||
.TP
|
||||
.I \- count
|
||||
number of keys to be freed
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => all keys are freed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
If
|
||||
.I free_all
|
||||
is True, all keys are freed regardless of the value of
|
||||
.I first
|
||||
or
|
||||
.I count.
|
||||
Otherwise,
|
||||
.I count
|
||||
keys are freed beginning with the one specified by
|
||||
.I first.
|
||||
74
man/xkb/XkbFreeGeomOutlines.man
Normal file
74
man/xkb/XkbFreeGeomOutlines.man
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
.\" 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 XkbFreeGeomOutlines __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeGeomOutlines \- Free geometry outlines
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeGeomOutlines
|
||||
(
|
||||
.I shape,
|
||||
.I first,
|
||||
.I count,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbShapePtr \fIshape\fP\^;
|
||||
.br
|
||||
int \fIfirst\fP\^;
|
||||
.br
|
||||
int \fIcount\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- shape
|
||||
shape in which outlines should be freed
|
||||
.TP
|
||||
.I \- first
|
||||
first outline to be freed
|
||||
.TP
|
||||
.I \- count
|
||||
number of outlines to be freed
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => all outlines are freed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
If
|
||||
.I free_all
|
||||
is True, all outlines are freed regardless of the value of
|
||||
.I first
|
||||
or
|
||||
.I count.
|
||||
Otherwise,
|
||||
.I count
|
||||
outlines are freed beginning with the one specified by
|
||||
.I first.
|
||||
102
man/xkb/XkbFreeGeomOverlayKeys.man
Normal file
102
man/xkb/XkbFreeGeomOverlayKeys.man
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
.\" 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 XkbFreeGeomOverlayKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeGeomOverlayKeys \- Free keys in an overlay row
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeGeomOverlayKeys
|
||||
(
|
||||
.I row,
|
||||
.I first,
|
||||
.I count,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbRowPtr \fIrow\fP\^;
|
||||
.br
|
||||
int \fIfirst\fP\^;
|
||||
.br
|
||||
int \fIcount\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- row
|
||||
row in which keys should be freed
|
||||
.TP
|
||||
.I \- first
|
||||
first key to be freed
|
||||
.TP
|
||||
.I \- count
|
||||
number of keys to be freed
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => all keys are freed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
If
|
||||
.I free_all
|
||||
is True, all keys are freed regardless of the value of
|
||||
.I first
|
||||
and
|
||||
.I count.
|
||||
Otherwise, the number of keys specified by
|
||||
.I count
|
||||
are freed, beginning with the key specified by
|
||||
.I first
|
||||
in the specified row.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
Success
|
||||
The XkbFreeGeomOverlayKeys function returns Success if there are no allocation
|
||||
or argument errors.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
102
man/xkb/XkbFreeGeomOverlayRows.man
Normal file
102
man/xkb/XkbFreeGeomOverlayRows.man
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
.\" 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 XkbFreeGeomOverlayRows __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeGeomOverlayRows \- Free rows in an overlay
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeGeomOverlayRows
|
||||
(
|
||||
.I overlay,
|
||||
.I first,
|
||||
.I count,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbSectionPtr \fIoverlay\fP\^;
|
||||
.br
|
||||
int \fIfirst\fP\^;
|
||||
.br
|
||||
int \fIcount\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- overlay
|
||||
section in which rows should be freed
|
||||
.TP
|
||||
.I \- first
|
||||
first row to be freed
|
||||
.TP
|
||||
.I \- count
|
||||
number of rows to be freed
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => all rows are freed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
If
|
||||
.I free_all
|
||||
is True, all rows are freed regardless of the value of
|
||||
.I first
|
||||
and
|
||||
.I count.
|
||||
Otherwise, the number of rows specified by
|
||||
.I count
|
||||
are freed, beginning with the row specified by
|
||||
.I first
|
||||
in the specified overlay.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
Success
|
||||
The XkbFreeGeomOverlayRows function returns Success if there are no allocation
|
||||
or argument errors.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
102
man/xkb/XkbFreeGeomOverlays.man
Normal file
102
man/xkb/XkbFreeGeomOverlays.man
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
.\" 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 XkbFreeGeomOverlays __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeGeomOverlays \- Free rows in a section
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeGeomOverlays
|
||||
(
|
||||
.I section,
|
||||
.I first,
|
||||
.I count,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbSectionPtr \fIsection\fP\^;
|
||||
.br
|
||||
int \fIfirst\fP\^;
|
||||
.br
|
||||
int \fIcount\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- section
|
||||
section in which overlays should be freed
|
||||
.TP
|
||||
.I \- first
|
||||
first overlay to be freed
|
||||
.TP
|
||||
.I \- count
|
||||
number of overlays to be freed
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => all overlays are freed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
If
|
||||
.I free_all
|
||||
is True, all overlays are freed regardless of the value of
|
||||
.I first
|
||||
and
|
||||
.I count.
|
||||
Otherwise, the number of overlays specified by
|
||||
.I count
|
||||
are freed, beginning with the overlay specified by
|
||||
.I first
|
||||
in the specified section.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
Success
|
||||
The XkbFreeGeomOverlays functions returns Success if there are no allocation or
|
||||
argument errors.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
102
man/xkb/XkbFreeGeomPoints.man
Normal file
102
man/xkb/XkbFreeGeomPoints.man
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
.\" 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 XkbFreeGeomPoints __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeGeomPoints \- Free points in a outline
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeGeomPoints
|
||||
(
|
||||
.I outline,
|
||||
.I first,
|
||||
.I count,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbOutlinePtr \fIoutline\fP\^;
|
||||
.br
|
||||
int \fIfirst\fP\^;
|
||||
.br
|
||||
int \fIcount\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- outline
|
||||
outline in which points should be freed
|
||||
.TP
|
||||
.I \- first
|
||||
first point to be freed
|
||||
.TP
|
||||
.I \- count
|
||||
number of points to be freed
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => all points are freed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
If
|
||||
.I free_all
|
||||
is True, all points are freed regardless of the value of
|
||||
>i first
|
||||
and
|
||||
.I count.
|
||||
Otherwise, the number of points specified by
|
||||
.I count
|
||||
are freed, beginning with the point specified by
|
||||
.I first
|
||||
in the specified outline.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
Success
|
||||
The XkbFreeGeomPoints function returns Success when there are no allocation or
|
||||
argument errors.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
101
man/xkb/XkbFreeGeomProperties.man
Normal file
101
man/xkb/XkbFreeGeomProperties.man
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
.\" 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 XkbFreeGeomProperties __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeGeomProperties \- Free geometry properties
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeGeomProperties
|
||||
(
|
||||
.I geom,
|
||||
.I first,
|
||||
.I count,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
int \fIfirst\fP\^;
|
||||
.br
|
||||
int \fIcount\fP\^;
|
||||
.br
|
||||
Bool * \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry in which properties should be freed
|
||||
.TP
|
||||
.I \- first
|
||||
first property to be freed
|
||||
.TP
|
||||
.I \- count
|
||||
number of properties to be freed
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => all properties are freed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
If
|
||||
.I free_all
|
||||
is True, all properties are freed regardless of the value of
|
||||
.I first
|
||||
or
|
||||
.I count.
|
||||
Otherwise,
|
||||
.I count
|
||||
properties are freed beginning with the one specified by
|
||||
.I first.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
Success
|
||||
The XkbFreeGeomProperties function returns Success when there are no allocation
|
||||
or argument errors.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
102
man/xkb/XkbFreeGeomRows.man
Normal file
102
man/xkb/XkbFreeGeomRows.man
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
.\" 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 XkbFreeGeomRows __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeGeomRows \- Free rows in a section
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeGeomRows
|
||||
(
|
||||
.I section,
|
||||
.I first,
|
||||
.I count,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbSectionPtr \fIsection\fP\^;
|
||||
.br
|
||||
int \fIfirst\fP\^;
|
||||
.br
|
||||
int \fIcount\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- section
|
||||
section in which rows should be freed
|
||||
.TP
|
||||
.I \- first
|
||||
first row to be freed
|
||||
.TP
|
||||
.I \- count
|
||||
number of rows to be freed
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => all rows are freed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
If
|
||||
.I free_all
|
||||
is True, all rows are freed regardless of the value of
|
||||
.I first
|
||||
and
|
||||
.I count.
|
||||
Otherwise, the number of rows specified by
|
||||
.I count
|
||||
are freed, beginning with the row specified by
|
||||
.I first
|
||||
in the specified section.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
Success
|
||||
The XkbFreeGeomRows function returns Success when there are no allocation
|
||||
or argument errors.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
102
man/xkb/XkbFreeGeomSections.man
Normal file
102
man/xkb/XkbFreeGeomSections.man
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
.\" 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 XkbFreeGeomSections __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeGeomSections \- Free geometry sections
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeGeomSections
|
||||
(
|
||||
.I geom,
|
||||
.I first,
|
||||
.I count,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
int \fIfirst\fP\^;
|
||||
.br
|
||||
int \fIcount\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry in which sections should be freed
|
||||
.TP
|
||||
.I \- first
|
||||
first section to be freed
|
||||
.TP
|
||||
.I \- count
|
||||
number of sections to be freed
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => all sections are freed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
If
|
||||
.I free_all
|
||||
is True, all sections are freed regardless of the value of
|
||||
.I first
|
||||
and
|
||||
.I count.
|
||||
Otherwise, the number of sections specified by
|
||||
.I count
|
||||
are freed, beginning with the section specified by
|
||||
.I first
|
||||
in the specified geometry.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
Success
|
||||
The XkbFreeGeomSections function returns Success when there are no allocation
|
||||
or argument errors.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
101
man/xkb/XkbFreeGeomShapes.man
Normal file
101
man/xkb/XkbFreeGeomShapes.man
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
.\" 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 XkbFreeGeomShapes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeGeomShapes \- Free geometry shapes
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeGeomShapes
|
||||
(
|
||||
.I geom,
|
||||
.I first,
|
||||
.I count,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
int \fIfirst\fP\^;
|
||||
.br
|
||||
int \fIcount\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry in which shapes should be freed
|
||||
.TP
|
||||
.I \- first
|
||||
first shape to be freed
|
||||
.TP
|
||||
.I \- count
|
||||
number of shapes to be freed
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => all shapes are freed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
If
|
||||
.I free_all
|
||||
is True, all shapes in the geometry are freed regardless of the values of
|
||||
.I first
|
||||
and
|
||||
.I count.
|
||||
Otherwise,
|
||||
.I count
|
||||
shapes are freed, beginning with the shape specified by
|
||||
.I first.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
Success
|
||||
The XkbFreeGeomShapes function returns Success when there are no allocation
|
||||
or argument errors.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
104
man/xkb/XkbFreeGeometry.man
Normal file
104
man/xkb/XkbFreeGeometry.man
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
.\" 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 XkbFreeGeometry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeGeometry \- Free an entire geometry
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeGeometry
|
||||
(
|
||||
.I geom,
|
||||
.I which,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbGeometryPtr \fIgeom\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- geom
|
||||
geometry to be freed
|
||||
.TP
|
||||
.I \- which
|
||||
mask of geometry components to be freed
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => the entire geometry is freed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb provides a number of functions to allocate and free subcomponents of a
|
||||
keyboard geometry. Use these functions to create or modify keyboard geometries.
|
||||
Note that these functions merely allocate space for the new element(s), and it
|
||||
is up to you to fill in the values explicitly in your code. These allocation
|
||||
functions increase
|
||||
.I sz_*
|
||||
but never touch
|
||||
.I num_*
|
||||
(unless there is an allocation failure, in which case they reset both
|
||||
.I sz_*
|
||||
and
|
||||
.I num_*
|
||||
to zero). These functions return Success if they succeed, BadAlloc if they are
|
||||
not able to allocate space, or BadValue if a parameter is not as expected.
|
||||
|
||||
The values of
|
||||
.I which
|
||||
and
|
||||
.I free_all
|
||||
determine how much of the specified geometry is freed. The valid values for
|
||||
.I which
|
||||
are:
|
||||
|
||||
.nf
|
||||
#define XkbGeomPropertiesMask (1<<0)
|
||||
#define XkbGeomColorsMask (1<<1)
|
||||
#define XkbGeomShapesMask (1<<2)
|
||||
#define XkbGeomSectionsMask (1<<3)
|
||||
#define XkbGeomDoodadsMask (1<<4)
|
||||
#define XkbGeomAllMask (0x1f)
|
||||
|
||||
.fi
|
||||
If
|
||||
.I free_all
|
||||
is True, the entire geometry is freed regardless of the value of
|
||||
.I which.
|
||||
Otherwise, the portions of the geometry specified by
|
||||
.I which
|
||||
are freed.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
58
man/xkb/XkbFreeIndicatorMaps.man
Normal file
58
man/xkb/XkbFreeIndicatorMaps.man
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
.\" 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 XkbFreeIndicatorMaps __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeIndicatorMaps \- Frees memory used by the
|
||||
.I indicators
|
||||
member of an XkbDescRec structure
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeIndicatorMaps
|
||||
(
|
||||
.I xkb
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description structure
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
If the
|
||||
.I indicators
|
||||
member of the keyboard description record pointed to by
|
||||
.I xkb
|
||||
is not NULL,
|
||||
.I XkbFreeIndicatorMaps
|
||||
frees the memory associated with the
|
||||
.I indicators
|
||||
member of
|
||||
.I xkb.
|
||||
76
man/xkb/XkbFreeKeyboard.man
Normal file
76
man/xkb/XkbFreeKeyboard.man
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
.\" 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 XkbFreeKeyboard __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeKeyboard \- Destroys either an entire XkbDescRec or just some of its
|
||||
members
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeKeyboard
|
||||
(
|
||||
.I xkb,
|
||||
.I which,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I xkb
|
||||
keyboard description with components to free
|
||||
.TP
|
||||
.I which
|
||||
mask selecting components to free
|
||||
.TP
|
||||
.I free_all
|
||||
True => free all components and
|
||||
.I xkb
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbFreeKeyboard
|
||||
frees the components of
|
||||
.I xkb
|
||||
specified by
|
||||
.I which
|
||||
and sets the corresponding values to NULL. If
|
||||
.I
|
||||
free_all
|
||||
is True,
|
||||
.I XkbFreeKeyboard
|
||||
frees every non-NULL component of
|
||||
.I xkb
|
||||
and then frees the
|
||||
.I xkb
|
||||
structure itself.
|
||||
|
||||
107
man/xkb/XkbFreeNames.man
Normal file
107
man/xkb/XkbFreeNames.man
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
'\" 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 XkbFreeNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeNames \- Free symbolic names structures
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeNames
|
||||
(
|
||||
.I xkb,
|
||||
.I which,
|
||||
.I free_map
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.br
|
||||
Bool \fIfree_map\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description for which names are to be freed
|
||||
.TP
|
||||
.I \- which
|
||||
mask of names components to be freed
|
||||
.TP
|
||||
.I \- free_map
|
||||
True => XkbNamesRec structure itself should be freed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Do not free symbolic names structures directly using
|
||||
.I free
|
||||
or
|
||||
.I XFree.
|
||||
Use
|
||||
.I XkbFreeNames
|
||||
instead.
|
||||
|
||||
The
|
||||
.I which
|
||||
parameter is the bitwise inclusive OR of the valid names mask bits defined in
|
||||
Table 1.
|
||||
|
||||
Xkb provides several functions that work with symbolic names. Each of these
|
||||
functions uses a mask to specify individual fields of the structures described
|
||||
above. These masks and their relationships to the fields in a keyboard
|
||||
description are shown in Table 1.
|
||||
|
||||
.TS
|
||||
c s s s
|
||||
l l l l.
|
||||
Table 1 Symbolic Names Masks
|
||||
_
|
||||
Mask Bit Value Keyboard Field
|
||||
Component
|
||||
_
|
||||
XkbKeycodesNameMask (1<<0) Xkb->names keycodes
|
||||
XkbGeometryNameMask (1<<1) Xkb->names geometry
|
||||
XkbSymbolsNameMask (1<<2) Xkb->names symbols
|
||||
XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
|
||||
XkbTypesNameMask (1<<4) Xkb->names type
|
||||
XkbCompatNameMask (1<<5) Xkb->names compat
|
||||
XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
|
||||
XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
|
||||
XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
|
||||
XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
|
||||
XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
|
||||
XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
|
||||
XkbGroupNamesMask (1<<12) Xkb->names groups[*]
|
||||
XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
|
||||
XkbComponentNamesMask (0x3f) Xkb->names keycodes,
|
||||
geometry,
|
||||
symbols,
|
||||
physical symbols,
|
||||
types, and
|
||||
compatibility map
|
||||
XkbAllNamesMask (0x3fff) Xkb->names all name components
|
||||
.TE
|
||||
201
man/xkb/XkbFreeServerMap.man
Normal file
201
man/xkb/XkbFreeServerMap.man
Normal file
|
|
@ -0,0 +1,201 @@
|
|||
'\" 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 XkbFreeServerMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbFreeServerMap \- Free memory used by the server member of an XkbDescRec
|
||||
structure
|
||||
.SH SYNOPSIS
|
||||
.B void XkbFreeServerMap
|
||||
(
|
||||
.I xkb,
|
||||
.I which,
|
||||
.I free_all
|
||||
)
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.br
|
||||
Bool \fIfree_all\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description containing server map to free
|
||||
.TP
|
||||
.I \- which
|
||||
mask identifying components of map to free
|
||||
.TP
|
||||
.I \- free_all
|
||||
True => free all server map components and server itself
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
The
|
||||
.I XkbFreeServerMap
|
||||
function frees the specified components of server map in the XkbDescRec
|
||||
structure specified by the
|
||||
.I xkb
|
||||
parameter and sets the corresponding structure component values to NULL. The
|
||||
.I which parameter specifies a combination of the server map masks and is a
|
||||
bitwise inclusive OR
|
||||
of the masks listed in Table 1. If
|
||||
.I free_all
|
||||
is True,
|
||||
.I which
|
||||
is ignored and
|
||||
.I XkbFreeServerMap
|
||||
frees every non-NULL structure component in the server map, frees the
|
||||
XkbServerMapRec structure
|
||||
referenced by the
|
||||
.I server
|
||||
member of the
|
||||
.I xkb
|
||||
parameter, and sets the
|
||||
.I server
|
||||
member to NULL.
|
||||
|
||||
.TS
|
||||
c s
|
||||
l l
|
||||
l lw(4i).
|
||||
Table 1 XkbAllocServerMap Masks
|
||||
_
|
||||
Mask Effect
|
||||
_
|
||||
XkbExplicitComponentsMask T{
|
||||
The min_key_code and max_key_code fields of the xkb parameter are used to
|
||||
allocate the explicit field of the server map.
|
||||
T}
|
||||
.sp
|
||||
XkbKeyActionsMask T{
|
||||
The min_key_code and max_key_code fields of the xkb parameter are used to
|
||||
allocate the key_acts
|
||||
field of the server map. The count_acts parameter is used to allocate the acts
|
||||
field of the
|
||||
server map.
|
||||
T}
|
||||
.sp
|
||||
XkbKeyBehaviorsMask T{
|
||||
The min_key_code and max_key_code fields of the xkb parameter are used to
|
||||
allocate the behaviors
|
||||
field of the server map.
|
||||
T}
|
||||
.sp
|
||||
XkbVirtualModMapMask T{
|
||||
The min_key_code and max_key_code fields of the xkb parameter are used to
|
||||
allocate the vmodmap
|
||||
field of the server map.
|
||||
T}
|
||||
|
||||
.TE
|
||||
.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 2.
|
||||
|
||||
.TS
|
||||
c s s
|
||||
l l l
|
||||
l l l.
|
||||
Table 2 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
|
||||
|
||||
The Xkb server map contains the information the server needs to interpret key
|
||||
events and is of
|
||||
type XkbServerMapRec:
|
||||
|
||||
.nf
|
||||
#define XkbNumVirtualMods 16
|
||||
|
||||
typedef struct { /* Server Map */
|
||||
unsigned short num_acts; /* # of occupied entries in acts */
|
||||
unsigned short size_acts; /* # of entries in acts */
|
||||
XkbAction * acts; /* linear 2d tables of key actions, 1 per keycode */
|
||||
XkbBehavior * behaviors; /* key behaviors,1 per keycode */
|
||||
unsigned short * key_acts; /* index into acts, 1 per keycode */
|
||||
unsigned char * explicit; /* explicit overrides of core remapping, 1 per key */
|
||||
unsigned char vmods[XkbNumVirtualMods]; /* real mods bound to virtual mods */
|
||||
unsigned short * vmodmap; /* virtual mods bound to key, 1 per keycode*/
|
||||
} XkbServerMapRec, *XkbServerMapPtr;
|
||||
|
||||
.fi
|
||||
162
man/xkb/XkbGetAccessXTimeout.man
Normal file
162
man/xkb/XkbGetAccessXTimeout.man
Normal file
|
|
@ -0,0 +1,162 @@
|
|||
.\" 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 XkbGetAccessXTimeout __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetAccessXTimeout \- Queries the current AccessXTimeout options for a
|
||||
keyboard device
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbGetAccessXTimeout
|
||||
(
|
||||
.I display,
|
||||
.I device_spec,
|
||||
.I timeout_rtrn,
|
||||
.I ctrls_mask_rtrn,
|
||||
.I ctrls_values_rtrn,
|
||||
.I options_mask_rtrn,
|
||||
.I options_values_rtrn
|
||||
)
|
||||
.br
|
||||
Display *\fI display \fP\^;
|
||||
.br
|
||||
unsigned int \fI device_spec \fP\^;
|
||||
.br
|
||||
unsigned short *\fI timeout_rtrn \fP\^;
|
||||
.br
|
||||
unsigned int *\fI ctrls_mask_rtrn \fP\^;
|
||||
.br
|
||||
unsigned int *\fI ctrls_values_rtrn \fP\^;
|
||||
.br
|
||||
unsigned short *\fI options_mask_rtrn \fP\^;
|
||||
.br
|
||||
unsigned short *\fI options_values_rtrn \fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- display
|
||||
unsigned short
|
||||
.TP
|
||||
.I \- device_spec
|
||||
device to query, or XkbUseCoreKbd
|
||||
.TP
|
||||
.I \- timeout_rtrn
|
||||
delay until AccessXTimeout, seconds
|
||||
.TP
|
||||
.I \- ctrls_mask_rtrn
|
||||
backfilled with controls to modify
|
||||
.TP
|
||||
.I \- ctrls_values_rtrn
|
||||
backfilled with on/off status for controls
|
||||
.TP
|
||||
.I \- options_mask_rtrn
|
||||
backfilled with ax_options to modify
|
||||
.TP
|
||||
.I \- options_values_rtrn
|
||||
backfilled with values for ax_options
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
In environments where computers are shared, features such as SlowKeys present a
|
||||
problem: if
|
||||
SlowKeys is on, the keyboard can appear to be unresponsive because keys are not
|
||||
accepted
|
||||
until they are held for a certain period of time. To help solve this problem,
|
||||
Xkb provides
|
||||
an AccessXTimeout control to automatically change the enabled/disabled state of
|
||||
any boolean
|
||||
controls and to change the value of the AccessXKeys and AccessXFeedback control
|
||||
attributes
|
||||
if the keyboard is idle for a specified period of time.
|
||||
|
||||
When a timeout as specified by AccessXTimeout occurs and a control is
|
||||
consequently modified,
|
||||
Xkb generates an XkbControlsNotify event.
|
||||
|
||||
.I XkbGetAccessXTimeout
|
||||
sends a request to the X server to obtain the current values for the
|
||||
AccessXTimeout attributes, waits for a reply, and backfills the values into the
|
||||
appropriate arguments. The parameters
|
||||
.I options_mask_rtrn
|
||||
and
|
||||
.I options_values_rtrn
|
||||
are backfilled with the options to modify and the values for
|
||||
.I ax_options,
|
||||
which is a field in the XkbControlsRec structure.
|
||||
.I XkbGetAccessXTimeout
|
||||
returns True if successful; if a compatible version of the Xkb extension is not
|
||||
available in the server,
|
||||
.I XkbGetAccessXTimeout
|
||||
returns False.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
True
|
||||
The
|
||||
.I XkbGetAccessXTimeout
|
||||
returns True when it successfully sends a request to the X server to obtain the
|
||||
current values for the AccessXTimeout attributes, waits for a reply, and
|
||||
backfills the values into the appropriate arguments.
|
||||
.TP 15
|
||||
False
|
||||
The
|
||||
.I XkbGetAccessXTimeout
|
||||
funtion returns False if a compatible version of the Xkb extension is not
|
||||
available in the
|
||||
server.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.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
|
||||
100
man/xkb/XkbGetAutoRepeatRate.man
Normal file
100
man/xkb/XkbGetAutoRepeatRate.man
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
.\" 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 XkbGetAutoRepeatRate __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetAutoRepeatRate \- Gets the current attributes of the RepeatKeys control
|
||||
for a keyboard device
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbGetAutoRepeatRate
|
||||
(
|
||||
.I display,
|
||||
.I device_spec,
|
||||
.I timeout_rtrn,
|
||||
.I interval_rtrn
|
||||
)
|
||||
.br
|
||||
Display *\fI display \fP\^;
|
||||
.br
|
||||
unsigned int \fI device_spec \fP\^;
|
||||
.br
|
||||
unsigned int *\fI timeout_rtrn \fP\^;
|
||||
.br
|
||||
unsigned int *\fI interval_rtrn \fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- display
|
||||
connection to X server
|
||||
.TP
|
||||
.I \- device_spec
|
||||
desired device ID, or XkbUseCoreKbd
|
||||
.TP
|
||||
.I \- timeout_rtrn
|
||||
backfilled with initial repeat delay, ms
|
||||
.TP
|
||||
.I \- interval_rtrn
|
||||
backfilled with subsequent repeat delay, ms
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
The core protocol allows only control over whether or not the entire keyboard or
|
||||
individual keys should auto-repeat when held down. RepeatKeys is a boolean
|
||||
control that extends this capability by adding control over the delay until a
|
||||
key begins to repeat and the rate at which it repeats. RepeatKeys is coupled
|
||||
with the core auto-repeat control: when RepeatKeys is enabled or disabled, the
|
||||
core auto-repeat is enabled or disabled and vice versa.
|
||||
|
||||
Auto-repeating keys are controlled by two attributes. The first,
|
||||
.I timeout,
|
||||
is the delay after the initial press of an auto-repeating key and the first
|
||||
generated repeat event. The second,
|
||||
.I interval,
|
||||
is the delay between all subsequent generated repeat events. As with all boolean
|
||||
controls, configuring the attributes that determine how the control operates
|
||||
does not automatically enable the control as a whole.
|
||||
|
||||
.I XkbGetAutoRepeatRate
|
||||
queries the server for the current values of the RepeatControls control
|
||||
attributes, backfills
|
||||
.I timeout_rtrn
|
||||
and
|
||||
.I interval_rtrn
|
||||
with them, and returns True. If a compatible version of the Xkb extension is not
|
||||
available in the server
|
||||
.I XkbGetAutoRepeatRate
|
||||
returns False.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
True
|
||||
The XkbGetAutoRepeatRate function returns True if a compatible version of the
|
||||
Xkb extension is available in the server.
|
||||
.TP 15
|
||||
False
|
||||
The XkbGetAutoRepeatRate function returns False if a compatible version of the
|
||||
Xkb extension is not available in the server.
|
||||
105
man/xkb/XkbGetAutoResetControls.man
Normal file
105
man/xkb/XkbGetAutoResetControls.man
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
.\" 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 XkbGetAutoResetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetAutoResetControls \- Gets the current values of the auto-reset controls
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbGetAutoResetControls
|
||||
(
|
||||
.I dpy,
|
||||
.I auto_ctrls,
|
||||
.I auto_values
|
||||
)
|
||||
.br
|
||||
Display *\fI dpy \fP\^;
|
||||
.br
|
||||
unsigned int *\fI auto_ctrls \fP\^;
|
||||
.br
|
||||
unsigned int *\fI auto_values \fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- dpy
|
||||
connection to X server
|
||||
.TP
|
||||
.I \- auto_ctrls
|
||||
specifies which bits in auto_values are relevant
|
||||
.TP
|
||||
.I \- auto_values
|
||||
1 bit => corresponding control has auto-reset on
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
You can configure the boolean controls to automatically be enabled or
|
||||
disabled when a program exits. This capability is controlled via two masks
|
||||
maintained in the X server on a per-client basis. There is no client-side Xkb
|
||||
data structure corresponding to these masks. Whenever the client exits for
|
||||
any reason, any boolean controls specified in the
|
||||
.I auto-reset mask
|
||||
are set to the corresponding value from the
|
||||
.I auto-reset values
|
||||
mask. This makes it
|
||||
possible for clients to "clean up after themselves" automatically, even if
|
||||
abnormally terminated. The bits used in the masks correspond to the
|
||||
EnabledControls control bits.
|
||||
|
||||
For example, a client that replaces the keyboard bell with some other audible
|
||||
cue might want to turn off the AudibleBell control to prevent the server from
|
||||
also generating a sound and avoid cacophony. If the client were to exit
|
||||
without resetting the AudibleBell control, the user would be left without any
|
||||
feedback at all. Setting AudibleBell in both the auto-reset mask and
|
||||
auto-reset values guarantees that the audible bell will be turned back on
|
||||
when the client exits.
|
||||
|
||||
.I XkbGetAutoResetControls
|
||||
backfills
|
||||
.I auto_ctrls
|
||||
and
|
||||
.I auto_values
|
||||
with the AutoReset control attributes for this particular client. It returns
|
||||
True if successful, and False otherwise.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
True
|
||||
The
|
||||
.I XkbGetAutoResetControls
|
||||
function returns True when it successfully backfills
|
||||
.I auto_ctrls
|
||||
and
|
||||
.I auto_values
|
||||
with the AutoReset control attributes for this particular client.
|
||||
.TP 15
|
||||
False
|
||||
The
|
||||
.I XkbGetAutoResetControls
|
||||
function returns False when it does not successfully backfill
|
||||
.I auto_ctrls
|
||||
and
|
||||
.I auto_values
|
||||
with the AutoReset control attributes for this particular client.
|
||||
226
man/xkb/XkbGetBounceKeysDelay.man
Normal file
226
man/xkb/XkbGetBounceKeysDelay.man
Normal file
|
|
@ -0,0 +1,226 @@
|
|||
'\" 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 XkbGetBounceKeysDelay __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetBounceKeysDelay \- Queries the current BounceKeys delay for a keyboard
|
||||
device.
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbGetBounceKeysDelay
|
||||
(
|
||||
.I display,
|
||||
.I device_spec,
|
||||
.I delay_rtrn
|
||||
)
|
||||
.br
|
||||
Display *\fIdisplay\fP\^;
|
||||
.br
|
||||
unsigned int \fIdevice_spec\fP\^;
|
||||
.br
|
||||
unsigned int *\fIdelay_rtrn\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- display
|
||||
connection to X server
|
||||
.TP
|
||||
.I \- device_spec
|
||||
device ID, or XkbUseCoreKbd
|
||||
.TP
|
||||
.I \- delay_rtrn
|
||||
backfilled with bounce keys delay, ms
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
The server can generate XkbAccessXNotify events for some of the global keyboard
|
||||
controls.
|
||||
The detail field describes what AccessX event just occurred and can be any of
|
||||
the values in
|
||||
Table 1.
|
||||
|
||||
.TS
|
||||
c s
|
||||
l l
|
||||
l lw(4i).
|
||||
Table 1 AccessXNotify Events
|
||||
_
|
||||
detail Reason
|
||||
_
|
||||
XkbAXN_SKPress T{
|
||||
A key was pressed when SlowKeys was enabled.
|
||||
T}
|
||||
XkbAXN_SKAccept T{
|
||||
A key was accepted (held longer than the SlowKeys delay).
|
||||
T}
|
||||
XkbAXN_SKRelease T{
|
||||
An accepted SlowKeys key was released.
|
||||
T}
|
||||
XkbAXN_SKReject T{
|
||||
A key was rejected (released before the SlowKeys delay expired).
|
||||
T}
|
||||
XkbAXN_BKAccept T{
|
||||
A key was accepted by BounceKeys.
|
||||
T}
|
||||
XkbAXN_BKReject T{
|
||||
A key was rejected (pressed before the BounceKeys delay expired).
|
||||
T}
|
||||
XkbAXN_AXKWarning T{
|
||||
AccessXKeys is about to turn on/off StickyKeys or BounceKeys.
|
||||
T}
|
||||
.TE
|
||||
|
||||
|
||||
The
|
||||
.I keycode
|
||||
field reports the keycode of the key for which the event occurred. If the action
|
||||
is related to
|
||||
.I SlowKeys,
|
||||
the
|
||||
.I slowKeysDelay
|
||||
field contains the current SlowKeys acceptance delay. If the action is related
|
||||
to BounceKeys,
|
||||
the
|
||||
.I debounceDelay
|
||||
field contains the current BounceKeys debounce delay.
|
||||
|
||||
Selecting for AccessX Events
|
||||
|
||||
To receive XkbAccessXNotify events under all possible conditions, use
|
||||
.I XkbSelectEvents
|
||||
and pass XkbAccesXNotifyMask in both
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits.
|
||||
|
||||
To receive XkbStateNotify events only under certain conditions, use
|
||||
.I XkbSelectEventDetails
|
||||
using XkbAccessXNotify as the
|
||||
.I event_type
|
||||
and specifying the desired state changes in
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits
|
||||
using mask bits from Table 2.
|
||||
|
||||
.TS
|
||||
c s s
|
||||
l l l
|
||||
l l lw(3i).
|
||||
Table 2 AccessXNotify Event Details
|
||||
_
|
||||
XkbAccessXNotify Event Details Value Circumstances
|
||||
_
|
||||
XkbAXN_SKPressMask (1<<0) T{
|
||||
Slow key press notification wanted
|
||||
T}
|
||||
XkbAXN_SKAcceptMask (1<<1) T{
|
||||
Slow key accept notification wanted
|
||||
T}
|
||||
XkbAXN_SKRejectMask (1<<2) T{
|
||||
Slow key reject notification wanted
|
||||
T}
|
||||
XkbAXN_SKReleaseMask (1<<3) T{
|
||||
Slow key release notification wanted
|
||||
T}
|
||||
XkbAXN_BKAcceptMask (1<<4) T{
|
||||
Bounce key accept notification wanted
|
||||
T}
|
||||
XkbAXN_BKRejectMask (1<<5) T{
|
||||
Bounce key reject notification wanted
|
||||
T}
|
||||
XkbAXN_AXKWarningMask (1<<6) T{
|
||||
AccessX warning notification wanted
|
||||
T}
|
||||
XkbAXN_AllEventsMask (0x7f) T{
|
||||
All AccessX features notifications wanted
|
||||
T}
|
||||
.TE
|
||||
|
||||
Some users may accidentally "bounce" on a key when they release it. They press
|
||||
it once, then accidentally press it again after they release it. The BounceKeys
|
||||
control temporarily disables a key after it has been pressed, effectively
|
||||
"debouncing" the keyboard. The period of time the key is disabled after it is
|
||||
released is known as the
|
||||
.I BounceKeys delay.
|
||||
BounceKeys is a boolean control.
|
||||
|
||||
When the BounceKeys control is active, the server reports acceptance or
|
||||
rejection of any key to interested clients by sending an appropriate
|
||||
AccessXNotify event (see STRUCTURES).
|
||||
|
||||
.I XkbGetBounceKeysDelay
|
||||
requests the attributes of the BounceKeys control from the server, waits for a
|
||||
reply, and backfills
|
||||
.I delay_rtrn
|
||||
with the BounceKeys delay attribute.
|
||||
.I XkbGetBounceKeysDelay
|
||||
returns True if successful; if a compatible version of the Xkb extension is not
|
||||
available in the server
|
||||
.I XkbGetSlowKeysDelay
|
||||
returns False.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
True
|
||||
The
|
||||
.I XkbGetBounceKeysDelay
|
||||
function returns True when it successfully requests the attributes of the
|
||||
BounceKeys control from the server, waits for a
|
||||
reply, and backfills
|
||||
.I delay_rtrn
|
||||
with the BounceKeys delay attribute.
|
||||
.TP 15
|
||||
False
|
||||
The
|
||||
.I XkbGetBounceKeysDelay
|
||||
function returns False if a compatible version of the Xkb extension is not
|
||||
available in the server.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
The structure for the XkbAccessXNotify event type is as follows:
|
||||
|
||||
.nf
|
||||
typedef struct {
|
||||
int type; /* Xkb extension base event code */
|
||||
unsigned long serial; /* X server serial number for event */
|
||||
Bool send_event; /* True => synthetically generated */
|
||||
Display * display; /* server connection where event generated */
|
||||
Time time; /* server time when event generated */
|
||||
int xkb_type; /* XkbAccessXNotify */
|
||||
int device; /* Xkb device ID, will not be XkbUseCoreKbd
|
||||
*/
|
||||
int detail; /* XkbAXN_* */
|
||||
KeyCode keycode; /* key of event */
|
||||
int slowKeysDelay; /* current SlowKeys delay */
|
||||
int debounceDelay; /* current debounce delay */
|
||||
} XkbAccessXNotifyEvent;
|
||||
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbGetSlowKeysDelay (__libmansuffix__)
|
||||
|
||||
130
man/xkb/XkbGetCompatMap.man
Normal file
130
man/xkb/XkbGetCompatMap.man
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
'\" 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 XkbGetCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetCompatMap \- Fetch any combination of the current compatibility map
|
||||
components from the server
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbGetCompatMap
|
||||
(
|
||||
.I display,
|
||||
.I which,
|
||||
.I xkb
|
||||
)
|
||||
.br
|
||||
Display * \fIdisplay\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.br
|
||||
XkbDescRec * \fIxkb\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- display
|
||||
connection to server
|
||||
.TP
|
||||
.I \- which
|
||||
mask of compatibility map components to fetch
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description where results placed
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
When another client modifies the compatibility map, you are notified if you have
|
||||
selected for XkbCompatMapNotify events.
|
||||
.I XkbGetCompatMap
|
||||
is particularly useful when you receive an event of this type, as it allows you
|
||||
to update your program's version of the compatibility map to match the modified
|
||||
version now in the server. If your program is dealing with multiple servers and
|
||||
needs to configure them all in a similar manner, the updated compatibility map
|
||||
may be used to reconfigure other servers.
|
||||
|
||||
.I XkbGetCompatMap
|
||||
fetches the components of the compatibility map specified in
|
||||
.I which
|
||||
from the server specified by
|
||||
.I display
|
||||
and places them in the
|
||||
.I compat
|
||||
structure of the keyboard description
|
||||
.I xkb.
|
||||
Valid values for
|
||||
.I which
|
||||
are an inclusive OR of the values shown in Table 1.
|
||||
|
||||
.TS
|
||||
c s s
|
||||
l l l
|
||||
l l l.
|
||||
Table 1 Compatibility Map Component Masks
|
||||
_
|
||||
Mask Value Affecting
|
||||
_
|
||||
XkbSymInterpMask (1<<0) Symbol interpretations
|
||||
XkbGroupCompatMask (1<<1) Group maps
|
||||
XkbAllCompatMask (0x3) All compatibility map components
|
||||
.TE
|
||||
|
||||
If no compatibility map structure is allocated in
|
||||
.I xkb
|
||||
upon entry,
|
||||
.I XkbGetCompatMap
|
||||
allocates one. If one already exists, its contents are overwritten with the
|
||||
returned results.
|
||||
|
||||
.I XkbGetCompatMap
|
||||
fetches compatibility map information for the device specified by the
|
||||
.I device_spec
|
||||
field of
|
||||
.I xkb.
|
||||
Unless you have specifically modified this field, it is the default keyboard
|
||||
device.
|
||||
.I XkbGetCompatMap
|
||||
returns Success if successful, BadAlloc if it is unable to obtain necessary
|
||||
storage for either the return values or work space, BadMatch if the
|
||||
.I dpy
|
||||
field of the
|
||||
.I xkb
|
||||
argument is non-NULL and does not match the
|
||||
.I display
|
||||
argument, and BadLength under certain conditions caused by server or Xkb
|
||||
implementation errors.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadLength
|
||||
The length of a request is shorter or longer than that required to minimally contain the arguments
|
||||
.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
|
||||
176
man/xkb/XkbGetControls.man
Normal file
176
man/xkb/XkbGetControls.man
Normal file
|
|
@ -0,0 +1,176 @@
|
|||
'\" 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 XkbGetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetControls \- Finds the current state of Xkb server controls
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbGetControls
|
||||
(
|
||||
.I display,
|
||||
.I which,
|
||||
.I xkb
|
||||
)
|
||||
.br
|
||||
Display *\fIdisplay\fP\^;
|
||||
.br
|
||||
unsigned long \fIwhich\fP\^;
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- display
|
||||
connection to X server
|
||||
.TP
|
||||
.I \- which
|
||||
mask of controls requested
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description for controls information
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbGetControls
|
||||
queries the server for the requested control information, waits for a reply, and
|
||||
then copies the server's values for the requested information into the
|
||||
.I ctrls
|
||||
structure of the
|
||||
.I xkb
|
||||
argument. Only those components specified by the
|
||||
.I which
|
||||
parameter are copied. Valid values for
|
||||
.I which
|
||||
are any combination of the masks listed in Table 1 that have "ok" in the
|
||||
.I which
|
||||
column.
|
||||
|
||||
Table 1 shows the actual values for the individual mask bits used to select
|
||||
controls for
|
||||
modification and to enable and disable the control. Note that the same mask bit
|
||||
is used to
|
||||
specify general modifications to the parameters used to configure the control
|
||||
(which), and to
|
||||
enable and disable the control (enabled_ctrls). The anomalies in Table 1 (no
|
||||
"ok" in column)
|
||||
are for controls that have no configurable attributes; and for controls that are
|
||||
not boolean
|
||||
controls and therefore cannot be enabled or disabled.
|
||||
|
||||
.TS
|
||||
c s s s
|
||||
l l l l
|
||||
l l l l
|
||||
l l l l.
|
||||
Table 1 Controls Mask Bits
|
||||
_
|
||||
Mask Bit which or enabled Value
|
||||
changed_ctrls _ctrls
|
||||
_
|
||||
XkbRepeatKeysMask ok ok (1L<<0)
|
||||
XkbSlowKeysMask ok ok (1L<<1)
|
||||
XkbBounceKeysMask ok ok (1L<<2)
|
||||
XkbStickyKeysMask ok ok (1L<<3)
|
||||
XkbMouseKeysMask ok ok (1L<<4)
|
||||
XkbMouseKeysAccelMask ok ok (1L<<5)
|
||||
XkbAccessXKeysMask ok ok (1L<<6)
|
||||
XkbAccessXTimeoutMask ok ok (1L<<7)
|
||||
XkbAccessXFeedbackMask ok ok (1L<<8)
|
||||
XkbAudibleBellMask ok (1L<<9)
|
||||
XkbOverlay1Mask ok (1L<<10)
|
||||
XkbOverlay2Mask ok (1L<<11)
|
||||
XkbIgnoreGroupLockMask ok (1L<<12)
|
||||
XkbGroupsWrapMask ok (1L<<27)
|
||||
XkbInternalModsMask ok (1L<<28)
|
||||
XkbIgnoreLockModsMask ok (1L<<29)
|
||||
XkbPerKeyRepeatMask ok (1L<<30)
|
||||
XkbControlsEnabledMask ok (1L<<31)
|
||||
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
|
||||
XkbAccessXFeedbackMask)
|
||||
XkbAllBooleanCtrlsMask ok (0x00001FFF)
|
||||
XkbAllControlsMask ok (0xF8001FFF)
|
||||
.TE
|
||||
|
||||
|
||||
If
|
||||
.I xkb->ctrls
|
||||
is NULL,
|
||||
.I XkbGetControls
|
||||
allocates and initializes it before obtaining the values specified by
|
||||
.I which.
|
||||
If
|
||||
.I xkb->ctrls
|
||||
is not NULL,
|
||||
.I XkbGetControls
|
||||
modifies only those portions of
|
||||
.I xkb->ctrls
|
||||
corresponding to the values specified by
|
||||
.I which.
|
||||
|
||||
.I XkbGetControls
|
||||
returns Success if successful; otherwise, it returns BadAlloc if it cannot
|
||||
obtain sufficient storage, BadMatch if
|
||||
.I xkb
|
||||
is NULL or
|
||||
.I which
|
||||
is empty, or BadImplementation.
|
||||
|
||||
To free the
|
||||
.I ctrls
|
||||
member of a keyboard description, use
|
||||
.I XkbFreeControls.
|
||||
|
||||
The
|
||||
.I num_groups
|
||||
field in the
|
||||
.I ctrls
|
||||
structure is always filled in by
|
||||
.I XkbGetControls,
|
||||
regardless of which bits are selected by
|
||||
.I which.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
Success
|
||||
The
|
||||
.I XkbGetControls
|
||||
function returns Success if successful.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadImplementation
|
||||
Invalid reply from server
|
||||
.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 XkbFreeControls (__libmansuffix__)
|
||||
244
man/xkb/XkbGetControlsChanges.man
Normal file
244
man/xkb/XkbGetControlsChanges.man
Normal file
|
|
@ -0,0 +1,244 @@
|
|||
'\" 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 XkbGetControlsChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetControlsChanges \- Updates a local copy of a keyboard description with the
|
||||
changes previously noted by one or more calls to XkbNoteControlsChanges
|
||||
.SH SYNOPSIS
|
||||
XkbGetControlsChanges
|
||||
(
|
||||
.I dpy,
|
||||
.I xkb,
|
||||
.I changes
|
||||
)
|
||||
.br
|
||||
Display * \fIdpy\fP\^;
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
XkbNameChangesPtr \fIchanges\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- dpy
|
||||
connection to X server
|
||||
.TP
|
||||
.I \- xkb
|
||||
xkb->ctrls will be updated
|
||||
.TP
|
||||
.I \- changes
|
||||
indicates which parts of xkb->ctrls to update
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Whenever a field in the controls structure changes in the server's keyboard
|
||||
description, the server sends an XkbControlsNotify event to all interested
|
||||
clients.To receive XkbControlsNotify events under all possible conditions, use
|
||||
.I XkbSelectEvents
|
||||
and pass XkbControlsNotifyMask in both
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits.
|
||||
|
||||
To receive XkbControlsNotify events only under certain conditions, use
|
||||
.I XkbSelectEventDetails
|
||||
using XkbControlsNotify as the
|
||||
.I event_type
|
||||
and specifying the desired state changes in
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits
|
||||
using mask bits from Table 1.
|
||||
|
||||
Table 1 shows the actual values for the individual mask bits used to select
|
||||
controls for
|
||||
modification and to enable and disable the control. Note that the same mask bit
|
||||
is used to
|
||||
specify general modifications to the parameters used to configure the control
|
||||
(which), and to
|
||||
enable and disable the control (enabled_ctrls). The anomalies in the table (no
|
||||
"ok" in column)
|
||||
are for controls that have no configurable attributes; and for controls that are
|
||||
not boolean
|
||||
controls and therefore cannot be enabled or disabled.
|
||||
|
||||
.TS
|
||||
c s s s
|
||||
l l l l
|
||||
l l l l
|
||||
l l l l.
|
||||
Table 1 Controls Mask Bits
|
||||
_
|
||||
Mask Bit which or enabled Value
|
||||
changed_ctrls _ctrls
|
||||
_
|
||||
XkbRepeatKeysMask ok ok (1L<<0)
|
||||
XkbSlowKeysMask ok ok (1L<<1)
|
||||
XkbBounceKeysMask ok ok (1L<<2)
|
||||
XkbStickyKeysMask ok ok (1L<<3)
|
||||
XkbMouseKeysMask ok ok (1L<<4)
|
||||
XkbMouseKeysAccelMask ok ok (1L<<5)
|
||||
XkbAccessXKeysMask ok ok (1L<<6)
|
||||
XkbAccessXTimeoutMask ok ok (1L<<7)
|
||||
XkbAccessXFeedbackMask ok ok (1L<<8)
|
||||
XkbAudibleBellMask ok (1L<<9)
|
||||
XkbOverlay1Mask ok (1L<<10)
|
||||
XkbOverlay2Mask ok (1L<<11)
|
||||
XkbIgnoreGroupLockMask ok (1L<<12)
|
||||
XkbGroupsWrapMask ok (1L<<27)
|
||||
XkbInternalModsMask ok (1L<<28)
|
||||
XkbIgnoreLockModsMask ok (1L<<29)
|
||||
XkbPerKeyRepeatMask ok (1L<<30)
|
||||
XkbControlsEnabledMask ok (1L<<31)
|
||||
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
|
||||
XkbAccessXFeedbackMask)
|
||||
XkbAllBooleanCtrlsMask ok (0x00001FFF)
|
||||
XkbAllControlsMask ok (0xF8001FFF)
|
||||
.TE
|
||||
|
||||
The
|
||||
.I changed_ctrls
|
||||
field specifies the controls components that have changed and consists of bits
|
||||
taken from the masks defined in Table 10.7 with "ok" in the
|
||||
.I changed_ctrls
|
||||
column.
|
||||
|
||||
The controls currently enabled in the server are reported in the
|
||||
.I enabled_ctrls
|
||||
field. If any controls were just enabled or disabled (that is, the contents of
|
||||
the
|
||||
.I enabled_ctrls
|
||||
field changed), they are flagged in the
|
||||
.I enabled_ctrl_changes
|
||||
field. The valid bits for these fields are the masks listed in Table 10.7 with
|
||||
"ok" in the
|
||||
.I enabled_ctrls
|
||||
column. The
|
||||
.I num_groups
|
||||
field reports the number of groups bound to the key belonging to the most number
|
||||
of groups and is automatically updated when the keyboard mapping changes.
|
||||
|
||||
If the change was caused by a request from a client, the
|
||||
.I keycode
|
||||
and
|
||||
.I event_type
|
||||
fields are set to zero and the
|
||||
.I req_major
|
||||
and
|
||||
.I req_minor
|
||||
fields identify the request. The
|
||||
.I req_major value is the same as the major extension opcode. Otherwise,
|
||||
.I event_type
|
||||
is set to the type of event that caused the change (one of KeyPress, KeyRelease,
|
||||
DeviceKeyPress, DeviceKeyRelease, ButtonPress or ButtonRelease), and
|
||||
.I req_major
|
||||
and
|
||||
.I req_minor
|
||||
are undefined. If
|
||||
.I event_type
|
||||
is KeyPress, KeyRelease, DeviceKeyPress, or DeviceKeyRelease, the
|
||||
.I keycode
|
||||
field is set to the key that caused the change. If
|
||||
.I event_type
|
||||
is ButtonPress or ButtonRelease,
|
||||
.I keycode
|
||||
contains the button number.
|
||||
|
||||
When a client receives an XkbControlsNotify event, it can note the changes in a
|
||||
changes structure using
|
||||
.I XkbNoteControlsChanges.
|
||||
|
||||
.I XkbGetControlsChanges
|
||||
examines the
|
||||
.I changes
|
||||
parameter, queries the server for the necessary information, and copies the
|
||||
results into the
|
||||
.I xkb->ctrls
|
||||
keyboard description. If the
|
||||
.I ctrls
|
||||
field of
|
||||
.I xkb
|
||||
is NULL,
|
||||
.I XkbGetControlsChanges
|
||||
allocates and initializes it. To free the
|
||||
.I ctrls
|
||||
field, use
|
||||
XkbFreeControls.
|
||||
|
||||
.I XkbGetControlsChanges
|
||||
returns Success if successful and can generate BadAlloc, BadImplementation, and
|
||||
BadMatch errors.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
Success
|
||||
The
|
||||
.I XkbGetControlsChanges
|
||||
function returns Success if the query of the server was successful.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
.nf
|
||||
The structure for the XkbControlsNotify event is defined as follows:
|
||||
|
||||
typedef struct {
|
||||
int type; /* Xkb extension base event code */
|
||||
unsigned long serial; /* X server serial number for event */
|
||||
Bool send_event; /* True => synthetically generated */
|
||||
Display * display; /* server connection where event generated */
|
||||
Time time; /* server time when event generated */
|
||||
int xkb_type; /* XkbCompatMapNotify */
|
||||
int device; /* Xkb device ID, will not be XkbUseCoreKbd */
|
||||
unsigned int changed_ctrls; /* bits indicating which controls data have
|
||||
changed*/
|
||||
unsigned int enabled_ctrls; /* controls currently enabled in server */
|
||||
unsigned int enabled_ctrl_changes; /* bits indicating enabled/disabled
|
||||
controls */
|
||||
int num_groups; /* current number of keyboard groups */
|
||||
KeyCode keycode; /* != 0 => keycode of key causing change */
|
||||
char event_type; /* Type of event causing change */
|
||||
char req_major; /* major event code of event causing change */
|
||||
char req_minor; /* minor event code of event causing change */
|
||||
} XkbControlsNotifyEvent;
|
||||
.fi
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadImplementation
|
||||
Invalid reply from server
|
||||
.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 XkbFreeControls (__libmansuffix__),
|
||||
.BR XkbNoteControlsChanges (__libmansuffix__),
|
||||
.BR XkbSelectEventDetails (__libmansuffix__),
|
||||
.BR XkbSelectEvents (__libmansuffix__)
|
||||
104
man/xkb/XkbGetDetectableAutorepeat.man
Normal file
104
man/xkb/XkbGetDetectableAutorepeat.man
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
.\" 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 XkbGetDetectableAutorepeat __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetDetectableAutorepeat \- Determines whether or not the server supports
|
||||
DetectableAutorepeat
|
||||
.SH SYNOPSIS
|
||||
.B Bool XkbGetDetectableAutorepeat
|
||||
(
|
||||
.I display,
|
||||
.I supported_rtrn
|
||||
)
|
||||
.br
|
||||
Display * \fIdisplay\fP\^;
|
||||
.br
|
||||
Bool * \fIsupported_rtrn\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- display
|
||||
connection to X server
|
||||
.TP
|
||||
.I \- supported_rtrn
|
||||
backfilled True if DetectableAutorepeat supported
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Auto-repeat is the generation of multiple key events by a keyboard when the user
|
||||
presses a key and holds it down. Keyboard hardware and device-dependent X server
|
||||
software often implement auto-repeat by generating multiple KeyPress events with no
|
||||
intervening KeyRelease event. The standard behavior of the X server is to generate
|
||||
a KeyRelease event for every KeyPress event. If the keyboard hardware and
|
||||
device-dependent software of the X server implement auto-repeat by generating
|
||||
multiple KeyPress events, the device-independent part of the X server by default
|
||||
synthetically generates a KeyRelease event after each KeyPress event. This provides
|
||||
predictable behavior for X clients, but does not allow those clients to detect the
|
||||
fact that a key is auto-repeating.
|
||||
|
||||
Xkb allows clients to request
|
||||
.I detectable auto-repeat.
|
||||
If a client requests and the server supports DetectableAutorepeat, Xkb generates
|
||||
KeyRelease events only when the key is physically released. If DetectableAutorepeat
|
||||
is not supported or has not been requested, the server synthesizes a KeyRelease
|
||||
event for each repeating KeyPress event it generates.
|
||||
|
||||
DetectableAutorepeat, unlike other controls, is not contained in the XkbControlsRec
|
||||
structure, nor can it be enabled or disabled via the EnabledControls control.
|
||||
Instead, query and set DetectableAutorepeat using
|
||||
.I XkbGetDetectableAutorepeat
|
||||
and
|
||||
.I XkbSetDetectableAutorepeat.
|
||||
|
||||
DetectableAutorepeat is a condition that applies to all keyboard devices for a
|
||||
client's connection to a given X server; it cannot be selectively set for some
|
||||
devices and not for others. For this reason, none of the Xkb library functions
|
||||
involving DetectableAutorepeat involve a device specifier.
|
||||
|
||||
.I XkbGetDetectableAutorepeat
|
||||
queries the server for the current state of DetectableAutorepeat and waits for a
|
||||
reply. If
|
||||
.I supported_rtrn
|
||||
is not NULL, it backfills
|
||||
.I supported_rtrn
|
||||
with True if the server supports DetectableAutorepeat, and False otherwise.
|
||||
.I XkbGetDetectableAutorepeat
|
||||
returns the current state of DetectableAutorepeat for the requesting client:
|
||||
True if DetectableAutorepeat is set, and False otherwise.
|
||||
.SH "RETURN VALUES"
|
||||
.TP 15
|
||||
True
|
||||
The
|
||||
.I XkbGetDetectableAutorepeat
|
||||
function returns True if the server supports DetectableAutorepeat.
|
||||
.TP 15
|
||||
False
|
||||
The
|
||||
.I XkbGetDetectableAutorepeat
|
||||
function returns False if the server does not support DetectableAutorepeat.
|
||||
132
man/xkb/XkbGetDeviceButtonActions.man
Normal file
132
man/xkb/XkbGetDeviceButtonActions.man
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
'\" 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 XkbGetDeviceButtonActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetDeviceButtonActions \- Query the button actions associated with an X Input
|
||||
Extension device
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbGetDeviceButtonActions
|
||||
(
|
||||
.I dpy,
|
||||
.I device_info,
|
||||
.I all_buttons,
|
||||
.I first_button,
|
||||
.I num_buttons
|
||||
)
|
||||
.br
|
||||
Display * \fIdpy\fP\^;
|
||||
.br
|
||||
XkbDeviceInfoPtr \fIdevice_info\fP\^;
|
||||
.br
|
||||
Bool \fIall_buttons\fP\^;
|
||||
.br
|
||||
unsigned int \fIfirst_button\fP\^;
|
||||
.br
|
||||
unsigned int \fInum_buttons\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- dpy
|
||||
connection to X server
|
||||
.TP
|
||||
.I \- device_info
|
||||
structure to update with results
|
||||
.TP
|
||||
.I \- all_buttons
|
||||
True => get information for all buttons
|
||||
.TP
|
||||
.I \- first_button
|
||||
number of first button for which info is desired
|
||||
.TP
|
||||
.I \- num_buttons
|
||||
number of buttons for which info is desired
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbGetDeviceButtonActions
|
||||
queries the server for the desired button information for the device indicated
|
||||
by the
|
||||
.I device_spec
|
||||
field of
|
||||
.I device_info
|
||||
and waits for a reply. If successful,
|
||||
.I XkbGetDeviceButtonActions
|
||||
backfills the button actions
|
||||
.I (btn_acts
|
||||
field of
|
||||
.I device_info)
|
||||
for only the requested buttons, updates the
|
||||
.I name, type, supported,
|
||||
and
|
||||
.I unsupported
|
||||
fields, and returns Success.
|
||||
|
||||
.I all_buttons, first_button
|
||||
and
|
||||
.I num_buttons
|
||||
specify the device buttons for which actions should be returned. Setting
|
||||
.I all_buttons
|
||||
to True requests actions for all device buttons; if
|
||||
.I all_buttons
|
||||
is False,
|
||||
.I first_button
|
||||
and
|
||||
.I num_buttons
|
||||
specify a range of buttons for which actions are requested.
|
||||
|
||||
If a compatible version of Xkb is not available in the server or the Xkb
|
||||
extension has not been properly initialized,
|
||||
.I XkbGetDeviceButtonActions
|
||||
returns BadAccess. If allocation errors occur, a BadAlloc status is returned. If
|
||||
the specified device
|
||||
.I (device_info->device_spec)
|
||||
is invalid, a BadKeyboard status is returned. If the device has no buttons, a
|
||||
BadMatch status is returned. If
|
||||
.I first_button
|
||||
and
|
||||
.I num_buttons
|
||||
specify illegal buttons, a BadValue status is returned.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAccess
|
||||
The Xkb extension has not been properly initialized
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadKeyboard
|
||||
The device specified was not a valid core or input extension device
|
||||
.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
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
265
man/xkb/XkbGetDeviceInfo.man
Normal file
265
man/xkb/XkbGetDeviceInfo.man
Normal file
|
|
@ -0,0 +1,265 @@
|
|||
'\" 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 XkbGetDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetDeviceInfo \- Determine whether the X server allows Xkb access to particular capabilities of input devices other than
|
||||
the core X keyboard, or to determine the status of indicator maps, indicator names or button actions on a non-KeyClass
|
||||
extension device
|
||||
.SH SYNOPSIS
|
||||
.B XkbDeviceInfoPtr XkbGetDeviceInfo
|
||||
(
|
||||
.I dpy,
|
||||
.I which,
|
||||
.I device_spec,
|
||||
.I ind_class,
|
||||
.I ind_id
|
||||
)
|
||||
.br
|
||||
Display * \fIdpy\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.br
|
||||
unsigned int \fIdevice_spec\fP\^;
|
||||
.br
|
||||
unsigned int \fIind_class\fP\^;
|
||||
.br
|
||||
unsigned int \fIind_id\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- dpy
|
||||
connection to X server
|
||||
.TP
|
||||
.I \- which
|
||||
mask indicating information to return
|
||||
.TP
|
||||
.I \- device_spec
|
||||
device ID, or XkbUseCoreKbd
|
||||
.TP
|
||||
.I \- ind_class
|
||||
feedback class for indicator requests
|
||||
.TP
|
||||
.I \- ind_id
|
||||
feedback ID for indicator requests
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
To determine whether the X server allows Xkb access to particular capabilities of input devices other than the core X
|
||||
keyboard, or to determine the status of indicator maps, indicator names or button actions on a non-KeyClass extension
|
||||
device, use
|
||||
.I XkbGetDeviceInfo.
|
||||
|
||||
.I XkbGetDeviceInfo
|
||||
returns information about the input device specified by
|
||||
.I device_spec.
|
||||
Unlike the
|
||||
.I device_spec
|
||||
parameter of most Xkb functions,
|
||||
.I device_spec
|
||||
does not need to be a keyboard device. It must, however, indicate either the core keyboard or a valid X Input Extension
|
||||
device.
|
||||
|
||||
The
|
||||
.I which
|
||||
parameter is a mask specifying optional information to be returned. It is an inclusive OR of one or more of the values from
|
||||
Table 1 and causes the returned XkbDeviceInfoRec to contain values for the corresponding fields specified in the table.
|
||||
|
||||
.nf
|
||||
Table 1 XkbDeviceInfoRec Mask Bits
|
||||
____________________________________________________________________________________
|
||||
Name XkbDeviceInfoRec Value Capability If Set
|
||||
Fields Effected
|
||||
____________________________________________________________________________________
|
||||
XkbXI_KeyboardsMask (1L <<0) Clients can use all
|
||||
Xkb requests and events
|
||||
with KeyClass devices
|
||||
supported by the input
|
||||
device extension.
|
||||
|
||||
XkbXI_ButtonActionsMask num_btns (1L <<1) Clients can assign key
|
||||
btn_acts actions to buttons
|
||||
non-KeyClass input
|
||||
extension devices.
|
||||
|
||||
XkbXI_IndicatorNamesMask leds->names (1L <<2) Clients can assign
|
||||
names to indicators on
|
||||
non-KeyClass input
|
||||
extension devices.
|
||||
|
||||
XkbXI_IndicatorMapsMask leds->maps (1L <<3) Clients can assign
|
||||
indicator maps to
|
||||
indicators on
|
||||
non-KeyClass input
|
||||
extension devices.
|
||||
|
||||
XkbXI_IndicatorStateMask leds->state (1L <<4) Clients can request
|
||||
the status of indicators
|
||||
on non-KeyClass input
|
||||
extension devices.
|
||||
|
||||
XkbXI_IndicatorsMask sz_leds (0x1c) XkbXI_IndicatorNamesMask |
|
||||
num_leds XkbXI_IndicatorMapsMask |
|
||||
leds->* XkbXI_IndicatorStateMask
|
||||
|
||||
XkbXI_UnsupportedFeaturesMask unsupported (1L <<15)
|
||||
|
||||
XkbXI_AllDeviceFeaturesMask Those selected (0x1e) XkbXI_IndicatorsMask |
|
||||
by Value Column XkbSI_ButtonActionsMask
|
||||
masks
|
||||
|
||||
XkbXI_AllFeaturesMask Those selected (0x1f) XkbSI_AllDeviceFeaturesMask |
|
||||
by Value Column XkbSI_KeyboardsMask
|
||||
masks
|
||||
|
||||
XkbXI_AllDetailsMask Those selected (0x801f) XkbXI_AllFeaturesMask |
|
||||
by Value column XkbXI_UnsupportedFeaturesMask
|
||||
masks
|
||||
.fi
|
||||
|
||||
The XkbDeviceInfoRec returned by
|
||||
.I XkbGetDeviceInfo
|
||||
always has values for
|
||||
.I name
|
||||
(may be a null string, ""),
|
||||
.I type, supported, unsupported, has_own_state, dflt_kbd_fd,
|
||||
and
|
||||
.I dflt_kbd_fb.
|
||||
Other fields are filled in as specified by
|
||||
.I which.
|
||||
|
||||
Upon return, the
|
||||
.I supported
|
||||
field will be set to the inclusive OR of zero or more bits from Table 1; each bit set indicates an optional Xkb extension
|
||||
device feature supported by the server implementation, and a client may modify the associated behavior.
|
||||
|
||||
If the XkbButtonActionsMask bit is set in
|
||||
.I which,
|
||||
the XkbDeviceInfoRec returned will have the button actions
|
||||
.I (btn_acts
|
||||
field) filled in for all buttons.
|
||||
|
||||
If
|
||||
.I which
|
||||
includes one of the bits in XkbXI_IndicatorsMask, the feedback class of the indicators must be specified in
|
||||
.I ind_class,
|
||||
and the feedback ID of the indicators must be specified in
|
||||
.I ind_id.
|
||||
If the request does not include any of the bits in XkbXI_IndicatorsMask, the
|
||||
.I ind_class
|
||||
and
|
||||
.I ind_id
|
||||
parameters are ignored. The class and ID can be obtained via the input device extension
|
||||
.I XListInputDevices
|
||||
request.
|
||||
|
||||
If any of the XkbXI_IndicatorsMask bits are set in
|
||||
.I which,
|
||||
the XkbDeviceInfoRec returned will have filled in the portions of the
|
||||
.I leds
|
||||
structure corresponding to the indicator feedback identified by
|
||||
.I ind_class
|
||||
and
|
||||
.I ind_id.
|
||||
The
|
||||
.I leds
|
||||
vector of the XkbDeviceInfoRec is allocated if necessary and
|
||||
.I sz_leds
|
||||
and
|
||||
.I num_leds
|
||||
filled in. The
|
||||
.I led_class, led_id
|
||||
and
|
||||
.I phys_indicators
|
||||
fields of the
|
||||
.I leds
|
||||
entry corresponding to
|
||||
.I ind_class
|
||||
and
|
||||
.I ind_id
|
||||
are always filled in. If
|
||||
.I which
|
||||
contains XkbXI_IndicatorNamesMask, the
|
||||
.I names_present
|
||||
and
|
||||
.I names
|
||||
fields of the
|
||||
.I leds
|
||||
structure corresponding to
|
||||
.I ind_class
|
||||
and
|
||||
.I ind_id
|
||||
are returned. If
|
||||
.I which
|
||||
contains XkbXI_IndicatorStateMask, the corresponding
|
||||
.I state
|
||||
field is updated. If
|
||||
.I which
|
||||
contains XkbXI_IndicatorMapsMask, the
|
||||
.I maps_present
|
||||
and
|
||||
.I maps
|
||||
fields are updated.
|
||||
|
||||
Xkb provides convenience functions to request subsets of the information available via
|
||||
.I XkbGetDeviceInfo.
|
||||
These convenience functions mirror some of the mask bits. The functions all take an XkbDeviceInfoPtr as an input argument
|
||||
and operate on the X Input Extension device specified by the
|
||||
.I device_spec
|
||||
field of the structure. Only the parts of the structure indicated in the function description are updated. The
|
||||
XkbDeviceInfoRec structure used in the function call can be obtained by calling
|
||||
.I XkbGetDeviceInfo
|
||||
or can be allocated by calling
|
||||
.I XkbAllocDeviceInfo.
|
||||
.SH STRUCTURES
|
||||
.LP
|
||||
Information about X Input Extension devices is transferred between a client program and the Xkb extension in an
|
||||
XkbDeviceInfoRec structure:
|
||||
.nf
|
||||
|
||||
typedef struct {
|
||||
char * name; /* name for device */
|
||||
Atom type; /* name for class of devices */
|
||||
unsigned short device_spec; /* device of interest */
|
||||
Bool has_own_state; /* True=>this device has its own state */
|
||||
unsigned short supported; /* bits indicating supported capabilities */
|
||||
unsigned short unsupported; /* bits indicating unsupported capabilities */
|
||||
unsigned short num_btns; /* number of entries in btn_acts */
|
||||
XkbAction * btn_acts; /* button actions */
|
||||
unsigned short sz_leds; /* total number of entries in LEDs vector */
|
||||
unsigned short num_leds; /* number of valid entries in LEDs vector */
|
||||
unsigned short dflt_kbd_fb; /* input extension ID of default (core kbd) indicator */
|
||||
unsigned short dflt_led_fb; /* input extension ID of default indicator feedback */
|
||||
XkbDeviceLedInfoPtr leds; /* LED descriptions */
|
||||
} XkbDeviceInfoRec, *XkbDeviceInfoPtr;
|
||||
|
||||
.fi
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbAllocDeviceInfo (__libmansuffix__),
|
||||
.BR XListInputDevices (3X11)
|
||||
76
man/xkb/XkbGetDeviceInfoChanges.man
Normal file
76
man/xkb/XkbGetDeviceInfoChanges.man
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
'\" 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 XkbGetDeviceInfoChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetDeviceInfoChanges \- Query the changes that have occurred in the button
|
||||
actions or indicator names and indicator maps associated with an input extension
|
||||
device
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbGetDeviceInfoChanges
|
||||
(
|
||||
.I dpy,
|
||||
.I device_info,
|
||||
.I changes
|
||||
)
|
||||
.br
|
||||
Display * \fIdpy\fP\^;
|
||||
.br
|
||||
XkbDeviceInfoPtr \fIdevice_info\fP\^;
|
||||
.br
|
||||
XkbDeviceChangesPtr \fIchanges\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- dpy
|
||||
connection to X server
|
||||
.TP
|
||||
.I \- device_info
|
||||
structure to update with results
|
||||
.TP
|
||||
.I \- changes
|
||||
contains notes of changes that have occurred
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
The
|
||||
.I changes->changed
|
||||
field indicates which attributes of the device specified in
|
||||
.I changes->device
|
||||
have changed. The parameters describing the changes are contained in the other
|
||||
fields of
|
||||
.I changes. XkbGetDeviceInfoChanges
|
||||
uses that information to call
|
||||
.I XkbGetDeviceInfo
|
||||
to obtain the current status of those attributes that have changed. It then
|
||||
updates the local description of the device in
|
||||
.I device_info
|
||||
with the new information.
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbGetDeviceInfo (__libmansuffix__)
|
||||
171
man/xkb/XkbGetDeviceLedInfo.man
Normal file
171
man/xkb/XkbGetDeviceLedInfo.man
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
'\" 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 XkbGetDeviceLedInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetDeviceLedInfo \- Query the indicator names, maps, and state associated
|
||||
with an LED feedback of an input extension device
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbGetDeviceLedInfo
|
||||
(
|
||||
.I dpy,
|
||||
.I device_info,
|
||||
.I led_class,
|
||||
.I led_id,
|
||||
.I which
|
||||
)
|
||||
.br
|
||||
Display * \fIdpy\fP\^;
|
||||
.br
|
||||
XkbDeviceInfoPtr \fIdevice_info\fP\^;
|
||||
.br
|
||||
unsigned int \fIled_class\fP\^;
|
||||
.br
|
||||
unsigned int \fIled_id\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- dpy
|
||||
connection to X server
|
||||
.TP
|
||||
.I \- device_info
|
||||
structure to update with results
|
||||
.TP
|
||||
.I \- led_class
|
||||
LED feedback class assigned by input extension
|
||||
.TP
|
||||
.I \- led_id
|
||||
LED feedback ID assigned by input extension
|
||||
.TP
|
||||
.I \- which
|
||||
mask indicating desired information
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbGetDeviceLedInfo
|
||||
queries the server for the desired LED information for the feedback specified by
|
||||
.I led_class
|
||||
and
|
||||
.I led_id
|
||||
for the X input extension device indicated by
|
||||
.I device_spec->device_info
|
||||
and waits for a reply. If successful,
|
||||
.I XkbGetDeviceLedInfo
|
||||
backfills the relevant fields of
|
||||
.I device_info
|
||||
as determined by
|
||||
.I which
|
||||
with the results and returns Success. Valid values for
|
||||
.I which
|
||||
are the inclusive OR of any of XkbXI_IndicatorNamesMask,
|
||||
XkbXI_IndicatorMapsMask, and XkbXI_IndicatorStateMask.
|
||||
|
||||
The fields of
|
||||
.I device_info
|
||||
that are filled in when this request succeeds are
|
||||
.I name, type, supported,
|
||||
and
|
||||
.I unsupported,
|
||||
and portions of the
|
||||
.I leds
|
||||
structure corresponding to
|
||||
.I led_class
|
||||
and
|
||||
.I led_id
|
||||
as indicated by the bits set in
|
||||
.I which.
|
||||
The
|
||||
.I device_info->leds
|
||||
vector is allocated if necessary and
|
||||
.I sz_leds
|
||||
and
|
||||
.I num_leds
|
||||
filled in. The
|
||||
.I led_class, led_id
|
||||
and
|
||||
.I phys_indicators
|
||||
fields of the
|
||||
.I device_info->leds
|
||||
entry corresponding to
|
||||
.I led_class
|
||||
and
|
||||
.I led_id
|
||||
are always filled in.
|
||||
|
||||
If
|
||||
.I which
|
||||
contains XkbXI_IndicatorNamesMask, the
|
||||
.I names_present
|
||||
and
|
||||
.I names
|
||||
fields of the
|
||||
.I device_info->leds
|
||||
structure corresponding to
|
||||
.I led_class
|
||||
and
|
||||
.I led_id
|
||||
are updated, if
|
||||
.I which
|
||||
contains XkbXI_IndicatorStateMask, the corresponding
|
||||
.I state
|
||||
field is updated, and if
|
||||
.I which
|
||||
contains XkbXI_IndicatorMapsMask, the
|
||||
.I maps_present
|
||||
and
|
||||
.I maps
|
||||
fields are updated.
|
||||
|
||||
If a compatible version of Xkb is not available in the server or the Xkb
|
||||
extension has not been properly initialized,
|
||||
.I XkbGetDeviceLedInfo
|
||||
returns BadAccess. If allocation errors occur, a BadAlloc status is returned. If
|
||||
the device has no indicators, a BadMatch error is returned. If
|
||||
.I ledClass
|
||||
or
|
||||
.I ledID
|
||||
have illegal values, a BadValue error is returned. If they have legal values but
|
||||
do not specify a feedback that contains LEDs and is associated with the
|
||||
specified device, a BadMatch error is returned.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAccess
|
||||
The Xkb extension has not been properly initialized
|
||||
.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
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
84
man/xkb/XkbGetGeometry.man
Normal file
84
man/xkb/XkbGetGeometry.man
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
.\" 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 XkbGetGeometry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetGeometry \- Loads a keyboard geometry if you already have the keyboard
|
||||
description
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbGetGeometry
|
||||
(
|
||||
.I dpy,
|
||||
.I xkb
|
||||
)
|
||||
.br
|
||||
Display * \fIdpy\fP\^;
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- dpy
|
||||
connection to the X server
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description that contains the ID for the keyboard and into which the
|
||||
geometry should be loaded
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
You can load a keyboard geometry as part of the keyboard description returned by
|
||||
.I XkbGetKeyboard.
|
||||
However, if a keyboard description has been previously loaded, you can instead
|
||||
obtain the geometry by calling the
|
||||
.I XkbGetGeometry.
|
||||
In this case, the geometry returned is the one associated with the keyboard
|
||||
whose device ID is contained in the keyboard description.
|
||||
|
||||
.I XkbGetGeometry
|
||||
can return BadValue, BadImplementation, BadName, BadAlloc, or BadLength errors
|
||||
or Success if it succeeds.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadImplementation
|
||||
Invalid reply from server
|
||||
.TP 15
|
||||
.B BadLength
|
||||
The length of a request is shorter or longer than that required to minimally
|
||||
contain the arguments
|
||||
.TP 15
|
||||
.B BadName
|
||||
A font or color of the specified name does not exist
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbGetKeyboard (__libmansuffix__)
|
||||
169
man/xkb/XkbGetIndicatorChanges.man
Normal file
169
man/xkb/XkbGetIndicatorChanges.man
Normal file
|
|
@ -0,0 +1,169 @@
|
|||
.\" 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 XkbGetIndicatorChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetIndicatorChanges \- Updates a local copy of the keyboard description with
|
||||
the actual values of one or more calls to XkbNoteIndicatorChanges
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbGetIndicatorChanges
|
||||
(
|
||||
.I dpy,
|
||||
.I xkb,
|
||||
.I changes,
|
||||
.I state
|
||||
)
|
||||
.br
|
||||
Display *\fIdpy\fP\^;
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.br
|
||||
XkbIndicatorChangesPtr \fIchanges\fP\^;
|
||||
.br
|
||||
unsigned int \fIstate\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- dpy
|
||||
connection to the X server
|
||||
.TP
|
||||
.I \- xkb
|
||||
keyboard description to hold the new values
|
||||
.TP
|
||||
.I \- changes
|
||||
indicator maps/state to be obtained from the server
|
||||
.TP
|
||||
.I \- state
|
||||
backfilled with the state of the indicators
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Whenever an indicator changes state, the server sends XkbIndicatorStateNotify events to all
|
||||
interested clients. Similarly, whenever an indicator's map changes, the server sends
|
||||
XkbIndicatorMapNotify events to all interested clients.
|
||||
|
||||
To receive XkbIndicatorStateNotify events, use
|
||||
.I XkbSelectEvents
|
||||
with both the
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits
|
||||
parameters containing XkbIndicatorStateNotifyMask. To receive XkbIndicatorMapNotify events,
|
||||
use
|
||||
.I XkbSelectEvents
|
||||
with XkbIndicatorMapNotifyMask.
|
||||
|
||||
To receive events for only specific indicators, use
|
||||
.I XkbSelectEventDetails.
|
||||
Set the
|
||||
.I event_type
|
||||
parameter to XkbIndicatorStateNotify or XkbIndicatorMapNotify, and set both the
|
||||
.I bits_to_change
|
||||
and
|
||||
.I values_for_bits
|
||||
detail parameters to a mask where each bit specifies one indicator, turning on those bits that
|
||||
specify the indicators for which you want to receive events.
|
||||
|
||||
Both types of indicator events use the same structure:
|
||||
.nf
|
||||
|
||||
typedef struct _XkbIndicatorNotify {
|
||||
int type; /* Xkb extension base event code */
|
||||
unsigned long serial; /* X server serial number for event */
|
||||
Bool send_event; /* True => synthetically generated */
|
||||
Display * display; /* server connection where event generated */
|
||||
Time time; /* server time when event generated */
|
||||
int xkb_type; /* specifies state or map notify */
|
||||
int device; /* Xkb device ID, will not be XkbUseCoreKbd */
|
||||
unsigned int changed; /* mask of indicators with new state or map */
|
||||
unsigned int state; /* current state of all indicators */
|
||||
} XkbIndicatorNotifyEvent;
|
||||
|
||||
.fi
|
||||
.I xkb_type
|
||||
is either XkbIndicatorStateNotify or XkbIndicatorMapNotify, depending on whether the event is
|
||||
a kbIndicatorStateNotify event or kbIndicatorMapNotify event.
|
||||
|
||||
The
|
||||
.I changed
|
||||
parameter is a mask that is the bitwise inclusive OR of the indicators that have changed. If
|
||||
the event is of type XkbIndicatorMapNotify,
|
||||
.I changed
|
||||
reports the maps that changed. If the event is of type XkbIndicatorStateNotify,
|
||||
.I changed
|
||||
reports the indicators that have changed state.
|
||||
.I state
|
||||
is a mask that specifies the current state of all indicators, whether they have changed or
|
||||
not, for both XkbIndicatorStateNotify and IndicatorMapNotify events.
|
||||
|
||||
When your client application receives either a XkbIndicatorStateNotify event or
|
||||
XkbIndicatorMapNotify event, you can note the changes in a changes structure by calling
|
||||
.I XkbNoteIndicatorChanges.
|
||||
|
||||
.I XkbGetIndicatorChanges
|
||||
examines the
|
||||
.I changes
|
||||
parameter, pulls over the necessary information from the server, and copies the
|
||||
results into the
|
||||
.I xkb
|
||||
keyboard description. If any bits are set in the
|
||||
.I state_changes
|
||||
field of
|
||||
.I changes, XkbGetIndicatorChanges
|
||||
also places the state of those indicators in
|
||||
.I state.
|
||||
If the
|
||||
.I indicators
|
||||
field of
|
||||
.I xkb
|
||||
is NULL,
|
||||
.I XkbGetIndicatorChanges
|
||||
allocates and initializes it. To free the
|
||||
.I indicators
|
||||
field, use
|
||||
.I XkbFreeIndicators.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadImplementation
|
||||
Invalid reply from server
|
||||
.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 XkbFreeIndicators (__libmansuffix__),
|
||||
.BR XkbGetIndicatorChanges (__libmansuffix__),
|
||||
.BR XkbNoteIndicatorChanges (__libmansuffix__),
|
||||
.BR XkbSelectEvents (__libmansuffix__),
|
||||
.BR XkbSelectEventDetail (__libmansuffix__)
|
||||
|
||||
|
||||
|
||||
101
man/xkb/XkbGetIndicatorMap.man
Normal file
101
man/xkb/XkbGetIndicatorMap.man
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
.\" 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 XkbGetIndicatorMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetIndicatorMap \- Gets the map for one or more indicators, using a mask to
|
||||
specify the indicators
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbGetIndicatorMap
|
||||
(
|
||||
.I dpy,
|
||||
.I which,
|
||||
.I desc
|
||||
)
|
||||
.br
|
||||
Display *\fIdpy\fP\^;
|
||||
.br
|
||||
unsigned int \fIwhich\fP\^;
|
||||
.br
|
||||
XkbDescPtr \fIdesc\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- dpy
|
||||
connection to the X server
|
||||
.TP
|
||||
.I \- which
|
||||
mask of indicators for which maps should be returned
|
||||
.TP
|
||||
.I \- desc
|
||||
keyboard description to be updated
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb allows applications to obtain information about indicators using two
|
||||
different methods. The first method, which is similar to the core X
|
||||
implementation, uses a mask to specify the indicators. The second method, which
|
||||
is more suitable for applications concerned with interoperability, uses
|
||||
indicator names. The correspondence between the indicator name and the bit
|
||||
position in masks is as follows: one of the parameters returned from
|
||||
.I XkbGetNamedIndicators
|
||||
is an index that is the bit position to use in any function call that requires a
|
||||
mask of indicator bits, as well as the indicator's index into the
|
||||
XkbIndicatorRec array of indicator maps.
|
||||
|
||||
|
||||
.I XkbGetIndicatorMap
|
||||
obtains the maps from the server for only those indicators specified by the
|
||||
.I which
|
||||
mask and copies the values into the keyboard description specified by
|
||||
.I desc.
|
||||
If the
|
||||
.I indicators
|
||||
field of the
|
||||
.I desc
|
||||
parameter is NULL,
|
||||
.I XkbGetIndicatorMap
|
||||
allocates and initializes it.
|
||||
|
||||
To free the indicator maps, use
|
||||
.I XkbFreeIndicatorMaps.
|
||||
.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
|
||||
.TP 15
|
||||
.B BadImplementation
|
||||
Invalid reply from server
|
||||
.SH "SEE ALSO"
|
||||
.BR XkbFreeIndicatorMaps (__libmansuffix__),
|
||||
.BR XkbGetNamedIndicators (__libmansuffix__)
|
||||
|
||||
93
man/xkb/XkbGetIndicatorState.man
Normal file
93
man/xkb/XkbGetIndicatorState.man
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
.\" 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 XkbGetIndicatorState __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetIndicatorState \- Obtains the current state of the keyboard indicators
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbGetIndicatorState
|
||||
(
|
||||
.I display,
|
||||
.I device_spec,
|
||||
.I state_return
|
||||
)
|
||||
.br
|
||||
Display *\fIdisplay\fP\^;
|
||||
.br
|
||||
unsigned int \fIdevice_spec\fP\^;
|
||||
.br
|
||||
unsigned int \fIstate_return\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- display
|
||||
connection to the X server
|
||||
.TP
|
||||
.I \- device_spec
|
||||
device ID, or XkbUseCoreKbd
|
||||
.TP
|
||||
.I \- state_return
|
||||
backfilled with a mask of the indicator state
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
Xkb allows applications to obtain information about indicators using two
|
||||
different methods. The first method, which is similar to the core X
|
||||
implementation, uses a mask to specify the indicators. The second method, which
|
||||
is more suitable for applications concerned with interoperability, uses
|
||||
indicator names. The correspondence between the indicator name and the bit
|
||||
position in masks is as follows: one of the parameters returned from
|
||||
.I XkbGetNamedIndicators
|
||||
is an index that is the bit position to use in any function call that requires a
|
||||
mask of indicator bits, as well as the indicator's index into the
|
||||
XkbIndicatorRec array of indicator maps.
|
||||
|
||||
.I XkbGetIndicatorState
|
||||
queries the
|
||||
.I display
|
||||
for the state of the indicators on the device specified by the
|
||||
.I device_spec.
|
||||
For each indicator that is "turned on" on the device, the associated bit is set
|
||||
in
|
||||
.I state_return.
|
||||
If a compatible version of the Xkb extension is not available in the server, .I
|
||||
XkbGetIndicatorState
|
||||
returns a BadMatch error. Otherwise, it sends the request to the X server,
|
||||
places the state of the indicators into
|
||||
.I state_return,
|
||||
and returns Success. Thus the value reported by
|
||||
.I XkbGetIndicatorState
|
||||
is identical to the value reported by the core protocol.
|
||||
.SH DIAGNOSTICS
|
||||
.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 XkbGetNamedIndicators (__libmansuffix__)
|
||||
|
||||
108
man/xkb/XkbGetKeyActions.man
Normal file
108
man/xkb/XkbGetKeyActions.man
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
.\" 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 XkbGetKeyActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||||
.SH NAME
|
||||
XkbGetKeyActions \- Update the actions (the key_acts array) for a subset of the
|
||||
keys in a keyboard description
|
||||
.SH SYNOPSIS
|
||||
.B Status XkbGetKeyActions
|
||||
(
|
||||
.I dpy,
|
||||
.I first,
|
||||
.I num,
|
||||
.I xkb
|
||||
)
|
||||
.br
|
||||
Display * \fIdpy\fP\^;
|
||||
.br
|
||||
unsigned int \fIfirst\fP\^;
|
||||
.br
|
||||
unsigned int \fInum\fP\^;
|
||||
.br
|
||||
XkbDescPtr \fIxkb\fP\^;
|
||||
.if n .ti +5n
|
||||
.if t .ti +.5i
|
||||
.SH ARGUMENTS
|
||||
.TP
|
||||
.I \- dpy
|
||||
connection to X server
|
||||
.TP
|
||||
.I \- first
|
||||
keycode of first key of interest
|
||||
.TP
|
||||
.I \- num
|
||||
number of keys desired
|
||||
.TP
|
||||
.I \- xkb
|
||||
pointer to keyboard description where result is stored
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.I XkbGetKeyActions
|
||||
sends a request to the server to obtain the actions for
|
||||
.I num
|
||||
keys on the keyboard starting with key
|
||||
.I first.
|
||||
It waits for a reply and returns the actions in the
|
||||
.I server->key_acts
|
||||
field of
|
||||
.I xkb.
|
||||
If successful,
|
||||
.I XkbGetKeyActions
|
||||
returns Success. The
|
||||
.I xkb
|
||||
parameter must be a pointer to a valid Xkb keyboard description.
|
||||
|
||||
If the
|
||||
.I server
|
||||
map, in the
|
||||
.I xkb
|
||||
parameter, has not been allocated,
|
||||
.I XkbGetKeyActions
|
||||
allocates and initializes it before obtaining the actions.
|
||||
|
||||
If the server does not have a compatible version of Xkb, or the Xkb extension
|
||||
has not been properly initialized,
|
||||
.I XkbGetKeyActions
|
||||
returns BadAccess. If
|
||||
.I num
|
||||
is less than 1 or greater than XkbMaxKeyCount,
|
||||
.I XkbGetKeyActions
|
||||
returns BadValue. If any allocation errors occur,
|
||||
.I XkbGetKeyActions
|
||||
returns BadAlloc.
|
||||
.SH DIAGNOSTICS
|
||||
.TP 15
|
||||
.B BadAccess
|
||||
The Xkb extension has not been properly initialized
|
||||
.TP 15
|
||||
.B BadAlloc
|
||||
Unable to allocate storage
|
||||
.TP 15
|
||||
.B BadValue
|
||||
An argument is out of range
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue