Update to libXi 1.6.1
This commit is contained in:
parent
55a68ef814
commit
2bd9f468fa
@ -1,34 +1,265 @@
|
||||
commit d58150cf5cf11c0449fc9e9f3c7fc4d29764f6e5
|
||||
commit ae163b6202d844a46541928d00049b29cbdf930f
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Tue Dec 20 10:18:28 2011 +1000
|
||||
Date: Thu May 3 16:01:35 2012 +1000
|
||||
|
||||
libXi 1.4.5
|
||||
libXi 1.6.1
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit 7a30bc136fb6c1561f5cd91606bca01fb877f167
|
||||
commit fd5e000308925f703ecd15c288127ab33a456425
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Fri Aug 12 14:24:26 2011 +1000
|
||||
Date: Mon Apr 23 13:32:59 2012 +1000
|
||||
|
||||
Don't use the protocol defines for 2.0 versioning.
|
||||
man: update XIQueryVersion for current server behaviour
|
||||
|
||||
Otherwise we run into the old problem again: recompiling libXi against
|
||||
newer inputproto headers will appear to change the version support,
|
||||
potentially causing errors or other misbehaviours.
|
||||
XIQueryVersion(v1);
|
||||
XIQueryVersion(v2);
|
||||
|
||||
is now ok as long as v1 <= v2.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
(cherry picked from commit ca73cd3b7630e7eb7d26c61c4af10d35dbce5465)
|
||||
|
||||
commit e423bfa6045a2b2eeb02080ae39dbee44e062bfa
|
||||
commit f8f44f42eb543ecd944a84facba6c09bf48e7711
|
||||
Author: Chase Douglas <chase.douglas@canonical.com>
|
||||
Date: Fri Apr 20 15:30:30 2012 -0700
|
||||
|
||||
Destroy extension record after last display is removed
|
||||
|
||||
The extension record is currently leaked and never freed.
|
||||
|
||||
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit 2ac185d2fd2b884f4f59a7f7f61f414d139859aa
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Fri Dec 16 07:43:45 2011 +1000
|
||||
Date: Mon Mar 26 09:07:34 2012 +1000
|
||||
|
||||
libXi 1.4.4
|
||||
Set the RawEvent sourceid (#34240)
|
||||
|
||||
XI 2.2 and later include the sourceid in raw events.
|
||||
|
||||
X.Org Bug 34240 <http://bugs.freedesktop.org/show_bug.cgi?id=34240>
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
|
||||
|
||||
commit dfc101e4c6cdac4ff9a51732b2754287fbdc8582
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Mon Mar 26 09:05:24 2012 +1000
|
||||
|
||||
Move version comparison into a helper function.
|
||||
|
||||
No functional changes, this simply introduces a version helper function that
|
||||
returns -1, 0 or 1 depending on the version comparison result. To be used
|
||||
internally only.
|
||||
|
||||
Needed for fix to #34240
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
|
||||
|
||||
commit 8436c920953f288aea2d6d5f370f8eaaaef82d97
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Thu Mar 15 11:51:41 2012 +1000
|
||||
|
||||
Fix wrong button label and mask copy on OS X
|
||||
|
||||
Regression introduced in c1a5a70b51f12dedf354102217c7cd4247ed3a4b.
|
||||
|
||||
If double-padding is applied, the length of the mask on the wire may be
|
||||
smaller than libXi's mask_len. When copying, only the wire length must be
|
||||
copied, with the remainder set to 0.
|
||||
When advancing to the button labels, the wire length matters, not libXi's
|
||||
internal length.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
Tested-by: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
|
||||
commit 70b730b0548ca9e408f14f2576b972beb32a0ad0
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Thu Mar 8 16:03:50 2012 +1000
|
||||
|
||||
libXi 1.6.0
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit 30bff38c7436daad4140fedf867c546bea839b93
|
||||
commit 1b9f0394c3d4d3833f8560ae8170a4d5842419ab
|
||||
Author: Chase Douglas <chase.douglas@canonical.com>
|
||||
Date: Wed Mar 7 14:52:54 2012 -0800
|
||||
|
||||
Fix XIScrollClass increment value on 32-bit machines
|
||||
|
||||
This fixes scroll class increment values on 32-bit machines. Performing
|
||||
1UL << 32 shifts the bit off the end of a 32-bit unsigned long value. By
|
||||
expanding to 1ULL, we have the full 64-bits of an unsigned long long
|
||||
including on 32-bit machines.
|
||||
|
||||
Before this change, xinput list --long would output scroll increment
|
||||
values of -nan.
|
||||
|
||||
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit c1a5a70b51f12dedf354102217c7cd4247ed3a4b
|
||||
Author: Michał Masłowski <mtjm@mtjm.eu>
|
||||
Date: Tue Feb 21 20:54:40 2012 +0100
|
||||
|
||||
Fix bus error on MIPS N32 for bug #38331.
|
||||
|
||||
XIValuatorClassInfo and XIScrollClassInfo might have an address
|
||||
of 4 bytes modulo 8, while they contain doubles which need 8 byte
|
||||
alignment. This is fixed by adding extra padding after each structure
|
||||
or array in sizeDeviceClassType and adding helper functions to
|
||||
determine sizes and padding only in one place.
|
||||
|
||||
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=38331
|
||||
Signed-off-by: Michał Masłowski <mtjm@mtjm.eu>
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit 34964b05c16161de65709d60799b9ad97ce56296
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Fri Jan 27 15:35:44 2012 +1000
|
||||
|
||||
libXi 1.5.99.3
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit b355b7300235395717de06809ee6631ce55d3189
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Fri Jan 27 13:28:52 2012 +1000
|
||||
|
||||
Handle new XIAllowEvent request size
|
||||
|
||||
inputproto 2.1.99.6 restored the previous request for ABI compatibility
|
||||
reasons, and it introduced a new XI 2.2 specific define.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Keith Packard <keithp@keithp.com>
|
||||
|
||||
commit 07ced7b48219e3bc0c98806f3d7106f86d1b2ca0
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Tue Jan 17 21:26:14 2012 +0100
|
||||
|
||||
Force class alignment to a multiple of sizeof(XID).
|
||||
|
||||
Calculate length field to a multiples of sizeof(XID). XIDs are typedefs
|
||||
to ulong and thus may be 8 bytes on some platforms. This can trigger a
|
||||
SIGBUS if a class ends up not being 8-aligned (e.g. after XAxisInfo).
|
||||
|
||||
Reported-by: Nicolai Stange <nicolai.stange@zmaw.de>
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr>
|
||||
|
||||
commit 15feb92b30e13e7439a3434bea9f454645b97444
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Thu Jan 5 13:55:41 2012 +1000
|
||||
|
||||
man: fix typo Mappiing → Mapping
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit 8576ae6b9ee974829e2fb8a834087652a6e9e1a2
|
||||
Author: Cyril Brulebois <kibi@debian.org>
|
||||
Date: Thu Dec 22 15:50:47 2011 +0100
|
||||
|
||||
configure.ac: Fix a typo in comments.
|
||||
|
||||
Signed-off-by: Cyril Brulebois <kibi@debian.org>
|
||||
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit ae0187c8708d2378373889827117911086581fdd
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Thu Dec 22 09:42:43 2011 +1000
|
||||
|
||||
libXi 1.5.99.2
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit 47f3d887a7731f4ab68a69ed31dbe7acf6d13270
|
||||
Merge: 82a6312 e73e2fe
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Wed Dec 21 15:40:37 2011 +1000
|
||||
|
||||
Merge branch 'multitouch'
|
||||
|
||||
Conflicts:
|
||||
configure.ac
|
||||
|
||||
commit 82a631263ef4e6f46c1f33748089db8bf603b095
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Wed Dec 21 15:33:17 2011 +1000
|
||||
|
||||
libXi 1.5.0
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit e73e2fe95dab3e0048b24d16327adbe54326ff3f
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Wed Sep 14 22:33:57 2011 -0700
|
||||
|
||||
Implement support for XI 2.2
|
||||
|
||||
Adds support for the new TouchClass for multitouch-capable servers/devices.
|
||||
|
||||
New events:
|
||||
XITouchOwnershipEvent
|
||||
|
||||
New event types handled:
|
||||
XITouchBegin, XITouchUpdate, XITouchEnd
|
||||
XIRawTouchBegin, XIRawTouchUpdate, XIRawTouchEnd
|
||||
|
||||
New functions:
|
||||
XIGrabTouchBegin ... passive grabs on touches
|
||||
XIUngrabTouchBegin
|
||||
XIAllowTouchEvents ... Allow/reject touch event sequences
|
||||
|
||||
New XIQueryDevice classes:
|
||||
XITouchClassInfo
|
||||
|
||||
Requires libX11 1.5 for GetReqSized
|
||||
|
||||
Co-authored by: Chase Douglas <chase.douglas@canonical.com>
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit 7888d14a499062a1c3b333f31f1330cecf1e97c1
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Tue Oct 25 13:30:47 2011 +1000
|
||||
|
||||
Bump to 1.5.99.1
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit fa6505f0a86b296e8f12f0fb8f472ef17b501fdb
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Mon Dec 19 09:36:34 2011 +1000
|
||||
|
||||
man: minor formatting fix in XIGrabButton
|
||||
|
||||
commit 49408e39e4b084fe362e9ee197bfa0aa1c55384d
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Fri Nov 11 15:32:21 2011 +1000
|
||||
|
||||
Include config.h from source files
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
|
||||
commit ba83a1e58592e41f207524f106ba26dd71fe4171
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Wed Oct 26 08:55:35 2011 +1000
|
||||
|
||||
Stop unnecessary calls to size_classes
|
||||
|
||||
Xmalloc is a macro evaluating its argument twice.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
|
||||
commit 6d6ae8fc8b9620bf864ac7dff8d818573eee3e4f
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Wed Oct 26 08:54:53 2011 +1000
|
||||
|
||||
@ -41,18 +272,16 @@ Date: Wed Oct 26 08:54:53 2011 +1000
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
(cherry picked from commit 6d6ae8fc8b9620bf864ac7dff8d818573eee3e4f)
|
||||
|
||||
commit db739c0770d49e8b47da90f160b99c76be996a18
|
||||
commit 323730f7fa70190d2ea00e62c6964fee524ca430
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Thu Oct 27 10:27:49 2011 +1000
|
||||
|
||||
man: passive grabs return the number of failed modifier combinations
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
(cherry picked from commit 323730f7fa70190d2ea00e62c6964fee524ca430)
|
||||
|
||||
commit d21fdd9653b0e38e54692735b5a040a7acf22164
|
||||
commit 5189df57e18c79327848fb117a8ede59868c8fdb
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Fri Oct 21 08:49:31 2011 +1000
|
||||
|
||||
@ -62,9 +291,8 @@ Date: Fri Oct 21 08:49:31 2011 +1000
|
||||
particular grab.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
(cherry picked from commit 5189df57e18c79327848fb117a8ede59868c8fdb)
|
||||
|
||||
commit cb2028ed23d3f23829241de166a14c4ef9494bd5
|
||||
commit 05aaf65b3b6b7dc7268137ce4ee516f08eefb62f
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Fri Oct 21 08:07:45 2011 +1000
|
||||
|
||||
@ -72,9 +300,152 @@ Date: Fri Oct 21 08:07:45 2011 +1000
|
||||
|
||||
Reported-by: Matthias Clasen <mclasen@redhat.com>
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
(cherry picked from commit 05aaf65b3b6b7dc7268137ce4ee516f08eefb62f)
|
||||
|
||||
commit 22e9ace88d57803ecda95db7c9355a614db1902a
|
||||
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>
|
||||
|
||||
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>
|
||||
|
||||
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>
|
||||
|
||||
commit 5f9df47340e192d095127e3c7da180b0fb3dc286
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Fri Sep 23 09:04:21 2011 +1000
|
||||
|
||||
Use a separate nclasses variable in XIQueryDevice
|
||||
|
||||
No functional changes, just clarifying the code. If we skip over unknown
|
||||
classes, lib->num_classes != wire->num_classe. Use a separate variable to
|
||||
make that change more explicit and align the code closer with
|
||||
wireToDeviceChangedEvent.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
|
||||
|
||||
commit 2eb34db82dbd8429594c7ce1d361cabf3571edf1
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Fri Sep 16 21:00:19 2011 -0700
|
||||
|
||||
Make shadow man pages generated by asciidoc work with Solaris man
|
||||
|
||||
Solaris man requires .so entries in man pages include the man section
|
||||
directory, not just the man page filename, even when it's in the same
|
||||
directory, so use sed to add it in.
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
|
||||
This may be a temporary fix only. See
|
||||
http://lists.freedesktop.org/archives/xorg-devel/2011-September/025219.html
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit a43c0a5d2a6cf80df314c96e0b58804dd87868be
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Tue Sep 20 15:11:13 2011 -0400
|
||||
|
||||
specs: refactor and complete copyright legal text
|
||||
|
||||
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit 552f60789263ad2a1d983cf5b479af63d90f7591
|
||||
Author: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
Date: Sun Sep 18 00:53:56 2011 -0700
|
||||
|
||||
Use AM_CPPFLAGS to use in tree headers before installed headers
|
||||
|
||||
This addresses a build failure found by the tinderbox.
|
||||
|
||||
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit 69f2580fd47cfe24105892e9ffb79cd046954b7d
|
||||
Merge: fc5d478 3ed1b46
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Sat Sep 17 06:41:30 2011 +1000
|
||||
|
||||
Merge branch 'smooth-scrolling'
|
||||
|
||||
Conflicts:
|
||||
src/XExtInt.c
|
||||
|
||||
commit 3ed1b463205295a5ebba7d570a4cb8dfade51a38
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Wed Aug 17 14:50:39 2011 +1000
|
||||
|
||||
Support XI 2.1 XIScrollClass
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit 00382417331d0b38373796fd31757be9fd3e9971
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Thu Jun 2 13:23:32 2011 +1000
|
||||
|
||||
Support XI 2.1 internally
|
||||
|
||||
Add the required constants to pretend to support XI 2.1.
|
||||
Having named constants for 2.1 seems a bit pointless, so let's just use the
|
||||
numbers directly.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
|
||||
commit fc5d47895c1361763aa7f088b6d8cb3859e3fda8
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Sat Sep 17 06:40:01 2011 +1000
|
||||
|
||||
Require inputproto 2.0.99.1 or later
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit 4dcbad7e10289317edc22113c1f451d79df221e1
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Fri Jun 3 15:46:47 2011 +1000
|
||||
|
||||
man: update property and grab man pages for new constants
|
||||
|
||||
Suggest the use of the new XIGrabModeAsync, etc. defines instead of the core
|
||||
defines. Add a BUGS section to each man page explaining
|
||||
backwards-compatibility.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
|
||||
|
||||
commit 14f674296bc23b3cd50f6d302c3064250132c2c1
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Mon Aug 22 13:55:56 2011 +1000
|
||||
|
||||
man: fix typo in XIQueryDevice man page
|
||||
|
||||
struct name is XIValuatorClassInfo.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit 91f928a70246c26cbee00bf59a8e318e9317142e
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Wed Aug 17 15:20:48 2011 +1000
|
||||
|
||||
@ -89,9 +460,105 @@ Date: Wed Aug 17 15:20:48 2011 +1000
|
||||
handlers so to automatically skip any unknown classes.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
(cherry picked from commit 91f928a70246c26cbee00bf59a8e318e9317142e)
|
||||
|
||||
commit b6a431df65a1d98272f3c9742b2bfe2cf185d7a0
|
||||
commit f5b4ff2b4bbac5477af337ed63d019b1f1bc21c9
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Thu Sep 15 11:58:31 2011 -0400
|
||||
|
||||
inputlib: restore original title "X Input Device Extension Library"
|
||||
|
||||
Somehow the title got changed during troff to docbook conversion.
|
||||
Latest troff version:
|
||||
ftp://www.x.org/pub/X11R7.0/doc/PDF/XiLib.pdf
|
||||
|
||||
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit 5174411eb67ff672abb3301268bd4fe06851ce3e
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Thu Sep 15 11:57:12 2011 -0400
|
||||
|
||||
inputlib: prefix 1.0 with the word Version
|
||||
|
||||
To be consistent with all other docs
|
||||
|
||||
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit b695f07ac85e76c7502a743343aacb2c93318ac5
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Thu Sep 15 11:56:33 2011 -0400
|
||||
|
||||
inputlib: fix copyright statements
|
||||
|
||||
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit d8aea9731674ecb4e313051f866966113473e395
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Mon Sep 12 16:54:45 2011 -0400
|
||||
|
||||
docs: use the &fullrelvers; entity to set X11 release information
|
||||
|
||||
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit b4690e1d9d0a27e04c7204614c0e88edef210ba7
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Sun Sep 11 19:49:54 2011 -0400
|
||||
|
||||
docs: remove <productnumber> which is not used by default
|
||||
|
||||
This element is not rendered by default on the title. A template
|
||||
customization is required to display it.
|
||||
X Window System does not have a product number.
|
||||
|
||||
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit 83a3f9d1b06391d5c25602c0b6a3dba63e7abc81
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Thu Sep 8 20:00:00 2011 -0400
|
||||
|
||||
docbook.am: embed css styles inside the HTML HEAD element
|
||||
|
||||
Rather than referring to the external xorg.css stylesheet, embed the content
|
||||
of the file in the html output produced. This is accomplished by using
|
||||
version 1.10 of xorg-xhtml.xsl.
|
||||
|
||||
This makes the whole html docs tree much more relocatable.
|
||||
In addition, it eliminates xorg.css as a runtime file which makes
|
||||
xorg-sgml-doctools a build time only package.
|
||||
|
||||
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit bd4c9c82e889d737f3488c234659216a218d8eb2
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Wed Sep 7 10:31:04 2011 -0400
|
||||
|
||||
docbook.am: global maintenance update - entities, images and olinking
|
||||
|
||||
Adding support in libX11 for html chunking caused a reorg of docbook.am
|
||||
as well as the xorg-sgml-doctools masterdb for olinking.
|
||||
The parameter img.src.path is added for pdf images.
|
||||
A searchpath to the root builddir is added for local entities, if present.
|
||||
|
||||
The docbook.am makefile hides all the details and is identical for
|
||||
all 22 modules having DocBook documentation. It is included by a thin
|
||||
Makefile.am which requires no docbook knowledge.
|
||||
|
||||
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit 942dd55eb370e0acea3184de78619766a09f7670
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Fri Jun 3 15:46:47 2011 +1000
|
||||
|
||||
man: update property and grab man pages for new constants
|
||||
|
||||
Suggest the use of the new XIGrabModeAsync, etc. defines instead of the core
|
||||
defines. Add a BUGS section to each man page explaining
|
||||
backwards-compatibility.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
|
||||
|
||||
commit eb5039859810a0fc4e4e594a4a1ccd99c5fecf85
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Mon Aug 22 13:55:56 2011 +1000
|
||||
|
||||
@ -100,9 +567,67 @@ Date: Mon Aug 22 13:55:56 2011 +1000
|
||||
struct name is XIValuatorClassInfo.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
(cherry picked from commit 14f674296bc23b3cd50f6d302c3064250132c2c1)
|
||||
|
||||
commit a15593744048d23e407906e34530beb5a57e3c2c
|
||||
commit 635c2c029b1e73311c3f650bcaf7eeb9e782134b
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Wed Aug 17 15:20:48 2011 +1000
|
||||
|
||||
Handle unknown device classes.
|
||||
|
||||
If the server sends an unknown device class in response to an XIQueryDevice
|
||||
call, no memory is allocated for these classes but we still write type
|
||||
and sourceid as well as setting to->classes[i]. The latter causes multiple
|
||||
classes to point to the same memory field.
|
||||
|
||||
Move the common code of assigning these three into the respective class type
|
||||
handlers so to automatically skip any unknown classes.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit ca73cd3b7630e7eb7d26c61c4af10d35dbce5465
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Fri Aug 12 14:24:26 2011 +1000
|
||||
|
||||
Don't use the protocol defines for 2.0 versioning.
|
||||
|
||||
Otherwise we run into the old problem again: recompiling libXi against
|
||||
newer inputproto headers will appear to change the version support,
|
||||
potentially causing errors or other misbehaviours.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
|
||||
commit 5a299d1731d3db16ccdd3a66246c81ca522f1702
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Mon Aug 1 16:47:38 2011 -0700
|
||||
|
||||
Fix the FIXME output in man page .TH macros generated by asciidoc
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit e8531dd6a981c6cf19a1d256c29e886e34e8f51a
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Tue Sep 7 15:21:31 2010 +1000
|
||||
|
||||
Add XI2 library-internal array offsets to XIint.h
|
||||
|
||||
These defines are currently defined in XI.h and XI2.h. Their only use is as
|
||||
offset into a library-internal array. Add them to XIint.h to have them where
|
||||
they belong.
|
||||
|
||||
These defines do not have any effect on the protocol. They are simply
|
||||
offsets into an array for libXi-specific version checking. The defines are
|
||||
added to this header for readability, given that we cannot remove them from
|
||||
the protocol without potentially breaking clients (who should never use
|
||||
these anyway, but...) means they will never get hit.
|
||||
|
||||
Future defines for these offsets will only be added to libXi, not the
|
||||
protocol.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit 653b45b7cc275a560c1ea213216a908c125e443d
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Fri Jun 24 10:09:10 2011 +1000
|
||||
|
||||
@ -112,35 +637,99 @@ Date: Fri Jun 24 10:09:10 2011 +1000
|
||||
actual header.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
(cherry picked from commit 653b45b7cc275a560c1ea213216a908c125e443d)
|
||||
|
||||
commit 9fd7b9a9652ecebb8eb533c2a30b9fa7bb186b90
|
||||
commit 809c9e936b9f5234de03148376d389fdcfa6d40a
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Sun Jun 12 18:39:46 2011 -0400
|
||||
|
||||
Install xml versions of specs even if HAVE_XMLTO is false
|
||||
|
||||
DocBook/XML input source is also a usefull output format that can be viewed
|
||||
with an XML viewer or editor and by some O/S help system.
|
||||
|
||||
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit 94f585af88a6486148ad6514f1f74eb83ce547ef
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Sun Jun 5 16:27:37 2011 -0400
|
||||
|
||||
Install target dbs alongside generated documents
|
||||
|
||||
This matches a change in xorg-sgml-docs whereby the masterdb will look for
|
||||
the target dbs into the same location as the generated documents.
|
||||
|
||||
The target dbs are now installed alongside the generated documents.
|
||||
Previously they are installed in $prefix/sgml/X11/dbs alongside masterdb which
|
||||
has the potential of installing outside the package prefix and cause
|
||||
distcheck to fail when user does not have write permission in this package.
|
||||
|
||||
Requires XORG_CHECK_SGML_DOCTOOLS(1.8) which was released 2011-06-11
|
||||
|
||||
commit 2d2581479c64b8b44ab91e90ecb04acd5d106ea2
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Thu Jun 9 15:59:23 2011 -0400
|
||||
|
||||
make: use AM_V_at rather than AM_V_GEN to prefix the mv command
|
||||
|
||||
This will prevent outputting a "GEN" prefix. Moving and removing files
|
||||
is not "generating" anything.
|
||||
|
||||
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
|
||||
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit f4bdafebaf123c584e1b5e4ff1bc48f7cf4c5b26
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Thu Jun 9 15:49:23 2011 -0400
|
||||
|
||||
make: remove unneeded AM_V_GEN silent rule directive.
|
||||
|
||||
It happens to be in the middle of the script statement and cause this
|
||||
incorrect output:
|
||||
|
||||
rm XCloseDevice.man && make
|
||||
GEN XOpenDevice.3
|
||||
/bin/bash: line 1: @echo: command not found
|
||||
/bin/bash: line 2: @echo: command not found
|
||||
[...]
|
||||
|
||||
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
|
||||
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit f4930482c24a22c8cdf9da3c96516936ddd1f7b9
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Tue Jun 7 13:32:11 2011 +1000
|
||||
Date: Tue Jun 7 14:12:08 2011 +1000
|
||||
|
||||
libXi 1.4.3
|
||||
Bump to 1.4.99
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit 7bdaa3635b7eb4bd993c317922d35cad7ed0cab9
|
||||
commit 938ef832b892fdefe0d5c2bb4510c91bbbccca9f
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Fri Jun 3 15:10:27 2011 +1000
|
||||
|
||||
man: Fix typo in XIChangeProperty
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
(cherry picked from commit 938ef832b892fdefe0d5c2bb4510c91bbbccca9f)
|
||||
|
||||
commit 63027b24113b349720f1612a4426933c1364ea28
|
||||
commit 597a6a51721d30c4354d1133bb6da6bd2e12446e
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Fri Jun 3 15:02:35 2011 +1000
|
||||
|
||||
man: Fix wrong event names in XIGrabButton.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
(cherry picked from commit 597a6a51721d30c4354d1133bb6da6bd2e12446e)
|
||||
|
||||
commit 9affea8cfd3f583647e9c6ea2b5debb97e6904c5
|
||||
commit 7736957fa2598800c14a88cae1dd7809b184d743
|
||||
Author: Matt Dew <marcoz@osource.org>
|
||||
Date: Tue May 31 20:03:23 2011 -0600
|
||||
|
||||
Add id attributes to funcsynopsis to allow other docs to olink to them.
|
||||
|
||||
Signed-off-by: Matt Dew <marcoz@osource.org>
|
||||
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit 9faab2bc0bdd4d98a04e572a7a5201bfcd3bdc70
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Thu Jun 2 16:21:59 2011 +1000
|
||||
|
||||
@ -152,16 +741,45 @@ Date: Thu Jun 2 16:21:59 2011 +1000
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
(cherry picked from commit 9faab2bc0bdd4d98a04e572a7a5201bfcd3bdc70)
|
||||
|
||||
commit 641d1e9943208a8b2c2aef843bd17cb22f833b06
|
||||
commit 67441d30df756eb715a262d3439865dedd4055e8
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Thu Jun 2 14:17:44 2011 +1000
|
||||
|
||||
man: fix missing comma in XIGrabEnter man page
|
||||
(cherry picked from commit 67441d30df756eb715a262d3439865dedd4055e8)
|
||||
|
||||
commit f37dee93cb288f11d286c7bc4222b2f571ccfd65
|
||||
commit 4a694b3f4f5c92d62526ea1c5461c59df86c13db
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Thu May 5 09:30:21 2011 +1000
|
||||
|
||||
Silence compiler warning due to differnent event conversion procs
|
||||
|
||||
XExtInt.c:161:5: warning: initialization from incompatible pointer type
|
||||
|
||||
XSndExEv.c: In function 'XSendExtensionEvent':
|
||||
XSndExEv.c:84:8: warning: assignment from incompatible pointer type
|
||||
|
||||
Xlib and libXi differ in the conversion functions. libXi takes an xEvent**
|
||||
and a num_events parameter since it may split an event into multiple
|
||||
xEvents.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit fd680f025b1db22b1069aed2f142f670181574e5
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Thu May 5 09:20:23 2011 +1000
|
||||
|
||||
Silence compiler warning in XListDProp.c
|
||||
|
||||
XListDProp.c: In function 'XListDeviceProperties':
|
||||
XListDProp.c:72:9: warning: pointer targets in passing argument 2 of
|
||||
'_XRead32' differ in signedness
|
||||
/usr/include/X11/Xlibint.h:652:13: note: expected 'long int *' but argument
|
||||
is of type 'Atom *'
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit aa2432240ad02c54280f2d11c007969c3eb9b79f
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Thu May 5 09:43:32 2011 +1000
|
||||
|
||||
@ -172,9 +790,29 @@ Date: Thu May 5 09:43:32 2011 +1000
|
||||
paragraph are just realignment due to the linebreak.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
(cherry picked from commit aa2432240ad02c54280f2d11c007969c3eb9b79f)
|
||||
|
||||
commit 89c7eff322c60d78c814693ecb28fa6c65159d3e
|
||||
commit f148a6279f07f029fc6a5b0a6556ff6622e6686a
|
||||
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Wed Feb 2 17:01:52 2011 -0800
|
||||
|
||||
Move Xinput server API documentation from libXi to xserver
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit 4cc2b17a3d069b296837edbd6e81af5bbf9821b4
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Tue May 3 14:51:12 2011 +1000
|
||||
|
||||
Remove a few unused assignments.
|
||||
|
||||
Found by static analyzer.
|
||||
|
||||
Reported-by: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
|
||||
commit cc6feecae23b321952921cf927bc965386844c8c
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Tue May 3 14:34:22 2011 +1000
|
||||
|
||||
@ -187,9 +825,8 @@ Date: Tue May 3 14:34:22 2011 +1000
|
||||
Reported-by: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
(cherry picked from commit cc6feecae23b321952921cf927bc965386844c8c)
|
||||
|
||||
commit 7c6003718458ede0542233a213e05d67731d3e28
|
||||
commit af65475b1f6b7209750220a74aaad9968d54aaf7
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Tue May 3 13:21:02 2011 +1000
|
||||
|
||||
@ -226,9 +863,8 @@ Date: Tue May 3 13:21:02 2011 +1000
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
|
||||
(cherry picked from commit af65475b1f6b7209750220a74aaad9968d54aaf7)
|
||||
|
||||
commit 8abdde71b83ff37b8500282e4856c323be508f67
|
||||
commit 18177afd4fb3934d0a9083c599fb96701eec2ad9
|
||||
Author: Matthieu Herrb <matthieu.herrb@laas.fr>
|
||||
Date: Fri Apr 1 22:49:09 2011 +0200
|
||||
|
||||
@ -239,7 +875,36 @@ Date: Fri Apr 1 22:49:09 2011 +0200
|
||||
architectures.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
(cherry picked from commit 18177afd4fb3934d0a9083c599fb96701eec2ad9)
|
||||
|
||||
commit 75dc4029316c321d8f09fae584024f36c5c85c7f
|
||||
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||
Date: Sun Feb 27 15:06:18 2011 -0500
|
||||
|
||||
Documentation: add Docbook external references support
|
||||
|
||||
When writing technical documentation, it is often necessary to cross
|
||||
reference to other information. When that other information is not in the
|
||||
current document, additional support is needed, namely <olink>.
|
||||
|
||||
A new feature with version 1.7 of xorg-sgml-doctools adds references to
|
||||
other documents within or outside this package.
|
||||
|
||||
This patch adds technical support for this feature but does not change
|
||||
the content of the documentation as seen by the end user.
|
||||
|
||||
Each book or article must generate a database containing the href
|
||||
of sections that can be referred to from another document. This database
|
||||
is installed in DATAROOTDIR/sgml/X11/dbs. There is a requirement that
|
||||
the value of DATAROOTDIR for xorg-sgml-doctools and for the package
|
||||
documentation is the same. This forms a virtual document tree.
|
||||
|
||||
This database is consulted by other documents while they are being generated
|
||||
in order to fulfill the missing information for linking.
|
||||
Refer to the xorg-sgml-doctools for further technical information.
|
||||
|
||||
Co-authored-by: Matt Dew <marcoz@osource.org>
|
||||
|
||||
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||
|
||||
commit 32236a7779f721d252d633d06ade306f246421a3
|
||||
Author: Jeremy Huddleston <jeremyhu@apple.com>
|
||||
|
@ -1,4 +1,4 @@
|
||||
SUBDIRS = src man doc specs
|
||||
SUBDIRS = src man specs
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = xi.pc
|
||||
|
@ -1,7 +1,6 @@
|
||||
# $OpenBSD: Makefile.bsd-wrapper,v 1.7 2012/06/11 19:24:48 matthieu Exp $
|
||||
|
||||
# $OpenBSD: Makefile.bsd-wrapper,v 1.6 2010/11/11 10:54:03 matthieu Exp $
|
||||
|
||||
SHARED_LIBS= Xi 11.0
|
||||
SHARED_LIBS= Xi 11.1
|
||||
|
||||
CONFIGURE_ARGS+= --without-xmlto --without-asciidoc --without-fop \
|
||||
--disable-specs
|
||||
|
@ -96,6 +96,7 @@ AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_CFLAGS = @BASE_CFLAGS@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
@ -115,6 +116,8 @@ ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
ENABLE_DOCS_FALSE = @ENABLE_DOCS_FALSE@
|
||||
ENABLE_DOCS_TRUE = @ENABLE_DOCS_TRUE@
|
||||
ENABLE_SPECS_FALSE = @ENABLE_SPECS_FALSE@
|
||||
ENABLE_SPECS_TRUE = @ENABLE_SPECS_TRUE@
|
||||
EXEEXT = @EXEEXT@
|
||||
@ -135,6 +138,8 @@ HAVE_XMLTO_FALSE = @HAVE_XMLTO_FALSE@
|
||||
HAVE_XMLTO_TEXT_FALSE = @HAVE_XMLTO_TEXT_FALSE@
|
||||
HAVE_XMLTO_TEXT_TRUE = @HAVE_XMLTO_TEXT_TRUE@
|
||||
HAVE_XMLTO_TRUE = @HAVE_XMLTO_TRUE@
|
||||
HAVE_XSLTPROC_FALSE = @HAVE_XSLTPROC_FALSE@
|
||||
HAVE_XSLTPROC_TRUE = @HAVE_XSLTPROC_TRUE@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_MANPAGES_FALSE = @INSTALL_MANPAGES_FALSE@
|
||||
@ -189,6 +194,7 @@ XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@
|
||||
XMLTO = @XMLTO@
|
||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||
XORG_SGML_PATH = @XORG_SGML_PATH@
|
||||
XSLTPROC = @XSLTPROC@
|
||||
XSL_STYLESHEET = @XSL_STYLESHEET@
|
||||
XTMALLOC_ZERO_CFLAGS = @XTMALLOC_ZERO_CFLAGS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
@ -236,7 +242,7 @@ sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
SUBDIRS = src man doc specs
|
||||
SUBDIRS = src man specs
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = xi.pc
|
||||
MAINTAINERCLEANFILES = ChangeLog INSTALL
|
||||
|
398
lib/libXi/aclocal.m4
vendored
398
lib/libXi/aclocal.m4
vendored
@ -9609,7 +9609,7 @@ dnl DEALINGS IN THE SOFTWARE.
|
||||
# See the "minimum version" comment for each macro you use to see what
|
||||
# version you require.
|
||||
m4_defun([XORG_MACROS_VERSION],[
|
||||
m4_define([vers_have], [1.15.0])
|
||||
m4_define([vers_have], [1.16.2])
|
||||
m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
|
||||
m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
|
||||
m4_if(m4_cmp(maj_have, maj_needed), 0,,
|
||||
@ -10617,6 +10617,7 @@ AC_MSG_RESULT([$build_specs])
|
||||
AC_DEFUN([XORG_ENABLE_UNIT_TESTS],[
|
||||
AC_BEFORE([$0], [XORG_WITH_GLIB])
|
||||
AC_BEFORE([$0], [XORG_LD_WRAP])
|
||||
AC_REQUIRE([XORG_MEMORY_CHECK_FLAGS])
|
||||
m4_define([_defopt], m4_default([$1], [auto]))
|
||||
AC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests],
|
||||
[Enable building unit test cases (default: ]_defopt[)]),
|
||||
@ -10627,6 +10628,39 @@ AC_MSG_CHECKING([whether to build unit test cases])
|
||||
AC_MSG_RESULT([$enable_unit_tests])
|
||||
]) # XORG_ENABLE_UNIT_TESTS
|
||||
|
||||
# XORG_ENABLE_INTEGRATION_TESTS (enable_unit_tests=auto)
|
||||
# ------------------------------------------------------
|
||||
# Minimum version: 1.17.0
|
||||
#
|
||||
# This macro enables a builder to enable/disable integration testing
|
||||
# It makes no assumption about the test cases' implementation
|
||||
# Test cases may or may not use Automake "Support for test suites"
|
||||
#
|
||||
# Please see XORG_ENABLE_UNIT_TESTS for unit test support. Unit test support
|
||||
# usually requires less dependencies and may be built and run under less
|
||||
# stringent environments than integration tests.
|
||||
#
|
||||
# Interface to module:
|
||||
# ENABLE_INTEGRATION_TESTS: used in makefiles to conditionally build tests
|
||||
# enable_integration_tests: used in configure.ac for additional configuration
|
||||
# --enable-integration-tests: 'yes' user instructs the module to build tests
|
||||
# 'no' user instructs the module not to build tests
|
||||
# parm1: specify the default value, yes or no.
|
||||
#
|
||||
AC_DEFUN([XORG_ENABLE_INTEGRATION_TESTS],[
|
||||
AC_REQUIRE([XORG_MEMORY_CHECK_FLAGS])
|
||||
m4_define([_defopt], m4_default([$1], [auto]))
|
||||
AC_ARG_ENABLE(integration-tests, AS_HELP_STRING([--enable-integration-tests],
|
||||
[Enable building integration test cases (default: ]_defopt[)]),
|
||||
[enable_integration_tests=$enableval],
|
||||
[enable_integration_tests=]_defopt)
|
||||
m4_undefine([_defopt])
|
||||
AM_CONDITIONAL([ENABLE_INTEGRATION_TESTS],
|
||||
[test "x$enable_integration_tests" != xno])
|
||||
AC_MSG_CHECKING([whether to build unit test cases])
|
||||
AC_MSG_RESULT([$enable_integration_tests])
|
||||
]) # XORG_ENABLE_INTEGRATION_TESTS
|
||||
|
||||
# XORG_WITH_GLIB([MIN-VERSION], [DEFAULT])
|
||||
# ----------------------------------------
|
||||
# Minimum version: 1.13.0
|
||||
@ -10637,6 +10671,10 @@ AC_MSG_RESULT([$enable_unit_tests])
|
||||
# When used with ENABLE_UNIT_TESTS, it is assumed GLib is used for unit testing.
|
||||
# Otherwise the value of $enable_unit_tests is blank.
|
||||
#
|
||||
# Please see XORG_ENABLE_INTEGRATION_TESTS for integration test support. Unit
|
||||
# test support usually requires less dependencies and may be built and run under
|
||||
# less stringent environments than integration tests.
|
||||
#
|
||||
# Interface to module:
|
||||
# HAVE_GLIB: used in makefiles to conditionally build targets
|
||||
# with_glib: used in configure.ac to know if GLib has been found
|
||||
@ -10688,8 +10726,8 @@ fi
|
||||
AM_CONDITIONAL([HAVE_GLIB], [test "$have_glib" = yes])
|
||||
]) # XORG_WITH_GLIB
|
||||
|
||||
# XORG_LD_WRAP
|
||||
# ------------
|
||||
# XORG_LD_WRAP([required|optional])
|
||||
# ---------------------------------
|
||||
# Minimum version: 1.13.0
|
||||
#
|
||||
# Check if linker supports -wrap, passed via compiler flags
|
||||
@ -10697,10 +10735,18 @@ AM_CONDITIONAL([HAVE_GLIB], [test "$have_glib" = yes])
|
||||
# When used with ENABLE_UNIT_TESTS, it is assumed -wrap is used for unit testing.
|
||||
# Otherwise the value of $enable_unit_tests is blank.
|
||||
#
|
||||
# Argument added in 1.16.0 - default is "required", to match existing behavior
|
||||
# of returning an error if enable_unit_tests is yes, and ld -wrap is not
|
||||
# available, an argument of "optional" allows use when some unit tests require
|
||||
# ld -wrap and others do not.
|
||||
#
|
||||
AC_DEFUN([XORG_LD_WRAP],[
|
||||
XORG_CHECK_LINKER_FLAGS([-Wl,-wrap,exit],[have_ld_wrap=yes],[have_ld_wrap=no])
|
||||
XORG_CHECK_LINKER_FLAGS([-Wl,-wrap,exit],[have_ld_wrap=yes],[have_ld_wrap=no],
|
||||
[AC_LANG_PROGRAM([#include <stdlib.h>
|
||||
void __wrap_exit(int status) { return; }],
|
||||
[exit(0);])])
|
||||
# Not having ld wrap when unit testing has been explicitly requested is an error
|
||||
if test "x$enable_unit_tests" = x"yes"; then
|
||||
if test "x$enable_unit_tests" = x"yes" -a "x$1" != "xoptional"; then
|
||||
if test "x$have_ld_wrap" = x"no"; then
|
||||
AC_MSG_ERROR([--enable-unit-tests=yes specified but ld -wrap support is not available])
|
||||
fi
|
||||
@ -10713,7 +10759,7 @@ AM_CONDITIONAL([HAVE_LD_WRAP], [test "$have_ld_wrap" = yes])
|
||||
# -----------------------
|
||||
# SYNOPSIS
|
||||
#
|
||||
# XORG_CHECK_LINKER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE])
|
||||
# XORG_CHECK_LINKER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE], [PROGRAM-SOURCE])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
@ -10723,6 +10769,8 @@ AM_CONDITIONAL([HAVE_LD_WRAP], [test "$have_ld_wrap" = yes])
|
||||
# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
|
||||
# success/failure.
|
||||
#
|
||||
# PROGRAM-SOURCE is the program source to link with, if needed
|
||||
#
|
||||
# NOTE: Based on AX_CHECK_COMPILER_FLAGS.
|
||||
#
|
||||
# LICENSE
|
||||
@ -10763,7 +10811,7 @@ AS_LITERAL_IF([$1],
|
||||
[AC_CACHE_VAL(AS_TR_SH(xorg_cv_linker_flags_[$1]), [
|
||||
ax_save_FLAGS=$LDFLAGS
|
||||
LDFLAGS="$1"
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM()],
|
||||
AC_LINK_IFELSE([m4_default([$4],[AC_LANG_PROGRAM()])],
|
||||
AS_TR_SH(xorg_cv_linker_flags_[$1])=yes,
|
||||
AS_TR_SH(xorg_cv_linker_flags_[$1])=no)
|
||||
LDFLAGS=$ax_save_FLAGS])],
|
||||
@ -10782,6 +10830,52 @@ else
|
||||
fi
|
||||
]) # XORG_CHECK_LINKER_FLAGS
|
||||
|
||||
# XORG_MEMORY_CHECK_FLAGS
|
||||
# -----------------------
|
||||
# Minimum version: 1.16.0
|
||||
#
|
||||
# This macro attempts to find appropriate memory checking functionality
|
||||
# for various platforms which unit testing code may use to catch various
|
||||
# forms of memory allocation and access errors in testing.
|
||||
#
|
||||
# Interface to module:
|
||||
# XORG_MALLOC_DEBUG_ENV - environment variables to set to enable debugging
|
||||
# Usually added to TESTS_ENVIRONMENT in Makefile.am
|
||||
#
|
||||
# If the user sets the value of XORG_MALLOC_DEBUG_ENV, it is used verbatim.
|
||||
#
|
||||
AC_DEFUN([XORG_MEMORY_CHECK_FLAGS],[
|
||||
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_ARG_VAR([XORG_MALLOC_DEBUG_ENV],
|
||||
[Environment variables to enable memory checking in tests])
|
||||
|
||||
# Check for different types of support on different platforms
|
||||
case $host_os in
|
||||
solaris*)
|
||||
AC_CHECK_LIB([umem], [umem_alloc],
|
||||
[malloc_debug_env='LD_PRELOAD=libumem.so UMEM_DEBUG=default'])
|
||||
;;
|
||||
*-gnu*) # GNU libc - Value is used as a single byte bit pattern,
|
||||
# both directly and inverted, so should not be 0 or 255.
|
||||
malloc_debug_env='MALLOC_PERTURB_=15'
|
||||
;;
|
||||
darwin*)
|
||||
malloc_debug_env='MallocPreScribble=1 MallocScribble=1 DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib'
|
||||
;;
|
||||
*bsd*)
|
||||
malloc_debug_env='MallocPreScribble=1 MallocScribble=1'
|
||||
;;
|
||||
esac
|
||||
|
||||
# User supplied flags override default flags
|
||||
if test "x$XORG_MALLOC_DEBUG_ENV" != "x"; then
|
||||
malloc_debug_env="$XORG_MALLOC_DEBUG_ENV"
|
||||
fi
|
||||
|
||||
AC_SUBST([XORG_MALLOC_DEBUG_ENV],[$malloc_debug_env])
|
||||
]) # XORG_WITH_LINT
|
||||
|
||||
# XORG_CHECK_MALLOC_ZERO
|
||||
# ----------------------
|
||||
# Minimum version: 1.0.0
|
||||
@ -10939,41 +11033,248 @@ AM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno])
|
||||
#
|
||||
# Checks for various brands of compilers and sets flags as appropriate:
|
||||
# GNU gcc - relies on AC_PROG_CC (via AC_PROG_CC_C99) to set GCC to "yes"
|
||||
# GNU g++ - relies on AC_PROG_CXX to set GXX to "yes"
|
||||
# clang compiler - sets CLANGCC to "yes"
|
||||
# Intel compiler - sets INTELCC to "yes"
|
||||
# Sun/Oracle Solaris Studio cc - sets SUNCC to "yes"
|
||||
#
|
||||
AC_DEFUN([XORG_COMPILER_BRAND], [
|
||||
AC_REQUIRE([AC_PROG_CC_C99])
|
||||
AC_LANG_CASE(
|
||||
[C], [
|
||||
AC_REQUIRE([AC_PROG_CC_C99])
|
||||
],
|
||||
[C++], [
|
||||
AC_REQUIRE([AC_PROG_CXX])
|
||||
]
|
||||
)
|
||||
AC_CHECK_DECL([__clang__], [CLANGCC="yes"], [CLANGCC="no"])
|
||||
AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
|
||||
AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
|
||||
]) # XORG_COMPILER_BRAND
|
||||
|
||||
# XORG_TESTSET_CFLAG(<variable>, <flag>, [<alternative flag>, ...])
|
||||
# ---------------
|
||||
# Minimum version: 1.16.0
|
||||
#
|
||||
# Test if the compiler works when passed the given flag as a command line argument.
|
||||
# If it succeeds, the flag is appeneded to the given variable. If not, it tries the
|
||||
# next flag in the list until there are no more options.
|
||||
#
|
||||
# Note that this does not guarantee that the compiler supports the flag as some
|
||||
# compilers will simply ignore arguments that they do not understand, but we do
|
||||
# attempt to weed out false positives by using -Werror=unknown-warning-option and
|
||||
# -Werror=unused-command-line-argument
|
||||
#
|
||||
AC_DEFUN([XORG_TESTSET_CFLAG], [
|
||||
m4_if([$#], 0, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])])
|
||||
m4_if([$#], 1, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])])
|
||||
|
||||
AC_LANG_COMPILER_REQUIRE
|
||||
|
||||
AC_LANG_CASE(
|
||||
[C], [
|
||||
AC_REQUIRE([AC_PROG_CC_C99])
|
||||
define([PREFIX], [C])
|
||||
define([CACHE_PREFIX], [cc])
|
||||
define([COMPILER], [$CC])
|
||||
],
|
||||
[C++], [
|
||||
define([PREFIX], [CXX])
|
||||
define([CACHE_PREFIX], [cxx])
|
||||
define([COMPILER], [$CXX])
|
||||
]
|
||||
)
|
||||
|
||||
[xorg_testset_save_]PREFIX[FLAGS]="$PREFIX[FLAGS]"
|
||||
|
||||
if test "x$[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]" = "x" ; then
|
||||
PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
|
||||
AC_CACHE_CHECK([if ]COMPILER[ supports -Werror=unknown-warning-option],
|
||||
[xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option],
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])],
|
||||
[xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option=yes],
|
||||
[xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option=no]))
|
||||
[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]=$[xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option]
|
||||
PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"
|
||||
fi
|
||||
|
||||
if test "x$[xorg_testset_]CACHE_PREFIX[_unused_command_line_argument]" = "x" ; then
|
||||
if test "x$[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]" = "xyes" ; then
|
||||
PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
|
||||
fi
|
||||
PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unused-command-line-argument"
|
||||
AC_CACHE_CHECK([if ]COMPILER[ supports -Werror=unused-command-line-argument],
|
||||
[xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument],
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])],
|
||||
[xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument=yes],
|
||||
[xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument=no]))
|
||||
[xorg_testset_]CACHE_PREFIX[_unused_command_line_argument]=$[xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument]
|
||||
PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"
|
||||
fi
|
||||
|
||||
found="no"
|
||||
m4_foreach([flag], m4_cdr($@), [
|
||||
if test $found = "no" ; then
|
||||
if test "x$xorg_testset_unknown_warning_option" = "xyes" ; then
|
||||
PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
|
||||
fi
|
||||
|
||||
if test "x$xorg_testset_unused_command_line_argument" = "xyes" ; then
|
||||
PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unused-command-line-argument"
|
||||
fi
|
||||
|
||||
PREFIX[FLAGS]="$PREFIX[FLAGS] ]flag["
|
||||
|
||||
dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname
|
||||
AC_MSG_CHECKING([if ]COMPILER[ supports]flag[])
|
||||
cacheid=AS_TR_SH([xorg_cv_]CACHE_PREFIX[_flag_]flag[])
|
||||
AC_CACHE_VAL($cacheid,
|
||||
[AC_LINK_IFELSE([AC_LANG_PROGRAM([int i;])],
|
||||
[eval $cacheid=yes],
|
||||
[eval $cacheid=no])])
|
||||
|
||||
PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"
|
||||
|
||||
eval supported=\$$cacheid
|
||||
AC_MSG_RESULT([$supported])
|
||||
if test "$supported" = "yes" ; then
|
||||
$1="$$1 ]flag["
|
||||
found="yes"
|
||||
fi
|
||||
fi
|
||||
])
|
||||
]) # XORG_TESTSET_CFLAG
|
||||
|
||||
# XORG_COMPILER_FLAGS
|
||||
# ---------------
|
||||
# Minimum version: 1.16.0
|
||||
#
|
||||
# Defines BASE_CFLAGS or BASE_CXXFLAGS to contain a set of command line
|
||||
# arguments supported by the selected compiler which do NOT alter the generated
|
||||
# code. These arguments will cause the compiler to print various warnings
|
||||
# during compilation AND turn a conservative set of warnings into errors.
|
||||
#
|
||||
# The set of flags supported by BASE_CFLAGS and BASE_CXXFLAGS will grow in
|
||||
# future versions of util-macros as options are added to new compilers.
|
||||
#
|
||||
AC_DEFUN([XORG_COMPILER_FLAGS], [
|
||||
AC_REQUIRE([XORG_COMPILER_BRAND])
|
||||
|
||||
AC_ARG_ENABLE(selective-werror,
|
||||
AS_HELP_STRING([--disable-selective-werror],
|
||||
[Turn off selective compiler errors. (default: enabled)]),
|
||||
[SELECTIVE_WERROR=$enableval],
|
||||
[SELECTIVE_WERROR=yes])
|
||||
|
||||
AC_LANG_CASE(
|
||||
[C], [
|
||||
define([PREFIX], [C])
|
||||
],
|
||||
[C++], [
|
||||
define([PREFIX], [CXX])
|
||||
]
|
||||
)
|
||||
# -v is too short to test reliably with XORG_TESTSET_CFLAG
|
||||
if test "x$SUNCC" = "xyes"; then
|
||||
[BASE_]PREFIX[FLAGS]="-v"
|
||||
else
|
||||
[BASE_]PREFIX[FLAGS]=""
|
||||
fi
|
||||
|
||||
# This chunk of warnings were those that existed in the legacy CWARNFLAGS
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wall])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wpointer-arith])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-declarations])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wformat=2], [-Wformat])
|
||||
|
||||
AC_LANG_CASE(
|
||||
[C], [
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wstrict-prototypes])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-prototypes])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnested-externs])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wbad-function-cast])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wold-style-definition])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wdeclaration-after-statement])
|
||||
]
|
||||
)
|
||||
|
||||
# This chunk adds additional warnings that could catch undesired effects.
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wunused])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wuninitialized])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wshadow])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-noreturn])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-format-attribute])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wredundant-decls])
|
||||
|
||||
# These are currently disabled because they are noisy. They will be enabled
|
||||
# in the future once the codebase is sufficiently modernized to silence
|
||||
# them. For now, I don't want them to drown out the other warnings.
|
||||
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op])
|
||||
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wparentheses])
|
||||
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align])
|
||||
|
||||
# Turn some warnings into errors, so we don't accidently get successful builds
|
||||
# when there are problems that should be fixed.
|
||||
|
||||
if test "x$SELECTIVE_WERROR" = "xyes" ; then
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=implicit], [-errwarn=E_NO_EXPLICIT_TYPE_GIVEN -errwarn=E_NO_IMPLICIT_DECL_ALLOWED])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=nonnull])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=init-self])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=main])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=missing-braces])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=sequence-point])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=return-type], [-errwarn=E_FUNC_HAS_NO_RETURN_STMT])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=trigraphs])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=array-bounds])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=write-strings])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=address])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=int-to-pointer-cast], [-errwarn=E_BAD_PTR_INT_COMBINATION])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=pointer-to-int-cast]) # Also -errwarn=E_BAD_PTR_INT_COMBINATION
|
||||
else
|
||||
AC_MSG_WARN([You have chosen not to turn some select compiler warnings into errors. This should not be necessary. Please report why you needed to do so in a bug report at $PACKAGE_BUGREPORT])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wimplicit])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnonnull])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Winit-self])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmain])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-braces])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wsequence-point])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wreturn-type])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wtrigraphs])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Warray-bounds])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wwrite-strings])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Waddress])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wint-to-pointer-cast])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wpointer-to-int-cast])
|
||||
fi
|
||||
|
||||
AC_SUBST([BASE_]PREFIX[FLAGS])
|
||||
]) # XORG_COMPILER_FLAGS
|
||||
|
||||
# XORG_CWARNFLAGS
|
||||
# ---------------
|
||||
# Minimum version: 1.2.0
|
||||
# Deprecated since: 1.16.0 (Use XORG_COMPILER_FLAGS instead)
|
||||
#
|
||||
# Defines CWARNFLAGS to enable C compiler warnings.
|
||||
#
|
||||
# This function is deprecated because it defines -fno-strict-aliasing
|
||||
# which alters the code generated by the compiler. If -fno-strict-aliasing
|
||||
# is needed, then it should be added explicitly in the module when
|
||||
# it is updated to use BASE_CFLAGS.
|
||||
#
|
||||
AC_DEFUN([XORG_CWARNFLAGS], [
|
||||
AC_REQUIRE([AC_PROG_CC_C99])
|
||||
AC_REQUIRE([XORG_COMPILER_FLAGS])
|
||||
AC_REQUIRE([XORG_COMPILER_BRAND])
|
||||
if test "x$GCC" = xyes ; then
|
||||
CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
|
||||
-Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
|
||||
-Wbad-function-cast -Wformat=2"
|
||||
case `$CC -dumpversion` in
|
||||
3.4.* | 4.*)
|
||||
CWARNFLAGS="$CWARNFLAGS -Wold-style-definition -Wdeclaration-after-statement"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
if test "x$SUNCC" = "xyes"; then
|
||||
CWARNFLAGS="-v"
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(CWARNFLAGS)
|
||||
AC_LANG_CASE(
|
||||
[C], [
|
||||
CWARNFLAGS="$BASE_CFLAGS"
|
||||
if test "x$GCC" = xyes ; then
|
||||
CWARNFLAGS="$CWARNFLAGS -fno-strict-aliasing"
|
||||
fi
|
||||
AC_SUBST(CWARNFLAGS)
|
||||
]
|
||||
)
|
||||
]) # XORG_CWARNFLAGS
|
||||
|
||||
# XORG_STRICT_OPTION
|
||||
@ -10983,41 +11284,43 @@ AC_SUBST(CWARNFLAGS)
|
||||
# Add configure option to enable strict compilation flags, such as treating
|
||||
# warnings as fatal errors.
|
||||
# If --enable-strict-compilation is passed to configure, adds strict flags to
|
||||
# $CWARNFLAGS.
|
||||
# $BASE_CFLAGS or $BASE_CXXFLAGS and the deprecated $CWARNFLAGS.
|
||||
#
|
||||
# Starting in 1.14.0 also exports $STRICT_CFLAGS for use in other tests or
|
||||
# when strict compilation is unconditionally desired.
|
||||
AC_DEFUN([XORG_STRICT_OPTION], [
|
||||
# If the module's configure.ac calls AC_PROG_CC later on, CC gets set to C89
|
||||
AC_REQUIRE([AC_PROG_CC_C99])
|
||||
AC_REQUIRE([XORG_COMPILER_BRAND])
|
||||
AC_REQUIRE([XORG_CWARNFLAGS])
|
||||
AC_REQUIRE([XORG_COMPILER_FLAGS])
|
||||
|
||||
AC_ARG_ENABLE(strict-compilation,
|
||||
AS_HELP_STRING([--enable-strict-compilation],
|
||||
[Enable all warnings from compiler and make them errors (default: disabled)]),
|
||||
[STRICT_COMPILE=$enableval], [STRICT_COMPILE=no])
|
||||
if test "x$GCC" = xyes ; then
|
||||
STRICT_CFLAGS="-pedantic -Werror"
|
||||
# Add -Werror=attributes if supported (gcc 4.2 & later)
|
||||
AC_MSG_CHECKING([if $CC supports -Werror=attributes])
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $STRICT_CFLAGS -Werror=attributes"
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([return 0;])],
|
||||
[STRICT_CFLAGS="$STRICT_CFLAGS -Werror=attributes"
|
||||
AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_RESULT([no])])
|
||||
CFLAGS="$save_CFLAGS"
|
||||
elif test "x$SUNCC" = "xyes"; then
|
||||
STRICT_CFLAGS="-errwarn"
|
||||
elif test "x$INTELCC" = "xyes"; then
|
||||
STRICT_CFLAGS="-Werror"
|
||||
fi
|
||||
|
||||
AC_LANG_CASE(
|
||||
[C], [
|
||||
define([PREFIX], [C])
|
||||
],
|
||||
[C++], [
|
||||
define([PREFIX], [CXX])
|
||||
]
|
||||
)
|
||||
|
||||
[STRICT_]PREFIX[FLAGS]=""
|
||||
XORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-pedantic])
|
||||
XORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-Werror], [-errwarn])
|
||||
|
||||
# Earlier versions of gcc (eg: 4.2) support -Werror=attributes, but do not
|
||||
# activate it with -Werror, so we add it here explicitly.
|
||||
XORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-Werror=attributes])
|
||||
|
||||
if test "x$STRICT_COMPILE" = "xyes"; then
|
||||
CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
|
||||
[BASE_]PREFIX[FLAGS]="$[BASE_]PREFIX[FLAGS] $[STRICT_]PREFIX[FLAGS]"
|
||||
AC_LANG_CASE([C], [CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"])
|
||||
fi
|
||||
AC_SUBST([STRICT_CFLAGS])
|
||||
AC_SUBST([CWARNFLAGS])
|
||||
AC_SUBST([STRICT_]PREFIX[FLAGS])
|
||||
AC_SUBST([BASE_]PREFIX[FLAGS])
|
||||
AC_LANG_CASE([C], AC_SUBST([CWARNFLAGS]))
|
||||
]) # XORG_STRICT_OPTION
|
||||
|
||||
# XORG_DEFAULT_OPTIONS
|
||||
@ -11028,6 +11331,7 @@ AC_SUBST([CWARNFLAGS])
|
||||
#
|
||||
AC_DEFUN([XORG_DEFAULT_OPTIONS], [
|
||||
AC_REQUIRE([AC_PROG_INSTALL])
|
||||
XORG_COMPILER_FLAGS
|
||||
XORG_CWARNFLAGS
|
||||
XORG_STRICT_OPTION
|
||||
XORG_RELEASE_VERSION
|
||||
|
9783
lib/libXi/configure
vendored
9783
lib/libXi/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
|
||||
# Initialize Autoconf
|
||||
AC_PREREQ([2.60])
|
||||
AC_INIT([libXi], [1.4.5],
|
||||
AC_INIT([libXi], [1.6.1],
|
||||
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXi])
|
||||
AC_CONFIG_SRCDIR([Makefile.am])
|
||||
AC_CONFIG_HEADERS([src/config.h])
|
||||
@ -13,20 +13,22 @@ AM_MAINTAINER_MODE
|
||||
# Initialize libtool
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
# Require xorg-macros minimum of 1.10 for DocBook XML documentation
|
||||
# Require xorg-macros minimum of 1.12 for DocBook external references
|
||||
m4_ifndef([XORG_MACROS_VERSION],
|
||||
[m4_fatal([must install xorg-macros 1.10 or later before running autoconf/autogen])])
|
||||
XORG_MACROS_VERSION(1.10)
|
||||
[m4_fatal([must install xorg-macros 1.12 or later before running autoconf/autogen])])
|
||||
XORG_MACROS_VERSION(1.12)
|
||||
XORG_DEFAULT_OPTIONS
|
||||
XORG_ENABLE_DOCS
|
||||
XORG_ENABLE_SPECS
|
||||
XORG_WITH_XMLTO(0.0.20)
|
||||
XORG_WITH_XMLTO(0.0.22)
|
||||
XORG_WITH_FOP
|
||||
XORG_CHECK_SGML_DOCTOOLS(1.5)
|
||||
XORG_WITH_XSLTPROC
|
||||
XORG_CHECK_SGML_DOCTOOLS(1.8)
|
||||
XORG_WITH_ASCIIDOC(8.4.5)
|
||||
XORG_CHECK_MALLOC_ZERO
|
||||
|
||||
# Obtain compiler/linker options for depedencies
|
||||
PKG_CHECK_MODULES(XI, [xproto >= 7.0.13] [x11 >= 1.2.99.1] [xextproto >= 7.0.3] [xext >= 1.0.99.1] [inputproto >= 1.9.99.902])
|
||||
# Obtain compiler/linker options for dependencies
|
||||
PKG_CHECK_MODULES(XI, [xproto >= 7.0.13] [x11 >= 1.4.99.1] [xextproto >= 7.0.3] [xext >= 1.0.99.1] [inputproto >= 2.1.99.6])
|
||||
|
||||
# Check for xmlto and asciidoc for man page conversion
|
||||
# (only needed by people building tarballs)
|
||||
@ -49,7 +51,6 @@ AM_CONDITIONAL([INSTALL_MANPAGES],
|
||||
AC_CONFIG_FILES([Makefile
|
||||
src/Makefile
|
||||
man/Makefile
|
||||
doc/Makefile
|
||||
specs/Makefile
|
||||
xi.pc])
|
||||
AC_OUTPUT
|
||||
|
@ -1,63 +0,0 @@
|
||||
#
|
||||
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, 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.
|
||||
#
|
||||
|
||||
if ENABLE_SPECS
|
||||
|
||||
specdir = $(docdir)/$(subdir)
|
||||
doc_sources = porting.xml
|
||||
dist_spec_DATA = $(doc_sources)
|
||||
|
||||
if HAVE_XMLTO
|
||||
spec_DATA = $(doc_sources:.xml=.html)
|
||||
|
||||
if HAVE_FOP
|
||||
spec_DATA += $(doc_sources:.xml=.ps) $(doc_sources:.xml=.pdf)
|
||||
endif
|
||||
|
||||
if HAVE_XMLTO_TEXT
|
||||
spec_DATA += $(doc_sources:.xml=.txt)
|
||||
endif
|
||||
|
||||
if HAVE_STYLESHEETS
|
||||
XMLTO_FLAGS = -m $(XSL_STYLESHEET) \
|
||||
--stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
|
||||
endif
|
||||
|
||||
CLEANFILES = $(spec_DATA)
|
||||
|
||||
SUFFIXES = .xml .ps .pdf .txt .html
|
||||
|
||||
%.txt: %.xml $(dist_spec_DATA)
|
||||
$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) txt $<
|
||||
|
||||
%.html: %.xml $(dist_spec_DATA)
|
||||
$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) xhtml-nochunks $<
|
||||
|
||||
%.pdf: %.xml $(dist_spec_DATA)
|
||||
$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop pdf $<
|
||||
|
||||
%.ps: %.xml $(dist_spec_DATA)
|
||||
$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop ps $<
|
||||
|
||||
endif HAVE_XMLTO
|
||||
endif ENABLE_SPECS
|
@ -1,470 +0,0 @@
|
||||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
#
|
||||
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, 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.
|
||||
#
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = ${SHELL} $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = ${SHELL} $(install_sh) -c
|
||||
install_sh_SCRIPT = ${SHELL} $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_XMLTO_TRUE@am__append_1 = $(doc_sources:.xml=.ps) $(doc_sources:.xml=.pdf)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TEXT_TRUE@@HAVE_XMLTO_TRUE@am__append_2 = $(doc_sources:.xml=.txt)
|
||||
subdir = doc
|
||||
DIST_COMMON = $(am__dist_spec_DATA_DIST) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/src/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__dist_spec_DATA_DIST = porting.xml
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
||||
am__installdirs = "$(DESTDIR)$(specdir)" "$(DESTDIR)$(specdir)"
|
||||
dist_specDATA_INSTALL = $(INSTALL_DATA)
|
||||
specDATA_INSTALL = $(INSTALL_DATA)
|
||||
DATA = $(dist_spec_DATA) $(spec_DATA)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
|
||||
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
APP_MAN_DIR = @APP_MAN_DIR@
|
||||
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
|
||||
AR = @AR@
|
||||
ASCIIDOC = @ASCIIDOC@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CHANGELOG_CMD = @CHANGELOG_CMD@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
ENABLE_SPECS_FALSE = @ENABLE_SPECS_FALSE@
|
||||
ENABLE_SPECS_TRUE = @ENABLE_SPECS_TRUE@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
FOP = @FOP@
|
||||
GREP = @GREP@
|
||||
HAVE_ASCIIDOC_FALSE = @HAVE_ASCIIDOC_FALSE@
|
||||
HAVE_ASCIIDOC_TRUE = @HAVE_ASCIIDOC_TRUE@
|
||||
HAVE_DOCTOOLS_FALSE = @HAVE_DOCTOOLS_FALSE@
|
||||
HAVE_DOCTOOLS_TRUE = @HAVE_DOCTOOLS_TRUE@
|
||||
HAVE_FOP_FALSE = @HAVE_FOP_FALSE@
|
||||
HAVE_FOP_TRUE = @HAVE_FOP_TRUE@
|
||||
HAVE_STYLESHEETS_FALSE = @HAVE_STYLESHEETS_FALSE@
|
||||
HAVE_STYLESHEETS_TRUE = @HAVE_STYLESHEETS_TRUE@
|
||||
HAVE_XMLTO_FALSE = @HAVE_XMLTO_FALSE@
|
||||
HAVE_XMLTO_TEXT_FALSE = @HAVE_XMLTO_TEXT_FALSE@
|
||||
HAVE_XMLTO_TEXT_TRUE = @HAVE_XMLTO_TEXT_TRUE@
|
||||
HAVE_XMLTO_TRUE = @HAVE_XMLTO_TRUE@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_MANPAGES_FALSE = @INSTALL_MANPAGES_FALSE@
|
||||
INSTALL_MANPAGES_TRUE = @INSTALL_MANPAGES_TRUE@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MALLOC_ZERO_CFLAGS = @MALLOC_ZERO_CFLAGS@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MAN_SUBSTS = @MAN_SUBSTS@
|
||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRICT_CFLAGS = @STRICT_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@
|
||||
VERSION = @VERSION@
|
||||
XI_CFLAGS = @XI_CFLAGS@
|
||||
XI_LIBS = @XI_LIBS@
|
||||
XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@
|
||||
XMLTO = @XMLTO@
|
||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||
XORG_SGML_PATH = @XORG_SGML_PATH@
|
||||
XSL_STYLESHEET = @XSL_STYLESHEET@
|
||||
XTMALLOC_ZERO_CFLAGS = @XTMALLOC_ZERO_CFLAGS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
@ENABLE_SPECS_TRUE@specdir = $(docdir)/$(subdir)
|
||||
@ENABLE_SPECS_TRUE@doc_sources = porting.xml
|
||||
@ENABLE_SPECS_TRUE@dist_spec_DATA = $(doc_sources)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@spec_DATA = \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@ $(doc_sources:.xml=.html) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@ $(am__append_1) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@ $(am__append_2)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@XMLTO_FLAGS = -m $(XSL_STYLESHEET) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@CLEANFILES = $(spec_DATA)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@SUFFIXES = .xml .ps .pdf .txt .html
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .xml .ps .pdf .txt .html
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign doc/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
install-dist_specDATA: $(dist_spec_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(specdir)" || $(mkdir_p) "$(DESTDIR)$(specdir)"
|
||||
@list='$(dist_spec_DATA)'; for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
f=$(am__strip_dir) \
|
||||
echo " $(dist_specDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(specdir)/$$f'"; \
|
||||
$(dist_specDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(specdir)/$$f"; \
|
||||
done
|
||||
|
||||
uninstall-dist_specDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(dist_spec_DATA)'; for p in $$list; do \
|
||||
f=$(am__strip_dir) \
|
||||
echo " rm -f '$(DESTDIR)$(specdir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(specdir)/$$f"; \
|
||||
done
|
||||
install-specDATA: $(spec_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(specdir)" || $(mkdir_p) "$(DESTDIR)$(specdir)"
|
||||
@list='$(spec_DATA)'; for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
f=$(am__strip_dir) \
|
||||
echo " $(specDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(specdir)/$$f'"; \
|
||||
$(specDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(specdir)/$$f"; \
|
||||
done
|
||||
|
||||
uninstall-specDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(spec_DATA)'; for p in $$list; do \
|
||||
f=$(am__strip_dir) \
|
||||
echo " rm -f '$(DESTDIR)$(specdir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(specdir)/$$f"; \
|
||||
done
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(DATA)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(specdir)" "$(DESTDIR)$(specdir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-libtool
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-dist_specDATA install-specDATA
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-dist_specDATA uninstall-info-am \
|
||||
uninstall-specDATA
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||
distclean distclean-generic distclean-libtool distdir dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dist_specDATA \
|
||||
install-exec install-exec-am install-info install-info-am \
|
||||
install-man install-specDATA install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
|
||||
uninstall-dist_specDATA uninstall-info-am uninstall-specDATA
|
||||
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@%.txt: %.xml $(dist_spec_DATA)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@ $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) txt $<
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@%.html: %.xml $(dist_spec_DATA)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@ $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) xhtml-nochunks $<
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@%.pdf: %.xml $(dist_spec_DATA)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@ $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop pdf $<
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@%.ps: %.xml $(dist_spec_DATA)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@ $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop ps $<
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
File diff suppressed because it is too large
Load Diff
105
lib/libXi/docbook.am
Normal file
105
lib/libXi/docbook.am
Normal file
@ -0,0 +1,105 @@
|
||||
#
|
||||
# Generate output formats for a single DocBook/XML with/without chapters
|
||||
#
|
||||
# Variables set by the calling Makefile:
|
||||
# shelfdir: the location where the docs/specs are installed. Typically $(docdir)
|
||||
# docbook: the main DocBook/XML file, no chapters, appendix or image files
|
||||
# chapters: all files pulled in by an XInclude statement and images.
|
||||
#
|
||||
|
||||
#
|
||||
# This makefile is intended for Users Documentation and Functional Specifications.
|
||||
# Do not use for Developer Documentation which is not installed and does not require olink.
|
||||
# Refer to http://www.x.org/releases/X11R7.6/doc/xorg-docs/ReleaseNotes.html#id2584393
|
||||
# for an explanation on documents classification.
|
||||
#
|
||||
|
||||
# DocBook/XML generated output formats to be installed
|
||||
shelf_DATA =
|
||||
|
||||
# DocBook/XML file with chapters, appendix and images it includes
|
||||
dist_shelf_DATA = $(docbook) $(chapters)
|
||||
|
||||
if HAVE_XMLTO
|
||||
if HAVE_STYLESHEETS
|
||||
|
||||
XMLTO_SEARCHPATH_FLAGS = \
|
||||
--searchpath "$(XORG_SGML_PATH)/X11" \
|
||||
--searchpath "$(abs_top_builddir)"
|
||||
XMLTO_HTML_OLINK_FLAGS = \
|
||||
--stringparam target.database.document=$(XORG_SGML_PATH)/X11/dbs/masterdb.html.xml \
|
||||
--stringparam current.docid="$(<:.xml=)"
|
||||
XMLTO_HTML_STYLESHEET_FLAGS = -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl
|
||||
XMLTO_HTML_FLAGS = \
|
||||
$(XMLTO_SEARCHPATH_FLAGS) \
|
||||
$(XMLTO_HTML_STYLESHEET_FLAGS) \
|
||||
$(XMLTO_HTML_OLINK_FLAGS)
|
||||
|
||||
shelf_DATA += $(docbook:.xml=.html)
|
||||
%.html: %.xml $(chapters)
|
||||
$(AM_V_GEN)$(XMLTO) $(XMLTO_HTML_FLAGS) xhtml-nochunks $<
|
||||
|
||||
if HAVE_XMLTO_TEXT
|
||||
|
||||
shelf_DATA += $(docbook:.xml=.txt)
|
||||
%.txt: %.xml $(chapters)
|
||||
$(AM_V_GEN)$(XMLTO) $(XMLTO_HTML_FLAGS) txt $<
|
||||
endif HAVE_XMLTO_TEXT
|
||||
|
||||
if HAVE_FOP
|
||||
XMLTO_FO_IMAGEPATH_FLAGS = --stringparam img.src.path=$(abs_builddir)/
|
||||
XMLTO_PDF_OLINK_FLAGS = \
|
||||
--stringparam target.database.document=$(XORG_SGML_PATH)/X11/dbs/masterdb.pdf.xml \
|
||||
--stringparam current.docid="$(<:.xml=)"
|
||||
XMLTO_FO_STYLESHEET_FLAGS = -x $(STYLESHEET_SRCDIR)/xorg-fo.xsl
|
||||
|
||||
XMLTO_FO_FLAGS = \
|
||||
$(XMLTO_SEARCHPATH_FLAGS) \
|
||||
$(XMLTO_FO_STYLESHEET_FLAGS) \
|
||||
$(XMLTO_FO_IMAGEPATH_FLAGS) \
|
||||
$(XMLTO_PDF_OLINK_FLAGS)
|
||||
|
||||
shelf_DATA += $(docbook:.xml=.pdf)
|
||||
%.pdf: %.xml $(chapters)
|
||||
$(AM_V_GEN)$(XMLTO) $(XMLTO_FO_FLAGS) --with-fop pdf $<
|
||||
|
||||
shelf_DATA += $(docbook:.xml=.ps)
|
||||
%.ps: %.xml $(chapters)
|
||||
$(AM_V_GEN)$(XMLTO) $(XMLTO_FO_FLAGS) --with-fop ps $<
|
||||
endif HAVE_FOP
|
||||
|
||||
# Generate documents cross-reference target databases
|
||||
if HAVE_XSLTPROC
|
||||
|
||||
XSLT_SEARCHPATH_FLAGS = \
|
||||
--path "$(XORG_SGML_PATH)/X11" \
|
||||
--path "$(abs_top_builddir)"
|
||||
XSLT_OLINK_FLAGS = \
|
||||
--stringparam targets.filename "$@" \
|
||||
--stringparam collect.xref.targets "only" \
|
||||
--stringparam olink.base.uri "$(@:.db=)"
|
||||
|
||||
XSLT_HTML_FLAGS = \
|
||||
$(XSLT_SEARCHPATH_FLAGS) \
|
||||
$(XSLT_OLINK_FLAGS) \
|
||||
--nonet --xinclude \
|
||||
$(STYLESHEET_SRCDIR)/xorg-xhtml.xsl
|
||||
XSLT_PDF_FLAGS = \
|
||||
$(XSLT_SEARCHPATH_FLAGS) \
|
||||
$(XSLT_OLINK_FLAGS) \
|
||||
--nonet --xinclude \
|
||||
$(STYLESHEET_SRCDIR)/xorg-fo.xsl
|
||||
|
||||
shelf_DATA += $(docbook:.xml=.html.db)
|
||||
%.html.db: %.xml $(chapters)
|
||||
$(AM_V_GEN)$(XSLTPROC) $(XSLT_HTML_FLAGS) $<
|
||||
|
||||
shelf_DATA += $(docbook:.xml=.pdf.db)
|
||||
%.pdf.db: %.xml $(chapters)
|
||||
$(AM_V_GEN)$(XSLTPROC) $(XSLT_PDF_FLAGS) $<
|
||||
|
||||
endif HAVE_XSLTPROC
|
||||
endif HAVE_STYLESHEETS
|
||||
endif HAVE_XMLTO
|
||||
|
||||
CLEANFILES = $(shelf_DATA)
|
@ -133,6 +133,25 @@ typedef struct
|
||||
int mode;
|
||||
} XIValuatorClassInfo;
|
||||
|
||||
/* new in XI 2.1 */
|
||||
typedef struct
|
||||
{
|
||||
int type;
|
||||
int sourceid;
|
||||
int number;
|
||||
int scroll_type;
|
||||
double increment;
|
||||
int flags;
|
||||
} XIScrollClassInfo;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int type;
|
||||
int sourceid;
|
||||
int mode;
|
||||
int num_touches;
|
||||
} XITouchClassInfo;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int deviceid;
|
||||
@ -292,6 +311,23 @@ typedef struct {
|
||||
int what;
|
||||
} XIPropertyEvent;
|
||||
|
||||
typedef struct {
|
||||
int type; /* GenericEvent */
|
||||
unsigned long serial; /* # of last request processed by server */
|
||||
Bool send_event; /* true if this came from a SendEvent request */
|
||||
Display *display; /* Display the event was read from */
|
||||
int extension; /* XI extension offset */
|
||||
int evtype;
|
||||
Time time;
|
||||
int deviceid;
|
||||
int sourceid;
|
||||
unsigned int touchid;
|
||||
Window root;
|
||||
Window event;
|
||||
Window child;
|
||||
int flags;
|
||||
} XITouchOwnershipEvent;
|
||||
|
||||
_XFUNCPROTOBEGIN
|
||||
|
||||
extern Bool XIQueryPointer(
|
||||
@ -415,6 +451,14 @@ extern Status XIAllowEvents(
|
||||
Time time
|
||||
);
|
||||
|
||||
extern Status XIAllowTouchEvents(
|
||||
Display* display,
|
||||
int deviceid,
|
||||
unsigned int touchid,
|
||||
Window grab_window,
|
||||
int event_mode
|
||||
);
|
||||
|
||||
extern int XIGrabButton(
|
||||
Display* display,
|
||||
int deviceid,
|
||||
@ -466,6 +510,17 @@ extern int XIGrabFocusIn(
|
||||
int num_modifiers,
|
||||
XIGrabModifiers *modifiers_inout
|
||||
);
|
||||
|
||||
extern int XIGrabTouchBegin(
|
||||
Display* display,
|
||||
int deviceid,
|
||||
Window grab_window,
|
||||
int owner_events,
|
||||
XIEventMask *mask,
|
||||
int num_modifiers,
|
||||
XIGrabModifiers *modifiers_inout
|
||||
);
|
||||
|
||||
extern Status XIUngrabButton(
|
||||
Display* display,
|
||||
int deviceid,
|
||||
@ -500,6 +555,13 @@ extern Status XIUngrabFocusIn(
|
||||
XIGrabModifiers *modifiers
|
||||
);
|
||||
|
||||
extern Status XIUngrabTouchBegin(
|
||||
Display* display,
|
||||
int deviceid,
|
||||
Window grab_window,
|
||||
int num_modifiers,
|
||||
XIGrabModifiers *modifiers
|
||||
);
|
||||
|
||||
extern Atom *XIListProperties(
|
||||
Display* display,
|
||||
|
@ -157,6 +157,13 @@ endif
|
||||
# Unable to use __libmansuffix__ as underscores are lost in txt --> xml conversion
|
||||
MAN_SUBSTS += -e 's/libmansuffix/$(LIB_MAN_SUFFIX)/g'
|
||||
|
||||
# asciidoc is generating [FIXME...] values in the .TH line we should fix.
|
||||
MAN_SUBSTS += -e 's/\[FIXME: source\]/$(XORG_MAN_PAGE)/'
|
||||
MAN_SUBSTS += -e 's/\[FIXME: manual\]/XINPUT FUNCTIONS/'
|
||||
|
||||
# asciidoc generates shadow page references without the man section directory
|
||||
MAN_SUBSTS += -e 's/^\.so X/.so man$(LIB_MAN_SUFFIX)\/X/'
|
||||
|
||||
SUFFIXES = .man .$(LIB_MAN_SUFFIX)
|
||||
.man.$(LIB_MAN_SUFFIX):
|
||||
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
|
||||
@ -168,13 +175,13 @@ SUFFIXES += .txt .xml
|
||||
$(AM_V_GEN)$(ASCIIDOC) -b docbook -d manpage -o $@ $<
|
||||
.xml.man:
|
||||
$(AM_V_GEN)$(XMLTO) man $<
|
||||
$(AM_V_GEN)mv -f $(@:.man=.libmansuffix) $@
|
||||
$(AM_V_at)mv -f $(@:.man=.libmansuffix) $@
|
||||
|
||||
# Invoke asciidoc/xmlto main man page generation for shadow pages
|
||||
$(libman_shadows):
|
||||
@if test ! -f $(@:.man=.libmansuffix); then \
|
||||
$(AM_V_GEN)rm -f $<; \
|
||||
$(AM_V_GEN)$(MAKE) $(AM_MAKEFLAGS) $< || exit 1; \
|
||||
rm -f $<; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $< || exit 1; \
|
||||
fi
|
||||
$(AM_V_GEN)mv -f $(@:.man=.libmansuffix) $@
|
||||
$(AM_V_at)mv -f $(@:.man=.libmansuffix) $@
|
||||
endif
|
||||
|
@ -98,6 +98,7 @@ AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_CFLAGS = @BASE_CFLAGS@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
@ -117,6 +118,8 @@ ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
ENABLE_DOCS_FALSE = @ENABLE_DOCS_FALSE@
|
||||
ENABLE_DOCS_TRUE = @ENABLE_DOCS_TRUE@
|
||||
ENABLE_SPECS_FALSE = @ENABLE_SPECS_FALSE@
|
||||
ENABLE_SPECS_TRUE = @ENABLE_SPECS_TRUE@
|
||||
EXEEXT = @EXEEXT@
|
||||
@ -137,6 +140,8 @@ HAVE_XMLTO_FALSE = @HAVE_XMLTO_FALSE@
|
||||
HAVE_XMLTO_TEXT_FALSE = @HAVE_XMLTO_TEXT_FALSE@
|
||||
HAVE_XMLTO_TEXT_TRUE = @HAVE_XMLTO_TEXT_TRUE@
|
||||
HAVE_XMLTO_TRUE = @HAVE_XMLTO_TRUE@
|
||||
HAVE_XSLTPROC_FALSE = @HAVE_XSLTPROC_FALSE@
|
||||
HAVE_XSLTPROC_TRUE = @HAVE_XSLTPROC_TRUE@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_MANPAGES_FALSE = @INSTALL_MANPAGES_FALSE@
|
||||
@ -163,7 +168,14 @@ MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
|
||||
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
|
||||
# Unable to use __libmansuffix__ as underscores are lost in txt --> xml conversion
|
||||
MAN_SUBSTS = @MAN_SUBSTS@ -e 's/libmansuffix/$(LIB_MAN_SUFFIX)/g'
|
||||
|
||||
# asciidoc is generating [FIXME...] values in the .TH line we should fix.
|
||||
|
||||
# asciidoc generates shadow page references without the man section directory
|
||||
MAN_SUBSTS = @MAN_SUBSTS@ -e 's/libmansuffix/$(LIB_MAN_SUFFIX)/g' -e \
|
||||
's/\[FIXME: source\]/$(XORG_MAN_PAGE)/' -e 's/\[FIXME: \
|
||||
manual\]/XINPUT FUNCTIONS/' -e 's/^\.so X/.so \
|
||||
man$(LIB_MAN_SUFFIX)\/X/'
|
||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||
NM = @NM@
|
||||
@ -194,6 +206,7 @@ XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@
|
||||
XMLTO = @XMLTO@
|
||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||
XORG_SGML_PATH = @XORG_SGML_PATH@
|
||||
XSLTPROC = @XSLTPROC@
|
||||
XSL_STYLESHEET = @XSL_STYLESHEET@
|
||||
XTMALLOC_ZERO_CFLAGS = @XTMALLOC_ZERO_CFLAGS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
@ -559,15 +572,15 @@ uninstall-am: uninstall-info-am uninstall-libmanDATA
|
||||
@HAVE_DOCTOOLS_TRUE@ $(AM_V_GEN)$(ASCIIDOC) -b docbook -d manpage -o $@ $<
|
||||
@HAVE_DOCTOOLS_TRUE@.xml.man:
|
||||
@HAVE_DOCTOOLS_TRUE@ $(AM_V_GEN)$(XMLTO) man $<
|
||||
@HAVE_DOCTOOLS_TRUE@ $(AM_V_GEN)mv -f $(@:.man=.libmansuffix) $@
|
||||
@HAVE_DOCTOOLS_TRUE@ $(AM_V_at)mv -f $(@:.man=.libmansuffix) $@
|
||||
|
||||
# Invoke asciidoc/xmlto main man page generation for shadow pages
|
||||
@HAVE_DOCTOOLS_TRUE@$(libman_shadows):
|
||||
@HAVE_DOCTOOLS_TRUE@ @if test ! -f $(@:.man=.libmansuffix); then \
|
||||
@HAVE_DOCTOOLS_TRUE@ $(AM_V_GEN)rm -f $<; \
|
||||
@HAVE_DOCTOOLS_TRUE@ $(AM_V_GEN)$(MAKE) $(AM_MAKEFLAGS) $< || exit 1; \
|
||||
@HAVE_DOCTOOLS_TRUE@ rm -f $<; \
|
||||
@HAVE_DOCTOOLS_TRUE@ $(MAKE) $(AM_MAKEFLAGS) $< || exit 1; \
|
||||
@HAVE_DOCTOOLS_TRUE@ fi
|
||||
@HAVE_DOCTOOLS_TRUE@ $(AM_V_GEN)mv -f $(@:.man=.libmansuffix) $@
|
||||
@HAVE_DOCTOOLS_TRUE@ $(AM_V_at)mv -f $(@:.man=.libmansuffix) $@
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
@ -2,12 +2,12 @@
|
||||
.\" Title: xichangeproperty
|
||||
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
|
||||
.\" Date: 12/20/2011
|
||||
.\" Date: 12/21/2011
|
||||
.\" Manual: [FIXME: manual]
|
||||
.\" Source: [FIXME: source]
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "XICHANGEPROPERTY" "libmansuffix" "12/20/2011" "[FIXME: source]" "[FIXME: manual]"
|
||||
.TH "XICHANGEPROPERTY" "libmansuffix" "12/21/2011" "[FIXME: source]" "[FIXME: manual]"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
@ -124,7 +124,7 @@ offset
|
||||
.sp
|
||||
.nf
|
||||
mode
|
||||
One of PropModeAppend, PropModePrepend or PropModeReplace\&.
|
||||
One of XIPropModeAppend, XIPropModePrepend or XIPropModeReplace\&.
|
||||
.fi
|
||||
.sp
|
||||
.nf
|
||||
@ -189,7 +189,7 @@ If the specified property exists but its type does not match the specified type,
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
If the specified property exists and either you assign AnyPropertyType to the req_type argument or the specified type matches the actual property type, XIGetProperty returns the actual property type to actual_type_return and the actual property format (never zero) to actual_format_return\&. It also returns a value to bytes_after_return and nitems_return, by defining the following values:
|
||||
If the specified property exists and either you assign XIAnyPropertyType to the req_type argument or the specified type matches the actual property type, XIGetProperty returns the actual property type to actual_type_return and the actual property format (never zero) to actual_format_return\&. It also returns a value to bytes_after_return and nitems_return, by defining the following values:
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
@ -228,7 +228,7 @@ The XIChangeProperty function alters the property for the specified device and c
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
If mode is PropModeReplace, XIChangeProperty discards the previous property value and stores the new data\&.
|
||||
If mode is XIPropModeReplace, XIChangeProperty discards the previous property value and stores the new data\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
@ -239,7 +239,7 @@ If mode is PropModeReplace, XIChangeProperty discards the previous property valu
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
If mode is PropModePrepend or PropModeAppend, XIChangeProperty inserts the specified data before the beginning of the existing data or onto the end of the existing data, respectively\&. The type and format must match the existing property value, or a BadMatch error results\&. If the property is undefined, it is treated as defined with the correct type and format with zero\-length data\&.
|
||||
If mode is XIPropModePrepend or XIPropModeAppend, XIChangeProperty inserts the specified data before the beginning of the existing data or onto the end of the existing data, respectively\&. The type and format must match the existing property value, or a BadMatch error results\&. If the property is undefined, it is treated as defined with the correct type and format with zero\-length data\&.
|
||||
.RE
|
||||
.sp
|
||||
If the specified format is 8, the property data must be a char array\&. If the specified format is 16, the property data must be a uint16_t array\&. If the specified format is 32, the property data must be a uint32_t array\&.
|
||||
@ -262,6 +262,20 @@ BadValue Some numeric value falls outside the range of values accepted by the re
|
||||
BadDevice An invalid device was specified\&. The device does not exist\&.
|
||||
.sp
|
||||
BadAtom An invalid property was specified\&. The property does not exist\&.
|
||||
.SH "BUGS"
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
The protocol headers for XI 2\&.0 did not provide
|
||||
XIAnyPropertyType, XIPropModeReplace, XIPropModePrepend or
|
||||
XIPropModeAppend\&. Use AnyPropertyType, PropModeReplace,
|
||||
PropModePrepend and PropModeAppend instead, respectively\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.SH "SEE ALSO"
|
||||
.sp
|
||||
XIListProperties(libmansuffix)
|
||||
|
@ -76,7 +76,7 @@ SYNOPSIS
|
||||
quantities) where the data is to be retrieved.
|
||||
|
||||
mode
|
||||
One of PropModeAppend, PropModePrepend or PropModeReplace.
|
||||
One of XIPropModeAppend, XIPropModePrepend or XIPropModeReplace.
|
||||
|
||||
num_items
|
||||
Number of items in data in the format specified.
|
||||
@ -121,7 +121,7 @@ XIGetProperty sets the return arguments as follows:
|
||||
nitems_return argument is empty.
|
||||
|
||||
- If the specified property exists and either you assign
|
||||
AnyPropertyType to the req_type argument or the specified type
|
||||
XIAnyPropertyType to the req_type argument or the specified type
|
||||
matches the actual property type, XIGetProperty returns the
|
||||
actual property type to actual_type_return and the actual property
|
||||
format (never zero) to actual_format_return. It also returns a value
|
||||
@ -165,10 +165,10 @@ The XIChangeProperty function alters the property for the specified device
|
||||
and causes the X server to generate a XIPropertyNotify event for that
|
||||
device. XIChangeProperty performs the following:
|
||||
|
||||
- If mode is PropModeReplace, XIChangeProperty discards the previous
|
||||
- If mode is XIPropModeReplace, XIChangeProperty discards the previous
|
||||
property value and stores the new data.
|
||||
|
||||
- If mode is PropModePrepend or PropModeAppend, XIChangeProperty
|
||||
- If mode is XIPropModePrepend or XIPropModeAppend, XIChangeProperty
|
||||
inserts the specified data before the beginning of the existing
|
||||
data or onto the end of the existing data, respectively. The type
|
||||
and format must match the existing property value, or a BadMatch
|
||||
@ -221,6 +221,14 @@ BadAtom
|
||||
An invalid property was specified. The property does not
|
||||
exist.
|
||||
|
||||
BUGS
|
||||
----
|
||||
|
||||
The protocol headers for XI 2.0 did not provide
|
||||
XIAnyPropertyType, XIPropModeReplace, XIPropModePrepend or
|
||||
XIPropModeAppend. Use AnyPropertyType, PropModeReplace,
|
||||
PropModePrepend and PropModeAppend instead, respectively.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
|
@ -2,12 +2,12 @@
|
||||
.\" Title: xigrabbutton
|
||||
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
|
||||
.\" Date: 12/20/2011
|
||||
.\" Date: 12/22/2011
|
||||
.\" Manual: [FIXME: manual]
|
||||
.\" Source: [FIXME: source]
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "XIGRABBUTTON" "libmansuffix" "12/20/2011" "[FIXME: source]" "[FIXME: manual]"
|
||||
.TH "XIGRABBUTTON" "libmansuffix" "12/22/2011" "[FIXME: source]" "[FIXME: manual]"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
@ -60,24 +60,42 @@ int XIUngrabButton( Display *display,
|
||||
.sp
|
||||
.nf
|
||||
int XIGrabKeycode( Display *display,
|
||||
int deviceid,
|
||||
int keycode,
|
||||
Window grab_window,
|
||||
int grab_mode,
|
||||
int paired_device_mode,
|
||||
Bool owner_events,
|
||||
XIEventMask *mask,
|
||||
int num_modifiers,
|
||||
XIGrabModifiers *modifiers_inout);
|
||||
int deviceid,
|
||||
int keycode,
|
||||
Window grab_window,
|
||||
int grab_mode,
|
||||
int paired_device_mode,
|
||||
Bool owner_events,
|
||||
XIEventMask *mask,
|
||||
int num_modifiers,
|
||||
XIGrabModifiers *modifiers_inout);
|
||||
.fi
|
||||
.sp
|
||||
.nf
|
||||
int XIUngrabKeycode( Display *display,
|
||||
int deviceid,
|
||||
int keycode,
|
||||
Window grab_window,
|
||||
int num_modifiers,
|
||||
XIGrabModifiers *modifiers);
|
||||
int deviceid,
|
||||
int keycode,
|
||||
Window grab_window,
|
||||
int num_modifiers,
|
||||
XIGrabModifiers *modifiers);
|
||||
.fi
|
||||
.sp
|
||||
.nf
|
||||
int XIGrabTouchBegin( Display *display,
|
||||
int deviceid,
|
||||
Window grab_window,
|
||||
Bool owner_events,
|
||||
XIEventMask *mask,
|
||||
int num_modifiers,
|
||||
XIGrabModifiers *modifiers_inout);
|
||||
.fi
|
||||
.sp
|
||||
.nf
|
||||
int XIUngrabTouchBegin( Display *display,
|
||||
int deviceid,
|
||||
Window grab_window,
|
||||
int num_modifiers,
|
||||
XIGrabModifiers *modifiers);
|
||||
.fi
|
||||
.sp
|
||||
.nf
|
||||
@ -142,14 +160,14 @@ mask
|
||||
.nf
|
||||
grab_mode
|
||||
Specifies further processing of events from this device\&.
|
||||
You can pass GrabModeSync or GrabModeAsync\&.
|
||||
You can pass XIGrabModeSync or XIGrabModeAsync\&.
|
||||
.fi
|
||||
.sp
|
||||
.nf
|
||||
paired_device_mode
|
||||
Specifies further processing of events from the paired
|
||||
master device\&. You can pass GrabModeSync or
|
||||
GrabModeAsync\&. If deviceid specifies a floating slave
|
||||
master device\&. You can pass XIGrabModeSync or
|
||||
XIGrabModeAsync\&. If deviceid specifies a floating slave
|
||||
device, this parameter is ignored\&.
|
||||
.fi
|
||||
.SH "DESCRIPTION"
|
||||
@ -158,8 +176,8 @@ paired_device_mode
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
XIGrabButton and XIGrabKeycode establishes a passive grab\&. The
|
||||
modifier device for a button grab is the paired master device
|
||||
XIGrabButton, XIGrabKeycode and XIGrabTouchBegin establish a passive
|
||||
grab\&. The modifier device for a button grab is the paired master device
|
||||
if deviceid specifies a master pointer\&. Otherwise, the modifier
|
||||
device is the device specified with deviceid\&. In the future,
|
||||
the device is actively grabbed (as for XIGrabDevice, the
|
||||
@ -167,9 +185,9 @@ last\-grab time is set to the time at which the button or keycode
|
||||
was pressed and the XI_ButtonPress or XI_KeyPress event is
|
||||
reported if all of the following conditions are true:
|
||||
* The device is not grabbed, and the specified button or
|
||||
keycode is logically pressed when the specified modifier
|
||||
keys are logically down on the modifier device and no other
|
||||
buttons or modifier keys are logically down\&.
|
||||
keycode is logically pressed or a touch event occurs when the
|
||||
specified modifier keys are logically down on the modifier device
|
||||
and no other buttons or modifier keys are logically down\&.
|
||||
* Either the grab window is an ancestor of (or is) the focus
|
||||
window, OR the grab window is a descendent of the focus
|
||||
window and contains the device\&.
|
||||
@ -261,10 +279,10 @@ active grab\&.
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
On success, XIGrabButton and XIGrabKeycode return 0;
|
||||
On success, XIGrabButton, XIGrabKeycode and XIGrabTouchBegin return 0;
|
||||
If one or more modifier combinations could not be grabbed,
|
||||
XIGrabButton and XIGrabKeycode return the number of failed
|
||||
combinations and modifiers_inout contains the failed combinations
|
||||
XIGrabButton, XIGrabKeycode and XIGrabTouchBegin return the number of
|
||||
failed combinations and modifiers_inout contains the failed combinations
|
||||
and their respective error codes\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
@ -275,8 +293,8 @@ and their respective error codes\&.
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
XIGrabButton and XIGrabKeycode can generate BadClass, BadDevice,
|
||||
BadMatch, BadValue, and BadWindow errors\&.
|
||||
XIGrabButton, XIGrabKeycode and XIGrabTouchBegin can generate BadClass,
|
||||
BadDevice, BadMatch, BadValue, and BadWindow errors\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
@ -286,10 +304,10 @@ BadMatch, BadValue, and BadWindow errors\&.
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
XIUngrabButton and XIUngrabKeycode releases the passive grab for
|
||||
a button/modifier or keycode/modifier combination on the
|
||||
specified window if it was grabbed by this client\&. A modifier
|
||||
of XIAnyModifier is equivalent to issuing the ungrab request
|
||||
XIUngrabButton, XIUngrabKeycode and XIUngrabTouchBegin release the
|
||||
passive grab for a button/modifier, keycode/modifier or touch/modifier
|
||||
combination on the specified window if it was grabbed by this client\&. A
|
||||
modifier of XIAnyModifier is equivalent to issuing the ungrab request
|
||||
for all possible modifier combinations, including the
|
||||
combination of no modifiers\&. A button of XIAnyButton is
|
||||
equivalent to issuing the request for all possible buttons\&.
|
||||
@ -304,8 +322,8 @@ grab\&.
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
XIUngrabButton and XIUngrabKeycode can generate BadDevice,
|
||||
BadMatch, BadValue and BadWindow errors\&.
|
||||
XIUngrabButton, XIUngrabKeycode and XIUngrabTouchBegin can generate
|
||||
BadDevice, BadMatch, BadValue and BadWindow errors\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
@ -316,11 +334,12 @@ BadMatch, BadValue and BadWindow errors\&.
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
XIGrabButton and XIGrabKeycode return the number of modifier combination
|
||||
that could not establish a passive grab\&. The modifiers are returned in
|
||||
modifiers_inout, along with the respective error for this modifier
|
||||
combination\&. If XIGrabButton or XIGrabKeycode return zero, passive grabs
|
||||
with all requested modifier combinations were established successfully\&.
|
||||
XIGrabButton, XIGrabKeycode and XIGrabTouchBegin return the number of
|
||||
modifier combination that could not establish a passive grab\&. The
|
||||
modifiers are returned in modifiers_inout, along with the respective
|
||||
error for this modifier combination\&. If XIGrabButton, XIGrabKeycode
|
||||
or XIGrabTouchBegin return zero, passive grabs with all requested
|
||||
modifier combinations were established successfully\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
@ -345,7 +364,8 @@ BadDevice
|
||||
BadMatch
|
||||
This error may occur if XIGrabButton specified a device
|
||||
that has no buttons, or XIGrabKeycode specified a device
|
||||
that has no keys\&.
|
||||
that has no keys, or XIGrabTouchBegin specified a device
|
||||
that is not touch\-capable\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
@ -377,6 +397,19 @@ BadWindow
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.SH "BUGS"
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
The protocol headers for XI 2\&.0 did not provide
|
||||
XIGrabModeAsync or XIGrabModeSync\&. Use GrabModeSync and
|
||||
GrabModeAsync instead, respectively\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.SH "SEE ALSO"
|
||||
.sp
|
||||
.if n \{\
|
||||
|
@ -32,22 +32,36 @@ SYNOPSIS
|
||||
XIGrabModifiers *modifiers);
|
||||
|
||||
int XIGrabKeycode( Display *display,
|
||||
int deviceid,
|
||||
int keycode,
|
||||
Window grab_window,
|
||||
int grab_mode,
|
||||
int paired_device_mode,
|
||||
Bool owner_events,
|
||||
XIEventMask *mask,
|
||||
int num_modifiers,
|
||||
XIGrabModifiers *modifiers_inout);
|
||||
int deviceid,
|
||||
int keycode,
|
||||
Window grab_window,
|
||||
int grab_mode,
|
||||
int paired_device_mode,
|
||||
Bool owner_events,
|
||||
XIEventMask *mask,
|
||||
int num_modifiers,
|
||||
XIGrabModifiers *modifiers_inout);
|
||||
|
||||
int XIUngrabKeycode( Display *display,
|
||||
int deviceid,
|
||||
int keycode,
|
||||
Window grab_window,
|
||||
int num_modifiers,
|
||||
XIGrabModifiers *modifiers);
|
||||
int deviceid,
|
||||
int keycode,
|
||||
Window grab_window,
|
||||
int num_modifiers,
|
||||
XIGrabModifiers *modifiers);
|
||||
|
||||
int XIGrabTouchBegin( Display *display,
|
||||
int deviceid,
|
||||
Window grab_window,
|
||||
Bool owner_events,
|
||||
XIEventMask *mask,
|
||||
int num_modifiers,
|
||||
XIGrabModifiers *modifiers_inout);
|
||||
|
||||
int XIUngrabTouchBegin( Display *display,
|
||||
int deviceid,
|
||||
Window grab_window,
|
||||
int num_modifiers,
|
||||
XIGrabModifiers *modifiers);
|
||||
|
||||
display
|
||||
Specifies the connection to the X server.
|
||||
@ -90,19 +104,19 @@ SYNOPSIS
|
||||
|
||||
grab_mode
|
||||
Specifies further processing of events from this device.
|
||||
You can pass GrabModeSync or GrabModeAsync.
|
||||
You can pass XIGrabModeSync or XIGrabModeAsync.
|
||||
|
||||
paired_device_mode
|
||||
Specifies further processing of events from the paired
|
||||
master device. You can pass GrabModeSync or
|
||||
GrabModeAsync. If deviceid specifies a floating slave
|
||||
master device. You can pass XIGrabModeSync or
|
||||
XIGrabModeAsync. If deviceid specifies a floating slave
|
||||
device, this parameter is ignored.
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
XIGrabButton and XIGrabKeycode establishes a passive grab. The
|
||||
modifier device for a button grab is the paired master device
|
||||
XIGrabButton, XIGrabKeycode and XIGrabTouchBegin establish a passive
|
||||
grab. The modifier device for a button grab is the paired master device
|
||||
if deviceid specifies a master pointer. Otherwise, the modifier
|
||||
device is the device specified with deviceid. In the future,
|
||||
the device is actively grabbed (as for XIGrabDevice, the
|
||||
@ -110,9 +124,9 @@ DESCRIPTION
|
||||
was pressed and the XI_ButtonPress or XI_KeyPress event is
|
||||
reported if all of the following conditions are true:
|
||||
* The device is not grabbed, and the specified button or
|
||||
keycode is logically pressed when the specified modifier
|
||||
keys are logically down on the modifier device and no other
|
||||
buttons or modifier keys are logically down.
|
||||
keycode is logically pressed or a touch event occurs when the
|
||||
specified modifier keys are logically down on the modifier device
|
||||
and no other buttons or modifier keys are logically down.
|
||||
* Either the grab window is an ancestor of (or is) the focus
|
||||
window, OR the grab window is a descendent of the focus
|
||||
window and contains the device.
|
||||
@ -156,35 +170,36 @@ DESCRIPTION
|
||||
combination. XIGrabButton and XIGrabKeycode have no effect on an
|
||||
active grab.
|
||||
|
||||
On success, XIGrabButton and XIGrabKeycode return 0;
|
||||
On success, XIGrabButton, XIGrabKeycode and XIGrabTouchBegin return 0;
|
||||
If one or more modifier combinations could not be grabbed,
|
||||
XIGrabButton and XIGrabKeycode return the number of failed
|
||||
combinations and modifiers_inout contains the failed combinations
|
||||
XIGrabButton, XIGrabKeycode and XIGrabTouchBegin return the number of
|
||||
failed combinations and modifiers_inout contains the failed combinations
|
||||
and their respective error codes.
|
||||
|
||||
XIGrabButton and XIGrabKeycode can generate BadClass, BadDevice,
|
||||
BadMatch, BadValue, and BadWindow errors.
|
||||
XIGrabButton, XIGrabKeycode and XIGrabTouchBegin can generate BadClass,
|
||||
BadDevice, BadMatch, BadValue, and BadWindow errors.
|
||||
|
||||
XIUngrabButton and XIUngrabKeycode releases the passive grab for
|
||||
a button/modifier or keycode/modifier combination on the
|
||||
specified window if it was grabbed by this client. A modifier
|
||||
of XIAnyModifier is equivalent to issuing the ungrab request
|
||||
XIUngrabButton, XIUngrabKeycode and XIUngrabTouchBegin release the
|
||||
passive grab for a button/modifier, keycode/modifier or touch/modifier
|
||||
combination on the specified window if it was grabbed by this client. A
|
||||
modifier of XIAnyModifier is equivalent to issuing the ungrab request
|
||||
for all possible modifier combinations, including the
|
||||
combination of no modifiers. A button of XIAnyButton is
|
||||
equivalent to issuing the request for all possible buttons.
|
||||
XIUngrabButton and XIUngrabKeycode have no effect on an active
|
||||
grab.
|
||||
|
||||
XIUngrabButton and XIUngrabKeycode can generate BadDevice,
|
||||
BadMatch, BadValue and BadWindow errors.
|
||||
XIUngrabButton, XIUngrabKeycode and XIUngrabTouchBegin can generate
|
||||
BadDevice, BadMatch, BadValue and BadWindow errors.
|
||||
|
||||
RETURN VALUE
|
||||
------------
|
||||
XIGrabButton and XIGrabKeycode return the number of modifier combination
|
||||
that could not establish a passive grab. The modifiers are returned in
|
||||
modifiers_inout, along with the respective error for this modifier
|
||||
combination. If XIGrabButton or XIGrabKeycode return zero, passive grabs
|
||||
with all requested modifier combinations were established successfully.
|
||||
XIGrabButton, XIGrabKeycode and XIGrabTouchBegin return the number of
|
||||
modifier combination that could not establish a passive grab. The
|
||||
modifiers are returned in modifiers_inout, along with the respective
|
||||
error for this modifier combination. If XIGrabButton, XIGrabKeycode
|
||||
or XIGrabTouchBegin return zero, passive grabs with all requested
|
||||
modifier combinations were established successfully.
|
||||
|
||||
DIAGNOSTICS
|
||||
-----------
|
||||
@ -195,7 +210,8 @@ DIAGNOSTICS
|
||||
BadMatch
|
||||
This error may occur if XIGrabButton specified a device
|
||||
that has no buttons, or XIGrabKeycode specified a device
|
||||
that has no keys.
|
||||
that has no keys, or XIGrabTouchBegin specified a device
|
||||
that is not touch-capable.
|
||||
|
||||
BadValue
|
||||
Some numeric value falls outside the range of values
|
||||
@ -208,6 +224,13 @@ DIAGNOSTICS
|
||||
A value for a Window argument does not name a defined
|
||||
Window.
|
||||
|
||||
BUGS
|
||||
----
|
||||
|
||||
The protocol headers for XI 2.0 did not provide
|
||||
XIGrabModeAsync or XIGrabModeSync. Use GrabModeSync and
|
||||
GrabModeAsync instead, respectively.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
|
@ -2,12 +2,12 @@
|
||||
.\" Title: xigrabdevice
|
||||
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
|
||||
.\" Date: 12/20/2011
|
||||
.\" Date: 12/21/2011
|
||||
.\" Manual: [FIXME: manual]
|
||||
.\" Source: [FIXME: source]
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "XIGRABDEVICE" "libmansuffix" "12/20/2011" "[FIXME: source]" "[FIXME: manual]"
|
||||
.TH "XIGRABDEVICE" "libmansuffix" "12/21/2011" "[FIXME: source]" "[FIXME: manual]"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
@ -144,10 +144,10 @@ mask\&.
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
If the grab_mode argument is GrabModeAsync, device event
|
||||
If the grab_mode argument is XIGrabModeAsync, device event
|
||||
processing continues as usual\&. If the device is currently
|
||||
frozen by this client, then processing of device events is
|
||||
resumed\&. If the grab_mode argument is GrabModeSync, the state
|
||||
resumed\&. If the grab_mode argument is XIGrabModeSync, the state
|
||||
of the device (as seen by client applications) appears to
|
||||
freeze, and the X server generates no further device events
|
||||
until the grabbing client issues a releasing XIAllowEvents call
|
||||
@ -163,9 +163,9 @@ the server for later processing\&.
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
If paired_device_mode is GrabModeAsync, processing of events
|
||||
If paired_device_mode is XIGrabModeAsync, processing of events
|
||||
from the paired master device is unaffected by activation of
|
||||
the grab\&. If paired_device_mode is GrabModeSync, the state of
|
||||
the grab\&. If paired_device_mode is XIGrabModeSync, the state of
|
||||
the paired master device (as seen by client applications)
|
||||
appears to freeze, and the X server generates no further events
|
||||
from this device until the grabbing client issues a releasing
|
||||
@ -292,6 +292,19 @@ BadWindow
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.SH "BUGS"
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
The protocol headers for XI 2\&.0 did not provide
|
||||
XIGrabModeAsync or XIGrabModeSync\&. Use GrabModeSync and
|
||||
GrabModeAsync instead, respectively\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.SH "SEE ALSO"
|
||||
.sp
|
||||
.if n \{\
|
||||
|
@ -74,10 +74,10 @@ DESCRIPTION
|
||||
grab_window, and is only reported if specified in the event
|
||||
mask.
|
||||
|
||||
If the grab_mode argument is GrabModeAsync, device event
|
||||
If the grab_mode argument is XIGrabModeAsync, device event
|
||||
processing continues as usual. If the device is currently
|
||||
frozen by this client, then processing of device events is
|
||||
resumed. If the grab_mode argument is GrabModeSync, the state
|
||||
resumed. If the grab_mode argument is XIGrabModeSync, the state
|
||||
of the device (as seen by client applications) appears to
|
||||
freeze, and the X server generates no further device events
|
||||
until the grabbing client issues a releasing XIAllowEvents call
|
||||
@ -85,9 +85,9 @@ DESCRIPTION
|
||||
not lost while the device is frozen; they are simply queued in
|
||||
the server for later processing.
|
||||
|
||||
If paired_device_mode is GrabModeAsync, processing of events
|
||||
If paired_device_mode is XIGrabModeAsync, processing of events
|
||||
from the paired master device is unaffected by activation of
|
||||
the grab. If paired_device_mode is GrabModeSync, the state of
|
||||
the grab. If paired_device_mode is XIGrabModeSync, the state of
|
||||
the paired master device (as seen by client applications)
|
||||
appears to freeze, and the X server generates no further events
|
||||
from this device until the grabbing client issues a releasing
|
||||
@ -141,6 +141,13 @@ DIAGNOSTICS
|
||||
A value for a Window argument does not name a defined
|
||||
Window.
|
||||
|
||||
BUGS
|
||||
----
|
||||
|
||||
The protocol headers for XI 2.0 did not provide
|
||||
XIGrabModeAsync or XIGrabModeSync. Use GrabModeSync and
|
||||
GrabModeAsync instead, respectively.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
XIAllowEvents(libmansuffix)
|
||||
|
@ -2,12 +2,12 @@
|
||||
.\" Title: xigrabenter
|
||||
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
|
||||
.\" Date: 12/20/2011
|
||||
.\" Date: 12/21/2011
|
||||
.\" Manual: [FIXME: manual]
|
||||
.\" Source: [FIXME: source]
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "XIGRABENTER" "libmansuffix" "12/20/2011" "[FIXME: source]" "[FIXME: manual]"
|
||||
.TH "XIGRABENTER" "libmansuffix" "12/21/2011" "[FIXME: source]" "[FIXME: manual]"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
@ -123,14 +123,14 @@ mask
|
||||
.nf
|
||||
grab_mode
|
||||
Specifies further processing of events from this device\&.
|
||||
You can pass GrabModeSync or GrabModeAsync\&.
|
||||
You can pass XIGrabModeSync or XIGrabModeAsync\&.
|
||||
.fi
|
||||
.sp
|
||||
.nf
|
||||
paired_device_mode
|
||||
Specifies further processing of events from the paired
|
||||
master device\&. You can pass GrabModeSync or
|
||||
GrabModeAsync\&. If deviceid specifies a floating slave
|
||||
master device\&. You can pass XIGrabModeSync or
|
||||
XIGrabModeAsync\&. If deviceid specifies a floating slave
|
||||
device, this parameter is ignored\&.
|
||||
.fi
|
||||
.SH "DESCRIPTION"
|
||||
@ -353,6 +353,19 @@ BadWindow
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.SH "BUGS"
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
The protocol headers for XI 2\&.0 did not provide
|
||||
XIGrabModeAsync or XIGrabModeSync\&. Use GrabModeSync and
|
||||
GrabModeAsync instead, respectively\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.SH "SEE ALSO"
|
||||
.sp
|
||||
.if n \{\
|
||||
|
@ -77,12 +77,12 @@ SYNOPSIS
|
||||
|
||||
grab_mode
|
||||
Specifies further processing of events from this device.
|
||||
You can pass GrabModeSync or GrabModeAsync.
|
||||
You can pass XIGrabModeSync or XIGrabModeAsync.
|
||||
|
||||
paired_device_mode
|
||||
Specifies further processing of events from the paired
|
||||
master device. You can pass GrabModeSync or
|
||||
GrabModeAsync. If deviceid specifies a floating slave
|
||||
master device. You can pass XIGrabModeSync or
|
||||
XIGrabModeAsync. If deviceid specifies a floating slave
|
||||
device, this parameter is ignored.
|
||||
|
||||
DESCRIPTION
|
||||
@ -182,6 +182,13 @@ DIAGNOSTICS
|
||||
A value for a Window argument does not name a defined
|
||||
Window.
|
||||
|
||||
BUGS
|
||||
----
|
||||
|
||||
The protocol headers for XI 2.0 did not provide
|
||||
XIGrabModeAsync or XIGrabModeSync. Use GrabModeSync and
|
||||
GrabModeAsync instead, respectively.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
|
@ -2,12 +2,12 @@
|
||||
.\" Title: xiquerydevice
|
||||
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
|
||||
.\" Date: 12/20/2011
|
||||
.\" Date: 12/22/2011
|
||||
.\" Manual: [FIXME: manual]
|
||||
.\" Source: [FIXME: source]
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "XIQUERYDEVICE" "libmansuffix" "12/20/2011" "[FIXME: source]" "[FIXME: manual]"
|
||||
.TH "XIQUERYDEVICE" "libmansuffix" "12/22/2011" "[FIXME: source]" "[FIXME: manual]"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
@ -217,7 +217,8 @@ typedef struct
|
||||
.nf
|
||||
The type field specifies the type of the input class\&.
|
||||
Currently, the following types are defined:
|
||||
XIKeyClass, XIButtonClass, XIValuatorClass
|
||||
XIKeyClass, XIButtonClass, XIValuatorClass, XIScrollClass,
|
||||
XITouchClass
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
@ -471,6 +472,174 @@ mode is XIModeRelative, this device sends relative coordinates\&.
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
typedef struct
|
||||
{
|
||||
int type;
|
||||
int sourceid;
|
||||
int number;
|
||||
int scroll_type;
|
||||
double increment;
|
||||
int flags;
|
||||
} XIScrollClassInfo;
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
This class describes scrolling capability on a valuator\&. For
|
||||
each XIScrollClassInfo, an XIValuatorClassInfo with the same
|
||||
number is present on the device\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
The number field specifies the valuator number on the physical
|
||||
device that this scroll information applies to\&. See the
|
||||
respective XIValuatorClassInfo for detailed information on this
|
||||
valuator\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
The scroll_type field specifies the type of scrolling, either
|
||||
XIScrollTypeVertical or XIScrollTypeHorizontal\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
The increment specifies the value change considered one unit of
|
||||
scrolling down\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
The flags field specifies flags that apply to this scrolling
|
||||
information:
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
If XIScrollFlagNoEmulation is set, the server will not
|
||||
emulate legacy button events for valuator changes on this
|
||||
valuator\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
If XIScrollFlagPreferred is set, this axis is the
|
||||
preferred axis for this scroll type and will be used for
|
||||
the emulation of XI_Motion events when the driver submits
|
||||
legacy scroll button events\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
typedef struct
|
||||
{
|
||||
int type;
|
||||
int sourceid;
|
||||
int mode;
|
||||
int num_touches;
|
||||
} XITouchClassInfo;
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
A device may have zero or one XITouchClassInfo, denoting
|
||||
multi\-touch capability on the device\&. A device with a XITouchClassInfo
|
||||
may send TouchBegin, TouchUpdate, TouchEnd and TouchOwnership events\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
The mode field is either XIDirectTouch for direct\-input touch devices
|
||||
such as touchscreens or XIDependentTouch for indirect input devices such
|
||||
as touchpads\&. For XIDirectTouch devices, touch events are sent to window
|
||||
at the position the touch occured\&. For XIDependentTouch devices, touch
|
||||
events are sent to the window at the position of the device\*(Aqs sprite\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
The num_touches field defines the maximum number of simultaneous touches
|
||||
the device supports\&. A num_touches of 0 means the maximum number of
|
||||
simultaneous touches is undefined or unspecified\&. This field should be
|
||||
used as a guide only, devices will lie about their capabilities\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
A device with an XITouchClassInfo may still send pointer events\&. The
|
||||
valuators must be defined with the respective XIValuatorClass
|
||||
classes\&. A valuator may send both pointer and touch\-events\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
XIQueryDevice can generate a BadDevice error\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
|
@ -100,7 +100,8 @@ DESCRIPTION
|
||||
|
||||
The type field specifies the type of the input class.
|
||||
Currently, the following types are defined:
|
||||
XIKeyClass, XIButtonClass, XIValuatorClass
|
||||
XIKeyClass, XIButtonClass, XIValuatorClass, XIScrollClass,
|
||||
XITouchClass
|
||||
|
||||
In the future, additional types may be added. Clients are
|
||||
required to ignore unknown input classes.
|
||||
@ -194,6 +195,70 @@ DESCRIPTION
|
||||
XIModeAbsolute this axis sends absolute coordinates. If the
|
||||
mode is XIModeRelative, this device sends relative coordinates.
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int type;
|
||||
int sourceid;
|
||||
int number;
|
||||
int scroll_type;
|
||||
double increment;
|
||||
int flags;
|
||||
} XIScrollClassInfo;
|
||||
|
||||
This class describes scrolling capability on a valuator. For
|
||||
each XIScrollClassInfo, an XIValuatorClassInfo with the same
|
||||
number is present on the device.
|
||||
|
||||
The number field specifies the valuator number on the physical
|
||||
device that this scroll information applies to. See the
|
||||
respective XIValuatorClassInfo for detailed information on this
|
||||
valuator.
|
||||
|
||||
The scroll_type field specifies the type of scrolling, either
|
||||
XIScrollTypeVertical or XIScrollTypeHorizontal.
|
||||
|
||||
The increment specifies the value change considered one unit of
|
||||
scrolling down.
|
||||
|
||||
The flags field specifies flags that apply to this scrolling
|
||||
information:
|
||||
|
||||
If XIScrollFlagNoEmulation is set, the server will not
|
||||
emulate legacy button events for valuator changes on this
|
||||
valuator.
|
||||
|
||||
If XIScrollFlagPreferred is set, this axis is the
|
||||
preferred axis for this scroll type and will be used for
|
||||
the emulation of XI_Motion events when the driver submits
|
||||
legacy scroll button events.
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int type;
|
||||
int sourceid;
|
||||
int mode;
|
||||
int num_touches;
|
||||
} XITouchClassInfo;
|
||||
|
||||
A device may have zero or one XITouchClassInfo, denoting
|
||||
multi-touch capability on the device. A device with a XITouchClassInfo
|
||||
may send TouchBegin, TouchUpdate, TouchEnd and TouchOwnership events.
|
||||
|
||||
The mode field is either XIDirectTouch for direct-input touch devices
|
||||
such as touchscreens or XIDependentTouch for indirect input devices such
|
||||
as touchpads. For XIDirectTouch devices, touch events are sent to window
|
||||
at the position the touch occured. For XIDependentTouch devices, touch
|
||||
events are sent to the window at the position of the device's sprite.
|
||||
|
||||
The num_touches field defines the maximum number of simultaneous touches
|
||||
the device supports. A num_touches of 0 means the maximum number of
|
||||
simultaneous touches is undefined or unspecified. This field should be
|
||||
used as a guide only, devices will lie about their capabilities.
|
||||
|
||||
A device with an XITouchClassInfo may still send pointer events. The
|
||||
valuators must be defined with the respective XIValuatorClass
|
||||
classes. A valuator may send both pointer and touch-events.
|
||||
|
||||
XIQueryDevice can generate a BadDevice error.
|
||||
|
||||
XIFreeDeviceInfo frees the information returned by
|
||||
|
@ -2,12 +2,12 @@
|
||||
.\" Title: xiqueryversion
|
||||
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
|
||||
.\" Date: 09/23/2011
|
||||
.\" Date: 04/23/2012
|
||||
.\" Manual: [FIXME: manual]
|
||||
.\" Source: [FIXME: source]
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "XIQUERYVERSION" "libmansuffix" "09/23/2011" "[FIXME: source]" "[FIXME: manual]"
|
||||
.TH "XIQUERYVERSION" "libmansuffix" "04/23/2012" "[FIXME: source]" "[FIXME: manual]"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
@ -92,6 +92,19 @@ server\*(Aqs supported version\&.
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
Consecutive calls to XIQueryVersion by the same client always return the
|
||||
first returned major\&.minor version\&. If the client requests a version
|
||||
lower than the first returned major\&.minor version in a subsequent call, a
|
||||
BadValue error occurs\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
XIQueryVersion can generate a BadValue error\&.
|
||||
.fi
|
||||
.if n \{\
|
||||
|
@ -42,8 +42,12 @@ DESCRIPTION
|
||||
cases major_version_inout and minor_version_inout are set to the
|
||||
server's supported version.
|
||||
|
||||
XIQueryVersion can generate a BadValue error.
|
||||
Consecutive calls to XIQueryVersion by the same client always return the
|
||||
first returned major.minor version. If the client requests a version
|
||||
lower than the first returned major.minor version in a subsequent call, a
|
||||
BadValue error occurs.
|
||||
|
||||
XIQueryVersion can generate a BadValue error.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
@ -2,12 +2,12 @@
|
||||
.\" Title: xselectextensionevent
|
||||
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
|
||||
.\" Date: 09/23/2011
|
||||
.\" Date: 01/18/2012
|
||||
.\" Manual: [FIXME: manual]
|
||||
.\" Source: [FIXME: source]
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "XSELECTEXTENSIONEVEN" "libmansuffix" "09/23/2011" "[FIXME: source]" "[FIXME: manual]"
|
||||
.TH "XSELECTEXTENSIONEVEN" "libmansuffix" "01/18/2012" "[FIXME: source]" "[FIXME: manual]"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
@ -154,7 +154,7 @@ clients use in making XSelectExtensionEvent requests\&. Currently
|
||||
defined macros include DeviceKeyPress, DeviceKeyRelease,
|
||||
DeviceButtonPress, DeviceButtonRelese, DeviceMotionNotify,
|
||||
DeviceFocusIn, DeviceFocusOut, ProximityIn, ProximityOut,
|
||||
DeviceStateNotify, DeviceMappiingNotify, ChangeDeviceNotify,
|
||||
DeviceStateNotify, DeviceMappingNotify, ChangeDeviceNotify,
|
||||
DevicePointerMotionHint, DeviceButton1Motion,
|
||||
DeviceButton2Motion, DeviceButton3Motion, DeviceButton4Motion,
|
||||
DeviceButton5Motion, DeviceButtonMotion, DeviceOwnerGrabButton,
|
||||
|
@ -86,7 +86,7 @@ DESCRIPTION
|
||||
defined macros include DeviceKeyPress, DeviceKeyRelease,
|
||||
DeviceButtonPress, DeviceButtonRelese, DeviceMotionNotify,
|
||||
DeviceFocusIn, DeviceFocusOut, ProximityIn, ProximityOut,
|
||||
DeviceStateNotify, DeviceMappiingNotify, ChangeDeviceNotify,
|
||||
DeviceStateNotify, DeviceMappingNotify, ChangeDeviceNotify,
|
||||
DevicePointerMotionHint, DeviceButton1Motion,
|
||||
DeviceButton2Motion, DeviceButton3Motion, DeviceButton4Motion,
|
||||
DeviceButton5Motion, DeviceButtonMotion, DeviceOwnerGrabButton,
|
||||
|
@ -1,65 +1,16 @@
|
||||
#
|
||||
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, 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.
|
||||
#
|
||||
|
||||
if ENABLE_SPECS
|
||||
|
||||
specdir = $(docdir)/$(subdir)
|
||||
doc_sources = inputlib.xml
|
||||
dist_spec_DATA = $(doc_sources) \
|
||||
library.xml \
|
||||
encoding.xml
|
||||
# Main DocBook/XML files (DOCTYPE book)
|
||||
docbook = inputlib.xml
|
||||
|
||||
if HAVE_XMLTO
|
||||
spec_DATA = $(doc_sources:.xml=.html)
|
||||
# Included chapters, appendix, images
|
||||
chapters = library.xml encoding.xml
|
||||
|
||||
if HAVE_FOP
|
||||
spec_DATA += $(doc_sources:.xml=.ps) $(doc_sources:.xml=.pdf)
|
||||
endif
|
||||
# The location where the DocBook/XML files and their generated formats are installed
|
||||
shelfdir = $(docdir)
|
||||
|
||||
if HAVE_XMLTO_TEXT
|
||||
spec_DATA += $(doc_sources:.xml=.txt)
|
||||
endif
|
||||
# Generate DocBook/XML output formats with or without stylesheets
|
||||
include $(top_srcdir)/docbook.am
|
||||
|
||||
if HAVE_STYLESHEETS
|
||||
XMLTO_FLAGS = -m $(XSL_STYLESHEET) \
|
||||
--stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
|
||||
endif
|
||||
|
||||
CLEANFILES = $(spec_DATA)
|
||||
|
||||
SUFFIXES = .xml .ps .pdf .txt .html
|
||||
|
||||
%.txt: %.xml $(dist_spec_DATA)
|
||||
$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) txt $<
|
||||
|
||||
%.html: %.xml $(dist_spec_DATA)
|
||||
$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) xhtml-nochunks $<
|
||||
|
||||
%.pdf: %.xml $(dist_spec_DATA)
|
||||
$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop pdf $<
|
||||
|
||||
%.ps: %.xml $(dist_spec_DATA)
|
||||
$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop ps $<
|
||||
|
||||
endif HAVE_XMLTO
|
||||
endif ENABLE_SPECS
|
||||
|
@ -15,26 +15,19 @@
|
||||
@SET_MAKE@
|
||||
|
||||
#
|
||||
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
|
||||
# Generate output formats for a single DocBook/XML with/without chapters
|
||||
#
|
||||
# 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:
|
||||
# Variables set by the calling Makefile:
|
||||
# shelfdir: the location where the docs/specs are installed. Typically $(docdir)
|
||||
# docbook: the main DocBook/XML file, no chapters, appendix or image files
|
||||
# chapters: all files pulled in by an XInclude statement and images.
|
||||
#
|
||||
# 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.
|
||||
# This makefile is intended for Users Documentation and Functional Specifications.
|
||||
# Do not use for Developer Documentation which is not installed and does not require olink.
|
||||
# Refer to http://www.x.org/releases/X11R7.6/doc/xorg-docs/ReleaseNotes.html#id2584393
|
||||
# for an explanation on documents classification.
|
||||
#
|
||||
|
||||
srcdir = @srcdir@
|
||||
@ -59,11 +52,15 @@ PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_XMLTO_TRUE@am__append_1 = $(doc_sources:.xml=.ps) $(doc_sources:.xml=.pdf)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TEXT_TRUE@@HAVE_XMLTO_TRUE@am__append_2 = $(doc_sources:.xml=.txt)
|
||||
DIST_COMMON = $(am__dist_shelf_DATA_DIST) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in $(top_srcdir)/docbook.am
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@am__append_1 = $(docbook:.xml=.html)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TEXT_TRUE@@HAVE_XMLTO_TRUE@am__append_2 = $(docbook:.xml=.txt)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@am__append_3 = $(docbook:.xml=.pdf) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ $(docbook:.xml=.ps)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@am__append_4 = $(docbook:.xml=.html.db) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ $(docbook:.xml=.pdf.db)
|
||||
subdir = specs
|
||||
DIST_COMMON = $(am__dist_spec_DATA_DIST) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
@ -73,17 +70,17 @@ CONFIG_HEADER = $(top_builddir)/src/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__dist_spec_DATA_DIST = inputlib.xml library.xml encoding.xml
|
||||
am__dist_shelf_DATA_DIST = inputlib.xml library.xml encoding.xml
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
||||
am__installdirs = "$(DESTDIR)$(specdir)" "$(DESTDIR)$(specdir)"
|
||||
dist_specDATA_INSTALL = $(INSTALL_DATA)
|
||||
specDATA_INSTALL = $(INSTALL_DATA)
|
||||
DATA = $(dist_spec_DATA) $(spec_DATA)
|
||||
am__installdirs = "$(DESTDIR)$(shelfdir)" "$(DESTDIR)$(shelfdir)"
|
||||
dist_shelfDATA_INSTALL = $(INSTALL_DATA)
|
||||
shelfDATA_INSTALL = $(INSTALL_DATA)
|
||||
DATA = $(dist_shelf_DATA) $(shelf_DATA)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
|
||||
@ -100,6 +97,7 @@ AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_CFLAGS = @BASE_CFLAGS@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
@ -119,6 +117,8 @@ ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
ENABLE_DOCS_FALSE = @ENABLE_DOCS_FALSE@
|
||||
ENABLE_DOCS_TRUE = @ENABLE_DOCS_TRUE@
|
||||
ENABLE_SPECS_FALSE = @ENABLE_SPECS_FALSE@
|
||||
ENABLE_SPECS_TRUE = @ENABLE_SPECS_TRUE@
|
||||
EXEEXT = @EXEEXT@
|
||||
@ -139,6 +139,8 @@ HAVE_XMLTO_FALSE = @HAVE_XMLTO_FALSE@
|
||||
HAVE_XMLTO_TEXT_FALSE = @HAVE_XMLTO_TEXT_FALSE@
|
||||
HAVE_XMLTO_TEXT_TRUE = @HAVE_XMLTO_TEXT_TRUE@
|
||||
HAVE_XMLTO_TRUE = @HAVE_XMLTO_TRUE@
|
||||
HAVE_XSLTPROC_FALSE = @HAVE_XSLTPROC_FALSE@
|
||||
HAVE_XSLTPROC_TRUE = @HAVE_XSLTPROC_TRUE@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_MANPAGES_FALSE = @INSTALL_MANPAGES_FALSE@
|
||||
@ -193,6 +195,7 @@ XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@
|
||||
XMLTO = @XMLTO@
|
||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||
XORG_SGML_PATH = @XORG_SGML_PATH@
|
||||
XSLTPROC = @XSLTPROC@
|
||||
XSL_STYLESHEET = @XSL_STYLESHEET@
|
||||
XTMALLOC_ZERO_CFLAGS = @XTMALLOC_ZERO_CFLAGS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
@ -240,26 +243,76 @@ sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
@ENABLE_SPECS_TRUE@specdir = $(docdir)/$(subdir)
|
||||
@ENABLE_SPECS_TRUE@doc_sources = inputlib.xml
|
||||
@ENABLE_SPECS_TRUE@dist_spec_DATA = $(doc_sources) \
|
||||
@ENABLE_SPECS_TRUE@ library.xml \
|
||||
@ENABLE_SPECS_TRUE@ encoding.xml
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@spec_DATA = \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@ $(doc_sources:.xml=.html) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@ $(am__append_1) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@ $(am__append_2)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@XMLTO_FLAGS = -m $(XSL_STYLESHEET) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
|
||||
# Main DocBook/XML files (DOCTYPE book)
|
||||
@ENABLE_SPECS_TRUE@docbook = inputlib.xml
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@CLEANFILES = $(spec_DATA)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@SUFFIXES = .xml .ps .pdf .txt .html
|
||||
# Included chapters, appendix, images
|
||||
@ENABLE_SPECS_TRUE@chapters = library.xml encoding.xml
|
||||
|
||||
# The location where the DocBook/XML files and their generated formats are installed
|
||||
@ENABLE_SPECS_TRUE@shelfdir = $(docdir)
|
||||
|
||||
# DocBook/XML generated output formats to be installed
|
||||
@ENABLE_SPECS_TRUE@shelf_DATA = $(am__append_1) $(am__append_2) \
|
||||
@ENABLE_SPECS_TRUE@ $(am__append_3) $(am__append_4)
|
||||
|
||||
# DocBook/XML file with chapters, appendix and images it includes
|
||||
@ENABLE_SPECS_TRUE@dist_shelf_DATA = $(docbook) $(chapters)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@XMLTO_SEARCHPATH_FLAGS = \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ --searchpath "$(XORG_SGML_PATH)/X11" \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ --searchpath "$(abs_top_builddir)"
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@XMLTO_HTML_OLINK_FLAGS = \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ --stringparam target.database.document=$(XORG_SGML_PATH)/X11/dbs/masterdb.html.xml \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ --stringparam current.docid="$(<:.xml=)"
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@XMLTO_HTML_STYLESHEET_FLAGS = -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@XMLTO_HTML_FLAGS = \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ $(XMLTO_SEARCHPATH_FLAGS) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ $(XMLTO_HTML_STYLESHEET_FLAGS) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ $(XMLTO_HTML_OLINK_FLAGS)
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@XMLTO_FO_IMAGEPATH_FLAGS = --stringparam img.src.path=$(abs_builddir)/
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@XMLTO_PDF_OLINK_FLAGS = \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ --stringparam target.database.document=$(XORG_SGML_PATH)/X11/dbs/masterdb.pdf.xml \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ --stringparam current.docid="$(<:.xml=)"
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@XMLTO_FO_STYLESHEET_FLAGS = -x $(STYLESHEET_SRCDIR)/xorg-fo.xsl
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@XMLTO_FO_FLAGS = \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ $(XMLTO_SEARCHPATH_FLAGS) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ $(XMLTO_FO_STYLESHEET_FLAGS) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ $(XMLTO_FO_IMAGEPATH_FLAGS) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ $(XMLTO_PDF_OLINK_FLAGS)
|
||||
|
||||
|
||||
# Generate documents cross-reference target databases
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@XSLT_SEARCHPATH_FLAGS = \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ --path "$(XORG_SGML_PATH)/X11" \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ --path "$(abs_top_builddir)"
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@XSLT_OLINK_FLAGS = \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ --stringparam targets.filename "$@" \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ --stringparam collect.xref.targets "only" \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ --stringparam olink.base.uri "$(@:.db=)"
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@XSLT_HTML_FLAGS = \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ $(XSLT_SEARCHPATH_FLAGS) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ $(XSLT_OLINK_FLAGS) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ --nonet --xinclude \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@XSLT_PDF_FLAGS = \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ $(XSLT_SEARCHPATH_FLAGS) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ $(XSLT_OLINK_FLAGS) \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ --nonet --xinclude \
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ $(STYLESHEET_SRCDIR)/xorg-fo.xsl
|
||||
|
||||
@ENABLE_SPECS_TRUE@CLEANFILES = $(shelf_DATA)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .xml .ps .pdf .txt .html
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/docbook.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
@ -298,39 +351,39 @@ clean-libtool:
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
install-dist_specDATA: $(dist_spec_DATA)
|
||||
install-dist_shelfDATA: $(dist_shelf_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(specdir)" || $(mkdir_p) "$(DESTDIR)$(specdir)"
|
||||
@list='$(dist_spec_DATA)'; for p in $$list; do \
|
||||
test -z "$(shelfdir)" || $(mkdir_p) "$(DESTDIR)$(shelfdir)"
|
||||
@list='$(dist_shelf_DATA)'; for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
f=$(am__strip_dir) \
|
||||
echo " $(dist_specDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(specdir)/$$f'"; \
|
||||
$(dist_specDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(specdir)/$$f"; \
|
||||
echo " $(dist_shelfDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(shelfdir)/$$f'"; \
|
||||
$(dist_shelfDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(shelfdir)/$$f"; \
|
||||
done
|
||||
|
||||
uninstall-dist_specDATA:
|
||||
uninstall-dist_shelfDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(dist_spec_DATA)'; for p in $$list; do \
|
||||
@list='$(dist_shelf_DATA)'; for p in $$list; do \
|
||||
f=$(am__strip_dir) \
|
||||
echo " rm -f '$(DESTDIR)$(specdir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(specdir)/$$f"; \
|
||||
echo " rm -f '$(DESTDIR)$(shelfdir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(shelfdir)/$$f"; \
|
||||
done
|
||||
install-specDATA: $(spec_DATA)
|
||||
install-shelfDATA: $(shelf_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(specdir)" || $(mkdir_p) "$(DESTDIR)$(specdir)"
|
||||
@list='$(spec_DATA)'; for p in $$list; do \
|
||||
test -z "$(shelfdir)" || $(mkdir_p) "$(DESTDIR)$(shelfdir)"
|
||||
@list='$(shelf_DATA)'; for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
f=$(am__strip_dir) \
|
||||
echo " $(specDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(specdir)/$$f'"; \
|
||||
$(specDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(specdir)/$$f"; \
|
||||
echo " $(shelfDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(shelfdir)/$$f'"; \
|
||||
$(shelfDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(shelfdir)/$$f"; \
|
||||
done
|
||||
|
||||
uninstall-specDATA:
|
||||
uninstall-shelfDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(spec_DATA)'; for p in $$list; do \
|
||||
@list='$(shelf_DATA)'; for p in $$list; do \
|
||||
f=$(am__strip_dir) \
|
||||
echo " rm -f '$(DESTDIR)$(specdir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(specdir)/$$f"; \
|
||||
echo " rm -f '$(DESTDIR)$(shelfdir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(shelfdir)/$$f"; \
|
||||
done
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
@ -340,6 +393,7 @@ CTAGS:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(mkdir_p) $(distdir)/..
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
@ -370,7 +424,7 @@ check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(DATA)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(specdir)" "$(DESTDIR)$(specdir)"; do \
|
||||
for dir in "$(DESTDIR)$(shelfdir)" "$(DESTDIR)$(shelfdir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
@ -416,7 +470,7 @@ info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-dist_specDATA install-specDATA
|
||||
install-data-am: install-dist_shelfDATA install-shelfDATA
|
||||
|
||||
install-exec-am:
|
||||
|
||||
@ -442,32 +496,34 @@ ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-dist_specDATA uninstall-info-am \
|
||||
uninstall-specDATA
|
||||
uninstall-am: uninstall-dist_shelfDATA uninstall-info-am \
|
||||
uninstall-shelfDATA
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||
distclean distclean-generic distclean-libtool distdir dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dist_specDATA \
|
||||
install-data install-data-am install-dist_shelfDATA \
|
||||
install-exec install-exec-am install-info install-info-am \
|
||||
install-man install-specDATA install-strip installcheck \
|
||||
install-man install-shelfDATA install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
|
||||
uninstall-dist_specDATA uninstall-info-am uninstall-specDATA
|
||||
uninstall-dist_shelfDATA uninstall-info-am uninstall-shelfDATA
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@%.html: %.xml $(chapters)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ $(AM_V_GEN)$(XMLTO) $(XMLTO_HTML_FLAGS) xhtml-nochunks $<
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TEXT_TRUE@@HAVE_XMLTO_TRUE@%.txt: %.xml $(chapters)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TEXT_TRUE@@HAVE_XMLTO_TRUE@ $(AM_V_GEN)$(XMLTO) $(XMLTO_HTML_FLAGS) txt $<
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@%.pdf: %.xml $(chapters)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ $(AM_V_GEN)$(XMLTO) $(XMLTO_FO_FLAGS) --with-fop pdf $<
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@%.ps: %.xml $(chapters)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_FOP_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@ $(AM_V_GEN)$(XMLTO) $(XMLTO_FO_FLAGS) --with-fop ps $<
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@%.html.db: %.xml $(chapters)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ $(AM_V_GEN)$(XSLTPROC) $(XSLT_HTML_FLAGS) $<
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@%.pdf.db: %.xml $(chapters)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_STYLESHEETS_TRUE@@HAVE_XMLTO_TRUE@@HAVE_XSLTPROC_TRUE@ $(AM_V_GEN)$(XSLTPROC) $(XSLT_PDF_FLAGS) $<
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@%.txt: %.xml $(dist_spec_DATA)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@ $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) txt $<
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@%.html: %.xml $(dist_spec_DATA)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@ $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) xhtml-nochunks $<
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@%.pdf: %.xml $(dist_spec_DATA)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@ $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop pdf $<
|
||||
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@%.ps: %.xml $(dist_spec_DATA)
|
||||
@ENABLE_SPECS_TRUE@@HAVE_XMLTO_TRUE@ $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop ps $<
|
||||
# Generate DocBook/XML output formats with or without stylesheets
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
@ -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>
|
||||
|
@ -1,12 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
|
||||
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
|
||||
[
|
||||
<!ENTITY % defs SYSTEM "defs.ent"> %defs;
|
||||
]>
|
||||
|
||||
<book id="inputlib">
|
||||
|
||||
<bookinfo>
|
||||
<title>X11 Input Extension Protocol Specification</title>
|
||||
<releaseinfo>X Version 11, Release 6.4</releaseinfo>
|
||||
<title>X Input Device Extension Library</title>
|
||||
<releaseinfo>X Version 11, Release &fullrelvers;</releaseinfo>
|
||||
<releaseinfo>Version 1.0</releaseinfo>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Mark</firstname><surname>Patrick</surname>
|
||||
@ -17,20 +21,12 @@
|
||||
<affiliation><orgname>Hewlett-Packard</orgname></affiliation>
|
||||
</othercredit>
|
||||
</authorgroup>
|
||||
<copyright><year>1989</year><holder>Hewlett-Packard Company and Ardent Computer</holder></copyright>
|
||||
<copyright><year>1990</year><holder>Hewlett-Packard Company and Ardent Computer</holder></copyright>
|
||||
<copyright><year>1991</year><holder>Hewlett-Packard Company and Ardent Computer</holder></copyright>
|
||||
|
||||
<copyright><year>1989</year><holder>X Consortium</holder></copyright>
|
||||
<copyright><year>1990</year><holder>X Consortium</holder></copyright>
|
||||
<copyright><year>1991</year><holder>X Consortium</holder></copyright>
|
||||
<copyright><year>1992</year><holder>X Consortium</holder></copyright>
|
||||
|
||||
<releaseinfo>1.0</releaseinfo>
|
||||
<productnumber>X Version 11, Release 6.4</productnumber>
|
||||
<copyright><year>1989</year><year>1990</year><year>1991</year>
|
||||
<holder>Hewlett-Packard Company</holder>
|
||||
<holder>Ardent Computer</holder>
|
||||
</copyright>
|
||||
|
||||
<legalnotice>
|
||||
|
||||
<para>
|
||||
Permission to use, copy, modify, and distribute this documentation for any purpose and without
|
||||
fee is hereby granted, provided that the above copyright notice and this permission notice appear
|
||||
@ -38,12 +34,23 @@ in all copies. Ardent and Hewlett-Packard make no representations about the suit
|
||||
purpose of the information in this document. It is provided "as is" without express or implied
|
||||
warranty.
|
||||
</para>
|
||||
</legalnotice>
|
||||
|
||||
<legalnotice>
|
||||
<para role="multiLicensing">
|
||||
Copyright © 1989, 1990, 1991, 1992 X Consortium
|
||||
</para>
|
||||
<para>
|
||||
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:
|
||||
</para>
|
||||
<para>
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
@ -53,17 +60,15 @@ 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.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Except as contained in this notice, the name of The Open Group shall not
|
||||
Except as contained in this notice, the name of the X Consortium shall not
|
||||
be used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
</para>
|
||||
|
||||
<para>X Window System is a trademark of X Consortium, Inc.</para>
|
||||
|
||||
<para>X Window System is a trademark of The Open Group.</para>
|
||||
</legalnotice>
|
||||
</bookinfo>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="library.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="encoding.xml"/>
|
||||
</book>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -64,10 +64,11 @@ libXi_la_SOURCES = \
|
||||
|
||||
libXi_la_LIBADD = $(XI_LIBS)
|
||||
|
||||
AM_CFLAGS = -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/include/X11 \
|
||||
-I$(top_srcdir)/include/X11/extensions \
|
||||
$(XI_CFLAGS) \
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/include/X11 \
|
||||
-I$(top_srcdir)/include/X11/extensions
|
||||
|
||||
AM_CFLAGS = $(XI_CFLAGS) \
|
||||
$(MALLOC_ZERO_CFLAGS) \
|
||||
$(CWARNFLAGS)
|
||||
|
||||
|
@ -106,6 +106,7 @@ AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_CFLAGS = @BASE_CFLAGS@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
@ -125,6 +126,8 @@ ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
ENABLE_DOCS_FALSE = @ENABLE_DOCS_FALSE@
|
||||
ENABLE_DOCS_TRUE = @ENABLE_DOCS_TRUE@
|
||||
ENABLE_SPECS_FALSE = @ENABLE_SPECS_FALSE@
|
||||
ENABLE_SPECS_TRUE = @ENABLE_SPECS_TRUE@
|
||||
EXEEXT = @EXEEXT@
|
||||
@ -145,6 +148,8 @@ HAVE_XMLTO_FALSE = @HAVE_XMLTO_FALSE@
|
||||
HAVE_XMLTO_TEXT_FALSE = @HAVE_XMLTO_TEXT_FALSE@
|
||||
HAVE_XMLTO_TEXT_TRUE = @HAVE_XMLTO_TEXT_TRUE@
|
||||
HAVE_XMLTO_TRUE = @HAVE_XMLTO_TRUE@
|
||||
HAVE_XSLTPROC_FALSE = @HAVE_XSLTPROC_FALSE@
|
||||
HAVE_XSLTPROC_TRUE = @HAVE_XSLTPROC_TRUE@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_MANPAGES_FALSE = @INSTALL_MANPAGES_FALSE@
|
||||
@ -199,6 +204,7 @@ XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@
|
||||
XMLTO = @XMLTO@
|
||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||
XORG_SGML_PATH = @XORG_SGML_PATH@
|
||||
XSLTPROC = @XSLTPROC@
|
||||
XSL_STYLESHEET = @XSL_STYLESHEET@
|
||||
XTMALLOC_ZERO_CFLAGS = @XTMALLOC_ZERO_CFLAGS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
@ -309,10 +315,11 @@ libXi_la_SOURCES = \
|
||||
$(XI2_sources)
|
||||
|
||||
libXi_la_LIBADD = $(XI_LIBS)
|
||||
AM_CFLAGS = -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/include/X11 \
|
||||
-I$(top_srcdir)/include/X11/extensions \
|
||||
$(XI_CFLAGS) \
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/include/X11 \
|
||||
-I$(top_srcdir)/include/X11/extensions
|
||||
|
||||
AM_CFLAGS = $(XI_CFLAGS) \
|
||||
$(MALLOC_ZERO_CFLAGS) \
|
||||
$(CWARNFLAGS)
|
||||
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XAllowDeviceEvents - Thaw a frozen extension device.
|
||||
*
|
||||
*/
|
||||
#if HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -51,6 +51,10 @@ SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -51,6 +51,10 @@ SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -50,6 +50,10 @@ SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -50,6 +50,10 @@ SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -50,6 +50,10 @@ SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -51,6 +51,10 @@ SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -50,6 +50,10 @@ SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -50,6 +50,10 @@ SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -50,6 +50,10 @@ SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <X11/extensions/XI.h>
|
||||
@ -141,14 +145,19 @@ wireToDeviceChangedEvent(xXIDeviceChangedEvent *in, XGenericEventCookie *cookie)
|
||||
static int
|
||||
wireToHierarchyChangedEvent(xXIHierarchyEvent *in, XGenericEventCookie *cookie);
|
||||
static int
|
||||
wireToRawEvent(xXIRawEvent *in, XGenericEventCookie *cookie);
|
||||
wireToRawEvent(XExtDisplayInfo *info, xXIRawEvent *in, XGenericEventCookie *cookie);
|
||||
static int
|
||||
wireToEnterLeave(xXIEnterEvent *in, XGenericEventCookie *cookie);
|
||||
static int
|
||||
wireToPropertyEvent(xXIPropertyEvent *in, XGenericEventCookie *cookie);
|
||||
static int
|
||||
wireToTouchOwnershipEvent(xXITouchOwnershipEvent *in,
|
||||
XGenericEventCookie *cookie);
|
||||
|
||||
static /* const */ XEvent emptyevent;
|
||||
|
||||
typedef Status (*core_event_to_wire)(Display*, XEvent*, xEvent*);
|
||||
|
||||
static /* const */ XExtensionHooks xinput_extension_hooks = {
|
||||
NULL, /* create_gc */
|
||||
NULL, /* copy_gc */
|
||||
@ -158,7 +167,7 @@ static /* const */ XExtensionHooks xinput_extension_hooks = {
|
||||
NULL, /* free_font */
|
||||
XInputClose, /* close_display */
|
||||
XInputWireToEvent, /* wire_to_event */
|
||||
_XiEventToWire, /* event_to_wire */
|
||||
(core_event_to_wire)_XiEventToWire, /* event_to_wire */
|
||||
NULL, /* error */
|
||||
XInputError, /* error_string */
|
||||
};
|
||||
@ -268,7 +277,9 @@ static XExtensionVersion versions[] = { {XI_Absent, 0, 0},
|
||||
XI_Add_DevicePresenceNotify_Minor},
|
||||
{XI_Present, XI_Add_DeviceProperties_Major,
|
||||
XI_Add_DeviceProperties_Minor},
|
||||
{XI_Present, 2, 0}
|
||||
{XI_Present, 2, 0},
|
||||
{XI_Present, 2, 1},
|
||||
{XI_Present, 2, 2}
|
||||
};
|
||||
|
||||
/***********************************************************************
|
||||
@ -333,6 +344,43 @@ static int XInputCheckExtension(Display *dpy, XExtDisplayInfo *info)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*****************************************************************
|
||||
* Compare version numbers between info and the built-in version table.
|
||||
* Returns
|
||||
* -1 if info's version is less than version_index's version,
|
||||
* 0 if equal (or DontCheck),
|
||||
* 1 if info's version is greater than version_index's version.
|
||||
* Returns -2 on initialization errors which shouldn't happen if you call it
|
||||
* correctly.
|
||||
*/
|
||||
_X_HIDDEN int
|
||||
_XiCheckVersion(XExtDisplayInfo *info,
|
||||
int version_index)
|
||||
{
|
||||
XExtensionVersion *ext;
|
||||
|
||||
if (versions[version_index].major_version == Dont_Check)
|
||||
return 0;
|
||||
|
||||
if (!info->data)
|
||||
return -2;
|
||||
|
||||
ext = ((XInputData *) info->data)->vers;
|
||||
if (!ext)
|
||||
return -2;
|
||||
|
||||
if (ext->major_version == versions[version_index].major_version &&
|
||||
ext->minor_version == versions[version_index].minor_version)
|
||||
return 0;
|
||||
|
||||
if (ext->major_version < versions[version_index].major_version ||
|
||||
(ext->major_version == versions[version_index].major_version &&
|
||||
ext->minor_version < versions[version_index].minor_version))
|
||||
return -1;
|
||||
else
|
||||
return 1;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
*
|
||||
* Check to see if the input extension is installed in the server.
|
||||
@ -346,8 +394,6 @@ _XiCheckExtInit(
|
||||
register int version_index,
|
||||
XExtDisplayInfo *info)
|
||||
{
|
||||
XExtensionVersion *ext;
|
||||
|
||||
if (!XInputCheckExtension(dpy, info)) {
|
||||
UnlockDisplay(dpy);
|
||||
return (-1);
|
||||
@ -363,15 +409,11 @@ _XiCheckExtInit(
|
||||
_XiGetExtensionVersion(dpy, "XInputExtension", info);
|
||||
}
|
||||
|
||||
if (versions[version_index].major_version > Dont_Check) {
|
||||
ext = ((XInputData *) info->data)->vers;
|
||||
if ((ext->major_version < versions[version_index].major_version) ||
|
||||
((ext->major_version == versions[version_index].major_version) &&
|
||||
(ext->minor_version < versions[version_index].minor_version))) {
|
||||
UnlockDisplay(dpy);
|
||||
return (-1);
|
||||
}
|
||||
if (_XiCheckVersion(info, version_index) < 0) {
|
||||
UnlockDisplay(dpy);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
@ -392,7 +434,16 @@ XInputClose(
|
||||
XFree((char *)((XInputData *) info->data)->vers);
|
||||
XFree((char *)info->data);
|
||||
}
|
||||
return XextRemoveDisplay(xinput_info, dpy);
|
||||
|
||||
if (!XextRemoveDisplay(xinput_info, dpy))
|
||||
return 0;
|
||||
|
||||
if (xinput_info->ndisplays == 0) {
|
||||
XextDestroyExtension(xinput_info);
|
||||
xinput_info = NULL;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
@ -760,7 +811,6 @@ XInputWireToEvent(
|
||||
return (DONT_ENQUEUE);
|
||||
else {
|
||||
*re = *save;
|
||||
stev = (XDeviceStateNotifyEvent *) re;
|
||||
return (ENQUEUE_EVENT);
|
||||
}
|
||||
}
|
||||
@ -788,7 +838,6 @@ XInputWireToEvent(
|
||||
return (DONT_ENQUEUE);
|
||||
else {
|
||||
*re = *save;
|
||||
kstev = (XDeviceStateNotifyEvent *) re;
|
||||
return (ENQUEUE_EVENT);
|
||||
}
|
||||
}
|
||||
@ -816,7 +865,6 @@ XInputWireToEvent(
|
||||
return (DONT_ENQUEUE);
|
||||
else {
|
||||
*re = *save;
|
||||
bstev = (XDeviceStateNotifyEvent *) re;
|
||||
return (ENQUEUE_EVENT);
|
||||
}
|
||||
}
|
||||
@ -924,6 +972,9 @@ XInputWireToCookie(
|
||||
case XI_ButtonRelease:
|
||||
case XI_KeyPress:
|
||||
case XI_KeyRelease:
|
||||
case XI_TouchBegin:
|
||||
case XI_TouchUpdate:
|
||||
case XI_TouchEnd:
|
||||
*cookie = *(XGenericEventCookie*)save;
|
||||
if (!wireToDeviceEvent((xXIDeviceEvent*)event, cookie))
|
||||
{
|
||||
@ -950,14 +1001,27 @@ XInputWireToCookie(
|
||||
break;
|
||||
}
|
||||
return ENQUEUE_EVENT;
|
||||
case XI_TouchOwnership:
|
||||
*cookie = *(XGenericEventCookie*)save;
|
||||
if (!wireToTouchOwnershipEvent((xXITouchOwnershipEvent*)event,
|
||||
cookie))
|
||||
{
|
||||
printf("XInputWireToCookie: CONVERSION FAILURE! evtype=%d\n",
|
||||
ge->evtype);
|
||||
break;
|
||||
}
|
||||
return ENQUEUE_EVENT;
|
||||
|
||||
case XI_RawKeyPress:
|
||||
case XI_RawKeyRelease:
|
||||
case XI_RawButtonPress:
|
||||
case XI_RawButtonRelease:
|
||||
case XI_RawMotion:
|
||||
case XI_RawTouchBegin:
|
||||
case XI_RawTouchUpdate:
|
||||
case XI_RawTouchEnd:
|
||||
*cookie = *(XGenericEventCookie*)save;
|
||||
if (!wireToRawEvent((xXIRawEvent*)event, cookie))
|
||||
if (!wireToRawEvent(info, (xXIRawEvent*)event, cookie))
|
||||
{
|
||||
printf("XInputWireToCookie: CONVERSION FAILURE! evtype=%d\n",
|
||||
ge->evtype);
|
||||
@ -1012,6 +1076,55 @@ sizeDeviceEvent(int buttons_len, int valuators_len,
|
||||
return len;
|
||||
}
|
||||
|
||||
/* Return the size with added padding so next element would be
|
||||
double-aligned unless the architecture is known to allow unaligned
|
||||
data accesses. Not doing this can cause a bus error on
|
||||
MIPS N32. */
|
||||
static int
|
||||
pad_to_double(int size)
|
||||
{
|
||||
#if !defined(__i386__) && !defined(__sh__)
|
||||
if (size % sizeof(double) != 0)
|
||||
size += sizeof(double) - size % sizeof(double);
|
||||
#endif
|
||||
return size;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set structure and atoms to size in bytes of XIButtonClassInfo, its
|
||||
* button state mask and labels array.
|
||||
*/
|
||||
static void
|
||||
sizeXIButtonClassType(int num_buttons, int* structure, int* state, int* atoms)
|
||||
{
|
||||
int size;
|
||||
int labels;
|
||||
|
||||
*structure = pad_to_double(sizeof(XIButtonClassInfo));
|
||||
size = ((((num_buttons + 7)/8) + 3)/4);
|
||||
|
||||
/* Force mask alignment with longs to avoid unaligned
|
||||
* access when accessing the atoms. */
|
||||
*state = pad_to_double(size * 4);
|
||||
labels = num_buttons * sizeof(Atom);
|
||||
|
||||
/* Force mask alignment with longs to avoid
|
||||
* unaligned access when accessing the atoms. */
|
||||
labels += ((((num_buttons + 7)/8) + 3)/4) * sizeof(Atom);
|
||||
*atoms = pad_to_double(labels);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set structure and keycodes to size in bytes of XIKeyClassInfo and
|
||||
* its keycodes array.
|
||||
*/
|
||||
static void
|
||||
sizeXIKeyClassType(int num_keycodes, int* structure, int* keycodes)
|
||||
{
|
||||
*structure = pad_to_double(sizeof(XIKeyClassInfo));
|
||||
*keycodes = pad_to_double(num_keycodes * sizeof(int));
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the size in bytes required to store the matching class type
|
||||
* num_elements is num_buttons for XIButtonClass or num_keycodes for
|
||||
@ -1023,21 +1136,26 @@ static int
|
||||
sizeDeviceClassType(int type, int num_elements)
|
||||
{
|
||||
int l = 0;
|
||||
int extra1 = 0;
|
||||
int extra2 = 0;
|
||||
switch(type)
|
||||
{
|
||||
case XIButtonClass:
|
||||
l = sizeof(XIButtonClassInfo);
|
||||
l += num_elements * sizeof(Atom);
|
||||
/* Force mask alignment with longs to avoid
|
||||
* unaligned access when accessing the atoms. */
|
||||
l += ((((num_elements + 7)/8) + 3)/4) * sizeof(Atom);
|
||||
sizeXIButtonClassType(num_elements, &l, &extra1, &extra2);
|
||||
l += extra1 + extra2;
|
||||
break;
|
||||
case XIKeyClass:
|
||||
l = sizeof(XIKeyClassInfo);
|
||||
l += num_elements * sizeof(int);
|
||||
sizeXIKeyClassType(num_elements, &l, &extra1);
|
||||
l += extra1;
|
||||
break;
|
||||
case XIValuatorClass:
|
||||
l = sizeof(XIValuatorClassInfo);
|
||||
l = pad_to_double(sizeof(XIValuatorClassInfo));
|
||||
break;
|
||||
case XIScrollClass:
|
||||
l = pad_to_double(sizeof(XIScrollClassInfo));
|
||||
break;
|
||||
case XITouchClass:
|
||||
l = pad_to_double(sizeof(XITouchClassInfo));
|
||||
break;
|
||||
default:
|
||||
printf("sizeDeviceClassType: unknown type %d\n", type);
|
||||
@ -1098,6 +1216,9 @@ copyDeviceChangedEvent(XGenericEventCookie *in_cookie,
|
||||
case XIValuatorClass:
|
||||
len += sizeDeviceClassType(XIValuatorClass, 0);
|
||||
break;
|
||||
case XIScrollClass:
|
||||
len += sizeDeviceClassType(XIScrollClass, 0);
|
||||
break;
|
||||
default:
|
||||
printf("copyDeviceChangedEvent: unknown type %d\n",
|
||||
any->type);
|
||||
@ -1123,20 +1244,21 @@ copyDeviceChangedEvent(XGenericEventCookie *in_cookie,
|
||||
{
|
||||
case XIButtonClass:
|
||||
{
|
||||
int size;
|
||||
int struct_size;
|
||||
int state_size;
|
||||
int labels_size;
|
||||
XIButtonClassInfo *bin, *bout;
|
||||
bin = (XIButtonClassInfo*)any;
|
||||
bout = next_block(&ptr, sizeof(XIButtonClass));
|
||||
sizeXIButtonClassType(bin->num_buttons, &struct_size,
|
||||
&state_size, &labels_size);
|
||||
bout = next_block(&ptr, struct_size);
|
||||
|
||||
*bout = *bin;
|
||||
/* Force mask alignment with longs to avoid unaligned
|
||||
* access when accessing the atoms. */
|
||||
size = bout->state.mask_len/4 * sizeof(Atom);
|
||||
bout->state.mask = next_block(&ptr, size);
|
||||
bout->state.mask = next_block(&ptr, state_size);
|
||||
memcpy(bout->state.mask, bin->state.mask,
|
||||
bout->state.mask_len);
|
||||
|
||||
bout->labels = next_block(&ptr, bout->num_buttons * sizeof(Atom));
|
||||
bout->labels = next_block(&ptr, labels_size);
|
||||
memcpy(bout->labels, bin->labels, bout->num_buttons * sizeof(Atom));
|
||||
out->classes[i] = (XIAnyClassInfo*)bout;
|
||||
break;
|
||||
@ -1144,11 +1266,15 @@ copyDeviceChangedEvent(XGenericEventCookie *in_cookie,
|
||||
case XIKeyClass:
|
||||
{
|
||||
XIKeyClassInfo *kin, *kout;
|
||||
int struct_size;
|
||||
int keycodes_size;
|
||||
kin = (XIKeyClassInfo*)any;
|
||||
sizeXIKeyClassType(kin->num_keycodes, &struct_size,
|
||||
&keycodes_size);
|
||||
|
||||
kout = next_block(&ptr, sizeof(XIKeyClass));
|
||||
kout = next_block(&ptr, struct_size);
|
||||
*kout = *kin;
|
||||
kout->keycodes = next_block(&ptr, kout->num_keycodes * sizeof(int));
|
||||
kout->keycodes = next_block(&ptr, keycodes_size);
|
||||
memcpy(kout->keycodes, kin->keycodes, kout->num_keycodes * sizeof(int));
|
||||
out->classes[i] = (XIAnyClassInfo*)kout;
|
||||
break;
|
||||
@ -1157,11 +1283,22 @@ copyDeviceChangedEvent(XGenericEventCookie *in_cookie,
|
||||
{
|
||||
XIValuatorClassInfo *vin, *vout;
|
||||
vin = (XIValuatorClassInfo*)any;
|
||||
vout = next_block(&ptr, sizeof(XIValuatorClass));
|
||||
vout = next_block(&ptr,
|
||||
sizeDeviceClassType(XIValuatorClass, 0));
|
||||
*vout = *vin;
|
||||
out->classes[i] = (XIAnyClassInfo*)vout;
|
||||
break;
|
||||
}
|
||||
case XIScrollClass:
|
||||
{
|
||||
XIScrollClassInfo *sin, *sout;
|
||||
sin = (XIScrollClassInfo*)any;
|
||||
sout = next_block(&ptr,
|
||||
sizeDeviceClassType(XIScrollClass, 0));
|
||||
*sout = *sin;
|
||||
out->classes[i] = (XIAnyClassInfo*)sout;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1244,6 +1381,22 @@ copyPropertyEvent(XGenericEventCookie *cookie_in,
|
||||
return True;
|
||||
}
|
||||
|
||||
static Bool
|
||||
copyTouchOwnershipEvent(XGenericEventCookie *cookie_in,
|
||||
XGenericEventCookie *cookie_out)
|
||||
{
|
||||
XITouchOwnershipEvent *in, *out;
|
||||
|
||||
in = cookie_in->data;
|
||||
|
||||
out = cookie_out->data = malloc(sizeof(XITouchOwnershipEvent));
|
||||
if (!out)
|
||||
return False;
|
||||
|
||||
*out = *in;
|
||||
return True;
|
||||
}
|
||||
|
||||
static Bool
|
||||
copyRawEvent(XGenericEventCookie *cookie_in,
|
||||
XGenericEventCookie *cookie_out)
|
||||
@ -1303,6 +1456,9 @@ XInputCopyCookie(Display *dpy, XGenericEventCookie *in, XGenericEventCookie *out
|
||||
case XI_ButtonRelease:
|
||||
case XI_KeyPress:
|
||||
case XI_KeyRelease:
|
||||
case XI_TouchBegin:
|
||||
case XI_TouchUpdate:
|
||||
case XI_TouchEnd:
|
||||
ret = copyDeviceEvent(in, out);
|
||||
break;
|
||||
case XI_DeviceChanged:
|
||||
@ -1320,6 +1476,9 @@ XInputCopyCookie(Display *dpy, XGenericEventCookie *in, XGenericEventCookie *out
|
||||
case XI_PropertyEvent:
|
||||
ret = copyPropertyEvent(in, out);
|
||||
break;
|
||||
case XI_TouchOwnership:
|
||||
ret = copyTouchOwnershipEvent(in, out);
|
||||
break;
|
||||
case XI_RawKeyPress:
|
||||
case XI_RawKeyRelease:
|
||||
case XI_RawButtonPress:
|
||||
@ -1414,7 +1573,8 @@ size_classes(xXIAnyInfo* from, int nclasses)
|
||||
xXIAnyInfo *any_wire;
|
||||
char *ptr_wire;
|
||||
|
||||
len = nclasses * sizeof(XIAnyClassInfo*); /* len for to->classes */
|
||||
/* len for to->classes */
|
||||
len = pad_to_double(nclasses * sizeof(XIAnyClassInfo*));
|
||||
ptr_wire = (char*)from;
|
||||
for (i = 0; i < nclasses; i++)
|
||||
{
|
||||
@ -1433,6 +1593,12 @@ size_classes(xXIAnyInfo* from, int nclasses)
|
||||
case XIValuatorClass:
|
||||
l = sizeDeviceClassType(XIValuatorClass, 0);
|
||||
break;
|
||||
case XIScrollClass:
|
||||
l = sizeDeviceClassType(XIScrollClass, 0);
|
||||
break;
|
||||
case XITouchClass:
|
||||
l = sizeDeviceClassType(XITouchClass, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
len += l;
|
||||
@ -1463,7 +1629,8 @@ copy_classes(XIDeviceInfo* to, xXIAnyInfo* from, int *nclasses)
|
||||
|
||||
ptr_wire = (char*)from;
|
||||
ptr_lib = to->classes;
|
||||
to->classes = next_block(&ptr_lib, (*nclasses) * sizeof(XIAnyClassInfo*));
|
||||
to->classes = next_block(&ptr_lib,
|
||||
pad_to_double((*nclasses) * sizeof(XIAnyClassInfo*)));
|
||||
memset(to->classes, 0, (*nclasses) * sizeof(XIAnyClassInfo*));
|
||||
len = 0; /* count wire length */
|
||||
|
||||
@ -1479,25 +1646,33 @@ copy_classes(XIDeviceInfo* to, xXIAnyInfo* from, int *nclasses)
|
||||
XIButtonClassInfo *cls_lib;
|
||||
xXIButtonInfo *cls_wire;
|
||||
uint32_t *atoms;
|
||||
int size;
|
||||
int j;
|
||||
int struct_size;
|
||||
int state_size;
|
||||
int labels_size;
|
||||
int wire_mask_size;
|
||||
|
||||
cls_lib = next_block(&ptr_lib, sizeof(XIButtonClassInfo));
|
||||
cls_wire = (xXIButtonInfo*)any_wire;
|
||||
sizeXIButtonClassType(cls_wire->num_buttons,
|
||||
&struct_size, &state_size,
|
||||
&labels_size);
|
||||
cls_lib = next_block(&ptr_lib, struct_size);
|
||||
wire_mask_size = ((cls_wire->num_buttons + 7)/8 + 3)/4 * 4;
|
||||
|
||||
cls_lib->type = cls_wire->type;
|
||||
cls_lib->sourceid = cls_wire->sourceid;
|
||||
cls_lib->num_buttons = cls_wire->num_buttons;
|
||||
size = ((((cls_wire->num_buttons + 7)/8) + 3)/4);
|
||||
cls_lib->state.mask_len = size * 4;
|
||||
/* Force mask alignment with longs to avoid unaligned
|
||||
* access when accessing the atoms. */
|
||||
cls_lib->state.mask = next_block(&ptr_lib, size * sizeof(Atom));
|
||||
cls_lib->state.mask_len = state_size;
|
||||
cls_lib->state.mask = next_block(&ptr_lib, state_size);
|
||||
memcpy(cls_lib->state.mask, &cls_wire[1],
|
||||
cls_lib->state.mask_len);
|
||||
wire_mask_size);
|
||||
if (state_size != wire_mask_size)
|
||||
memset(&cls_lib->state.mask[wire_mask_size], 0,
|
||||
state_size - wire_mask_size);
|
||||
|
||||
cls_lib->labels = next_block(&ptr_lib, cls_lib->num_buttons * sizeof(Atom));
|
||||
atoms =(uint32_t*)((char*)&cls_wire[1] + cls_lib->state.mask_len);
|
||||
cls_lib->labels = next_block(&ptr_lib, labels_size);
|
||||
|
||||
atoms =(uint32_t*)((char*)&cls_wire[1] + wire_mask_size);
|
||||
for (j = 0; j < cls_lib->num_buttons; j++)
|
||||
cls_lib->labels[j] = *atoms++;
|
||||
|
||||
@ -1508,15 +1683,18 @@ copy_classes(XIDeviceInfo* to, xXIAnyInfo* from, int *nclasses)
|
||||
{
|
||||
XIKeyClassInfo *cls_lib;
|
||||
xXIKeyInfo *cls_wire;
|
||||
int struct_size;
|
||||
int keycodes_size;
|
||||
|
||||
cls_lib = next_block(&ptr_lib, sizeof(XIKeyClassInfo));
|
||||
cls_wire = (xXIKeyInfo*)any_wire;
|
||||
sizeXIKeyClassType(cls_wire->num_keycodes,
|
||||
&struct_size, &keycodes_size);
|
||||
cls_lib = next_block(&ptr_lib, struct_size);
|
||||
|
||||
cls_lib->type = cls_wire->type;
|
||||
cls_lib->sourceid = cls_wire->sourceid;
|
||||
cls_lib->num_keycodes = cls_wire->num_keycodes;
|
||||
cls_lib->keycodes = next_block(&ptr_lib,
|
||||
cls_lib->num_keycodes * sizeof(int));
|
||||
cls_lib->keycodes = next_block(&ptr_lib, keycodes_size);
|
||||
memcpy(cls_lib->keycodes, &cls_wire[1],
|
||||
cls_lib->num_keycodes);
|
||||
|
||||
@ -1528,7 +1706,9 @@ copy_classes(XIDeviceInfo* to, xXIAnyInfo* from, int *nclasses)
|
||||
XIValuatorClassInfo *cls_lib;
|
||||
xXIValuatorInfo *cls_wire;
|
||||
|
||||
cls_lib = next_block(&ptr_lib, sizeof(XIValuatorClassInfo));
|
||||
cls_lib =
|
||||
next_block(&ptr_lib,
|
||||
sizeDeviceClassType(XIValuatorClass, 0));
|
||||
cls_wire = (xXIValuatorInfo*)any_wire;
|
||||
|
||||
cls_lib->type = cls_wire->type;
|
||||
@ -1545,6 +1725,43 @@ copy_classes(XIDeviceInfo* to, xXIAnyInfo* from, int *nclasses)
|
||||
to->classes[cls_idx++] = any_lib;
|
||||
}
|
||||
break;
|
||||
case XIScrollClass:
|
||||
{
|
||||
XIScrollClassInfo *cls_lib;
|
||||
xXIScrollInfo *cls_wire;
|
||||
|
||||
cls_lib =
|
||||
next_block(&ptr_lib,
|
||||
sizeDeviceClassType(XIScrollClass, 0));
|
||||
cls_wire = (xXIScrollInfo*)any_wire;
|
||||
|
||||
cls_lib->type = cls_wire->type;
|
||||
cls_lib->sourceid = cls_wire->sourceid;
|
||||
cls_lib->number = cls_wire->number;
|
||||
cls_lib->scroll_type= cls_wire->scroll_type;
|
||||
cls_lib->flags = cls_wire->flags;
|
||||
cls_lib->increment = cls_wire->increment.integral;
|
||||
cls_lib->increment += (unsigned int)cls_wire->increment.frac/(double)(1ULL << 32);
|
||||
|
||||
to->classes[cls_idx++] = any_lib;
|
||||
}
|
||||
break;
|
||||
case XITouchClass:
|
||||
{
|
||||
XITouchClassInfo *cls_lib;
|
||||
xXITouchInfo *cls_wire;
|
||||
|
||||
cls_wire = (xXITouchInfo*)any_wire;
|
||||
cls_lib = next_block(&ptr_lib, sizeof(XITouchClassInfo));
|
||||
|
||||
cls_lib->type = cls_wire->type;
|
||||
cls_lib->sourceid = cls_wire->sourceid;
|
||||
cls_lib->mode = cls_wire->mode;
|
||||
cls_lib->num_touches = cls_wire->num_touches;
|
||||
|
||||
to->classes[cls_idx++] = any_lib;
|
||||
}
|
||||
break;
|
||||
}
|
||||
len += any_wire->length * 4;
|
||||
ptr_wire += any_wire->length * 4;
|
||||
@ -1624,14 +1841,13 @@ wireToHierarchyChangedEvent(xXIHierarchyEvent *in, XGenericEventCookie *cookie)
|
||||
}
|
||||
|
||||
static int
|
||||
wireToRawEvent(xXIRawEvent *in, XGenericEventCookie *cookie)
|
||||
wireToRawEvent(XExtDisplayInfo *info, xXIRawEvent *in, XGenericEventCookie *cookie)
|
||||
{
|
||||
int len, i, bits;
|
||||
FP3232 *values;
|
||||
XIRawEvent *out;
|
||||
void *ptr;
|
||||
|
||||
|
||||
len = sizeof(XIRawEvent) + in->valuators_len * 4;
|
||||
bits = count_bits((unsigned char*)&in[1], in->valuators_len * 4);
|
||||
len += bits * sizeof(double) * 2; /* raw + normal */
|
||||
@ -1649,9 +1865,14 @@ wireToRawEvent(xXIRawEvent *in, XGenericEventCookie *cookie)
|
||||
out->time = in->time;
|
||||
out->detail = in->detail;
|
||||
out->deviceid = in->deviceid;
|
||||
out->sourceid = 0; /* https://bugs.freedesktop.org/show_bug.cgi?id=34240 */
|
||||
out->flags = in->flags;
|
||||
|
||||
/* https://bugs.freedesktop.org/show_bug.cgi?id=34240 */
|
||||
if (_XiCheckVersion(info, XInput_2_2) >= 0)
|
||||
out->sourceid = in->sourceid;
|
||||
else
|
||||
out->sourceid = 0;
|
||||
|
||||
out->valuators.mask_len = in->valuators_len * 4;
|
||||
out->valuators.mask = next_block(&ptr, out->valuators.mask_len);
|
||||
memcpy(out->valuators.mask, &in[1], out->valuators.mask_len);
|
||||
@ -1739,3 +1960,28 @@ wireToPropertyEvent(xXIPropertyEvent *in, XGenericEventCookie *cookie)
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
wireToTouchOwnershipEvent(xXITouchOwnershipEvent *in,
|
||||
XGenericEventCookie *cookie)
|
||||
{
|
||||
XITouchOwnershipEvent *out = malloc(sizeof(XITouchOwnershipEvent));
|
||||
|
||||
cookie->data = out;
|
||||
|
||||
out->type = in->type;
|
||||
out->display = cookie->display;
|
||||
out->extension = in->extension;
|
||||
out->evtype = in->evtype;
|
||||
out->send_event = ((in->type & 0x80) != 0);
|
||||
out->time = in->time;
|
||||
out->deviceid = in->deviceid;
|
||||
out->sourceid = in->sourceid;
|
||||
out->touchid = in->touchid;
|
||||
out->root = in->root;
|
||||
out->event = in->event;
|
||||
out->child = in->child;
|
||||
out->flags = in->flags;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
@ -49,6 +49,10 @@ SOFTWARE.
|
||||
* XExtToWire.c - reformat an XEvent into a wire event.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XIproto.h>
|
||||
#include <X11/Xlibint.h>
|
||||
#include <X11/extensions/XInput.h>
|
||||
|
@ -50,6 +50,10 @@ SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <X11/Xlib.h>
|
||||
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XGetDeviceMotionEvents - Get the motion history of an input device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -50,6 +50,10 @@ SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -29,6 +29,9 @@ in this Software without prior written authorization from The Open Group.
|
||||
* XIGetClientPointer - Get the clientPointer setting for a client.
|
||||
*
|
||||
*/
|
||||
#if HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <X11/extensions/XI2proto.h>
|
||||
|
@ -50,6 +50,10 @@ SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -50,6 +50,10 @@ SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -50,6 +50,10 @@ SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XGetDeviceModifierMapping - get the modifier map of an extension device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -50,6 +50,9 @@ SOFTWARE.
|
||||
* window.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -50,6 +50,10 @@ SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XGrabDeviceBut - Grab a button on an extension device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XGrabDeviceKey - Grab a key on an extension device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XGrabDevice - grab an extension input device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XGetDeviceFocus - Get the focus of an input device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XGetSelectedExtensionEvents - return a list of currently selected events.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -22,6 +22,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <X11/Xlibint.h>
|
||||
#include <X11/extensions/XI2proto.h>
|
||||
@ -29,10 +33,16 @@
|
||||
#include <X11/extensions/extutil.h>
|
||||
#include "XIint.h"
|
||||
|
||||
Status
|
||||
XIAllowEvents(Display *dpy, int deviceid, int event_mode, Time time)
|
||||
/* for GetRequest() to work */
|
||||
#define X_XI2_2AllowEvents X_XIAllowEvents
|
||||
|
||||
static Status
|
||||
_XIAllowEvents(Display *dpy, int deviceid, int event_mode, Time time,
|
||||
unsigned int touchid, Window grab_window)
|
||||
{
|
||||
Bool have_XI22 = True;
|
||||
xXIAllowEventsReq *req;
|
||||
xXI2_2AllowEventsReq *req_XI22;
|
||||
|
||||
XExtDisplayInfo *extinfo = XInput_find_display(dpy);
|
||||
|
||||
@ -40,14 +50,53 @@ XIAllowEvents(Display *dpy, int deviceid, int event_mode, Time time)
|
||||
if (_XiCheckExtInit(dpy, XInput_2_0, extinfo) == -1)
|
||||
return (NoSuchExtension);
|
||||
|
||||
GetReq(XIAllowEvents, req);
|
||||
if (_XiCheckExtInit(dpy, XInput_2_2, extinfo) == 0)
|
||||
have_XI22 = True;
|
||||
|
||||
if (have_XI22)
|
||||
{
|
||||
GetReq(XI2_2AllowEvents, req_XI22);
|
||||
req = (xXIAllowEventsReq*)req_XI22;
|
||||
} else
|
||||
GetReq(XIAllowEvents, req);
|
||||
|
||||
req->reqType = extinfo->codes->major_opcode;
|
||||
req->ReqType = X_XIAllowEvents;
|
||||
req->deviceid = deviceid;
|
||||
req->mode = event_mode;
|
||||
req->time = time;
|
||||
|
||||
if (have_XI22) {
|
||||
req_XI22->touchid = touchid;
|
||||
req_XI22->grab_window = grab_window;
|
||||
}
|
||||
|
||||
UnlockDisplay(dpy);
|
||||
SyncHandle();
|
||||
return Success;
|
||||
}
|
||||
|
||||
Status
|
||||
XIAllowEvents(Display *dpy, int deviceid, int event_mode, Time time)
|
||||
{
|
||||
return _XIAllowEvents(dpy, deviceid, event_mode, time, 0, None);
|
||||
}
|
||||
|
||||
Status
|
||||
XIAllowTouchEvents(Display *dpy, int deviceid, unsigned int touchid,
|
||||
Window grab_window, int event_mode)
|
||||
{
|
||||
int status;
|
||||
XExtDisplayInfo *extinfo = XInput_find_display(dpy);
|
||||
|
||||
LockDisplay(dpy);
|
||||
if (_XiCheckExtInit(dpy, XInput_2_2, extinfo) == -1)
|
||||
return (NoSuchExtension);
|
||||
|
||||
status = _XIAllowEvents(dpy, deviceid, event_mode, CurrentTime, touchid, grab_window);
|
||||
|
||||
UnlockDisplay(dpy);
|
||||
SyncHandle();
|
||||
|
||||
return status;
|
||||
}
|
||||
|
@ -29,6 +29,10 @@ in this Software without prior written authorization from The Open Group.
|
||||
* XIDefineCursor - Change the cursor of an extension input device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <X11/extensions/XI2proto.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -21,6 +21,9 @@
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -22,6 +22,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <X11/Xlibint.h>
|
||||
#include <X11/extensions/XI2proto.h>
|
||||
|
@ -29,6 +29,9 @@ in this Software without prior written authorization from The Open Group.
|
||||
* XIChangeHierarchy - change the device hierarchy, i.e. which slave
|
||||
* device is attached to which master, etc.
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <X11/extensions/XI2proto.h>
|
||||
|
@ -21,6 +21,9 @@
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <X11/Xlibint.h>
|
||||
@ -145,6 +148,25 @@ XIGrabFocusIn(Display *dpy, int deviceid, Window grab_window, int grab_mode,
|
||||
modifiers_inout);
|
||||
}
|
||||
|
||||
int
|
||||
XIGrabTouchBegin(Display *dpy, int deviceid, Window grab_window,
|
||||
Bool owner_events, XIEventMask *mask,
|
||||
int num_modifiers, XIGrabModifiers *modifiers_inout)
|
||||
{
|
||||
XExtDisplayInfo *extinfo = XInput_find_display(dpy);
|
||||
|
||||
LockDisplay(dpy);
|
||||
if (_XiCheckExtInit(dpy, XInput_2_2, extinfo) == -1)
|
||||
return -1;
|
||||
|
||||
/* FIXME: allow selection of GrabMode for paired devices? */
|
||||
return _XIPassiveGrabDevice(dpy, deviceid, XIGrabtypeTouchBegin, 0,
|
||||
grab_window, None, XIGrabModeTouch,
|
||||
GrabModeAsync, owner_events, mask,
|
||||
num_modifiers, modifiers_inout);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
_XIPassiveUngrabDevice(Display* dpy, int deviceid, int grabtype, int detail,
|
||||
Window grab_window, int num_modifiers, XIGrabModifiers *modifiers)
|
||||
@ -208,3 +230,17 @@ XIUngrabFocusIn(Display* display, int deviceid, Window grab_window,
|
||||
return _XIPassiveUngrabDevice(display, deviceid, XIGrabtypeFocusIn, 0,
|
||||
grab_window, num_modifiers, modifiers);
|
||||
}
|
||||
|
||||
int
|
||||
XIUngrabTouchBegin(Display* display, int deviceid, Window grab_window,
|
||||
int num_modifiers, XIGrabModifiers *modifiers)
|
||||
{
|
||||
XExtDisplayInfo *extinfo = XInput_find_display(display);
|
||||
|
||||
LockDisplay(display);
|
||||
if (_XiCheckExtInit(display, XInput_2_2, extinfo) == -1)
|
||||
return -1;
|
||||
|
||||
return _XIPassiveUngrabDevice(display, deviceid, XIGrabtypeTouchBegin, 0,
|
||||
grab_window, num_modifiers, modifiers);
|
||||
}
|
||||
|
@ -22,6 +22,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <X11/Xlibint.h>
|
||||
#include <X11/extensions/XI2proto.h>
|
||||
@ -70,6 +74,8 @@ XIQueryDevice(Display *dpy, int deviceid, int *ndevices_return)
|
||||
|
||||
for (i = 0; i < reply.num_devices; i++)
|
||||
{
|
||||
int nclasses;
|
||||
size_t sz;
|
||||
XIDeviceInfo *lib = &info[i];
|
||||
xXIDeviceInfo *wire = (xXIDeviceInfo*)ptr;
|
||||
|
||||
@ -77,8 +83,7 @@ XIQueryDevice(Display *dpy, int deviceid, int *ndevices_return)
|
||||
lib->use = wire->use;
|
||||
lib->attachment = wire->attachment;
|
||||
lib->enabled = wire->enabled;
|
||||
lib->num_classes = wire->num_classes;
|
||||
lib->classes = (XIAnyClassInfo**)&lib[1];
|
||||
nclasses = wire->num_classes;
|
||||
|
||||
ptr += sizeof(xXIDeviceInfo);
|
||||
|
||||
@ -86,8 +91,11 @@ XIQueryDevice(Display *dpy, int deviceid, int *ndevices_return)
|
||||
strncpy(lib->name, ptr, wire->name_len);
|
||||
ptr += ((wire->name_len + 3)/4) * 4;
|
||||
|
||||
lib->classes = Xmalloc(size_classes((xXIAnyInfo*)ptr, lib->num_classes));
|
||||
ptr += copy_classes(lib, (xXIAnyInfo*)ptr, &lib->num_classes);
|
||||
sz = size_classes((xXIAnyInfo*)ptr, nclasses);
|
||||
lib->classes = Xmalloc(sz);
|
||||
ptr += copy_classes(lib, (xXIAnyInfo*)ptr, &nclasses);
|
||||
/* We skip over unused classes */
|
||||
lib->num_classes = nclasses;
|
||||
}
|
||||
|
||||
Xfree(buf);
|
||||
|
@ -29,6 +29,9 @@ in this Software without prior written authorization from The Open Group.
|
||||
* XIQueryPointer - Query the pointer of an extension input device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <X11/extensions/XI2proto.h>
|
||||
|
@ -22,6 +22,11 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <X11/Xlibint.h>
|
||||
#include <X11/extensions/XI2proto.h>
|
||||
|
@ -30,6 +30,9 @@ in this Software without prior written authorization from the author.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <X11/Xlibint.h>
|
||||
|
@ -32,6 +32,9 @@ in this Software without prior written authorization from The Open Group.
|
||||
* Ideally, the window manager will always send a SetClientPointer request
|
||||
* before the client interacts with an application.
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <X11/extensions/XI2proto.h>
|
||||
|
@ -22,6 +22,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <X11/Xlibint.h>
|
||||
#include <X11/extensions/XI2proto.h>
|
||||
|
@ -29,6 +29,9 @@ in this Software without prior written authorization from The Open Group.
|
||||
* XIWarpPointer - Warp the pointer of an extension input device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <X11/extensions/XI2proto.h>
|
||||
|
@ -7,9 +7,26 @@
|
||||
#define _XIINT_H_
|
||||
#include <X11/extensions/XI.h>
|
||||
|
||||
/* inputproto 2.0 still shipped with these defined in the proto headers */
|
||||
#ifndef XInput_Initial_Release
|
||||
/* Indices into the versions[] array (XExtInt.c). Used as a index to
|
||||
* retrieve the minimum version of XI from _XiCheckExtInit */
|
||||
#define Dont_Check 0
|
||||
#define XInput_Initial_Release 1
|
||||
#define XInput_Add_XDeviceBell 2
|
||||
#define XInput_Add_XSetDeviceValuators 3
|
||||
#define XInput_Add_XChangeDeviceControl 4
|
||||
#define XInput_Add_DevicePresenceNotify 5
|
||||
#define XInput_Add_DeviceProperties 6
|
||||
#define XInput_2_0 7
|
||||
#endif
|
||||
#define XInput_2_1 8
|
||||
#define XInput_2_2 9
|
||||
|
||||
extern XExtDisplayInfo *XInput_find_display(Display *);
|
||||
|
||||
extern int _XiCheckExtInit(Display *, int, XExtDisplayInfo *);
|
||||
extern int _XiCheckVersion(XExtDisplayInfo *info, int version_index);
|
||||
|
||||
extern XExtensionVersion *_XiGetExtensionVersion(Display *, _Xconst char *, XExtDisplayInfo *);
|
||||
extern XExtensionVersion* _XiGetExtensionVersionRequest(Display *dpy, _Xconst char *name, int xi_opcode);
|
||||
|
@ -69,7 +69,7 @@ XListDeviceProperties(Display* dpy, XDevice* dev, int *nprops_return)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
_XRead32(dpy, props, rep.nAtoms << 2);
|
||||
_XRead32(dpy, (long*)props, rep.nAtoms << 2);
|
||||
}
|
||||
|
||||
*nprops_return = rep.nAtoms;
|
||||
|
@ -50,6 +50,9 @@ SOFTWARE.
|
||||
* available input devices.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XOpenDevice - Request the server to open and extension input device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XQueryDeviceState - Query the state of an extension input device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XSelectExtensionEvent - Select input from an extension device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XSetDeviceButtonMapping - Set the button mapping of an extension device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -50,6 +50,9 @@ SOFTWARE.
|
||||
* device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XSetDeviceModifierMapping - set the modifier map of an extension device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XSetDeviceMode - Set the mode of an extension input device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XSendExtensionEvent - send an extension event to a client.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
@ -57,6 +60,11 @@ SOFTWARE.
|
||||
#include <X11/extensions/extutil.h>
|
||||
#include "XIint.h"
|
||||
|
||||
/* Xlib's wire_vec is defined for a single event only, libXi may return
|
||||
* multiple events.
|
||||
*/
|
||||
typedef Status (*ext_event_to_wire)(Display*, XEvent*, xEvent**, int*);
|
||||
|
||||
Status
|
||||
XSendExtensionEvent(
|
||||
register Display *dpy,
|
||||
@ -71,7 +79,7 @@ XSendExtensionEvent(
|
||||
int ev_size;
|
||||
xSendExtensionEventReq *req;
|
||||
xEvent *ev;
|
||||
register Status(**fp) (Display *, XEvent*, xEvent **, int *);
|
||||
ext_event_to_wire *fp;
|
||||
Status status;
|
||||
XExtDisplayInfo *info = XInput_find_display(dpy);
|
||||
|
||||
@ -81,10 +89,10 @@ XSendExtensionEvent(
|
||||
|
||||
/* call through display to find proper conversion routine */
|
||||
|
||||
fp = &dpy->wire_vec[event->type & 0177];
|
||||
fp = (ext_event_to_wire*)&dpy->wire_vec[event->type & 0177];
|
||||
if (*fp == NULL)
|
||||
*fp = _XiEventToWire;
|
||||
status = (**fp) (dpy, event, &ev, &num_events);
|
||||
status = (*fp) (dpy, event, &ev, &num_events);
|
||||
|
||||
if (status) {
|
||||
GetReq(SendExtensionEvent, req);
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XSetDeviceFocus - Set the focus of an extension device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XUngrabDevice - Ungrab an extension device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XUngrabDeviceButton - Ungrab a button on an extension device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
@ -49,6 +49,9 @@ SOFTWARE.
|
||||
* XUngrabDeviceKey - Ungrab a key on an extension device.
|
||||
*
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <X11/extensions/XIproto.h>
|
||||
|
Loading…
Reference in New Issue
Block a user