[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libxi: Changes to 'upstream-experimental'



 Makefile.am                      |    2 
 configure.ac                     |   49 -
 doc/.gitignore                   |    6 
 doc/Makefile.am                  |   66 --
 doc/porting.xml                  | 1209 ---------------------------------------
 docbook.am                       |  105 +++
 include/X11/extensions/XInput2.h |   13 
 man/Makefile.am                  |   15 
 man/XGetExtensionVersion.txt     |   11 
 man/XGetFeedbackControl.txt      |   55 -
 man/XIChangeHierarchy.txt        |    3 
 man/XIChangeProperty.txt         |   16 
 man/XIGrabButton.txt             |   21 
 man/XIGrabDevice.txt             |   15 
 man/XIGrabEnter.txt              |   21 
 man/XIQueryDevice.txt            |   41 +
 man/XIQueryPointer.txt           |    3 
 specs/.gitignore                 |    3 
 specs/Makefile.am                |   68 --
 specs/encoding.xml               |    2 
 specs/inputlib.xml               |   47 -
 specs/library.xml                |  446 +++++++-------
 src/Makefile.am                  |   11 
 src/XExtInt.c                    |  103 ++-
 src/XIAllowEvents.c              |    2 
 src/XIDefineCursor.c             |    2 
 src/XIGetDevFocus.c              |    2 
 src/XIGrabDevice.c               |   10 
 src/XIHierarchy.c                |    5 
 src/XIPassiveGrab.c              |   10 
 src/XIProperties.c               |    8 
 src/XIQueryDevice.c              |   14 
 src/XIQueryPointer.c             |    5 
 src/XISelEv.c                    |    6 
 src/XISetCPtr.c                  |   62 ++
 src/XISetDevFocus.c              |    2 
 src/XIWarpPointer.c              |    2 
 src/XIint.h                      |   15 
 src/XListDProp.c                 |    2 
 src/XSetCPtr.c                   |   62 --
 src/XSndExEv.c                   |   11 
 41 files changed, 762 insertions(+), 1789 deletions(-)

New commits:
commit c25debae73be50b9a77454ed4d72ffeaab726846
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Oct 10 10:24:38 2011 +1000

    Bump to 1.4.99.1
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/configure.ac b/configure.ac
index 245e0f6..10d2e5d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 
 # Initialize Autoconf
 AC_PREREQ([2.60])
-AC_INIT([libXi], [1.4.99],
+AC_INIT([libXi], [1.4.99.1],
 	[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXi])
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([src/config.h])

commit 7ca05f3094958c04e8f78a786061124c58f8e1f3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Sep 28 11:16:42 2011 +1000

    Remove superfluous assignment of lib->classes in XIQueryDevices.
    
    A few lines south from here we malloc lib->classes, this assignment is a
    leftover from 225071e2e67fb65a0258397212f9826c9b25e078.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

diff --git a/src/XIQueryDevice.c b/src/XIQueryDevice.c
index 464ab4d..af2f27a 100644
--- a/src/XIQueryDevice.c
+++ b/src/XIQueryDevice.c
@@ -78,7 +78,6 @@ XIQueryDevice(Display *dpy, int deviceid, int *ndevices_return)
         lib->use         = wire->use;
         lib->attachment  = wire->attachment;
         lib->enabled     = wire->enabled;
-        lib->classes     = (XIAnyClassInfo**)&lib[1];
         nclasses         = wire->num_classes;
 
         ptr += sizeof(xXIDeviceInfo);

commit e97c3dd00369b47af067e30e910335b199a2f147
Author: Matt Dew <marcoz@osource.org>
Date:   Mon Oct 3 22:05:51 2011 -0600

        1 - fix the capitalization of the ID attriutes to match either the
            <title> or <funcdef> string it goes with.
        2 - fix any <linkend>'s that were affected by 1.
        3 - any <function> in the docs that has an actual funcdef,
            will become an olink.
    
        Signed-off-by: Matt Dew <marcoz@osource.org>

diff --git a/specs/encoding.xml b/specs/encoding.xml
index 7b4bceb..33318d1 100644
--- a/specs/encoding.xml
+++ b/specs/encoding.xml
@@ -1,4 +1,4 @@
-<appendix id="input_extension_protocol_encoding">
+<appendix id="Input_Extension_Protocol_Encoding">
 <title>Input Extension Protocol Encoding</title>
 <para>
 <function>Syntactic Conventions</function>
diff --git a/specs/library.xml b/specs/library.xml
index 4a51e09..b65b234 100644
--- a/specs/library.xml
+++ b/specs/library.xml
@@ -1,5 +1,5 @@
 <chapter><title>Input Extension</title>
-<sect1 id="Input_Extension_Overview">
+<sect1 id='Overview'>
 <title>Overview</title>
 <!-- .XS -->
 <!-- (SN Input Extension Overview -->
@@ -211,7 +211,7 @@ The device supports feedbacks.
 <!-- .LP -->
 Additional classes may be added in the future.
 Functions that support multiple input classes, such as the 
-<function>XListInputDevices</function>
+<xref linkend='XListInputDevices' xrefstyle='select: title'/>
 function that lists all available input devices,
 organize the data they return by input class.  Client programs that
 use these functions should not access data unless it matches a 
@@ -235,24 +235,24 @@ that a client would make is as follows:
 <itemizedlist>
   <listitem>
     <para>
-<function>XListInputDevices</function>
+<xref linkend='XListInputDevices' xrefstyle='select: title'/>
 - lists all of the available input devices.  From the 
 information returned by this request, determine whether the desired input
 device is attached to the server.  For a description of the 
-<function>XListInputDevices</function>
+<xref linkend='XListInputDevices' xrefstyle='select: title'/>
 request, see the section entitled ``Listing Available Devices.''
     </para>
   </listitem>
   <listitem>
     <para>
-<function>XOpenDevice</function>
+<xref linkend='XOpenDevice' xrefstyle='select: title'/>
 - requests that the server open the device for access by this client.
 This request returns an 
 <function>XDevice</function>
 structure that is used
 by most other input extension requests to identify the specified device.
 For a description of the 
-<function>XOpenDevice</function>
+<xref linkend='XOpenDevice' xrefstyle='select: title'/>
 request, see the section entitled ``Enabling and Disabling Extension Devices.''
     </para>
   </listitem>
@@ -269,7 +269,7 @@ see the section entitled ``Selecting Extension Device Events.''
   </listitem>
   <listitem>
     <para>
-<function>XSelectExtensionEvent</function>
+<xref linkend='XSelectExtensionEvent' xrefstyle='select: title'/>
 - selects the desired events from the server.
 For a description of the 
 <function>XSelextExtensionEvent</function>
@@ -278,9 +278,9 @@ request, see the section entitled ``Selecting Extension Device Events.''
   </listitem>
   <listitem>
     <para>
-<function>XNextEvent</function>
+<olink targetdoc='libX11' targetptr='XNextEvent'><function>XNextEvent</function></olink>
 - receives the next available event.  This is the core
-<function>XNextEvent</function>
+<olink targetdoc='libX11' targetptr='XNextEvent'><function>XNextEvent</function></olink>
 function provided by the standard X libarary.
     </para>
   </listitem>
@@ -457,7 +457,7 @@ is treated as a core device until it is in turn replaced by another
 request or until the server terminates.  The termination
 of the client that changed the device will not cause it to change back.
 Attempts to use the
-<function>XCloseDevice</function>
+<xref linkend='XCloseDevice' xrefstyle='select: title'/>
 request to close the new core device will fail with a
 <function>BadDevice</function>
 error.
@@ -466,7 +466,7 @@ error.
 <para>
 <!-- .LP -->
 To change which physical device is used as the X keyboard, use the 
-<function>XChangeKeyboardDevice</function>
+<xref linkend='XChangeKeyboardDevice' xrefstyle='select: title'/>
 function.
 The specified device must support input class 
 <function>Keys</function>
@@ -479,7 +479,7 @@ error.
 <para>
 <!-- .LP -->
 <!-- .sM -->
-<funcsynopsis id='xchangekeyboarddevice'>
+<funcsynopsis id='XChangeKeyboardDevice'>
 <funcprototype>
   <funcdef>int <function> XChangeKeyboardDevice</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -514,7 +514,7 @@ Specifies the desired device.
 <!-- .LP -->
 <!-- .eM -->
 If no error occurs, 
-<function>XChangeKeyboardDevice</function>
+<xref linkend='XChangeKeyboardDevice' xrefstyle='select: title'/>
 returns 
 <function>Success .</function>
 A 
@@ -534,7 +534,7 @@ the focus state of the old X keyboard.
 </para>
 <para>
 <!-- .LP -->
-<function>XChangeKeyboardDevice</function>
+<xref linkend='XChangeKeyboardDevice' xrefstyle='select: title'/>
 can generate
 <function>AlreadyGrabbed ,</function>
 <function>BadDevice ,</function>
@@ -548,12 +548,12 @@ errors.
 <!-- .LP -->
 To change which physical device is used as the X pointer,
 use the
-<function>XChangePointerDevice</function>
+<xref linkend='XChangePointerDevice' xrefstyle='select: title'/>
 function.
 The specified device must support input class 
 <function>Valuators</function>
 (as reported in the
-<function>XListInputDevices</function>
+<xref linkend='XListInputDevices' xrefstyle='select: title'/>
 request) and report at least two axes of motion,
 or the request will fail with a 
 <function>BadMatch</function>
@@ -570,7 +570,7 @@ X pointer, the request will fail with a
 <function>BadDevice</function>
 error.
 <!-- .sM -->
-<funcsynopsis id='xchangepointerdevice'>
+<funcsynopsis id='XChangePointerDevice'>
 <funcprototype>
   <funcdef>int <function> XChangePointerDevice</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -629,7 +629,7 @@ pointer device.
 <!-- .LP -->
 <!-- .eM -->
 If no error occurs, 
-<function>XChangePointerDevice</function>
+<xref linkend='XChangePointerDevice' xrefstyle='select: title'/>
 returns 
 <function>Success .</function>
 A 
@@ -647,7 +647,7 @@ available as an extension input device.
 </para>
 <para>
 <!-- .LP -->
-<function>XChangePointerDevice</function>
+<xref linkend='XChangePointerDevice' xrefstyle='select: title'/>
 can generate
 <function>AlreadyGrabbed ,</function>
 <function>BadDevice ,</function>
@@ -674,15 +674,15 @@ with a single request.
 The core grab requests require a pointer_mode and keyboard_mode
 argument.  The meaning of these modes is changed by the input extension.
 For the
-<function>XGrabPointer</function>
+<olink targetdoc='libX11' targetptr='XGrabPointer'><function>XGrabPointer</function></olink>
 and 
-<function>XGrabButton</function>
+<olink targetdoc='libX11' targetptr='XGrabButton'><function>XGrabButton</function></olink>
 requests, pointer_mode controls synchronization of the pointer device, 
 and keyboard_mode controls the synchronization of all other input devices.  
 For the 
-<function>XGrabKeyboard</function>
+<olink targetdoc='libX11' targetptr='XGrabKeyboard'><function>XGrabKeyboard</function></olink>
 and
-<function>XGrabKey</function>
+<olink targetdoc='libX11' targetptr='XGrabKey'><function>XGrabKey</function></olink>
 requests, pointer_mode controls the synchronization
 of all input devices, except the X keyboard, while keyboard_mode controls
 the synchronization of the keyboard.  When using one of the core grab
@@ -699,40 +699,40 @@ is controlled by the mode specified for the device not being grabbed.
 <!-- .LP -->
 Active grabs of
 extension devices are supported via the 
-<function>XGrabDevice</function>
+<xref linkend='XGrabDevice' xrefstyle='select: title'/>
 function in the same way that core devices are grabbed using the core 
-<function>XGrabKeyboard</function>
+<olink targetdoc='libX11' targetptr='XGrabKeyboard'><function>XGrabKeyboard</function></olink>
 function, except that an extension input device
 is passed as a function parameter.  
 The 
-<function>XUngrabDevice</function>
+<xref linkend='XUngrabDevice' xrefstyle='select: title'/>
 function allows a previous active grab for an extension device to be released.
 </para>
 <para>
 <!-- .LP -->
 Passive grabs of buttons and keys on extension devices are supported
 via the 
-<function>XGrabDeviceButton</function>
+<xref linkend='XGrabDeviceButton' xrefstyle='select: title'/>
 and 
-<function>XGrabDeviceKey</function>
+<xref linkend='XGrabDeviceKey' xrefstyle='select: title'/>
 functions.
 These passive grabs are released via the
-<function>XUngrabDeviceKey</function>
+<xref linkend='XUngrabDeviceKey' xrefstyle='select: title'/>
 and
-<function>XUngrabDeviceButton</function>
+<xref linkend='XUngrabDeviceButton' xrefstyle='select: title'/>
 functions.
 <!-- .sp -->
 </para>
 <para>
 <!-- .LP -->
 To grab an extension device, use the
-<function>XGrabDevice</function>
+<xref linkend='XGrabDevice' xrefstyle='select: title'/>
 function.
 The device must have previously been opened using the
-<function>XOpenDevice</function>
+<xref linkend='XOpenDevice' xrefstyle='select: title'/>
 function.
 <!-- .sM -->
-<funcsynopsis id='xgrabdevice'>
+<funcsynopsis id='XGrabDevice'>
 <funcprototype>
   <funcdef>int <function> XGrabDevice</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -859,7 +859,7 @@ milliseconds or
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XGrabDevice</function>
+<xref linkend='XGrabDevice' xrefstyle='select: title'/>
 actively grabs an extension input device and generates 
 <function>DeviceFocusIn</function>
 and 
@@ -903,7 +903,7 @@ the state of the grabbed device
 (as seen by client applications) appears to freeze,
 and no further device events are generated by the server until the
 grabbing client issues a releasing 
-<function>XAllowDeviceEvents</function>
+<xref linkend='XAllowDeviceEvents' xrefstyle='select: title'/>
 call or until the device grab is released.
 Actual device input events are not lost while the device is frozen; they are
 simply queued for later processing.
@@ -921,9 +921,9 @@ the state of all devices except the grabbed device
 (as seen by client applications) appears to freeze, and no further
 events are generated by the server until the grabbing client issues a
 releasing 
-<function>XAllowEvents</function>
+<olink targetdoc='libX11' targetptr='XAllowEvents'><function>XAllowEvents</function></olink>
 or 
-<function>XAllowDeviceEvents</function>
+<xref linkend='XAllowDeviceEvents' xrefstyle='select: title'/>
 call or until the device grab is released.
 Actual events are not lost
 while the other devices are frozen; they are simply queued for later
@@ -933,7 +933,7 @@ processing.
 </itemizedlist>
 <para>
 <!-- .LP -->
-<function>XGrabDevice</function>
+<xref linkend='XGrabDevice' xrefstyle='select: title'/>
 fails on the following conditions:
 </para>
 <itemizedlist>
@@ -979,7 +979,7 @@ of the requesting client, it is thawed.
 </para>
 <para>
 <!-- .LP -->
-<function>XGrabDevice</function>
+<xref linkend='XGrabDevice' xrefstyle='select: title'/>
 can generate
 <function>BadClass ,</function>
 <function>BadDevice ,</function>
@@ -992,13 +992,13 @@ errors.
 <para>
 <!-- .LP -->
 To release a grab of an extension device, use the
-<function>XUngrabDevice</function>
+<xref linkend='XUngrabDevice' xrefstyle='select: title'/>
 function.
 </para>
 <para>
 <!-- .LP -->
 <!-- .sM -->
-<funcsynopsis id='xungrabdevice'>
+<funcsynopsis id='XUngrabDevice'>
 <funcprototype>
   <funcdef>int <function> XUngrabDevice</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -1045,14 +1045,14 @@ milliseconds, or
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XUngrabDevice</function>
+<xref linkend='XUngrabDevice' xrefstyle='select: title'/>
 allows a client to release an extension input device and any
 queued events if this client has it grabbed from either
-<function>XGrabDevice</function>
+<xref linkend='XGrabDevice' xrefstyle='select: title'/>
 or
 <function>XGrabDeviceKey .</function>
 If any other devices are frozen by the grab,
-<function>XUngrabDevice</function>
+<xref linkend='XUngrabDevice' xrefstyle='select: title'/>
 thaws them. 
 This function does not release the device and any
 queued events if the specified time is earlier than the last-device-grab
@@ -1061,13 +1061,13 @@ time or is later than the current X server time.  It also generates
 and 
 <function>DeviceFocusOut</function>
 events.  The X server automatically performs an
-<function>XUngrabDevice</function>
+<xref linkend='XUngrabDevice' xrefstyle='select: title'/>
 if the event window for an active device grab becomes not viewable
 or if the client terminates without releasing the grab.
 </para>
 <para>
 <!-- .LP -->
-<function>XUngrabDevice</function>
+<xref linkend='XUngrabDevice' xrefstyle='select: title'/>
 can generate
 <function>BadDevice</function>
 errors.
@@ -1083,7 +1083,7 @@ errors.
 To passively grab a single key on an extension device, use
 <function>XGrabDeviceKey .</function>
 That device must have previously been opened using the
-<function>XOpenDevice</function>
+<xref linkend='XOpenDevice' xrefstyle='select: title'/>
 function, or the request will fail with a
 <function>BadDevice</function>
 error.  
@@ -1093,7 +1093,7 @@ the request will fail with a
 <function>BadMatch</function>
 error.
 <!-- .sM -->
-<funcsynopsis id='xgrabdevicekey'>
+<funcsynopsis id='XGrabDeviceKey'>
 <funcprototype>
   <funcdef>int <function> XGrabDeviceKey</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -1265,13 +1265,13 @@ or
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XGrabDeviceKey</function>
+<xref linkend='XGrabDeviceKey' xrefstyle='select: title'/>
 is analogous to the core 
-<function>XGrabKey</function>
+<olink targetdoc='libX11' targetptr='XGrabKey'><function>XGrabKey</function></olink>
 function.  It creates an
 explicit passive grab for a key on an extension device.
 The 
-<function>XGrabDeviceKey</function>
+<xref linkend='XGrabDeviceKey' xrefstyle='select: title'/>
 function establishes a passive grab on a device.
 Consequently, in the future, 
 </para>
@@ -1341,21 +1341,21 @@ is equivalent to issuing
 the request for all possible keycodes.  Otherwise, the key must be in
 the range specified by min_keycode and max_keycode in the 
 information returned by the
-<function>XListInputDevices</function>
+<xref linkend='XListInputDevices' xrefstyle='select: title'/>
 function.
 If it is not within that range, 
-<function>XGrabDeviceKey</function>
+<xref linkend='XGrabDeviceKey' xrefstyle='select: title'/>
 generates a
 <function>BadValue</function>
 error.
 </para>
 <para>
 <!-- .LP -->
-<function>XGrabDeviceKey</function>
+<xref linkend='XGrabDeviceKey' xrefstyle='select: title'/>
 generates a
 <function>BadAccess</function>
 error if some other client has issued a 
-<function>XGrabDeviceKey</function>
+<xref linkend='XGrabDeviceKey' xrefstyle='select: title'/>
 with the same device and key combination on the same window.
 When using
 <function>AnyModifier</function>
@@ -1368,14 +1368,14 @@ for any combination.
 </para>
 <para>
 <!-- .LP -->
-<function>XGrabDeviceKey</function>
+<xref linkend='XGrabDeviceKey' xrefstyle='select: title'/>
 returns
 <function>Success</function>
 upon successful completion of the request.
 </para>
 <para>
 <!-- .LP -->
-<function>XGrabDeviceKey</function>
+<xref linkend='XGrabDeviceKey' xrefstyle='select: title'/>
 can generate
 <function>BadAccess ,</function>
 <function>BadClass ,</function>
@@ -1392,7 +1392,7 @@ errors.
 To release a passive grab of a single key on an extension device, use
 <function>XUngrabDeviceKey .</function>
 <!-- .sM -->
-<funcsynopsis id='xungrabdevicekey'>
+<funcsynopsis id='XUngrabDeviceKey'>
 <funcprototype>
   <funcdef>int <function> XUngrabDeviceKey</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -1497,15 +1497,15 @@ Specifies the ID of a window associated with the device specified above.
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XUngrabDeviceKey</function>
+<xref linkend='XUngrabDeviceKey' xrefstyle='select: title'/>
 is analogous to the core
-<function>XUngrabKey</function>
+<olink targetdoc='libX11' targetptr='XUngrabKey'><function>XUngrabKey</function></olink>
 function.  It releases an explicit passive grab for a key 
 on an extension input device.
 </para>
 <para>
 <!-- .LP -->
-<function>XUngrabDeviceKey</function>
+<xref linkend='XUngrabDeviceKey' xrefstyle='select: title'/>
 can generate
 <function>BadAlloc ,</function>
 <function>BadDevice ,</function>
@@ -1526,7 +1526,7 @@ errors.
 To establish a passive grab for a single button on an extension device, use
 <function>XGrabDeviceButton .</function>
 The specified device must have previously been opened using the
-<function>XOpenDevice</function>
+<xref linkend='XOpenDevice' xrefstyle='select: title'/>
 function, or the request will fail with a 
 <function>BadDevice</function>
 error.  If the specified device does not support input class
@@ -1535,7 +1535,7 @@ the request will fail with a
 <function>BadMatch</function>
 error.
 <!-- .sM -->
-<funcsynopsis id='xgrabdevicebutton'>
+<funcsynopsis id='XGrabDeviceButton'>
 <funcprototype>
   <funcdef>int <function> XGrabDeviceButton</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -1707,22 +1707,22 @@ or
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XGrabDeviceButton </function>
+<xref linkend='XGrabDeviceButton' xrefstyle='select: title'/>
 is analogous to the core
-<function>XGrabButton</function>
+<olink targetdoc='libX11' targetptr='XGrabButton'><function>XGrabButton</function></olink>
 function.  
 It creates an explicit passive grab for a button on an extension input device.
 Because the server does not track extension devices,
 no cursor is specified with this request.
 For the same reason, there is no confine_to parameter.
 The device must have previously been opened using the
-<function>XOpenDevice</function>
+<xref linkend='XOpenDevice' xrefstyle='select: title'/>
 function.
 </para>
 <para>
 <!-- .LP -->
 The
-<function>XGrabDeviceButton</function>
+<xref linkend='XGrabDeviceButton' xrefstyle='select: title'/>
 function establishes a passive grab on a device.
 Consequently, in the future, 
 </para>
@@ -1790,11 +1790,11 @@ specified button be assigned to a physical button.
 </para>
 <para>
 <!-- .LP -->
-<function>XGrabDeviceButton</function>
+<xref linkend='XGrabDeviceButton' xrefstyle='select: title'/>
 generates a
 <function>BadAccess</function>
 error if some other client has issued a 
-<function>XGrabDeviceButton</function>
+<xref linkend='XGrabDeviceButton' xrefstyle='select: title'/>
 with the same device and button combination on the same window.  
 When using
 <function>AnyModifier</function>
@@ -1807,7 +1807,7 @@ established if there is a conflicting grab for any combination.
 </para>
 <para>
 <!-- .LP -->
-<function>XGrabDeviceButton</function>
+<xref linkend='XGrabDeviceButton' xrefstyle='select: title'/>
 can generate
 <function>BadAccess , </function>
 <function>BadClass ,</function>
@@ -1824,7 +1824,7 @@ errors.
 To release a passive grab of a button on an extension device, use 
 <function>XUngrabDeviceButton .</function>
 <!-- .sM -->
-<funcsynopsis id='xungrabdevicebutton'>
+<funcsynopsis id='XUngrabDeviceButton'>
 <funcprototype>
   <funcdef>int <function> XUngrabDeviceButton</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -1929,13 +1929,13 @@ Specifies the ID of a window associated with the device specified above.
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XUngrabDeviceButton </function>
+<xref linkend='XUngrabDeviceButton' xrefstyle='select: title'/>
 is analogous to the core
-<function>XUngrabButton</function>
+<olink targetdoc='libX11' targetptr='XUngrabButton'><function>XUngrabButton</function></olink>
 function.  It releases an explicit passive grab for a button
 on an extension device.
 That device must have previously been opened using the
-<function>XOpenDevice</function>
+<xref linkend='XOpenDevice' xrefstyle='select: title'/>
 function, or a
 <function>BadDevice</function>
 error will result.
@@ -1950,7 +1950,7 @@ modifiers).
 </para>
 <para>
 <!-- .LP -->
-<function>XUngrabDeviceButton </function>
+<xref linkend='XUngrabDeviceButton' xrefstyle='select: title'/>
 can generate
 <function>BadAlloc , </function>
 <function>BadDevice ,</function>
@@ -1971,7 +1971,7 @@ errors.
 To allow further events to be processed when a device has been frozen, use
 <function>XAllowDeviceEvents .</function>
 <!-- .sM -->
-<funcsynopsis id='xallowdeviceevents'>
+<funcsynopsis id='XAllowDeviceEvents'>
 <funcprototype>
   <funcdef>int <function> XAllowDeviceEvents</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -2036,7 +2036,7 @@ milliseconds, or
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XAllowDeviceEvents</function>
+<xref linkend='XAllowDeviceEvents' xrefstyle='select: title'/>
 releases some queued events if the client has caused a device to freeze.
 It has no effect if the specified time is earlier than the last-grab 
 time of the most recent active grab for the client and device, 
@@ -2198,7 +2198,7 @@ again be processed.
 </para>
 <para>
 <!-- .LP -->
-<function>XAllowDeviceEvents</function>
+<xref linkend='XAllowDeviceEvents' xrefstyle='select: title'/>
 can generate
 <function>BadDevice</function>
 and 
@@ -2215,12 +2215,12 @@ errors.
 <!-- .LP -->
 The current focus window for an extension input device can be 
 determined using the
-<function>XGetDeviceFocus</function>
+<xref linkend='XGetDeviceFocus' xrefstyle='select: title'/>
 function.
 Extension devices are focused using the
-<function>XSetDeviceFocus</function>
+<xref linkend='XSetDeviceFocus' xrefstyle='select: title'/>
 function in the same way that the keyboard is focused using the core
-<function>XSetInputFocus</function>
+<olink targetdoc='libX11' targetptr='XSetInputFocus'><function>XSetInputFocus</function></olink>
 function, except that a device ID is passed as
 a function parameter.  One additional focus state,
 <function>FollowKeyboard ,</function>
@@ -2232,7 +2232,7 @@ To get the current focus state, revert state,
 and focus time of an extension device, use
 <function>XGetDeviceFocus .</function>
 <!-- .sM -->
-<funcsynopsis id='xgetdevicefocus'>
+<funcsynopsis id='XGetDeviceFocus'>
 <funcprototype>
   <funcdef>int <function> XGetDeviceFocus</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -2306,13 +2306,13 @@ return the focus time last set for the device.
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XGetDeviceFocus</function>
+<xref linkend='XGetDeviceFocus' xrefstyle='select: title'/>
 returns the focus state, the revert-to state,
 and the last-focus-time for an extension input device.
 </para>
 <para>
 <!-- .LP -->
-<function>XGetDeviceFocus</function>
+<xref linkend='XGetDeviceFocus' xrefstyle='select: title'/>
 can generate
 <function>BadDevice</function>
 and
@@ -2325,7 +2325,7 @@ errors.
 To set the focus of an extension device, use
 <function>XSetDeviceFocus .</function>
 <!-- .sM -->
-<funcsynopsis id='xsetdevicefocus'>
+<funcsynopsis id='XSetDeviceFocus'>
 <funcprototype>
   <funcdef>int <function> XSetDeviceFocus</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -2406,7 +2406,7 @@ milliseconds, or
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XSetDeviceFocus</function>
+<xref linkend='XSetDeviceFocus' xrefstyle='select: title'/>
 changes the focus for an extension input device and the 
 last-focus-change-time.  It has no effect if the specified 
 time is earlier than the last-focus-change-time or is later than the
@@ -2462,7 +2462,7 @@ of the X keyboard at each input event.
 <para>
 <!-- .LP -->
 The specified focus window must be viewable at the time
-<function>XSetDeviceFocus</function>
+<xref linkend='XSetDeviceFocus' xrefstyle='select: title'/>
 is called.  Otherwise, it generates a
 <function>BadMatch</function>
 error.
@@ -2502,7 +2502,7 @@ events, but the last-focus-change time is not affected.
 </para>
 <para>
 <!-- .LP -->
-<function>XSetDeviceFocus</function>
+<xref linkend='XSetDeviceFocus' xrefstyle='select: title'/>
 can generate
 <function>BadDevice ,</function>
 <function>BadMatch , </function>
@@ -2522,7 +2522,7 @@ errors.
 To determine the current feedback settings of an extension input device, use
 <function>XGetFeedbackControl .</function>
 <!-- .sM -->
-<funcsynopsis id='xgetfeedbackcontrol'>
+<funcsynopsis id='XGetFeedbackControl'>
 <funcprototype>
   <funcdef>XFeedbackState * <function> XGetFeedbackControl</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -2567,7 +2567,7 @@ Returns the number of feedbacks supported by the device.
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XGetFeedbackControl</function>
+<xref linkend='XGetFeedbackControl' xrefstyle='select: title'/>
 returns a list of
 <function>FeedbackState</function>
 structures that describe the feedbacks supported by the specified device.
@@ -2821,7 +2821,7 @@ Clients set these feedbacks by passing a list of
 <function>KeySyms</function>
 to be displayed.
 The 
-<function>XGetFeedbackControl</function>
+<xref linkend='XGetFeedbackControl' xrefstyle='select: title'/>
 function returns the
 set of key symbols that the feedback can display, as well as the 
 maximum number of symbols that can be displayed.
@@ -2940,7 +2940,7 @@ typedef struct {
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XGetFeedbackControl</function>
+<xref linkend='XGetFeedbackControl' xrefstyle='select: title'/>
 can generate
 <function>BadDevice</function>
 and
@@ -2951,11 +2951,11 @@ errors.
 <para>
 <!-- .LP -->
 To free the information returned by the
-<function>XGetFeedbackControl</function>
+<xref linkend='XGetFeedbackControl' xrefstyle='select: title'/>
 function, use 
 <function>XFreeFeedbackList .</function>
 <!-- .sM -->
-<funcsynopsis id='xfreefeedbacklist'>
+<funcsynopsis id='XFreeFeedbackList'>
 <funcprototype>
   <funcdef>void <function> XFreeFeedbackList</function></funcdef>
   <paramdef>XFeedbackState<parameter> *list</parameter></paramdef>
@@ -2982,7 +2982,7 @@ a previous call to
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XFreeFeedbackList</function>
+<xref linkend='XFreeFeedbackList' xrefstyle='select: title'/>
 frees the list of feedback control information.
 <!-- .sp -->
 </para>
@@ -2996,7 +2996,7 @@ using information passed in the appropriate
 structure for the feedback.
 Which values are modified depends on the valuemask passed.
 <!-- .sM -->
-<funcsynopsis id='xchangefeedbackcontrol'>
+<funcsynopsis id='XChangeFeedbackControl'>
 <funcprototype>
   <funcdef>int <function> XChangeFeedbackControl</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -3056,7 +3056,7 @@ structure.
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XChangeFeedbackControl</function>
+<xref linkend='XChangeFeedbackControl' xrefstyle='select: title'/>
 controls the device characteristics described by the
 <function>XFeedbackControl</function>
 structure. 
@@ -3211,7 +3211,7 @@ has its mode changed from
 to
 <function>Absolute</function>
 by an
-<function>XSetDeviceMode</function>
+<xref linkend='XSetDeviceMode' xrefstyle='select: title'/>
 request, valuator control values
 will be ignored by the server while the device is in that mode.
 </para>
@@ -3366,7 +3366,7 @@ Valid masks are as follows:
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XChangeFeedbackControl</function>
+<xref linkend='XChangeFeedbackControl' xrefstyle='select: title'/>
 can generate
 <function>BadDevice ,</function>
 <function>BadFeedBack ,</function>
@@ -3386,7 +3386,7 @@ errors.
 To ring a bell on an extension input device, use
 <function>XDeviceBell .</function>
 <!-- .sM -->
-<funcsynopsis id='xdevicebell'>
+<funcsynopsis id='XDeviceBell'>
 <funcprototype>
   <funcdef>int <function> XDeviceBell</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -3455,9 +3455,9 @@ Specifies the volume in the range -100 (quiet) to 100 percent (loud).
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XDeviceBell</function>
+<xref linkend='XDeviceBell' xrefstyle='select: title'/>
 is analogous to the core 
-<function>XBell</function>
+<olink targetdoc='libX11' targetptr='XBell'><function>XBell</function></olink>
 function.  It rings the specified bell on the specified input device feedback,
 using the specified volume.
 The specified volume is relative to the base volume for the feedback.
@@ -3491,7 +3491,7 @@ To change the base volume of the bell, use
 </para>
 <para>
 <!-- .LP -->
-<function>XDeviceBell</function>
+<xref linkend='XDeviceBell' xrefstyle='select: title'/>
 can generate
 <function>BadDevice</function>
 and
@@ -3511,7 +3511,7 @@ To get the key mapping of an extension device that supports input class
 use 
 <function>XGetDeviceKeyMapping .</function>
 <!-- .sM -->
-<funcsynopsis id='xgetdevicekeymapping'>
+<funcsynopsis id='XGetDeviceKeyMapping'>
 <funcprototype>
   <funcdef>KeySym * <function> XGetDeviceKeyMapping</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -3578,23 +3578,23 @@ Returns the number of keysyms per keycode.
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XGetDeviceKeyMapping </function>
+<xref linkend='XGetDeviceKeyMapping' xrefstyle='select: title'/>
 is analogous to the core
-<function>XGetKeyboardMapping</function>
+<olink targetdoc='libX11' targetptr='XGetKeyboardMapping'><function>XGetKeyboardMapping</function></olink>
 function.  
 It returns the symbols for the specified number of keycodes for the 
 specified extension device.
 </para>
 <para>
 <!-- .LP -->
-<function>XGetDeviceKeyMapping </function>
+<xref linkend='XGetDeviceKeyMapping' xrefstyle='select: title'/>
 returns the symbols for the 
 specified number of keycodes for the 
 specified extension device, starting with the specified keycode.
 The first_keycode_wanted must be greater than or equal to
 min-keycode as returned 
 by the
-<function>XListInputDevices</function>
+<xref linkend='XListInputDevices' xrefstyle='select: title'/>
 request (else a 
 <function>BadValue</function>
 error results). The following value:
@@ -3606,7 +3606,7 @@ first_keycode_wanted + keycode_count - 1
 <!-- .LP -->
 must be less than or equal to max-keycode as returned 
 by the 
-<function>XListInputDevices</function>
+<xref linkend='XListInputDevices' xrefstyle='select: title'/>
 request (else a 
 <function>BadValue</function>
 error results).
@@ -3634,7 +3634,7 @@ is used to fill in unused elements for individual keycodes.
 <para>
 <!-- .LP -->
 To free the data returned by this function, use
-<function>XFree .</function>
+<olink targetdoc='libX11' targetptr='XFree'><function>XFree</function></olink>.
 </para>
 <para>
 <!-- .LP -->
@@ -3651,7 +3651,7 @@ error.
 </para>
 <para>
 <!-- .LP -->
-<function>XGetDeviceKeyMapping </function>
+<xref linkend='XGetDeviceKeyMapping' xrefstyle='select: title'/>
 can generate
 <function>BadDevice ,</function>
 <function>BadMatch ,</function>
@@ -3667,7 +3667,7 @@ To change the keyboard mapping of an extension device that supports input class
 use 
 <function>XChangeDeviceKeyMapping .</function>
 <!-- .sM -->
-<funcsynopsis id='xchangedevicekeymapping'>
+<funcsynopsis id='XChangeDeviceKeyMapping'>
 <funcprototype>
   <funcdef>int <function> XChangeDeviceKeyMapping</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -3745,9 +3745,9 @@ Specifies the number of keycodes that are to be changed.
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XChangeDeviceKeyMapping</function>
+<xref linkend='XChangeDeviceKeyMapping' xrefstyle='select: title'/>
 is analogous to the core
-<function>XChangeKeyboardMapping</function>
+<olink targetdoc='libX11' targetptr='XChangeKeyboardMapping'><function>XChangeKeyboardMapping</function></olink>
 function.  
 It defines the symbols for the specified number of keycodes for the 
 specified extension keyboard device.
@@ -3769,7 +3769,7 @@ error.
 <!-- .LP -->
 The number of elements in the keysyms list must be a multiple of
 keysyms_per_keycode.  Otherwise,
-<function>XChangeDeviceKeyMapping</function>
+<xref linkend='XChangeDeviceKeyMapping' xrefstyle='select: title'/>
 generates a
 <function>BadLength</function>
 error.
@@ -3790,7 +3790,7 @@ error:
 </para>
 <para>
 <!-- .LP -->
-<function>XChangeDeviceKeyMapping</function>
+<xref linkend='XChangeDeviceKeyMapping' xrefstyle='select: title'/>
 can generate
 <function>BadAlloc ,</function>
 <function>BadDevice ,</function>
@@ -3808,7 +3808,7 @@ extension device that supports input class
 use
 <function>XGetDeviceModifierMapping .</function>
 <!-- .sM -->
-<funcsynopsis id='xgetdevicemodifiermapping'>
+<funcsynopsis id='XGetDeviceModifierMapping'>
 <funcprototype>
   <funcdef>XModifierKeymap * <function> XGetDeviceModifierMapping</function></funcdef>
   <paramdef>Display<parameter> *display</parameter></paramdef>
@@ -3842,12 +3842,12 @@ Specifies the desired device.
 <para>
 <!-- .LP -->
 <!-- .eM -->
-<function>XGetDeviceModifierMapping</function>
+<xref linkend='XGetDeviceModifierMapping' xrefstyle='select: title'/>
 is analogous to the core
-<function>XGetModifierMapping</function>
+<olink targetdoc='libX11' targetptr='XGetModifierMapping'><function>XGetModifierMapping</function></olink>
 function.  
 The


Reply to: