diff options
author | Alan Coopersmith <alan.coopersmith@oracle.com> | 2023-08-20 14:44:18 -0700 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2023-08-20 15:27:13 -0700 |
commit | 3442a8cee25dc0254ee69bcf83a89d287a86c97a (patch) | |
tree | 32abfe6079bb523fdde7aba8985c7942e0899724 | |
parent | b7a15d6c6efd0bfddc81cf8443073c4bc1c9772d (diff) |
docs: remove XkbChangeIndicators and Xkb{Get,Note}IndicatorChanges
These functions were documented but never implemented.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r-- | man/xkb/Makefile.am | 3 | ||||
-rw-r--r-- | man/xkb/XkbChangeControls.man | 1 | ||||
-rw-r--r-- | man/xkb/XkbChangeIndicators.man | 156 | ||||
-rw-r--r-- | man/xkb/XkbGetIndicatorChanges.man | 153 | ||||
-rw-r--r-- | man/xkb/XkbNoteIndicatorChanges.man | 123 | ||||
-rw-r--r-- | specs/XKB/ch08.xml | 319 |
6 files changed, 2 insertions, 753 deletions
diff --git a/man/xkb/Makefile.am b/man/xkb/Makefile.am index 27af2669..610a5684 100644 --- a/man/xkb/Makefile.am +++ b/man/xkb/Makefile.am @@ -45,7 +45,6 @@ libman_PRE = \ XkbChangeControls.man \ XkbChangeDeviceInfo.man \ XkbChangeEnabledControls.man \ - XkbChangeIndicators.man \ XkbChangeMap.man \ XkbChangeNames.man \ XkbChangeTypesOfKey.man \ @@ -94,7 +93,6 @@ libman_PRE = \ XkbGetDeviceInfoChanges.man \ XkbGetDeviceLedInfo.man \ XkbGetGeometry.man \ - XkbGetIndicatorChanges.man \ XkbGetIndicatorMap.man \ XkbGetIndicatorState.man \ XkbGetKeyActions.man \ @@ -147,7 +145,6 @@ libman_PRE = \ XkbModActionVMods.man \ XkbNoteControlsChanges.man \ XkbNoteDeviceChanges.man \ - XkbNoteIndicatorChanges.man \ XkbNoteNameChanges.man \ XkbOpenDisplay.man \ XkbOutOfRangeGroupInfo.man \ diff --git a/man/xkb/XkbChangeControls.man b/man/xkb/XkbChangeControls.man index 9ded8d20..81f78e74 100644 --- a/man/xkb/XkbChangeControls.man +++ b/man/xkb/XkbChangeControls.man @@ -312,7 +312,6 @@ typedef struct _XkbControlsChanges { XkbChangeControls(__libmansuffix__), XkbChangeDeviceInfo(__libmansuffix__), XkbChangeEnabledControls(__libmansuffix__), -XkbChangeIndicators(__libmansuffix__), XkbChangeMap(__libmansuffix__), XkbChangeNames(__libmansuffix__), XkbChangeTypesOfKey(__libmansuffix__) diff --git a/man/xkb/XkbChangeIndicators.man b/man/xkb/XkbChangeIndicators.man deleted file mode 100644 index 5c2b6814..00000000 --- a/man/xkb/XkbChangeIndicators.man +++ /dev/null @@ -1,156 +0,0 @@ -.\" Copyright (c) 1999, Oracle and/or its affiliates. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbChangeIndicators __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbChangeIndicators \- Changes indicator maps or state without passing the -entire keyboard description -.SH SYNOPSIS -.HP -.B Bool XkbChangeIndicators -.BI "(\^Display *" "dpy" "\^," -.BI "XkbDescPtr " "xkb" "\^," -.BI "XkbIndicatorChangesPtr " "changes" "\^," -.BI "unsigned int " "state" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I dpy -connection to the X server -.TP -.I xkb -keyboard description from which names are to be taken. -.TP -.I changes -indicators to be updated on the server -.TP -.I state -new state of indicators listed in changes->state_changes -.SH DESCRIPTION -.LP -The XkbIndicatorChangesRec identifies small modifications to the indicator map. -Use it with the function -.I XkbChangeIndicators -to reduce the amount of traffic sent to the server (see STRUCTURES). - -The -.I state_changes -field is a mask that specifies the indicators that have changed state, and -.I map_changes -is a mask that specifies the indicators whose maps have changed. - -.I XkbChangeIndicators -copies any maps specified by -.I changes -from the keyboard description, -.I xkb, -to the server specified by -.I dpy. -If any bits are set in the -.I state_changes -field of -.I changes, XkbChangeIndicators -also sets the state of those indicators to the values specified in the -.I state -mask. A 1 bit in -.I state -turns the corresponding indicator on, a 0 bit turns it off. - -In addition, it can also generate XkbIndicatorStateNotify and -XkbIndicatorMapNotify events. - -Whenever an indicator changes state, the server sends XkbIndicatorStateNotify events -to all interested clients. Similarly, whenever an indicator's map changes, the -server sends XkbIndicatorMapNotify events to all interested clients. - -To receive XkbIndicatorStateNotify events, use -.I XkbSelectEvents -with both the -.I bits_to_change -and -.I values_for_bits -parameters containing XkbIndicatorStateNotifyMask. To receive XkbIndicatorMapNotify -events, use -.I XkbSelectEvents -with XkbIndicatorMapNotifyMask. - -To receive events for only specific indicators, use -.I XkbSelectEventDetails. -Set the -.I event_type -parameter to XkbIndicatorStateNotify or XkbIndicatorMapNotify, and set both the -.I bits_to_change -and -.I values_for_bits -detail parameters to a mask where each bit specifies one indicator, turning on those -bits that specify the indicators for which you want to receive events. - -.I xkb_type -is either XkbIndicatorStateNotify or XkbIndicatorMapNotify, depending on whether the -event is a kbIndicatorStateNotify event or kbIndicatorMapNotify event. - -The -.I changed -parameter is a mask that is the bitwise inclusive OR of the indicators that have -changed. If the event is of type XkbIndicatorMapNotify, -.I changed -reports the maps that changed. If the event is of type XkbIndicatorStateNotify, -.I changed -reports the indicators that have changed state. -.I state -is a mask that specifies the current state of all indicators, whether they have -changed or not, for both XkbIndicatorStateNotify and IndicatorMapNotify events. -.SH STRUCTURES -.LP -.nf - typedef struct _XkbIndicatorChanges { - unsigned int state_changes; - unsigned int map_changes; - }XkbIndicatorChangesRec,*XkbIndicatorChangesPtr; - -.fi -Both types of indicator events use the same structure: - -.nf - typedef struct _XkbIndicatorNotify { - int type; /\&* Xkb extension base event code */ - unsigned long serial; /\&* X server serial number for event */ - Bool send_event; /\&* True => synthetically generated */ - Display * display; /\&* server connection where event generated */ - Time time; /\&* server time when event generated */ - int xkb_type; /\&* specifies state or map notify */ - int device; /\&* Xkb device ID, will not be XkbUseCoreKbd*/ - unsigned int changed; /\&* mask of indicators with new state or map */ - unsigned int state; /\&* current state of all indicators */ - } XkbIndicatorNotifyEvent; - -.fi -.SH DIAGNOSTICS -.TP 15 -.B BadAtom -A name is neither a valid Atom or None -.TP 15 -.B BadImplementation -Invalid reply from server -.SH "SEE ALSO" -.BR XkbIndicatorMapNotify (__libmansuffix__), -.BR XkbIndicatorStateNotify (__libmansuffix__) diff --git a/man/xkb/XkbGetIndicatorChanges.man b/man/xkb/XkbGetIndicatorChanges.man deleted file mode 100644 index e0d790d4..00000000 --- a/man/xkb/XkbGetIndicatorChanges.man +++ /dev/null @@ -1,153 +0,0 @@ -.\" Copyright (c) 1999, Oracle and/or its affiliates. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetIndicatorChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetIndicatorChanges \- Updates a local copy of the keyboard description with -the actual values of one or more calls to XkbNoteIndicatorChanges -.SH SYNOPSIS -.HP -.B Status XkbGetIndicatorChanges -.BI "(\^Display *" "dpy" "\^," -.BI "XkbDescPtr " "xkb" "\^," -.BI "XkbIndicatorChangesPtr " "changes" "\^," -.BI "unsigned int " "state" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I dpy -connection to the X server -.TP -.I xkb -keyboard description to hold the new values -.TP -.I changes -indicator maps/state to be obtained from the server -.TP -.I state -backfilled with the state of the indicators -.SH DESCRIPTION -.LP -Whenever an indicator changes state, the server sends XkbIndicatorStateNotify events to all -interested clients. Similarly, whenever an indicator's map changes, the server sends -XkbIndicatorMapNotify events to all interested clients. - -To receive XkbIndicatorStateNotify events, use -.I XkbSelectEvents -with both the -.I bits_to_change -and -.I values_for_bits -parameters containing XkbIndicatorStateNotifyMask. To receive XkbIndicatorMapNotify events, -use -.I XkbSelectEvents -with XkbIndicatorMapNotifyMask. - -To receive events for only specific indicators, use -.I XkbSelectEventDetails. -Set the -.I event_type -parameter to XkbIndicatorStateNotify or XkbIndicatorMapNotify, and set both the -.I bits_to_change -and -.I values_for_bits -detail parameters to a mask where each bit specifies one indicator, turning on those bits that -specify the indicators for which you want to receive events. - -Both types of indicator events use the same structure: -.nf - -typedef struct _XkbIndicatorNotify { - int type; /\&* Xkb extension base event code */ - unsigned long serial; /\&* X server serial number for event */ - Bool send_event; /\&* True => synthetically generated */ - Display * display; /\&* server connection where event generated */ - Time time; /\&* server time when event generated */ - int xkb_type; /\&* specifies state or map notify */ - int device; /\&* Xkb device ID, will not be XkbUseCoreKbd */ - unsigned int changed; /\&* mask of indicators with new state or map */ - unsigned int state; /\&* current state of all indicators */ -} XkbIndicatorNotifyEvent; - -.fi -.I xkb_type -is either XkbIndicatorStateNotify or XkbIndicatorMapNotify, depending on whether the event is -a kbIndicatorStateNotify event or kbIndicatorMapNotify event. - -The -.I changed -parameter is a mask that is the bitwise inclusive OR of the indicators that have changed. If -the event is of type XkbIndicatorMapNotify, -.I changed -reports the maps that changed. If the event is of type XkbIndicatorStateNotify, -.I changed -reports the indicators that have changed state. -.I state -is a mask that specifies the current state of all indicators, whether they have changed or -not, for both XkbIndicatorStateNotify and IndicatorMapNotify events. - -When your client application receives either a XkbIndicatorStateNotify event or -XkbIndicatorMapNotify event, you can note the changes in a changes structure by calling -.I XkbNoteIndicatorChanges. - -.I XkbGetIndicatorChanges -examines the -.I changes -parameter, pulls over the necessary information from the server, and copies the -results into the -.I xkb -keyboard description. If any bits are set in the -.I state_changes -field of -.I changes, XkbGetIndicatorChanges -also places the state of those indicators in -.I state. -If the -.I indicators -field of -.I xkb -is NULL, -.I XkbGetIndicatorChanges -allocates and initializes it. To free the -.I indicators -field, use -.I XkbFreeIndicators. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadImplementation -Invalid reply from server -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.SH "SEE ALSO" -.BR XkbFreeIndicators (__libmansuffix__), -.BR XkbGetIndicatorChanges (__libmansuffix__), -.BR XkbNoteIndicatorChanges (__libmansuffix__), -.BR XkbSelectEvents (__libmansuffix__), -.BR XkbSelectEventDetail (__libmansuffix__) - - - diff --git a/man/xkb/XkbNoteIndicatorChanges.man b/man/xkb/XkbNoteIndicatorChanges.man deleted file mode 100644 index 9eea5f9d..00000000 --- a/man/xkb/XkbNoteIndicatorChanges.man +++ /dev/null @@ -1,123 +0,0 @@ -.\" Copyright (c) 1999, Oracle and/or its affiliates. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbNoteIndicatorChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbNoteIndicatorChanges \- Notes the changes in a changes structure -.SH SYNOPSIS -.HP -.B void XkbNoteIndicatorChanges -.BI "(\^XkbIndicatorChangesPtr " "old" "\^," -.BI "XkbIndicatorNotifyEvent *" "new" "\^," -.BI "unsigned int " "wanted" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I old -XkbIndicatorChanges structure to be updated -.TP -.I new -event from which changes are to be copied -.TP -.I wanted -which changes are to be noted -.SH DESCRIPTION -.LP -Whenever an indicator changes state, the server sends XkbIndicatorStateNotify events to all -interested clients. Similarly, whenever an indicator's map changes, the server sends -XkbIndicatorMapNotify events to all interested clients. - -To receive XkbIndicatorStateNotify events, use -.I XkbSelectEvents -with both the -.I bits_to_change -and -.I values_for_bits -parameters containing XkbIndicatorStateNotifyMask. To receive XkbIndicatorMapNotify events, -use -.I XkbSelectEvents -with XkbIndicatorMapNotifyMask. - -To receive events for only specific indicators, use -.I XkbSelectEventDetails. -Set the -.I event_type -parameter to XkbIndicatorStateNotify or XkbIndicatorMapNotify, and set both the -.I bits_to_change -and -.I values_for_bits -detail parameters to a mask where each bit specifies one indicator, turning on those bits that -specify the indicators for which you want to receive events. - -The -.I changed -parameter is a mask that is the bitwise inclusive OR of the indicators that have changed. If -the event is of type XkbIndicatorMapNotify, -.I changed -reports the maps that changed. If the event is of type XkbIndicatorStateNotify, -.I changed -reports the indicators that have changed state. -.I state -is a mask that specifies the current state of all indicators, whether they have changed or -not, for both XkbIndicatorStateNotify and IndicatorMapNotify events. - -When your client application receives either a XkbIndicatorStateNotify event or -XkbIndicatorMapNotify event, you can note the changes in a changes structure by calling -.I XkbNoteIndicatorChanges. - - -The -.I wanted -parameter is the bitwise inclusive OR of XkbIndicatorMapMask and -XkbIndicatorStateMask. -.I XkbNoteIndicatorChanges -copies any changes reported in -.I new -and specified in -.I wanted -into the changes record specified by -.I old. -.SH STRUCTURES -Both types of indicator events use the same structure: -.nf - -typedef struct _XkbIndicatorNotify { - int type; /\&* Xkb extension base event code */ - unsigned long serial; /\&* X server serial number for event */ - Bool send_event; /\&* True => synthetically generated */ - Display * display; /\&* server connection where event generated */ - Time time; /\&* server time when event generated */ - int xkb_type; /\&* specifies state or map notify */ - int device; /\&* Xkb device ID, will not be XkbUseCoreKbd */ - unsigned int changed; /\&* mask of indicators with new state or map */ - unsigned int state; /\&* current state of all indicators */ -} XkbIndicatorNotifyEvent; - -.fi -.I xkb_type -is either XkbIndicatorStateNotify or XkbIndicatorMapNotify, depending on whether the event is -a kbIndicatorStateNotify event or kbIndicatorMapNotify event. -.SH "SEE ALSO" -.BR XkbIndicatorMapMask (__libmansuffix__), -.BR XkbIndicatorStateMask (__libmansuffix__), -.BR XkbSelectEventDetails (__libmansuffix__), -.BR XkbSelectEvents (__libmansuffix__) diff --git a/specs/XKB/ch08.xml b/specs/XKB/ch08.xml index aa308c0b..0e532e8a 100644 --- a/specs/XKB/ch08.xml +++ b/specs/XKB/ch08.xml @@ -1346,15 +1346,11 @@ field of the indicators structure. The only way to change the field is to change the keyboard map.</para></note> <para> -There are two ways to make changes to indicator maps and state: either change a +To make changes to indicator maps and state, change a local copy of the indicator maps and use <function>XkbSetIndicatorMap</function> or -<function>XkbSetNamedDeviceIndicator</function>, -or, to reduce network traffic, use an -<structname>XkbIndicatorChangesRec</structname> -structure and use -<function>XkbChangeIndicators</function>. +<function>XkbSetNamedDeviceIndicator</function>. </para> @@ -1852,135 +1848,7 @@ and returns the value which was returned by </para> </sect2> -<sect2 id='XkbIndicatorChangesRec'> -<title>The XkbIndicatorChangesRec Structure</title> - -<indexterm significance="preferred" zone="XkbIndicatorChangesRec"> -<primary><structname>XkbIndicatorChangesRec</structname></primary></indexterm> - -<para> -The -<structname>XkbIndicatorChangesRec</structname> -identifies small modifications to the indicator map. Use it with the function -<function>XkbChangeIndicators</function> -to reduce the amount of traffic sent to the server. -</para> - -<para><programlisting> -typedef struct _XkbIndicatorChanges { - unsigned int state_changes; - unsigned int map_changes; -} <structname>XkbIndicatorChangesRec</structname>,*XkbIndicatorChangesPtr; -</programlisting></para> - -<para> -The -<structfield>state_changes</structfield> -field is a mask that specifies the indicators that have changed state, and -<structfield>map_changes</structfield> -is a mask that specifies the indicators whose maps have changed. -</para> - -<para> -To change indicator maps or state without passing the entire keyboard -description, use -<function>XkbChangeIndicators</function>. -</para> - -<indexterm significance="preferred" zone="XkbChangeIndicators"><primary><function>XkbChangeIndicators</function></primary></indexterm> -<funcsynopsis id="XkbChangeIndicators"> - <funcprototype> - <funcdef>Bool <function>XkbChangeIndicators</function></funcdef> -<!-- ( -<parameter>dpy, xkb, changes, state</parameter> -) --> - - <paramdef>Display *<parameter>dpy</parameter></paramdef> - <paramdef>XkbDescPtr <parameter>xkb</parameter></paramdef> - <paramdef>XkbIndicatorChangesPtr <parameter>changes</parameter></paramdef> - <paramdef>unsigned int <parameter>state</parameter></paramdef> - </funcprototype> -</funcsynopsis> -<variablelist> - <varlistentry> - <term> - <parameter>dpy</parameter> - </term> - <listitem> - <para> - connection to the X server - </para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <parameter>xkb</parameter> - </term> - <listitem> - <para> - keyboard description from which names are to be taken. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <parameter>changes</parameter> - </term> - <listitem> - <para> - indicators to be updated on the server - </para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <parameter>state</parameter> - </term> - <listitem> - <para> - new state of indicators listed in <parameter>changes</parameter>-><structfield>state_changes</structfield> - </para> - </listitem> - </varlistentry> -</variablelist> - -<para> -<function>XkbChangeIndicators</function> -copies any maps specified by -<parameter>changes</parameter> -from the keyboard description, -<parameter>xkb</parameter>, -to the server specified by -<parameter>dpy</parameter>. -If any bits are set in the -<structfield>state_changes</structfield> -field of -<parameter>changes</parameter>, -<function>XkbChangeIndicators</function> -also sets the state of those indicators to the values specified in the -<parameter>state</parameter> -mask. A 1 bit in -<parameter>state</parameter> -turns the corresponding indicator on, a 0 bit turns it off. -</para> - - -<para> -<function>XkbChangeIndicators</function> -can generate -<errorname>BadAtom</errorname> -and -<errorname>BadImplementation</errorname> -errors. In addition, it can also generate -<symbol>XkbIndicatorStateNotify</symbol> -and -<symbol>XkbIndicatorMapNotify</symbol> -events (see <link linkend="Tracking_Changes_to_Indicator_State_or_Map">section 8.5</link>). -</para> - - -</sect2> </sect1> <sect1 id='Tracking_Changes_to_Indicator_State_or_Map'> <title>Tracking Changes to Indicator State or Map</title> @@ -2091,189 +1959,6 @@ have changed or not, for both and <symbol>XkbIndicatorMapNotify</symbol> events. </para> -<para> -When your client application receives either a -<symbol>XkbIndicatorStateNotify</symbol> -event or -<symbol>XkbIndicatorMapNotify</symbol> -event, you can note the changes in a changes structure by calling -<function>XkbNoteIndicatorChanges</function>. -</para> - -<indexterm significance="preferred" zone="XkbNoteIndicatorChanges"><primary><function>XkbNoteIndicatorChanges</function></primary></indexterm> -<funcsynopsis id="XkbNoteIndicatorChanges"> - <funcprototype> - <funcdef>void <function>XkbNoteIndicatorChanges</function></funcdef> -<!-- ( -<parameter>old</parameter>, -<parameter>new</parameter>, -<parameter>wanted</parameter> -) --> - - <paramdef>XkbIndicatorChangesPtr <parameter>old</parameter></paramdef> - <paramdef>XkbIndicatorNotifyEvent *<parameter>new</parameter></paramdef> - <paramdef>unsigned int <parameter>wanted</parameter></paramdef> - </funcprototype> -</funcsynopsis> -<variablelist> - <varlistentry> - <term> - <parameter>old</parameter> - </term> - <listitem> - <para> - XkbIndicatorChanges structure to be updated - </para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <parameter>new</parameter> - </term> - <listitem> - <para> - event from which changes are to be copied - </para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <parameter>wanted</parameter> - </term> - <listitem> - <para> - which changes are to be noted - </para> - </listitem> - </varlistentry> -</variablelist> - -<para> -The -<parameter>wanted</parameter> -parameter is the bitwise inclusive OR of -<symbol>XkbIndicatorMapMask</symbol> -and -<emphasis>XkbIndicatorStateMask</emphasis>. -<function>XkbNoteIndicatorChanges</function> -copies any changes reported in -<parameter>new</parameter> -and specified in -<parameter>wanted</parameter> -into the changes record specified by -<parameter>old</parameter>. -</para> - - -<para> -To update a local copy of the keyboard description with the actual values, pass -the results of one or more calls to -<function>XkbNoteIndicatorChanges</function> -to -<function>XkbGetIndicatorChanges</function>: -</para> - - -<indexterm significance="preferred" zone="XkbGetIndicatorChanges"><primary><function>XkbGetIndicatorChanges</function></primary></indexterm> -<funcsynopsis id="XkbGetIndicatorChanges"> - <funcprototype> - <funcdef>Status <function>XkbGetIndicatorChanges</function></funcdef> -<!-- ( -<parameter>dpy</parameter>, -<parameter>xkb</parameter>, -<parameter>changes</parameter>, -<parameter>state</parameter> -) --> - - <paramdef>Display *<parameter>dpy</parameter></paramdef> - <paramdef>XkbDescPtr <parameter>xkb</parameter></paramdef> - <paramdef>XkbIndicatorChangesPtr <parameter>changes</parameter></paramdef> - <paramdef>unsigned int *<parameter>state</parameter></paramdef> - </funcprototype> -</funcsynopsis> -<variablelist> - <varlistentry> - <term> - <parameter>dpy</parameter> - </term> - <listitem> - <para> - connection to the X server - </para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <parameter>xkb</parameter> - </term> - <listitem> - <para> - keyboard description to hold the new values - </para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <parameter>changes</parameter> - </term> - <listitem> - <para> - indicator maps/state to be obtained from the server - </para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <parameter>state</parameter> - </term> - <listitem> - <para> - backfilled with the state of the indicators - </para> - </listitem> - </varlistentry> -</variablelist> - -<para> -<function>XkbGetIndicatorChanges</function> -examines the -<parameter>changes</parameter> -parameter, pulls over the necessary information from the server, and copies -the results into the -<parameter>xkb</parameter> -keyboard description. If any bits are set in the -<structfield>state_changes</structfield> -field of -<parameter>changes</parameter>, -<function>XkbGetIndicatorChanges</function> -also places the state of those indicators in -<parameter>state</parameter>. -If the -<structfield>indicators</structfield> -field of -<parameter>xkb</parameter> -is -<symbol>NULL</symbol>, -<function>XkbGetIndicatorChanges</function> -allocates and initializes it. To free the -<structfield>indicators</structfield> -field, use -<function>XkbFreeIndicatorMaps</function> -(see <link linkend="Allocating_and_Freeing_Indicator_Maps">section 8.6</link>). -</para> - - -<para> -<function>XkbGetIndicatorChanges</function> -can generate -<errorname>BadAlloc</errorname>, -<errorname>BadImplementation</errorname>, -and -<errorname>BadMatch</errorname> -errors. -</para> - - </sect1> <sect1 id='Allocating_and_Freeing_Indicator_Maps'> <title>Allocating and Freeing Indicator Maps</title> |