man pages: remove whitespace at end of lines in xkb man pages

Clears 6571 complaints from `mandoc -T lint` of the form:
mandoc: man/xkb/XkbActionCtrls.3:107:4: STYLE: whitespace at end of input line

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/286>
This commit is contained in:
Alan Coopersmith 2025-07-13 09:47:54 -07:00
parent 8a32fad341
commit 8848085323
184 changed files with 6887 additions and 6887 deletions

View file

@ -35,11 +35,11 @@ XkbActionCtrls \- Returns the ctrls fields of act converted to an unsigned int
action from which to extract controls
.SH DESCRIPTION
.LP
Actions associated with the XkbCtrlsAction structure change the state of the
Actions associated with the XkbCtrlsAction structure change the state of the
boolean controls.
The
.I type
The
.I type
field can have any one of the values shown in Table 1.
.TS
@ -51,28 +51,28 @@ _
Type Effect
_
XkbSA_SetControls T{
A key press enables any boolean controls specified in the ctrls fields that were
not already enabled at
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
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
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
The
.I flags
field is composed of the bitwise inclusive OR of the masks shown in Table 2.
.TS
@ -84,37 +84,37 @@ _
Flag Meaning
_
XkbSA_LockNoLock T{
If set, and the action type is XkbSA_LockControls, the server only disables
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
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
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
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
.I XkbActionCtrls
returns the
.I ctrls
fields of
.I act
converted to an unsigned int.
.SH STRUCTURES
.LP

View file

@ -23,12 +23,12 @@
.TH XkbActionSetCtrls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbActionSetCtrls \- Sets the
.I ctrls0
through
.I ctrls0
through
.I ctrls3
fields of
fields of
.I act
from
from
.I ctrls
.SH SYNOPSIS
.HP
@ -46,11 +46,11 @@ action in which to set ctrls0-ctrls3
value to set in ctrls0-ctrls3
.SH DESCRIPTION
.LP
Actions associated with the XkbCtrlsAction structure change the state of the
Actions associated with the XkbCtrlsAction structure change the state of the
boolean controls.
The
.I type
The
.I type
field can have any one of the values shown in Table 1.
.TS
@ -62,28 +62,28 @@ _
Type Effect
_
XkbSA_SetControls T{
A key press enables any boolean controls specified in the ctrls fields that were
not already enabled at
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
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
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
The
.I flags
field is composed of the bitwise inclusive OR of the masks shown in Table 2.
.TS
@ -95,40 +95,40 @@ _
Flag Meaning
_
XkbSA_LockNoLock T{
If set, and the action type is XkbSA_LockControls, the server only disables
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
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
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
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 XkbActionSetCtrls
sets the
.I ctrls0
through
.I ctrls3
fields of
.I act
from
sets the
.I ctrls0
through
.I ctrls3
fields of
.I act
from
.I ctrls.
.SH STRUCTURES
.LP

View file

@ -43,44 +43,44 @@ input extension class for LED device of interest
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
.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
.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 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
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
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
Information about X Input Extension devices is transferred between a client program and the Xkb
extension in an XkbDeviceInfoRec structure:
.nf
@ -99,7 +99,7 @@ extension in an XkbDeviceInfoRec structure:
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*/
@ -112,6 +112,6 @@ extension in an XkbDeviceInfoRec structure:
XkbIndicatorMapRec maps; /\&* indicator maps for each LED */
} XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
.fi
.fi
.SH "SEE ALSO"
.BR XkbResizeDeviceButtonActions (__libmansuffix__)

View file

@ -21,7 +21,7 @@
.\"
.TH XkbAddGeomColor __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAddGeomColor \- Add one color name to an existing keyboard geometry
XkbAddGeomColor \- Add one color name to an existing keyboard geometry
description
.SH SYNOPSIS
.HP
@ -43,43 +43,43 @@ color to be added
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
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
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
.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
.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
.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
@ -89,7 +89,7 @@ function.
unsigned int pixel; /\&* color */
char * spec; /\&* color name */
} XkbColorRec,*XkbColorPtr;
.fi
.SH "SEE ALSO"
.BR XkbAllocGeomColors (__libmansuffix__)

View file

@ -21,7 +21,7 @@
.\"
.TH XkbAddGeomDoodad __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAddGeomDoodad \- Add one doodad to a section of a keyboard geometry or to the
XkbAddGeomDoodad \- Add one doodad to a section of a keyboard geometry or to the
top-level geometry
.SH SYNOPSIS
.HP
@ -40,56 +40,56 @@ geometry to which the doodad is added
section, if any, to which the doodad is added
.TP
.I name
name of the new doodad
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
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
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
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
@ -102,7 +102,7 @@ function.
XkbIndicatorDoodadRec indicator;
XkbLogoDoodadRec logo;
} XkbDoodadRec, *XkbDoodadPtr;
.fi
.SH "SEE ALSO"
.BR XkbAllocGeomDoodads (__libmansuffix__),

View file

@ -34,31 +34,31 @@ XkbAddGeomKey \- Add one key at the end of an existing row of keys
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
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
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
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
@ -70,7 +70,7 @@ number of keys to a row, use
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__)

View file

@ -21,7 +21,7 @@
.\"
.TH XkbAddGeomKeyAlias __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAddGeomKeyAlias \- Add one key alias to an existing keyboard geometry
XkbAddGeomKeyAlias \- Add one key alias to an existing keyboard geometry
description
.SH SYNOPSIS
.HP
@ -43,34 +43,34 @@ alias to be added
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
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
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
.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

View file

@ -38,32 +38,32 @@ shape to be updated
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
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
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
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
@ -76,7 +76,7 @@ space. To allocate space for an arbitrary number of outlines to a shape, use
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__)

View file

@ -42,36 +42,36 @@ name of the overlay
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
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
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
.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
.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
@ -85,7 +85,7 @@ function.
XkbOverlayRowPtr rows; /\&* array of rows in the overlay */
XkbBoundsPtr bounds; /\&* bounding box for the overlay */
} XkbOverlayRec,*XkbOverlayPtr;
.fi
.SH "SEE ALSO"
.BR XkbAllocGeomOverlay (__libmansuffix__)

View file

@ -40,35 +40,35 @@ overlay to be updated
row in overlay to be updated
.TP
.I under
primary name of the key to be considered
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
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
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
.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

View file

@ -42,35 +42,35 @@ row to be overlaid in the section overlay overlays
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
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
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
.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
.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

View file

@ -21,7 +21,7 @@
.\"
.TH XkbAddGeomProperty __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAddGeomProperty \- Add one property to an existing keyboard geometry
XkbAddGeomProperty \- Add one property to an existing keyboard geometry
description
.SH SYNOPSIS
.HP
@ -43,34 +43,34 @@ name of the new property
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
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
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
.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

View file

@ -32,32 +32,32 @@ XkbAddGeomRow \- Add a row to a section
.SH ARGUMENTS
.TP
.I section
section to be updated
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_*
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.
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.
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
.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
@ -70,7 +70,7 @@ typedef struct _XkbRow {
int vertical;
XkbKeyPtr keys;
XkbBoundsRec bounds;
} XkbRowRec, *XkbRowPtr;
} XkbRowRec, *XkbRowPtr;
.fi
.SH "SEE ALSO"
.BR XkbAllocGeomRows (__libmansuffix__)

View file

@ -50,41 +50,41 @@ number of doodads to reserve in the section
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
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
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
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 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
@ -111,9 +111,9 @@ typedef struct _XkbSection {
} XkbSectionRec, *XkbSectionPtr;
.fi
.I top
and
.I left
.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__)

View file

@ -42,33 +42,33 @@ name of the new shape
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
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
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 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
@ -83,7 +83,7 @@ number of geometry shapes, use
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__)

View file

@ -21,7 +21,7 @@
.\"
.TH XkbAddSymInterpret __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAddSymInterpret \- Add a symbol interpretation to the list of symbol
XkbAddSymInterpret \- Add a symbol interpretation to the list of symbol
interpretations in an XkbCompatRec
.SH SYNOPSIS
.HP
@ -35,7 +35,7 @@ interpretations in an XkbCompatRec
.SH ARGUMENTS
.TP
.I xkb
keyboard description to be updated
keyboard description to be updated
.TP
.I si
symbol interpretation to be added
@ -44,22 +44,22 @@ symbol interpretation to be added
True=>apply compatibility map to keys
.TP
.I changes
changes are put here
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
.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
.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.

View file

@ -22,7 +22,7 @@
.\"
.TH XkbAllocClientMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAllocClientMap \- Allocate and initialize an empty client map description
XkbAllocClientMap \- Allocate and initialize an empty client map description
record
.SH SYNOPSIS
.HP
@ -41,44 +41,44 @@ keyboard description in which to allocate client map
mask selecting map components to allocate
.TP
.I type_count
value of num_types field in map to be allocated
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
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
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
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
.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
@ -90,60 +90,60 @@ _
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
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 -
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
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.
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
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,
If
.I XkbAllocClientMap
is successful, it returns Success. Otherwise, it can return either BadMatch,
BadAlloc, or BadValue errors.
.SH DIAGNOSTICS
.TP 15
@ -151,7 +151,7 @@ BadAlloc, or BadValue errors.
Unable to allocate storage
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
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

View file

@ -43,14 +43,14 @@ mask of compatibility map components to allocate
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
.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
.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
@ -65,13 +65,13 @@ XkbGroupCompatMask (1<<1) Group maps
XkbAllCompatMask (0x3) All compatibility map components
.TE
.I num_si
.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
.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
@ -85,7 +85,7 @@ is NULL, or BadAlloc if errors are encountered when attempting to allocate stora
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
@ -98,11 +98,11 @@ A compatible version of Xkb was not available in the server or an argument has c
.BR XkbGetCompatMap (__libmansuffix__)
.SH NOTES
.LP
Note that symbol interpretations in a compatibility map (the
.I sym_interpret
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 XkbAllocCompatMap
specifying
.I which
as XkbSymInterpretMask and the number of free symbol interpretations needed in
.I num_si.

View file

@ -39,57 +39,57 @@ Xkb description in which to allocate ctrls rec
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
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
.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.
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
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
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.
l l l l.
Table 1 Controls Mask Bits
_
Mask Bit which or enabled Value
@ -113,9 +113,9 @@ XkbInternalModsMask ok (1L<<28)
XkbIgnoreLockModsMask ok (1L<<29)
XkbPerKeyRepeatMask ok (1L<<30)
XkbControlsEnabledMask ok (1L<<31)
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXFeedbackMask)
XkbAllBooleanCtrlsMask ok (0x00001FFF)
XkbAllBooleanCtrlsMask ok (0x00001FFF)
XkbAllControlsMask ok (0xF8001FFF)
.TE
.nh
@ -132,7 +132,7 @@ the ctrls field is not NULL
Unable to allocate storage
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
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__)

View file

@ -43,26 +43,26 @@ number of button actions to allocate space for
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
.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, by using
.BR XkbAddDeviceLedInfo (__libmansuffix__).
.SH STRUCTURES
.LP
Information about X Input Extension devices is transferred between a client program and the Xkb
Information about X Input Extension devices is transferred between a client program and the Xkb
extension in an XkbDeviceInfoRec structure:
.nf
@ -81,7 +81,7 @@ extension in an XkbDeviceInfoRec structure:
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*/
@ -93,6 +93,6 @@ extension in an XkbDeviceInfoRec structure:
Atom names[XkbNumIndicators]; /\&* names for LEDs */
XkbIndicatorMapRec maps; /\&* indicator maps for each LED */
} XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
.fi
.fi
.SH "SEE ALSO"
.BR XkbAddDeviceLedInfo (__libmansuffix__)

View file

@ -38,28 +38,28 @@ geometry for which colors should be allocated
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
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
.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

View file

@ -39,26 +39,26 @@ geometry for which doodads should be allocated
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
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.
.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

View file

@ -38,30 +38,30 @@ geometry for which key aliases should be allocated
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
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
.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
To free geometry key aliases, use
.I XkbFreeGeomKeyAliases.
.SH DIAGNOSTICS
.TP 15

View file

@ -35,29 +35,29 @@ XkbAllocGeomKeys \- Allocate space for an arbitrary number of keys to a row
row to which keys should be allocated
.TP
.I num_needed
number of new keys required
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
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.
.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

View file

@ -21,7 +21,7 @@
.\"
.TH XkbAllocGeomOutlines __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAllocGeomOutlines \- Allocate space for an arbitrary number of outlines to a
XkbAllocGeomOutlines \- Allocate space for an arbitrary number of outlines to a
shape
.SH SYNOPSIS
.HP
@ -39,29 +39,29 @@ shape for which outlines should be allocated
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
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.
.I XkbAllocGeomOutlines
allocates space for
.I num_needed
outlines in the specified
.I shape.
The outlines are not initialized.
To free geometry outlines, use
To free geometry outlines, use
.I XkbFreeGeomOutlines.
.SH DIAGNOSTICS
.TP 15

View file

@ -39,21 +39,21 @@ section for which rows should be allocated
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_*
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.
.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

View file

@ -38,29 +38,29 @@ section for which rows should be allocated
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
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.
.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
To free rows in an overlay, use
.I XkbFreeGeomOverlayRows.
.SH DIAGNOSTICS
.TP 15

View file

@ -38,21 +38,21 @@ section for which overlays should be allocated
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_*
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.
.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

View file

@ -38,26 +38,26 @@ outline for which points should be allocated
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
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.
.I XkbAllocGeomPoints
allocates space for
.I num_needed
points in the specified
.I outline.
The points are not initialized.
.SH DIAGNOSTICS
.TP 15

View file

@ -38,29 +38,29 @@ geometry for which properties should be allocated
number of new properties 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
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
.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

View file

@ -38,26 +38,26 @@ section for which rows should be allocated
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
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.
.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

View file

@ -39,29 +39,29 @@ section for which doodads should be allocated
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
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.
.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
To free geometry doodads, use
.I XkbFreeGeomDoodads.
.SH DIAGNOSTICS
.TP 15

View file

@ -38,29 +38,29 @@ geometry for which sections should be allocated
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
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.
.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
To free geometry sections, use
.I XkbFreeGeomSections.
.SH DIAGNOSTICS
.TP 15

View file

@ -38,29 +38,29 @@ geometry for which shapes should be allocated
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
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.
.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
To free geometry shapes, use
.I XkbFreeGeomShapes.
.SH DIAGNOSTICS
.TP 15

View file

@ -39,37 +39,37 @@ keyboard description for which geometry is to be allocated
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
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.
.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
To free an entire geometry, use
.I XkbFreeGeometry.
.SH DIAGNOSTICS
.TP 15

View file

@ -21,9 +21,9 @@
.\"
.TH XkbAllocIndicatorMaps __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbAllocIndicatorMaps \- Allocates, directly, the
.I indicators
member of the keyboard description record
XkbAllocIndicatorMaps \- Allocates, directly, the
.I indicators
member of the keyboard description record
.SH SYNOPSIS
.HP
.B Status XkbAllocIndicatorMaps
@ -36,29 +36,29 @@ member of the keyboard description record
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
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
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
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

View file

@ -31,21 +31,21 @@ XkbAllocKeyboard \- Creates a keyboard description from scratch
.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 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.
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__),

View file

@ -47,20 +47,20 @@ total number of radio group names needed
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
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
.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
@ -94,12 +94,12 @@ XkbComponentNamesMask (0x3f) Xkb->names keycodes,
XkbAllNamesMask (0x3fff) Xkb->names all name components
.TE
Do not free symbolic names structures directly using
.I free
or
.I XFree.
Use
.I XkbFreeNames
Do not free symbolic names structures directly using
.I free
or
.I XFree.
Use
.I XkbFreeNames
instead.
.SH DIAGNOSTICS
.TP 15
@ -107,7 +107,7 @@ instead.
Unable to allocate storage
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
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

View file

@ -43,14 +43,14 @@ mask selecting map components to allocate
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.
.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
@ -79,24 +79,24 @@ 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
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
If
.I XkbAllocServerMap
is successful, it returns Success. Otherwise, it can return either BadMatch or BadAlloc errors.
.SH DIAGNOSTICS
.TP 15
@ -110,12 +110,12 @@ A compatible version of Xkb was not available in the server or an argument has c
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.
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.

View file

@ -22,7 +22,7 @@
.\"
.TH XkbApplyCompatMapToKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbApplyCompatMapToKey \- Apply the new compatibility mapping to an individual
XkbApplyCompatMapToKey \- Apply the new compatibility mapping to an individual
key to get its semantics updated
.SH SYNOPSIS
.HP
@ -44,38 +44,38 @@ key to be updated
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,
.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
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
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.
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
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
@ -99,127 +99,127 @@ 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
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
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
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
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
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
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
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
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
.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
.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
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
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
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
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,
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
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
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
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
@ -227,11 +227,11 @@ processing may be modified for the particular key involved:
Auto repeat
Key behavior (may be set to XkbKB_Lock)
Key action
.fi
.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 */
@ -240,26 +240,26 @@ typedef struct {
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
.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
.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
@ -287,26 +287,26 @@ 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
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
.fi
If no matching symbol interpretation is found, the server uses a default
interpretation where:
.nf
@ -316,43 +316,43 @@ interpretation where:
mods = 0
virtual_mod = XkbNoModifier
act = SA_NoAction
.fi
When a matching symbol interpretation is found in step 2a, the interpretation is
.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
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
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].
.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
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
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
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__),

View file

@ -47,85 +47,85 @@ relative volume, which can range from -100 to 100 inclusive
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
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
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
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
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
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.
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
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
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
@ -155,51 +155,51 @@ StickyKeys key unlocked AX_StickyUnlock
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
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 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.
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
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
.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
Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent
to be generated when a bell function is called.
.TS
@ -208,7 +208,7 @@ 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
Function called AudibleBell Server sounds a bell Server sends an
XkbBellNotifyEvent
_
XkbDeviceBell On Yes Yes
@ -221,35 +221,35 @@ 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
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,
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
You can call
.I XkbBell
without first initializing the keyboard extension.
.SH "RETURN VALUES"
.TP 15
@ -257,31 +257,31 @@ 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
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
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 XkbAllBellEventsMask in
.I bits_to_change
and
.I values_for_bits.
This has the same effect as a call to
.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:
@ -304,10 +304,10 @@ The structure for the XkbBellNotify event type contains:
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
.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"

View file

@ -22,7 +22,7 @@
.\"
.TH XkbBellEvent __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbBellEvent \- Provides a function that initiates a bell event for the keyboard
XkbBellEvent \- Provides a function that initiates a bell event for the keyboard
without ringing the bell
.SH SYNOPSIS
.HP
@ -39,7 +39,7 @@ without ringing the bell
connection to the X server
.TP
.I window
the event window, or None
the event window, or None
.TP
.I percent
relative volume, which can range from -100 to 100 inclusive
@ -48,84 +48,84 @@ relative volume, which can range from -100 to 100 inclusive
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
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
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
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
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
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.
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
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
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
@ -157,52 +157,52 @@ StickyKeys key unlocked AX_StickyUnlock
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
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 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.
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
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
.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
Table 2 shows the conditions that cause a bell to sound or an
XkbBellNotifyEvent
to be generated when a bell function is called.
.TS
@ -211,7 +211,7 @@ 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
Function called AudibleBell Server sounds a bell Server sends an
XkbBellNotifyEvent
_
XkbDeviceBell On Yes Yes
@ -224,65 +224,65 @@ 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
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
.I XkbBellEvent
generates a XkbBellNotify event.
You can call
.I XkbBellEvent
You can call
.I XkbBellEvent
without first initializing the keyboard extension.
.SH "RETURN VALUES"
.TP 15
False
The
The
.I XkbBellEvent
immediately returns False, if a compatible keyboard extension isn't present in
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
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
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 XkbAllBellEventsMask in
.I bits_to_change
and
.I values_for_bits.
This has the same effect as a call to
.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:
@ -305,10 +305,10 @@ The structure for the XkbBellNotify event type contains:
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
.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"

View file

@ -22,7 +22,7 @@
.\"
.TH XkbChangeControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbChangeControls \- Provides a flexible method for updating the controls in a
XkbChangeControls \- Provides a flexible method for updating the controls in a
server to match those in the changed keyboard description
.SH SYNOPSIS
.HP
@ -43,41 +43,41 @@ keyboard description with changed xkb->ctrls
.I changes
which parts of xkb->ctrls have changed
.SH DESCRIPTION
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 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
.IR 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
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
.IR 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
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
@ -89,9 +89,9 @@ 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 (which XkbControlsRec Boolean Control
Control Control
Selection Relevant
Mask (which XkbControlsRec Boolean Control
parameter) DataFields enabled_ctrls bit Section
_
T{
@ -241,19 +241,19 @@ Xkb\%Sticky\%Keys\%Mask
T} 10.6.8
.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
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
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.
l l l l.
Table 2 Controls Mask Bits
_
Mask Bit which or Value
@ -278,24 +278,24 @@ XkbInternalModsMask ok (1L<<28)
XkbIgnoreLockModsMask ok (1L<<29)
XkbPerKeyRepeatMask ok (1L<<30)
XkbControlsEnabledMask ok (1L<<31)
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXFeedbackMask)
XkbAllBooleanCtrlsMask ok (0x00001FFF)
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
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,
.IR xkb->ctrls ,
to the server specified by
.I XkbChangeControls
copies any controls fields specified by
.I changes
from the keyboard description controls structure,
.IR xkb->ctrls ,
to the server specified by
.IR dpy .
.SH STRUCTURES
The XkbControlsChangesRec structure is defined as follows:

View file

@ -22,7 +22,7 @@
.\"
.TH XkbChangeDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbChangeDeviceInfo \- Update the server's description of a device with the changes noted in an
XkbChangeDeviceInfo \- Update the server's description of a device with the changes noted in an
XkbDeviceChangesRec
.SH SYNOPSIS
.HP
@ -44,21 +44,21 @@ local copy of device state and configuration
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
.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
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

View file

@ -44,27 +44,27 @@ keyboard device to modify
1 bit -> controls to enable / disable
.TP
.I values
1 bit => enable, 0 bit => disable
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
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
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.
l l l l.
Table 1 Controls Mask Bits
_
Mask Bit which or enabled Value
@ -88,38 +88,38 @@ XkbInternalModsMask ok (1L<<28)
XkbIgnoreLockModsMask ok (1L<<29)
XkbPerKeyRepeatMask ok (1L<<30)
XkbControlsEnabledMask ok (1L<<31)
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXFeedbackMask)
XkbAllBooleanCtrlsMask ok (0x00001FFF)
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
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
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
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
@ -135,8 +135,8 @@ 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 */

View file

@ -22,8 +22,8 @@
.\"
.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
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
.HP
@ -45,49 +45,49 @@ description from which new values are taken
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
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 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.
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.
.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
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
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
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
@ -120,7 +120,7 @@ typedef struct _XkbMapChanges {
Unable to allocate storage
.TP 15
.B BadLength
The length of a request is shorter or longer than that required to minimally
The length of a request is shorter or longer than that required to minimally
contain the arguments
.TP 15
.B BadValue

View file

@ -43,36 +43,36 @@ mask of names or map components to be updated
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
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
.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,
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
.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
The XkbNameChangesRec allows applications to identify small modifications to the
symbolic names and
effectively reduces the amount of traffic sent to the server:
.nf
@ -90,20 +90,20 @@ effectively reduces the amount of traffic sent to the server:
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
.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
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
@ -168,11 +168,11 @@ A name is neither a valid Atom or None
Invalid reply from server
.TP 15
.B BadLength
The length of a request is shorter or longer than that required to minimally
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
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__)

View file

@ -22,7 +22,7 @@
.\"
.TH XkbChangeTypesOfKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbChangeTypesOfKey \- Change the number of groups and the types bound to a key
XkbChangeTypesOfKey \- Change the number of groups and the types bound to a key
.SH SYNOPSIS
.HP
.B Status XkbChangeTypesOfKey
@ -55,52 +55,52 @@ indices for new groups specified in groups
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
.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,
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
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
@ -108,9 +108,9 @@ looks like this:
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
.fi
For convenience, Xkb provides the following constants to use as indices to the
groups:
.TS
@ -127,30 +127,30 @@ 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
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
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
@ -186,8 +186,8 @@ The Xkb extension has not been properly initialized
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
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

View file

@ -42,9 +42,9 @@ section that contains the 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
.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.

View file

@ -38,13 +38,13 @@ geometry that contains the 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
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
.I XkbComputeSectionBounds
returns False if any of the arguments is NULL; otherwise, it returns True.

View file

@ -34,28 +34,28 @@ XkbComputeShapeBounds \- Updates the bounding box of a 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
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 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
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
.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
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

View file

@ -38,30 +38,30 @@ shape to be examined
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
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 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
.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
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

View file

@ -38,43 +38,43 @@ pointer to XkbKeyTypeRec to be copied
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.
.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
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.
.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

View file

@ -42,55 +42,55 @@ pointer to array of XkbKeyTypeRecs to change
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
.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
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
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.
.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

View file

@ -59,14 +59,14 @@ bell volume, from -100 to 100 inclusive
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
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
@ -74,44 +74,44 @@ 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
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
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
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.
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
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
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
; the name is included in any bell event sent to clients that have requested to
receive XkbBellNotify events.
.TS
@ -143,42 +143,42 @@ StickyKeys key unlocked AX_StickyUnlock
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
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 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.
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
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
.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
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
@ -187,7 +187,7 @@ 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
Function called AudibleBell Server sounds a bell Server sends an
XkbBellNotifyEvent
_
XkbDeviceBell On Yes Yes
@ -200,58 +200,58 @@ XkbDeviceForceBell On or Off Yes No
XkbForceBell On or Off Yes No
.TE
Set
.I percent
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
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.
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
.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
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
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
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
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 XkbAllBellEventsMask in
.I bits_to_change
and
.I values_for_bits.
This has the same effect as a call to
.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:
@ -274,9 +274,9 @@ The structure for the XkbBellNotify event type contains:
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
.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"

View file

@ -22,7 +22,7 @@
.\"
.TH XkbDeviceBellEvent __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbDeviceBellEvent \- Creates a bell event for an X input extension device or
XkbDeviceBellEvent \- Creates a bell event for an X input extension device or
for the keyboard, without ringing the corresponding bell
.SH SYNOPSIS
.HP
@ -48,10 +48,10 @@ event window, or None
device ID, or XkbUseCoreKbd
.TP
.I bell_class
input extension bell class for the event
input extension bell class for the event
.TP
.I bell_id
input extension bell ID for the event
input extension bell ID for the event
.TP
.I percent
volume for the bell, which can range from -100 to 100 inclusive
@ -60,17 +60,17 @@ volume for the bell, which can range from -100 to 100 inclusive
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
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
@ -78,59 +78,59 @@ 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
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
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
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.
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
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
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
below; the name is included in any bell event sent to clients that have requested to
receive XkbBellNotify events.
.TS
@ -162,49 +162,49 @@ StickyKeys key unlocked AX_StickyUnlock
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
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 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.
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
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
.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
Table 2 shows the conditions that cause a bell to sound or an
XkbBellNotifyEvent
to be generated when a bell function is called.
.TS
@ -213,7 +213,7 @@ 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
Function called AudibleBell Server sounds a bell Server sends an
XkbBellNotifyEvent
_
XkbDeviceBell On Yes Yes
@ -226,59 +226,59 @@ 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
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
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
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
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
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
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 XkbAllBellEventsMask in
.I bits_to_change
and
.I values_for_bits.
This has the same effect as a call to
.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:
@ -301,10 +301,10 @@ The structure for the XkbBellNotify event type contains:
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
.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"

View file

@ -21,7 +21,7 @@
.\"
.TH XkbFindOverlayForKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFindOverlayForKey \- Find the alternate name by using the primary name for a
XkbFindOverlayForKey \- Find the alternate name by using the primary name for a
key that is part of an overlay
.SH SYNOPSIS
.HP
@ -43,10 +43,10 @@ section to be searched for matching keys
primary name of the key to be considered
.SH DESCRIPTION
.LP
Keys that can generate multiple keycodes may be associated with multiple names.
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 XkbFindOverlayForKey
uses the primary name of the key,
.I under,
to look up the alternate name, which it returns.

View file

@ -22,7 +22,7 @@
.\"
.TH XkbForceBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbForceBell \- Overrides user preference settings for audible bells to ring the
XkbForceBell \- Overrides user preference settings for audible bells to ring the
bell on the default keyboard
.SH SYNOPSIS
.HP
@ -40,18 +40,18 @@ connection to the X server
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
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
@ -59,61 +59,61 @@ 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
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
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
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.
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
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
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
@ -145,50 +145,50 @@ StickyKeys key unlocked AX_StickyUnlock
.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
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 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.
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
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
.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
Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent to be generated when a bell function is
called.
.TS
@ -197,7 +197,7 @@ 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
Function called AudibleBell Server sounds a bell Server sends an
XkbBellNotifyEvent
_
XkbDeviceBell On Yes Yes
@ -211,72 +211,72 @@ 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
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
.I XkbForceBell
does not cause an XkbBellNotify event.
You can call
.I XkbBell
You can call
.I XkbBell
without first initializing the keyboard extension.
.SH "RETURNS VALUES"
.TP 15
False
The
.I XkbForceBell
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
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
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 XkbAllBellEventsMask in
.I bits_to_change
and
.I values_for_bits.
This has the same effect as a call to
.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:
@ -299,10 +299,10 @@ The structure for the XkbBellNotify event type contains:
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
.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"

View file

@ -22,7 +22,7 @@
.\"
.TH XkbForceDeviceBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbForceDeviceBell \- Rings the bell on any keyboard, overriding user preference
XkbForceDeviceBell \- Rings the bell on any keyboard, overriding user preference
settings for audible bells
.SH SYNOPSIS
.HP
@ -47,27 +47,27 @@ event window, or None
device ID, or XkbUseCoreKbd
.TP
.I bell_class
input extension class of the bell to be rung
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
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
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
@ -75,53 +75,53 @@ 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
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
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
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.
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
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
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
@ -153,42 +153,42 @@ StickyKeys key unlocked AX_StickyUnlock
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
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 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.
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
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
.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
Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent to be generated
when a bell function is called.
.TS
@ -197,7 +197,7 @@ 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
Function called AudibleBell Server sounds a bell Server sends an
XkbBellNotifyEvent
_
XkbDeviceBell On Yes Yes
@ -211,51 +211,51 @@ 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
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
There is no
.I name
parameter because
.I XkbForceDeviceBell
does not cause an XkbBellNotify event.
You can call
.I XkbBell
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
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
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 XkbAllBellEventsMask in
.I bits_to_change
and
.I values_for_bits.
This has the same effect as a call to
.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:
@ -278,10 +278,10 @@ The structure for the XkbBellNotify event type contains:
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
.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 (__libmansuffix__),

View file

@ -22,7 +22,7 @@
.\"
.TH XkbFreeClientMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeClientMap \- Free memory used by the client map member of an XkbDescRec
XkbFreeClientMap \- Free memory used by the client map member of an XkbDescRec
structure
.SH SYNOPSIS
.HP
@ -41,32 +41,32 @@ keyboard description containing client map to free
mask identifying components of map to free
.TP
.I free_all
True => free all client components and map itself
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
.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
.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
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
@ -78,42 +78,42 @@ _
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
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 -
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
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.
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
The complete description of an Xkb keyboard is given by an XkbDescRec. The
component
structures in the XkbDescRec represent the major Xkb components.
.nf
@ -133,27 +133,27 @@ typedef struct {
} 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
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.
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
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
@ -174,13 +174,13 @@ 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
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 */

View file

@ -43,9 +43,9 @@ mask of compatibility map components to free
True => free XkbCompatMap structure itself
.SH DESCRIPTION
.LP
.I which
specifies the compatibility map components to be freed (see XkbGetCompatMap).
.I which
.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
@ -60,15 +60,15 @@ 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
.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
@ -80,10 +80,10 @@ is set to NULL.
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
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
@ -103,22 +103,22 @@ typedef struct {
} 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
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
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
@ -138,9 +138,9 @@ 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
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
@ -150,7 +150,7 @@ 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)

View file

@ -22,7 +22,7 @@
.\"
.TH XkbFreeComponentList __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeComponentList \- Free the structure returned by
XkbFreeComponentList \- Free the structure returned by
.I XkbListComponents
.SH SYNOPSIS
.HP
@ -36,9 +36,9 @@ XkbFreeComponentList \- Free the structure returned by
pointer to XkbComponentListRec to free
.SH DESCRIPTION
.LP
When you are done using the structure returned by
.I XkbListComponents,
free it using
When you are done using the structure returned by
.I XkbListComponents,
free it using
.I XkbFreeComponentList.
.SH "SEE ALSO"
.BR XkbListComponents (__libmansuffix__)

View file

@ -43,34 +43,34 @@ mask of components of ctrls to free
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
.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
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.
l l l l.
Table 1 Controls Mask Bits
_
Mask Bit which or enabled Value
@ -94,20 +94,20 @@ XkbInternalModsMask ok (1L<<28)
XkbIgnoreLockModsMask ok (1L<<29)
XkbPerKeyRepeatMask ok (1L<<30)
XkbControlsEnabledMask ok (1L<<31)
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXFeedbackMask)
XkbAllBooleanCtrlsMask ok (0x00001FFF)
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
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.

View file

@ -43,81 +43,81 @@ mask of components of device_info to free
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
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
.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
.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
Table 1 XkbDeviceInfoRec Mask Bits
____________________________________________________________________________________
Name XkbDeviceInfoRec Value Capability If Set
Fields Effected
Fields Effected
____________________________________________________________________________________
XkbXI_KeyboardsMask (1L <<0) Clients can use all
Xkb requests and events
with KeyClass devices
with KeyClass devices
supported by the input
device extension.
XkbXI_ButtonActionsMask num_btns (1L <<1) Clients can assign key
btn_acts actions to buttons
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
indicators on
non-KeyClass input
extension devices.
XkbXI_IndicatorStateMask leds->state (1L <<4) Clients can request
XkbXI_IndicatorStateMask leds->state (1L <<4) Clients can request
the status of indicators
on non-KeyClass input
extension devices.
@ -130,7 +130,7 @@ XkbXI_UnsupportedFeaturesMask unsupported (1L <<15)
XkbXI_AllDeviceFeaturesMask Those selected (0x1e) XkbXI_IndicatorsMask |
by Value Column XkbSI_ButtonActionsMask
masks
masks
XkbXI_AllFeaturesMask Those selected (0x1f) XkbSI_AllDeviceFeaturesMask |
by Value Column XkbSI_KeyboardsMask
@ -142,7 +142,7 @@ XkbXI_AllDetailsMask Those selected (0x801f) XkbXI_AllFeaturesMask |
.fi
.SH STRUCTURES
.LP
Information about X Input Extension devices is transferred between a client program and the Xkb
Information about X Input Extension devices is transferred between a client program and the Xkb
extension in an XkbDeviceInfoRec structure:
.nf
@ -161,7 +161,7 @@ typedef struct {
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 */
@ -173,4 +173,4 @@ typedef struct {
XkbIndicatorMapRec maps; /\&* indicator maps for each LED */
} XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
.fi
.fi

View file

@ -34,10 +34,10 @@ XkbFreeGeomColors \- Free geometry colors
.SH ARGUMENTS
.TP
.I geom
geometry in which colors should be freed
geometry in which colors should be freed
.TP
.I first
first color to be freed
first color to be freed
.TP
.I count
number of colors to be freed
@ -46,30 +46,30 @@ number of colors to be freed
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
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
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
or
.I count.
Otherwise,
.I count
colors are freed beginning with the one specified by
.I first.
.SH DIAGNOSTICS
.TP 15

View file

@ -33,7 +33,7 @@ XkbFreeGeomDoodads \- Free geometry doodads
.SH ARGUMENTS
.TP
.I doodads
doodads to be freed
doodads to be freed
.TP
.I count
number of doodads to be freed
@ -42,32 +42,32 @@ number of doodads to be freed
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
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
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
The XkbFreeGeomDoodads function returns Success if there are no allocation
errors.
.SH DIAGNOSTICS
.TP 15

View file

@ -46,39 +46,39 @@ number of key aliases to be freed
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
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
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
The XkbFreeGeomKeyAliases function returns Success if there are no allocation
errors.
.SH DIAGNOSTICS
.TP 15

View file

@ -34,7 +34,7 @@ XkbFreeGeomKeys \- Free geometry keys
.SH ARGUMENTS
.TP
.I row
row in which keys should be freed
row in which keys should be freed
.TP
.I first
first key to be freed
@ -46,13 +46,13 @@ number of keys to be freed
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
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.

View file

@ -46,13 +46,13 @@ number of outlines to be freed
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
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.

View file

@ -34,7 +34,7 @@ XkbFreeGeomOverlayKeys \- Free keys in an overlay row
.SH ARGUMENTS
.TP
.I row
row in which keys should be freed
row in which keys should be freed
.TP
.I first
first key to be freed
@ -46,36 +46,36 @@ number of keys to be freed
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
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
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
The XkbFreeGeomOverlayKeys function returns Success if there are no allocation
or argument errors.
.SH DIAGNOSTICS
.TP 15

View file

@ -46,36 +46,36 @@ number of rows to be freed
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
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
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
The XkbFreeGeomOverlayRows function returns Success if there are no allocation
or argument errors.
.SH DIAGNOSTICS
.TP 15

View file

@ -34,7 +34,7 @@ XkbFreeGeomOverlays \- Free rows in a section
.SH ARGUMENTS
.TP
.I section
section in which overlays should be freed
section in which overlays should be freed
.TP
.I first
first overlay to be freed
@ -46,36 +46,36 @@ number of overlays to be freed
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
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
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
The XkbFreeGeomOverlays functions returns Success if there are no allocation or
argument errors.
.SH DIAGNOSTICS
.TP 15

View file

@ -43,39 +43,39 @@ first point to be freed
number of points to be freed
.TP
.I free_all
True => all points are freed
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
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
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
The XkbFreeGeomPoints function returns Success when there are no allocation or
argument errors.
.SH DIAGNOSTICS
.TP 15

View file

@ -37,44 +37,44 @@ XkbFreeGeomProperties \- Free geometry properties
geometry in which properties should be freed
.TP
.I first
first property to be freed
first property to be freed
.TP
.I count
number of properties to be freed
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
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
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
The XkbFreeGeomProperties function returns Success when there are no allocation
or argument errors.
.SH DIAGNOSTICS
.TP 15

View file

@ -34,7 +34,7 @@ XkbFreeGeomRows \- Free rows in a section
.SH ARGUMENTS
.TP
.I section
section in which rows should be freed
section in which rows should be freed
.TP
.I first
first row to be freed
@ -46,36 +46,36 @@ number of rows to be freed
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
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
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
The XkbFreeGeomRows function returns Success when there are no allocation
or argument errors.
.SH DIAGNOSTICS
.TP 15

View file

@ -40,42 +40,42 @@ geometry in which sections should be freed
first section to be freed
.TP
.I count
number of sections to be freed
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
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
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
The XkbFreeGeomSections function returns Success when there are no allocation
or argument errors.
.SH DIAGNOSTICS
.TP 15

View file

@ -40,41 +40,41 @@ geometry in which shapes should be freed
first shape to be freed
.TP
.I count
number of shapes to be freed
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
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
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
The XkbFreeGeomShapes function returns Success when there are no allocation
or argument errors.
.SH DIAGNOSTICS
.TP 15

View file

@ -36,33 +36,33 @@ XkbFreeGeometry \- Free an entire geometry
geometry to be freed
.TP
.I which
mask of geometry components to be freed
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
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
The values of
.I which
and
.I free_all
determine how much of the specified geometry is freed. The valid values for
.I which
.I which
are:
.nf
@ -73,14 +73,14 @@ are:
#define XkbGeomDoodadsMask (1<<4)
#define XkbGeomKeyAliasesMask (1<<5)
#define XkbGeomAllMask (0x3f)
.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
.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

View file

@ -21,8 +21,8 @@
.\"
.TH XkbFreeIndicatorMaps __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeIndicatorMaps \- Frees memory used by the
.I indicators
XkbFreeIndicatorMaps \- Frees memory used by the
.I indicators
member of an XkbDescRec structure
.SH SYNOPSIS
.HP
@ -36,15 +36,15 @@ member of an XkbDescRec structure
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
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.
If xkb is NULL, no operation is performed.

View file

@ -21,7 +21,7 @@
.\"
.TH XkbFreeKeyboard __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeKeyboard \- Destroys either an entire XkbDescRec or just some of its
XkbFreeKeyboard \- Destroys either an entire XkbDescRec or just some of its
members
.SH SYNOPSIS
.HP
@ -34,30 +34,30 @@ members
.SH ARGUMENTS
.TP
.I xkb
keyboard description with components to free
keyboard description with components to free
.TP
.I which
mask selecting components to free
.TP
.I free_all
True => free all components and
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 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
free_all
is True,
.I XkbFreeKeyboard
frees every non-NULL component of
.I xkb
and then frees the
.I xkb
structure itself.
If kbd is NULL, no operation is performed.

View file

@ -43,22 +43,22 @@ mask of names components to be freed
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
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
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
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

View file

@ -22,7 +22,7 @@
.\"
.TH XkbFreeServerMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbFreeServerMap \- Free memory used by the server member of an XkbDescRec
XkbFreeServerMap \- Free memory used by the server member of an XkbDescRec
structure
.SH SYNOPSIS
.HP
@ -44,28 +44,28 @@ mask identifying components of map to free
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
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
.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
@ -82,30 +82,30 @@ 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
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
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
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
The complete description of an Xkb keyboard is given by an XkbDescRec. The
component
structures in the XkbDescRec represent the major Xkb components.
.nf
@ -125,27 +125,27 @@ typedef struct {
} 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
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.
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
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
@ -166,8 +166,8 @@ 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
The Xkb server map contains the information the server needs to interpret key
events and is of
type XkbServerMapRec:
.nf

View file

@ -21,7 +21,7 @@
.\"
.TH XkbGetAutoRepeatRate __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetAutoRepeatRate \- Gets the current attributes of the RepeatKeys control
XkbGetAutoRepeatRate \- Gets the current attributes of the RepeatKeys control
for a keyboard device
.SH SYNOPSIS
.HP
@ -47,38 +47,38 @@ backfilled with initial repeat delay, ms
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
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
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
.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
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
The XkbGetAutoRepeatRate function returns False if a compatible version of the
Xkb extension is not available in the server.

View file

@ -42,50 +42,50 @@ specifies which bits in auto_values are relevant
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
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
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
.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
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
The
.I XkbGetAutoResetControls
function returns False when it does not successfully backfill
.I auto_ctrls
and
.I auto_values
.I auto_ctrls
and
.I auto_values
with the AutoReset control attributes for this particular client.

View file

@ -22,7 +22,7 @@
.\"
.TH XkbGetCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetCompatMap \- Fetch any combination of the current compatibility map
XkbGetCompatMap \- Fetch any combination of the current compatibility map
components from the server
.SH SYNOPSIS
.HP
@ -44,26 +44,26 @@ mask of compatibility map components to fetch
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.
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
.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
@ -79,29 +79,29 @@ 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
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
.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
.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
@ -112,5 +112,5 @@ Unable to allocate storage
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
A compatible version of Xkb was not available in the server or an argument has
correct type and range, but is otherwise invalid

View file

@ -43,37 +43,37 @@ mask of controls requested
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
.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
.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
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.
l l l l.
Table 1 Controls Mask Bits
_
Mask Bit which or enabled Value
@ -97,54 +97,54 @@ XkbInternalModsMask ok (1L<<28)
XkbIgnoreLockModsMask ok (1L<<29)
XkbPerKeyRepeatMask ok (1L<<30)
XkbControlsEnabledMask ok (1L<<31)
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXFeedbackMask)
XkbAllBooleanCtrlsMask ok (0x00001FFF)
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
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
.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
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
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
The
.I XkbGetControls
function returns Success if successful.
.SH DIAGNOSTICS
.TP 15
@ -155,7 +155,7 @@ Unable to allocate storage
Invalid reply from server
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
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"

View file

@ -22,7 +22,7 @@
.\"
.TH XkbGetControlsChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetControlsChanges \- Updates a local copy of a keyboard description with the
XkbGetControlsChanges \- Updates a local copy of a keyboard description with the
changes previously noted by one or more calls to XkbNoteControlsChanges
.SH SYNOPSIS
.HP
@ -44,42 +44,42 @@ xkb->ctrls will be updated
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
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 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
.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
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.
l l l l.
Table 1 Controls Mask Bits
_
Mask Bit which or enabled Value
@ -103,89 +103,89 @@ XkbInternalModsMask ok (1L<<28)
XkbIgnoreLockModsMask ok (1L<<29)
XkbPerKeyRepeatMask ok (1L<<30)
XkbControlsEnabledMask ok (1L<<31)
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXFeedbackMask)
XkbAllBooleanCtrlsMask ok (0x00001FFF)
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
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
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
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.
.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
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
.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
.I XkbGetControlsChanges
returns Success if successful and can generate BadAlloc, BadImplementation, and
BadMatch errors.
.SH "RETURN VALUES"
.TP 15
Success
The
.I XkbGetControlsChanges
The
.I XkbGetControlsChanges
function returns Success if the query of the server was successful.
.SH STRUCTURES
.LP
@ -219,7 +219,7 @@ Unable to allocate storage
Invalid reply from server
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
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__),

View file

@ -22,7 +22,7 @@
.\"
.TH XkbGetDeviceButtonActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetDeviceButtonActions \- Query the button actions associated with an X Input
XkbGetDeviceButtonActions \- Query the button actions associated with an X Input
Extension device
.SH SYNOPSIS
.HP
@ -52,49 +52,49 @@ number of first button for which info is desired
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
.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
.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
.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.
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
@ -107,7 +107,7 @@ Unable to allocate storage
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
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

View file

@ -22,8 +22,8 @@
.\"
.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
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
.HP
@ -53,55 +53,55 @@ feedback class for indicator requests
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.
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.
.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
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
Table 1 XkbDeviceInfoRec Mask Bits
____________________________________________________________________________________
Name XkbDeviceInfoRec Value Capability If Set
Fields Effected
Fields Effected
____________________________________________________________________________________
XkbXI_KeyboardsMask (1L <<0) Clients can use all
Xkb requests and events
with KeyClass devices
with KeyClass devices
supported by the input
device extension.
XkbXI_ButtonActionsMask num_btns (1L <<1) Clients can assign key
btn_acts actions to buttons
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
indicators on
non-KeyClass input
extension devices.
XkbXI_IndicatorStateMask leds->state (1L <<4) Clients can request
XkbXI_IndicatorStateMask leds->state (1L <<4) Clients can request
the status of indicators
on non-KeyClass input
extension devices.
@ -114,7 +114,7 @@ XkbXI_UnsupportedFeaturesMask unsupported (1L <<15)
XkbXI_AllDeviceFeaturesMask Those selected (0x1e) XkbXI_IndicatorsMask |
by Value Column XkbSI_ButtonActionsMask
masks
masks
XkbXI_AllFeaturesMask Those selected (0x1f) XkbSI_AllDeviceFeaturesMask |
by Value Column XkbSI_KeyboardsMask
@ -125,103 +125,103 @@ XkbXI_AllDetailsMask Those selected (0x801f) XkbXI_AllFeaturesMask |
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
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
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
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
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.
.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
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
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
Information about X Input Extension devices is transferred between a client program and the Xkb extension in an
XkbDeviceInfoRec structure:
.nf
@ -240,7 +240,7 @@ typedef struct {
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__),

View file

@ -22,8 +22,8 @@
.\"
.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
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
.HP
@ -45,18 +45,18 @@ structure to update with results
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
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__)

View file

@ -22,7 +22,7 @@
.\"
.TH XkbGetDeviceLedInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetDeviceLedInfo \- Query the indicator names, maps, and state associated
XkbGetDeviceLedInfo \- Query the indicator names, maps, and state associated
with an LED feedback of an input extension device
.SH SYNOPSIS
.HP
@ -52,91 +52,91 @@ LED feedback ID assigned by input extension
mask indicating desired information
.SH DESCRIPTION
.LP
.I XkbGetDeviceLedInfo
.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,
.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.
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
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.
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
@ -146,7 +146,7 @@ The Xkb extension has not been properly initialized
Unable to allocate storage
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
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

View file

@ -21,7 +21,7 @@
.\"
.TH XkbGetGeometry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetGeometry \- Loads a keyboard geometry if you already have the keyboard
XkbGetGeometry \- Loads a keyboard geometry if you already have the keyboard
description
.SH SYNOPSIS
.HP
@ -36,20 +36,20 @@ description
connection to the X server
.TP
.I xkb
keyboard description that contains the ID for the keyboard and into which the
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
.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
.I XkbGetGeometry
can return BadValue, BadImplementation, BadName, BadAlloc, or BadLength errors
or Success if it succeeds.
.SH DIAGNOSTICS
.TP 15
@ -60,7 +60,7 @@ Unable to allocate storage
Invalid reply from server
.TP 15
.B BadLength
The length of a request is shorter or longer than that required to minimally
The length of a request is shorter or longer than that required to minimally
contain the arguments
.TP 15
.B BadName

View file

@ -21,7 +21,7 @@
.\"
.TH XkbGetIndicatorMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetIndicatorMap \- Gets the map for one or more indicators, using a mask to
XkbGetIndicatorMap \- Gets the map for one or more indicators, using a mask to
specify the indicators
.SH SYNOPSIS
.HP
@ -43,32 +43,32 @@ mask of indicators for which maps should be returned
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
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
.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
.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
To free the indicator maps, use
.I XkbFreeIndicatorMaps.
.SH DIAGNOSTICS
.TP 15
@ -76,7 +76,7 @@ To free the indicator maps, use
Unable to allocate storage
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
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

View file

@ -42,37 +42,37 @@ device ID, or XkbUseCoreKbd
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
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
.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.
.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
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
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__)

View file

@ -21,7 +21,7 @@
.\"
.TH XkbGetKeyActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetKeyActions \- Update the actions (the key_acts array) for a subset of the
XkbGetKeyActions \- Update the actions (the key_acts array) for a subset of the
keys in a keyboard description
.SH SYNOPSIS
.HP
@ -47,39 +47,39 @@ number of keys desired
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
.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
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.
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

View file

@ -47,37 +47,37 @@ number of keys for which behaviors are desired
Xkb description to contain the result
.SH DESCRIPTION
.LP
.I XkbGetKeyBehaviors
sends a request to the server to obtain the behaviors for
.I num
keys on the keyboard starting with the key whose keycode is
.I first.
It waits for a reply and returns the behaviors in the
.I server->behaviors
field of
.I xkb.
If successful,
.I XkbGetKeyBehaviors
.I XkbGetKeyBehaviors
sends a request to the server to obtain the behaviors for
.I num
keys on the keyboard starting with the key whose keycode is
.I first.
It waits for a reply and returns the behaviors in the
.I server->behaviors
field of
.I xkb.
If successful,
.I XkbGetKeyBehaviors
returns Success.
If the
.I server
map in the
.I xkb
parameter has not been allocated,
.I XkbGetKeyBehaviors
If the
.I server
map in the
.I xkb
parameter has not been allocated,
.I XkbGetKeyBehaviors
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 XkbGetKeyBehaviors
returns BadAccess. If
.I num
is less than 1 or greater than XkbMaxKeyCount,
.I XkbGetKeyBehaviors
returns BadValue. If any allocation errors occur,
.I XkbGetKeyBehaviors
returns BadAlloc.
If the server does not have a compatible version of Xkb, or the Xkb extension has not been
properly initialized,
.I XkbGetKeyBehaviors
returns BadAccess. If
.I num
is less than 1 or greater than XkbMaxKeyCount,
.I XkbGetKeyBehaviors
returns BadValue. If any allocation errors occur,
.I XkbGetKeyBehaviors
returns BadAlloc.
.SH DIAGNOSTICS
.TP 15
.B BadAccess

View file

@ -22,7 +22,7 @@
.\"
.TH XkbGetKeyExplicitComponents __libmansuffix__ "20 Jul 1999" "X v11 Rel. 6.4" "XKB FUNCTION"
.SH NAME
XkbGetKeyExplicitComponents \- Obtain the explicit components (the explicit
XkbGetKeyExplicitComponents \- Obtain the explicit components (the explicit
array) for a subset of the keys in a keyboard description
.SH SYNOPSIS
.HP
@ -48,24 +48,24 @@ number of keys for which to get explicit info
Xkb description in which to put results
.SH DESCRIPTION
.LP
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 (see Core Keyboard Mapping to Xkb Keyboard
Mapping Transformation for more information on how Xkb chooses the default
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 (see Core Keyboard Mapping to Xkb Keyboard
Mapping Transformation for more information on how Xkb chooses the default
values).
DO THE FOUR PAGES OF "CORE KEYBOARD MAPPING TO XKB KEYBOARD MAPPING
DO THE FOUR PAGES OF "CORE KEYBOARD MAPPING TO XKB KEYBOARD MAPPING
TRANSFORMATION" NEED TO BE ADDED HERE?
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
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
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
@ -88,55 +88,55 @@ 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
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
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
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
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
.I XkbGetKeyExplicitComponents
sends a request to the server to obtain the explicit components for
.I num
keys on the keyboard starting with key
.I first.
It waits for a reply and returns the explicit components in the
.I server->explicit
array of
.I xkb.
If successful,
.I XkbGetKeyExplicitComponents
returns Success. The
.I xkb
.I XkbGetKeyExplicitComponents
sends a request to the server to obtain the explicit components for
.I num
keys on the keyboard starting with key
.I first.
It waits for a reply and returns the explicit components in the
.I server->explicit
array of
.I xkb.
If successful,
.I XkbGetKeyExplicitComponents
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 XkbGetKeyExplicitComponents
If the
.I server
map in the
.I xkb
parameter has not been allocated,
.I XkbGetKeyExplicitComponents
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 XkbGetKeyExplicitComponents
returns BadMatch. If
.I num
is less than 1 or greater than XkbMaxKeyCount,
.I XkbGetKeyExplicitComponents
returns BadValue. If any allocation errors occur,
.I XkbGetKeyExplicitComponents
If the server does not have a compatible version of Xkb, or the Xkb extension
has not been properly initialized,
.I XkbGetKeyExplicitComponents
returns BadMatch. If
.I num
is less than 1 or greater than XkbMaxKeyCount,
.I XkbGetKeyExplicitComponents
returns BadValue. If any allocation errors occur,
.I XkbGetKeyExplicitComponents
returns BadAlloc.
.SH DIAGNOSTICS
.TP 15
@ -144,7 +144,7 @@ returns BadAlloc.
Unable to allocate storage
.TP 15
.B BadMatch
A compatible version of Xkb was not available in the server or an argument has
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

View file

@ -21,7 +21,7 @@
.\"
.TH XkbGetKeyModifierMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetKeyModifierMap \- Update the modifier map for one or more of the keys in a
XkbGetKeyModifierMap \- Update the modifier map for one or more of the keys in a
keyboard description
.SH SYNOPSIS
.HP
@ -47,42 +47,42 @@ number of keys for which information is desired
keyboard description to update
.SH DESCRIPTION
.LP
The
.I modmap
entry of the client map is an array, indexed by keycode, specifying the real
modifiers bound to a key. Each entry is a mask composed of a bitwise inclusive
OR of the legal real modifiers: ShiftMask, LockMask, ControlMask, Mod1Mask,
Mod2Mask, Mod3Mask, Mod4Mask, and Mod5Mask. If a bit is set in a
.I modmap
The
.I modmap
entry of the client map is an array, indexed by keycode, specifying the real
modifiers bound to a key. Each entry is a mask composed of a bitwise inclusive
OR of the legal real modifiers: ShiftMask, LockMask, ControlMask, Mod1Mask,
Mod2Mask, Mod3Mask, Mod4Mask, and Mod5Mask. If a bit is set in a
.I modmap
entry, the corresponding key is bound to that modifier.
Pressing or releasing the key bound to a modifier changes the modifier set and
unset state. The particular manner in which the modifier set and unset state
Pressing or releasing the key bound to a modifier changes the modifier set and
unset state. The particular manner in which the modifier set and unset state
changes is determined by the behavior and actions assigned to the key.
.I XkbGetKeyModifierMap
sends a request to the server for the modifier mappings for
.I num
keys starting with the key whose keycode is
.I first.
It waits for a reply and places the results in the
.I xkb->map->modmap
array. If successful,
.I XkbGetKeyModifier
.I XkbGetKeyModifierMap
sends a request to the server for the modifier mappings for
.I num
keys starting with the key whose keycode is
.I first.
It waits for a reply and places the results in the
.I xkb->map->modmap
array. If successful,
.I XkbGetKeyModifier
returns Success.
If the map component of the
.I xkb
parameter has not been allocated,
.I XkbGetKeyModifierMap
allocates and initializes it.
If a compatible version of Xkb is not available in the server or the Xkb
extension has not been properly initialized,
.I XkbGetKeySyms
returns BadAccess. If any allocation errors occur while obtaining the modifier
map,
.I XkbGetKeyModifierMap
If the map component of the
.I xkb
parameter has not been allocated,
.I XkbGetKeyModifierMap
allocates and initializes it.
If a compatible version of Xkb is not available in the server or the Xkb
extension has not been properly initialized,
.I XkbGetKeySyms
returns BadAccess. If any allocation errors occur while obtaining the modifier
map,
.I XkbGetKeyModifierMap
returns BadAlloc.
.SH DIAGNOSTICS
.TP 15

View file

@ -21,7 +21,7 @@
.\"
.TH XkbGetKeySyms __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetKeySyms \- Obtain the symbols for a subset of the keys in a keyboard
XkbGetKeySyms \- Obtain the symbols for a subset of the keys in a keyboard
description
.SH SYNOPSIS
.HP
@ -41,52 +41,52 @@ connection to X server
keycode of first key to get
.TP
.I num
number of keycodes for which syms desired
number of keycodes for which syms desired
.TP
.I xkb
Xkb description to be updated
.SH DESCRIPTION
.LP
.I XkbGetKeySyms
sends a request to the server to obtain the set of keysyms bound to
.I num
keys starting with the key whose keycode is
.I first.
It waits for a reply and returns the keysyms in the
.I map.syms
field of
.I xkb.
If successful,
.I XkbGetKeySyms
returns Success. The
.I xkb
.I XkbGetKeySyms
sends a request to the server to obtain the set of keysyms bound to
.I num
keys starting with the key whose keycode is
.I first.
It waits for a reply and returns the keysyms in the
.I map.syms
field of
.I xkb.
If successful,
.I XkbGetKeySyms
returns Success. The
.I xkb
parameter must be a pointer to a valid Xkb keyboard description.
If the client
.I map
in the xkb parameter has not been allocated,
.I XkbGetKeySyms
allocates and initializes it before obtaining the symbols.
If the client
.I map
in the xkb parameter has not been allocated,
.I XkbGetKeySyms
allocates and initializes it before obtaining the symbols.
If a compatible version of Xkb is not available in the server or the Xkb
extension has not been properly initialized,
.I XkbGetKeySyms
returns BadAccess. If
.I num
is less than 1 or greater than XkbMaxKeyCount,
.I XkbGetKeySyms
returns BadValue. If any allocation errors occur,
.I XkbGetKeySyms
If a compatible version of Xkb is not available in the server or the Xkb
extension has not been properly initialized,
.I XkbGetKeySyms
returns BadAccess. If
.I num
is less than 1 or greater than XkbMaxKeyCount,
.I XkbGetKeySyms
returns BadValue. If any allocation errors occur,
.I XkbGetKeySyms
returns BadAlloc.
.SH "RETURN VALUES"
.TP 15
Success
The
.I XkbGetKeySyms
function returns Success if it gets a reply to a request to the server to obtain the set of keysyms bound to
.I num
keys starting with the key whose keycode is
.I first.
The
.I XkbGetKeySyms
function returns Success if it gets a reply to a request to the server to obtain the set of keysyms bound to
.I num
keys starting with the key whose keycode is
.I first.
.SH DIAGNOSTICS
.TP 15
.B BadAccess

View file

@ -22,7 +22,7 @@
.\"
.TH XkbGetKeyTypes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
.SH NAME
XkbGetKeyTypes \- Obtain the list of available key types in the server's
XkbGetKeyTypes \- Obtain the list of available key types in the server's
keyboard mapping
.SH SYNOPSIS
.HP
@ -48,26 +48,26 @@ number of key types to be returned
keyboard description containing client map to update
.SH DESCRIPTION
.LP
.I XkbGetKeyTypes
queries the server for the desired types, waits for a reply, and returns the
desired types in the
.I xkb->map->types.
.I XkbGetKeyTypes
queries the server for the desired types, waits for a reply, and returns the
desired types in the
.I xkb->map->types.
If successful, it returns Success.
.I XkbGetKeyTypes
returns BadAccess if the Xkb extension has not been properly initialized and
BadValue if the combination of
.I first
and
.I num
.I XkbGetKeyTypes
returns BadAccess if the Xkb extension has not been properly initialized and
BadValue if the combination of
.I first
and
.I num
results in numbers out of valid range.
.B NOTE:
.I XkbGetKeyTypes
is used to obtain descriptions of the key types themselves, not the key types
bound to individual keys. To obtain the key types bound to an individual key,
refer to the
.I key_sym_map
.B NOTE:
.I XkbGetKeyTypes
is used to obtain descriptions of the key types themselves, not the key types
bound to individual keys. To obtain the key types bound to an individual key,
refer to the
.I key_sym_map
field of the client map.
.SH DIAGNOSTICS
.TP 15

Some files were not shown because too many files have changed in this diff Show more