Release 6 Public Patch #02
X Consortium
To apply this patch:
cd to the top of the source tree (to the directory containing the "xc"
and "contrib" subdirectories) and do:
patch -p -s < ThisFile
Patch will work silently unless an error occurs. You may get warning messages
of the form "mkdir:
: File exists", which can be ignored. If you want to
watch patch do its thing, leave out the "-s" argument to patch.
Finally, to rebuild after applying this patch, cd to the "xc" subdirectory
and do:
make Everything >& every.log
This patch creates the following new files:
xc/programs/Xserver/hw/hp/input/drivers/Imakefile
xc/programs/Xserver/hw/hp/input/drivers/hp7lc2k.c
xc/programs/Xserver/hw/hp/input/drivers/hp7lc2m.c
xc/programs/Xserver/hw/hp/input/drivers/ps2io.h
xc/programs/Xserver/hw/hp/input/drivers/x_serialdrv.h
If you are using a symbolic link tree, you will need to create new links.
Brief notes on what this patch fixes:
config: AllocateLocalDefines not passed to NCR Xserver
config: IBM AIX 3.2.5 does not imply threads
doc: xhost man page doesn't document R6 features
doc: Xi man pages format incorrectly
doc: Xlib XClientMessageEvent man page typo
doc: Xsun man page does not list which devices are supported
doc: Xt XtGetMultiClickTime man page alias typo
fontlib: matrix transformed names don't conform to XLFD spec
fontlib: Speedo get_font_info calls sp_open_font wrong
fonts: no prototype in scope for atof in PEX/to_wfont
Fresco: bad app-defaults lookup
Fresco: does not compile with HP or Digital native C++ compiler
Fresco: does not compile with K&R preprocessor
Fresco: fix problems compiling with Sun, SGI, IBM compilers
ICElib: cannot call ICE functions from C++
nls: iso8859-1 compose table typos
SMlib: cannot call SM functions from C++
xdm: STREAMSCONN is broken
xdpyinfo: use of QueryExtension can cause dynamic loading of all extensions
XIE: QueryColorList may hang X connection
XIE: the server can accept an illegal photoflo topology
Xlib: XConvertCase should understand Greek
Xlib: XIM protocol packet headers have wrong length field
Xlib: XOpenIM parses "@locale=..." list incorrectly
Xlib: bad XcmsRGBiToRGB conversion using some device profiles
Xlib: cannot specify hex numbers in the Compose table
Xserver: HP ddx update for new hardware
Xserver: STREAMSCONN problem with XDMCP
Xserver: Xsun does not install 8-bit TrueColor visuals correctly
Xserver: Xsun wrong modifier map for type-5 PC keyboard
Xserver: imaging problems on olwm icons
xsmclient: fails to compile with -DX_NOT_POSIX
Xt: Session shell: nits in handling XSMP ShutdownCancelled
Xt: XtOpenDisplay derives appl name incorrectly
Xt: memory leak in XtAppAddActionHook/XtRemoveActionHook
Xt: parsing translation table: "Button1" does not work
xtrans: ConvertAddress addr argument must be passed by reference
xtrans: cannot recover from attempt to run second server on same display
Prereq: public-patch-1
*** /tmp/,RCSt1a22195 Mon Jun 6 17:07:17 1994
--- xc/bug-report Mon Jun 6 17:04:43 1994
***************
*** 3,9
VERSION:
! R6, public-patch-1
[X Consortium public patches edit this line to indicate the patch level]
CLIENT MACHINE and OPERATING SYSTEM:
--- 3,9 -----
VERSION:
! R6, public-patch-2
[X Consortium public patches edit this line to indicate the patch level]
CLIENT MACHINE and OPERATING SYSTEM:
*** /tmp/da16019 Sun Jun 5 18:25:42 1994
--- xc/config/cf/hp.cf Sun Jun 5 18:25:41 1994
***************
*** 1,4 ****
! XCOMM platform: $XConsortium: hp.cf,v 1.67 94/04/01 20:00:21 kaleb Exp $
#define OSName HP-UX 9.1
XCOMM operating system: OSName
--- 1,4 ----
! XCOMM platform: $XConsortium: hp.cf,v 1.68 94/06/03 21:38:44 matt Exp $
#define OSName HP-UX 9.1
XCOMM operating system: OSName
***************
*** 5,10 ****
--- 5,52 ----
#define OSMajorVersion 9
#define OSMinorVersion 1
#define OSTeenyVersion 0
+
+
+ /*
+ * C++ compiler setup. This file knows what options to use with
+ * certain compilers, including HP C++ and CenterLine C++.
+ *
+ * For HP C++, define HasHPCplusplus to YES in site.def.
+ * For CenterLine C++, define HasCenterLineCplusplus to YES in site.def.
+ * For other compilers, define HasCplusplus to YES in site.def, and
+ * check to see if you need to provide values for CplusplusOptions
+ * and/or DefaultCplusplusOptions.
+ *
+ * In any case, you may also need to set CplusplusDependIncludes.
+ */
+
+ #if HasHPCplusplus
+ #ifndef HasCplusplus
+ #define HasCplusplus YES
+ #endif
+ #ifndef DefaultCplusplusOptions
+ #define DefaultCplusplusOptions -Aa
+ #endif
+ #ifndef CplusplusOptions
+ #define CplusplusOptions -Aa
+ #endif
+ #ifndef CplusplusDependIncludes
+ #define CplusplusDependIncludes -I/usr/include/CC
+ #endif
+ #endif
+
+ #if HasCenterLineCplusplus
+ #ifndef HasCplusplus
+ #define HasCplusplus YES
+ #endif
+ #ifndef OptimizedCplusplusDebugFlags
+ #define OptimizedCplusplusDebugFlags -O
+ #endif
+ #ifndef CplusplusDependIncludes
+ #define CplusplusDependIncludes -I/usr/local/CenterLine/clc++/pa-hpux8/incl
+ #endif
+ #endif
+
#define SystemV YES
#define Malloc0ReturnsNull YES
*** /tmp/da16035 Sun Jun 5 18:25:43 1994
--- xc/config/cf/ibm.cf Sun Jun 5 18:25:43 1994
***************
*** 1,4 ****
! XCOMM platform: $XConsortium: ibm.cf,v 1.50 94/03/28 20:23:42 matt Exp $
#ifdef RsArchitecture
#define OSName AIX 3.2.5
--- 1,4 ----
! XCOMM platform: $XConsortium: ibm.cf,v 1.52 94/06/04 16:44:25 rws Exp $
#ifdef RsArchitecture
#define OSName AIX 3.2.5
***************
*** 27,36 ****
#ifdef RsArchitecture
! #if OSMajorVersion >= 3 && OSMinorVersion >= 2
#define HasBSD44Sockets YES
! #if OSMajorVersion > 3 || OSMinorVersion > 2 || OSTeenyVersion > 4
#define HasPosixThreads YES
#define SystemMTDefines -D_THREAD_SAFE
#define ThreadedX YES
#define ThreadsLibraries -lpthreads -lc_r
--- 27,43 ----
#ifdef RsArchitecture
! #if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion >= 2)
#define HasBSD44Sockets YES
! /*
! * If you do not have threads support installed, put
! * #define HasPosixThreads NO
! * in the BeforeVendorCF section of your site.def.
! */
! #if !defined(HasPosixThreads) && (OSMajorVersion > 3 || (OSMajorVersion == 3 && (OSMinorVersion > 2 || (OSMinorVersion == 2 && OSTeenyVersion > 4))))
#define HasPosixThreads YES
+ #endif
+ #if HasPosixThreads
#define SystemMTDefines -D_THREAD_SAFE
#define ThreadedX YES
#define ThreadsLibraries -lpthreads -lc_r
***************
*** 46,53 ****
--- 53,67 ----
* C++ shared libraries like libFresco
*/
+ #ifndef CplusplusCmd
#define CplusplusCmd xlC
+ #endif
+ #ifndef CplusplusLibC
#define CplusplusLibC /usr/lpp/xlC/lib/libC.a
+ #endif
+ #ifndef CplusplusDependIncludes
+ #define CplusplusDependIncludes -I/usr/lpp/xlC/include
+ #endif
/*
* IBM's xlC refuses to compile files unless their names end in ".C".
*** /tmp/da16051 Sun Jun 5 18:25:45 1994
--- xc/config/cf/ncr.cf Sun Jun 5 18:25:45 1994
***************
*** 1,4 ****
! XCOMM platform: $XConsortium: ncr.cf,v 1.10 94/04/15 11:52:14 rws Exp $
#define OSName Unix System V Release 4/MP-RAS
#define OSVendor NCR
XCOMM operating system: OSName
--- 1,4 ----
! XCOMM platform: $XConsortium: ncr.cf,v 1.11 94/06/04 16:47:47 rws Exp $
#define OSName Unix System V Release 4/MP-RAS
#define OSVendor NCR
XCOMM operating system: OSName
***************
*** 12,18 ****
#define StandardDefines -DSVR4 -DNCR -Di386 -DXML -DXI18N
#define DefaultCCOptions -Xc -Hnocopyr -W0,-asm
#define DefaultCDebugFlags -O3
! #define ServerExtraDefines -DNO_SECONDARY
#define ServerOSDefines -DDDXTIME -DDDXOSINIT
#define AllocateLocalDefines -DNO_ALLOCA
--- 12,18 ----
#define StandardDefines -DSVR4 -DNCR -Di386 -DXML -DXI18N
#define DefaultCCOptions -Xc -Hnocopyr -W0,-asm
#define DefaultCDebugFlags -O3
! #define ServerExtraDefines -DNO_SECONDARY AllocateLocalDefines
#define ServerOSDefines -DDDXTIME -DDDXOSINIT
#define AllocateLocalDefines -DNO_ALLOCA
*** /tmp/da16067 Sun Jun 5 18:25:47 1994
--- xc/config/cf/osf1.cf Sun Jun 5 18:25:47 1994
***************
*** 1,4 ****
! XCOMM platform: $XConsortium: osf1.cf,v 1.37 94/04/09 20:45:31 rws Exp $
/* only tested with Digital OSF/1 */
#ifdef AlphaArchitecture
--- 1,4 ----
! XCOMM platform: $XConsortium: osf1.cf,v 1.38 94/06/03 21:38:48 matt Exp $
/* only tested with Digital OSF/1 */
#ifdef AlphaArchitecture
***************
*** 34,39 ****
--- 34,56 ----
#if ThreadedX
#define ThreadsLibraries -lpthreads -lmach -lc_r
+ #endif
+
+ /*
+ * For OSF/1 platforms, we must define both the location of the compiler
+ * and the location of its standard C++ library. The library location
+ * is needed to resolve dependent library symbols when we build our own
+ * C++ shared libraries like libFresco
+ */
+
+ #ifndef CplusplusCmd
+ #define CplusplusCmd /usr/bin/cxx
+ #endif
+ #ifndef CplusplusDependIncludes
+ #define CplusplusDependIncludes -D__DECCXX -I/usr/include
+ #endif
+ #ifndef CplusplusLibC
+ #define CplusplusLibC -L/usr/lib/cmplrs/cxx -lcxx
#endif
#include
*** /tmp/da16083 Sun Jun 5 18:25:49 1994
--- xc/config/cf/osfLib.tmpl Sun Jun 5 18:25:48 1994
***************
*** 1,4 ****
! XCOMM $XConsortium: osfLib.tmpl,v 1.17 94/01/29 11:47:36 rws Exp $
/*
* OSF/1 shared library template
--- 1,4 ----
! XCOMM $XConsortium: osfLib.tmpl,v 1.18 94/06/03 21:38:46 matt Exp $
/*
* OSF/1 shared library template
***************
*** 22,24 ****
--- 22,33 ----
#define SharedXtstReqs $(LDPRELIB) $(XLIB)
#define SharedXieReqs $(LDPRELIB) $(XLIBONLY)
#define SharedSMReqs $(LDPRELIB) $(ICELIB)
+
+ #if ThreadedX && ModernOSF1
+ #define FrescoSysLibs -lpthreads -lmach CplusplusLibC MathLibrary
+ #else
+ #define FrescoSysLibs CplusplusLibC MathLibrary
+ #endif
+
+ #define SharedFrescoReqs $(LDPRELIB) $(XLIBONLY) FrescoSysLibs
+ #define SharedXtfReqs $(LDPRELIB) $(FRESCOLIB) $(XTOOLLIB) $(XLIB) FrescoSysLibs
*** /tmp/da16099 Sun Jun 5 18:25:50 1994
--- xc/config/cf/sgi.cf Sun Jun 5 18:25:50 1994
***************
*** 1,4 ****
! XCOMM platform: $XConsortium: sgi.cf,v 1.42 94/04/01 19:59:12 kaleb Exp $
#define OSName IRIX 5.2
XCOMM operating system: OSName
--- 1,4 ----
! XCOMM platform: $XConsortium: sgi.cf,v 1.43 94/06/03 21:38:45 matt Exp $
#define OSName IRIX 5.2
XCOMM operating system: OSName
***************
*** 51,56 ****
--- 51,61 ----
#define DefaultCCOptions sgiCCOptions SymbolTables
#define PexCCOptions sgiCCOptions PexSymbolTables
#define ServerCCOptions sgiCCOptions ServerSymbolTables
+
+ /* For SGI C++ compiler, need to search extra dirs in make depend */
+ #ifndef CplusplusDependIncludes
+ #define CplusplusDependIncludes -I/usr/include/CC
+ #endif
/* At SGI, we don't need this */
#define ConstructMFLAGS NO /* build MFLAGS from MAKEFLAGS */
*** /tmp/da19513 Mon Jun 6 12:17:27 1994
--- xc/config/cf/site.sample Mon Jun 6 12:17:26 1994
***************
*** 1,4 ****
! XCOMM site: $XConsortium: site.sample,v 1.10 94/05/13 16:43:11 matt Exp $
/*****************************************************************************
* *
--- 1,4 ----
! XCOMM site: $XConsortium: site.sample,v 1.11 94/06/03 19:50:12 matt Exp $
/*****************************************************************************
* *
***************
*** 60,90 ****
/* #define BuildXKB YES */
/* #define PreIncDir /usr/local/lib/gcc-lib/sparc-sun-sunos4.1.3/2.5.8/include */
-
- /*
- * If your C++ compiler has ANSI preprocessor features like token-pasting,
- * you may want to turn them on when building Fresco. If you get compile
- * time errors about "_" not being a type name or Xf not being a type name,
- * it means your standard preprocessor converts empty comments to spaces
- * instead of doing token pasting. Use an ANSI preprocessor if you can.
- *
- * If your compiler does ANSI token-pasting but does NOT set __STDC__ to 1
- * you should add -D__ANSI_CPP__ to the command line so Fresco sources
- * know they can use ANSI token pasting. Here's a sample set of values
- * for HP's C++ compiler, which requires special flags for ANSI features
- * and which does not assert __STDC__ == 1:
- */
-
- /*
- #ifdef HPArchitecture
- #ifndef DefaultCplusplusOptions
- #define DefaultCplusplusOptions -Aa
- #endif
- #ifndef CplusplusExtraDefines
- #define CplusplusExtraDefines -D__ANSI_CPP__
- #endif
- #endif
- */
/*
#if defined(SunArchitecture) && defined(SparcArchitecture)
--- 60,65 ----
*** /tmp/da16115 Sun Jun 5 18:25:52 1994
--- xc/config/cf/sun.cf Sun Jun 5 18:25:51 1994
***************
*** 1,4 ****
! XCOMM platform: $XConsortium: sun.cf,v 1.130 94/05/13 16:03:10 matt Exp $
#ifdef SVR4
#ifdef i386Architecture
--- 1,4 ----
! XCOMM platform: $XConsortium: sun.cf,v 1.131 94/06/03 21:38:47 matt Exp $
#ifdef SVR4
#ifdef i386Architecture
***************
*** 24,44 ****
/*
* Compiler setup. This sun.cf file knows what options to use with
! * certain compilers, including Sun C, CenterLine C, and gcc. If you
! * don't tell us which compiler you have, we assume you have the
! * unbundled Sun C compiler under Solaris 2.x, and the bundled /bin/cc
! * under SunOS 4.1.x
*
! * If you have CenterLine C, you can just define HasCenterLineC to YES
! * in site.def, or if you have gcc or gcc2, you can just define HasGcc
! * or HasGcc2 to YES in site.def
*
! * If you have some other compiler, you must define HasSunC to NO in
! * site.def, then provide appropriate values for the various compiler
! * related configuration varibles used here. If you submit changes to
! * support other compilers as an X11 request for enhancement, we'll
! * consider adding them in the future. It's always easier to add and
! * support such changes if we have a copy of the compiler in question.
*/
#ifndef HasSunC
--- 24,64 ----
/*
* Compiler setup. This sun.cf file knows what options to use with
! * certain compilers, including Sun C, CenterLine C, and gcc. It
! * also understands how to set some of the options for various C++
! * compilers, including Sun C++ and CenterLine C++.
*
! * === C Compiler Setup ==========================================
! *
! * For SunPro C, define HasSunC to YES in site.def.
! * For CenterLine C, define HasCenterLineC to YES in site.def
! * For gcc or gcc2, define HasGcc or HasGcc2 to YES in site.def
! * For other compilers, define HasSunC to NO in site.def, then
! * provide appropriate values for the various compiler related
! * configuration varibles used here.
*
! * If you say you have the SunPro C compiler, we assume you have
! * version 2.0.x of the compiler. If you have version 3.0.x instead,
! * define CCompilerMajorVersion as 3 in site.def
! *
! * If you don't tell us which C compiler you have, we assume you have
! * the SunPro C compiler under Solaris 2.x, and the bundled /bin/cc
! * under SunOS 4.1.x
! *
! * === C++ Compiler Setup ==========================================
! *
! * For SunPro C++, define HasSunCplusplus to YES in site.def
! * For CenterLine C++, define HasCenterLineCplusplus to YES in site.def
! * For other compilers, define HasCplusplus to YES in site.def, and
! * check to see if you need to provide values for CplusplusOptions
! * and/or DefaultCplusplusOptions.
! *
! * In any case, you may also need to set CplusplusDependIncludes.
! *
! * If you say you have the SunPro C++ compiler, we assume you have
! * version 3.0.x of the compiler. If you have version 4.0.x instead,
! * define CplusplusCompilerMajorVersion as 4 in site.def.
! *
*/
#ifndef HasSunC
***************
*** 49,96 ****
#endif
#endif
- /*
- * If you say you have the unbundled Sun C compiler, we assume you have
- * version 2.0.x of the compiler unless you say otherwise. If you have
- * version 3.0.x of the C compiler, define CCompilerMajorVersion as 3
- * in site.def
- */
-
#if HasSunC
#ifndef CCompilerMajorVersion
#define CCompilerMajorVersion 2
#endif
- #ifndef CcCmd
- #define CcCmd /opt/SUNWspro/bin/cc
#endif
- #endif
- /*
- * If you say you have the Sun C++ compiler, we assume you have version
- * 3.0.x of the compiler (the cfront-based version) unless you say otherwise.
- * If you have version 4.0.x of the C++ compiler (the one with exceptions)
- * define CplusplusCompilerMajorVersion as 4 in site.def
- */
-
#if HasSunCplusplus
#ifndef CplusplusCompilerMajorVersion
#define CplusplusCompilerMajorVersion 3
#endif
- #ifndef CplusplusCmd
- #define CplusplusCmd /opt/SUNWspro/bin/CC
#endif
- #endif
- /*
- * If you say you have the CenterLine C compiler, we assume that clcc
- * is somewhere in your default path.
- */
-
#if HasCenterLineC
#ifndef CcCmd
#define CcCmd clcc
#endif
#endif
#if OSMajorVersion < 4 || (OSMajorVersion == 4 && OSMinorVersion < 1)
/* We do not guarantee this will work */
--- 69,107 ----
#endif
#endif
#if HasSunC
#ifndef CCompilerMajorVersion
#define CCompilerMajorVersion 2
#endif
#endif
#if HasSunCplusplus
+ #ifndef HasCplusplus
+ #define HasCplusplus YES
+ #endif
#ifndef CplusplusCompilerMajorVersion
#define CplusplusCompilerMajorVersion 3
#endif
#endif
#if HasCenterLineC
#ifndef CcCmd
#define CcCmd clcc
#endif
#endif
+
+ #if HasCenterLineCplusplus
+ #ifndef HasCplusplus
+ #define HasCplusplus YES
+ #endif
+ #ifndef DefaultCplusplusOptions
+ #define DefaultCplusplusOptions -Xa
+ #endif
+ #ifndef CplusplusOptions
+ #define CplusplusOptions -Xa
+ #endif
+ #endif
+
#if OSMajorVersion < 4 || (OSMajorVersion == 4 && OSMinorVersion < 1)
/* We do not guarantee this will work */
*** /tmp/da16133 Sun Jun 5 18:25:53 1994
--- xc/doc/man/X11/XCMEvent.man Sat Jun 04 16:22:25 1994
***************
*** 140,146 ****
.ny0
.TH XClientMessageEvent 3X11 "Release 6" "X Version 11" "XLIB FUNCTIONS"
.SH NAME
! XClientMessageEvent \- ColormapNotify event structure
.SH STRUCTURES
The structure for
.ZN ClientMessage
--- 140,146 ----
.ny0
.TH XClientMessageEvent 3X11 "Release 6" "X Version 11" "XLIB FUNCTIONS"
.SH NAME
! XClientMessageEvent \- ClientMessage event structure
.SH STRUCTURES
The structure for
.ZN ClientMessage
*** /tmp/da16157 Sun Jun 5 18:25:56 1994
--- xc/doc/man/Xi/XAllDvEv.man Sun Jun 5 18:25:55 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XAllDvEv.man,v 1.4 94/04/17 20:07:26 dpw Exp $
.ds xL Programming With Xlib
.TH XAllowDeviceEvents 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XAllDvEv.man,v 1.5 94/06/04 17:32:07 rws Exp $
.ds xL Programming With Xlib
.TH XAllowDeviceEvents 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 55,61 ****
It has no effect if the specified time is earlier than the last-grab
time of the most recent active grab for the client and device,
or if the specified time is later than the current X server time.
! .P
The following describes the processing that occurs depending on what
constant you pass to the event_mode argument.
.TP 12
--- 54,60 ----
It has no effect if the specified time is earlier than the last-grab
time of the most recent active grab for the client and device,
or if the specified time is later than the current X server time.
! .LP
The following describes the processing that occurs depending on what
constant you pass to the event_mode argument.
.TP 12
***************
*** 110,116 ****
on behalf of multiple separate grabs, \fIAsyncAll\fP thaws for
all. \fIAsyncAll\fP has no effect unless all devices are frozen by
the client.
! .P
\fIAsyncThisDevice\fP,
\fISyncThisDevice\fP,
and
--- 109,115 ----
on behalf of multiple separate grabs, \fIAsyncAll\fP thaws for
all. \fIAsyncAll\fP has no effect unless all devices are frozen by
the client.
! .LP
\fIAsyncThisDevice\fP,
\fISyncThisDevice\fP,
and
***************
*** 123,129 ****
or
\fIAsyncAll\fP,
the device parameter is ignored.
! .P
It is possible for several grabs of different devices by the same or
different clients to be active simultaneously. If a device is frozen on
behalf of any grab, no event processing is performed for the device.
--- 122,128 ----
or
\fIAsyncAll\fP,
the device parameter is ignored.
! .LP
It is possible for several grabs of different devices by the same or
different clients to be active simultaneously. If a device is frozen on
behalf of any grab, no event processing is performed for the device.
***************
*** 130,136 ****
It is possible for a single device to be frozen because of several grabs.
In this case, the freeze must be released on behalf of each grab before
events can again be processed.
! .P
\fIXAllowDeviceEvents\fP
can generate a \fIBadDevice\fP or
\fIBadValue\fP
--- 129,135 ----
It is possible for a single device to be frozen because of several grabs.
In this case, the freeze must be released on behalf of each grab before
events can again be processed.
! .LP
\fIXAllowDeviceEvents\fP
can generate a \fIBadDevice\fP or
\fIBadValue\fP
*** /tmp/da16173 Sun Jun 5 18:25:57 1994
--- xc/doc/man/Xi/XChDCtl.man Sun Jun 5 18:25:57 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XChDCtl.man,v 1.4 94/04/17 20:07:27 dpw Exp $
.ds xL Programming With Xlib
.TH XGetDeviceControl 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XChDCtl.man,v 1.5 94/06/04 17:32:14 rws Exp $
.ds xL Programming With Xlib
.TH XGetDeviceControl 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 52,85 ****
These requests are provided to manipulate those input devices that
support device control. A \fIBadMatch\fP error will be generated if the
requested device does not support any device controls.
! .P
Valid device control types that can be used with these requests include the
following:
.TP 20
DEVICE_RESOLUTION
Queries or changes the resolution of valuators on input devices.
! .P
The \fIXGetDeviceControl\fP request returns a pointer to an
\fIXDeviceControl\fP structure.
! .P
\fIXGetDeviceControl\fP can generate a \fIBadDevice\fP or
\fIBadMatch\fP error.
! .P
The \fIXChangeDeviceControl\fP request modifies the values of one
control on the specified device. The control is identified by the id
field of the \fIXDeviceControl\fP structure that is passed with the
request.
! .P
\fIXChangeDeviceControl\fP can generate a \fIBadDevice\fP,
\fIBadMatch\fP, or \fIBadValue\fP error.
.SH STRUCTURES
Each control is described by a structure specific to that control.
These structures are defined in the file \fIXInput.h\fP.
! .P
\fIXDeviceControl\fP is a generic
structure that contains two fields that are at the beginning of each class
of control:
! .P
.DS
.nf
typedef struct {
--- 51,84 ----
These requests are provided to manipulate those input devices that
support device control. A \fIBadMatch\fP error will be generated if the
requested device does not support any device controls.
! .LP
Valid device control types that can be used with these requests include the
following:
.TP 20
DEVICE_RESOLUTION
Queries or changes the resolution of valuators on input devices.
! .LP
The \fIXGetDeviceControl\fP request returns a pointer to an
\fIXDeviceControl\fP structure.
! .LP
\fIXGetDeviceControl\fP can generate a \fIBadDevice\fP or
\fIBadMatch\fP error.
! .LP
The \fIXChangeDeviceControl\fP request modifies the values of one
control on the specified device. The control is identified by the id
field of the \fIXDeviceControl\fP structure that is passed with the
request.
! .LP
\fIXChangeDeviceControl\fP can generate a \fIBadDevice\fP,
\fIBadMatch\fP, or \fIBadValue\fP error.
.SH STRUCTURES
Each control is described by a structure specific to that control.
These structures are defined in the file \fIXInput.h\fP.
! .LP
\fIXDeviceControl\fP is a generic
structure that contains two fields that are at the beginning of each class
of control:
! .LP
.DS
.nf
typedef struct {
***************
*** 91,100 ****
} XDeviceControl;
.fi
.DE
! .P
The \fIXDeviceResolutionState\fP structure defines the information that is
returned for device resolution for devices with valuators.
! .P
.DS
.nf
typedef struct {
--- 90,99 ----
} XDeviceControl;
.fi
.DE
! .LP
The \fIXDeviceResolutionState\fP structure defines the information that is
returned for device resolution for devices with valuators.
! .LP
.DS
.nf
typedef struct {
***************
*** 107,116 ****
} XDeviceResolutionState;
.fi
.DE
! .P
The \fIXDeviceResolutionControl\fP structure defines the attributes that can be
controlled for keyboard Devices.
! .P
.DS
.nf
typedef struct {
--- 106,115 ----
} XDeviceResolutionState;
.fi
.DE
! .LP
The \fIXDeviceResolutionControl\fP structure defines the attributes that can be
controlled for keyboard Devices.
! .LP
.DS
.nf
typedef struct {
*** /tmp/da16189 Sun Jun 5 18:25:59 1994
--- xc/doc/man/Xi/XChFCtl.man Sun Jun 5 18:25:59 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XChFCtl.man,v 1.4 94/04/17 20:07:27 dpw Exp $
.ds xL Programming With Xlib
.TH XGetFeedbackControl 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XChFCtl.man,v 1.5 94/06/04 17:32:15 rws Exp $
.ds xL Programming With Xlib
.TH XGetFeedbackControl 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 62,74 ****
support feedbacks, \fIXOpenDevice\fP will return an
\fIXInputClassInfo\fP structure with the input_class field
equal to the constant \fIFeedbackClass\fP (defined in the file \fIXI.h\fP).
! .P
The \fIXGetFeedbackControl\fP request returns a pointer to a list of
\fIXFeedbackState\fP structures. Each item in this list describes one
of the feedbacks supported by the device. The items are variable length,
so each contains its length to allow traversal to the next item in the
list.
! .P
The feedback classes that are currently defined are: \fIKbdFeedbackClass\fP,
\fIPtrFeedbackClass\fP, \fIStringFeedbackClass\fP, \fIIntegerFeedbackClass\fP,
\fILedFeedbackClass\fP, and \fIBellFeedbackClass\fP. These constants are
--- 61,73 ----
support feedbacks, \fIXOpenDevice\fP will return an
\fIXInputClassInfo\fP structure with the input_class field
equal to the constant \fIFeedbackClass\fP (defined in the file \fIXI.h\fP).
! .LP
The \fIXGetFeedbackControl\fP request returns a pointer to a list of
\fIXFeedbackState\fP structures. Each item in this list describes one
of the feedbacks supported by the device. The items are variable length,
so each contains its length to allow traversal to the next item in the
list.
! .LP
The feedback classes that are currently defined are: \fIKbdFeedbackClass\fP,
\fIPtrFeedbackClass\fP, \fIStringFeedbackClass\fP, \fIIntegerFeedbackClass\fP,
\fILedFeedbackClass\fP, and \fIBellFeedbackClass\fP. These constants are
***************
*** 77,92 ****
of the same class. Each feedback contains a class identifier and an id
that is unique within that class for that input device. The id is used
to identify the feedback when making an \fIXChangeFeedbackControl\fP request.
! .P
\fIXGetFeedbackControl\fP can generate a \fIBadDevice\fP or
\fIBadMatch\fP error.
! .P
The \fIXChangeFeedbackControl\fP request modifies the values of one
feedback on the specified device. The feedback is identified by the id
field of the \fIXFeedbackControl\fP structure that is passed with the
request. The fields of the feedback that are to be modified are identified
by the bits of the mask that is passed with the request.
! .P
\fIXChangeFeedbackControl\fP can generate a \fIBadDevice\fP,
\fIBadMatch\fP, or \fIBadValue\fP error.
.SH STRUCTURES
--- 76,91 ----
of the same class. Each feedback contains a class identifier and an id
that is unique within that class for that input device. The id is used
to identify the feedback when making an \fIXChangeFeedbackControl\fP request.
! .LP
\fIXGetFeedbackControl\fP can generate a \fIBadDevice\fP or
\fIBadMatch\fP error.
! .LP
The \fIXChangeFeedbackControl\fP request modifies the values of one
feedback on the specified device. The feedback is identified by the id
field of the \fIXFeedbackControl\fP structure that is passed with the
request. The fields of the feedback that are to be modified are identified
by the bits of the mask that is passed with the request.
! .LP
\fIXChangeFeedbackControl\fP can generate a \fIBadDevice\fP,
\fIBadMatch\fP, or \fIBadValue\fP error.
.SH STRUCTURES
***************
*** 95,101 ****
\fIXFeedbackState\fP and \fIXFeedbackControl\fP are generic
structures that contain three fields that are at the beginning of each class
of feedback:
! .P
.DS
typedef struct {
.br
--- 94,100 ----
\fIXFeedbackState\fP and \fIXFeedbackControl\fP are generic
structures that contain three fields that are at the beginning of each class
of feedback:
! .LP
.DS
typedef struct {
.br
***************
*** 107,116 ****
.br
} XFeedbackState, XFeedbackControl;
.DE
! .P
The \fIXKbdFeedbackState\fP structure defines the attributes that are
returned for feedbacks equivalent to those on the X keyboard.
! .P
.DS
.nf
typedef struct {
--- 106,115 ----
.br
} XFeedbackState, XFeedbackControl;
.DE
! .LP
The \fIXKbdFeedbackState\fP structure defines the attributes that are
returned for feedbacks equivalent to those on the X keyboard.
! .LP
.DS
.nf
typedef struct {
***************
*** 127,136 ****
} XKbdFeedbackState;
.fi
.DE
! .P
The \fIXPtrFeedbackState\fP structure defines the attributes that are
returned for feedbacks equivalent to those on the the X pointer.
! .P
.DS
.nf
typedef struct {
--- 126,135 ----
} XKbdFeedbackState;
.fi
.DE
! .LP
The \fIXPtrFeedbackState\fP structure defines the attributes that are
returned for feedbacks equivalent to those on the the X pointer.
! .LP
.DS
.nf
typedef struct {
***************
*** 143,152 ****
} XPtrFeedbackState;
.fi
.DE
! .P
The \fIXIntegerFeedbackState\fP structure defines attributes that are
returned for integer feedbacks.
! .P
.DS
.nf
typedef struct {
--- 142,151 ----
} XPtrFeedbackState;
.fi
.DE
! .LP
The \fIXIntegerFeedbackState\fP structure defines attributes that are
returned for integer feedbacks.
! .LP
.DS
.nf
typedef struct {
***************
*** 159,168 ****
} XIntegerFeedbackState;
.fi
.DE
! .P
The \fIXStringFeedbackState\fP structure defines the attributes that are
returned for string feedbacks.
! .P
.DS
.nf
typedef struct {
--- 158,167 ----
} XIntegerFeedbackState;
.fi
.DE
! .LP
The \fIXStringFeedbackState\fP structure defines the attributes that are
returned for string feedbacks.
! .LP
.DS
.nf
typedef struct {
***************
*** 175,184 ****
} XStringFeedbackState;
.fi
.DE
! .P
The \fIXBellFeedbackState\fP structure defines the attributes that are
returned for bell feedbacks.
! .P
.DS
.nf
typedef struct {
--- 174,183 ----
} XStringFeedbackState;
.fi
.DE
! .LP
The \fIXBellFeedbackState\fP structure defines the attributes that are
returned for bell feedbacks.
! .LP
.DS
.nf
typedef struct {
***************
*** 191,200 ****
} XBellFeedbackState;
.fi
.DE
! .P
The \fIXLedFeedbackState\fP structure defines the attributes that are
returned for LED feedbacks.
! .P
.DS
.nf
typedef struct {
--- 190,199 ----
} XBellFeedbackState;
.fi
.DE
! .LP
The \fIXLedFeedbackState\fP structure defines the attributes that are
returned for LED feedbacks.
! .LP
.DS
.nf
typedef struct {
***************
*** 205,214 ****
} XLedFeedbackState;
.fi
.DE
! .P
The \fIXPrtFeedbackControl\fP structure defines the attributes that can be
controlled for pointer feedbacks.
! .P
.DS
.nf
typedef struct {
--- 204,213 ----
} XLedFeedbackState;
.fi
.DE
! .LP
The \fIXPrtFeedbackControl\fP structure defines the attributes that can be
controlled for pointer feedbacks.
! .LP
.DS
.nf
typedef struct {
***************
*** 221,230 ****
} XPtrFeedbackControl;
.fi
.DE
! .P
The \fIXKbdFeedbackControl\fP structure defines the attributes that can be
controlled for keyboard feedbacks.
! .P
.DS
.nf
typedef struct {
--- 220,229 ----
} XPtrFeedbackControl;
.fi
.DE
! .LP
The \fIXKbdFeedbackControl\fP structure defines the attributes that can be
controlled for keyboard feedbacks.
! .LP
.DS
.nf
typedef struct {
***************
*** 242,251 ****
} XKbdFeedbackControl;
.fi
.DE
! .P
The \fIXStringFeedbackControl\fP structure defines the attributes that can be
controlled for string feedbacks.
! .P
.DS
.nf
typedef struct {
--- 241,250 ----
} XKbdFeedbackControl;
.fi
.DE
! .LP
The \fIXStringFeedbackControl\fP structure defines the attributes that can be
controlled for string feedbacks.
! .LP
.DS
.nf
typedef struct {
***************
*** 257,266 ****
} XStringFeedbackControl;
.fi
.DE
! .P
The \fIXIntegerFeedbackControl\fP structure defines the attributes that can
be controlled for integer feedbacks.
! .P
.DS
.nf
typedef struct {
--- 256,265 ----
} XStringFeedbackControl;
.fi
.DE
! .LP
The \fIXIntegerFeedbackControl\fP structure defines the attributes that can
be controlled for integer feedbacks.
! .LP
.DS
.nf
typedef struct {
***************
*** 271,280 ****
} XIntegerFeedbackControl;
.fi
.DE
! .P
The \fIXBellFeedbackControl\fP structure defines the attributes that can be
controlled for bell feedbacks.
! .P
.DS
.nf
typedef struct {
--- 270,279 ----
} XIntegerFeedbackControl;
.fi
.DE
! .LP
The \fIXBellFeedbackControl\fP structure defines the attributes that can be
controlled for bell feedbacks.
! .LP
.DS
.nf
typedef struct {
***************
*** 287,296 ****
} XBellFeedbackControl;
.fi
.DE
! .P
The \fIXLedFeedbackControl\fP structure defines the attributes that can be
controlled for LED feedbacks.
! .P
.DS
.nf
typedef struct {
--- 286,295 ----
} XBellFeedbackControl;
.fi
.DE
! .LP
The \fIXLedFeedbackControl\fP structure defines the attributes that can be
controlled for LED feedbacks.
! .LP
.DS
.nf
typedef struct {
*** /tmp/da16205 Sun Jun 5 18:26:01 1994
--- xc/doc/man/Xi/XChKMap.man Sun Jun 5 18:26:00 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XChKMap.man,v 1.4 94/04/17 20:07:28 dpw Exp $
.ds xL Programming with Xlib
.TH XGetDeviceKeyMapping 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XChKMap.man,v 1.5 94/06/04 17:32:17 rws Exp $
.ds xL Programming with Xlib
.TH XGetDeviceKeyMapping 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 72,97 ****
In addition, the following expression must be less than or equal
to max_keycode as returned by
\fIXListInputDevices\fP:
! .P
.DS
first_keycode + keycode_count \- 1
.DE
! .P
If this is not the case, a
\fIBadValue\fP
error results.
The number of elements in the KeySyms list is:
! .P
.DS
keycode_count * keysyms_per_keycode_return
.DE
! .P
KeySym number N, counting from zero, for KeyCode K has the following index
in the list, counting from zero:
.DS
(K \- first_code) * keysyms_per_code_return + N
.DE
! .P
The X server arbitrarily chooses the keysyms_per_keycode_return value
to be large enough to report all requested symbols.
A special KeySym value of
--- 71,96 ----
In addition, the following expression must be less than or equal
to max_keycode as returned by
\fIXListInputDevices\fP:
! .LP
.DS
first_keycode + keycode_count \- 1
.DE
! .LP
If this is not the case, a
\fIBadValue\fP
error results.
The number of elements in the KeySyms list is:
! .LP
.DS
keycode_count * keysyms_per_keycode_return
.DE
! .LP
KeySym number N, counting from zero, for KeyCode K has the following index
in the list, counting from zero:
.DS
(K \- first_code) * keysyms_per_code_return + N
.DE
! .LP
The X server arbitrarily chooses the keysyms_per_keycode_return value
to be large enough to report all requested symbols.
A special KeySym value of
***************
*** 102,142 ****
\fIXGetDeviceKeyMapping\fP,
use
\fIXFree\fP.
! .P
If the specified device does not support input class keys, a \fIBadMatch\fP
error will result.
! .P
\fIXGetDeviceKeyMapping\fP
can generate a \fIBadDevice\fP, \fIBadMatch\fP, or \fIBadValue\fP
error.
! .P
For the specified device, the \fIXChangeDeviceKeyMapping\fP
request defines the symbols for the specified number of KeyCodes
starting with first_keycode.
The symbols for KeyCodes outside this range remain unchanged.
The number of elements in keysyms must be:
! .P
.DS
num_codes * keysyms_per_keycode
.DE
! .P
The specified first_keycode must be greater than or equal to min_keycode
returned by \fIXListInputDevices\fP, or a \fIBadValue\fP error results.
In addition, the following expression must be less than or equal to
max_keycode as returned by
\fIXListInputDevices\fP, or a \fIBadValue\fP error results:
! .P
.DS
first_keycode + num_codes \- 1
.DE
! .P
KeySym number N, counting from zero, for KeyCode K has the following index
in keysyms, counting from zero:
! .P
.DS
(K \- first_keycode) * keysyms_per_keycode + N
.DE
! .P
The specified keysyms_per_keycode can be chosen arbitrarily by the client
to be large enough to hold all desired symbols.
A special KeySym value of
--- 101,141 ----
\fIXGetDeviceKeyMapping\fP,
use
\fIXFree\fP.
! .LP
If the specified device does not support input class keys, a \fIBadMatch\fP
error will result.
! .LP
\fIXGetDeviceKeyMapping\fP
can generate a \fIBadDevice\fP, \fIBadMatch\fP, or \fIBadValue\fP
error.
! .LP
For the specified device, the \fIXChangeDeviceKeyMapping\fP
request defines the symbols for the specified number of KeyCodes
starting with first_keycode.
The symbols for KeyCodes outside this range remain unchanged.
The number of elements in keysyms must be:
! .LP
.DS
num_codes * keysyms_per_keycode
.DE
! .LP
The specified first_keycode must be greater than or equal to min_keycode
returned by \fIXListInputDevices\fP, or a \fIBadValue\fP error results.
In addition, the following expression must be less than or equal to
max_keycode as returned by
\fIXListInputDevices\fP, or a \fIBadValue\fP error results:
! .LP
.DS
first_keycode + num_codes \- 1
.DE
! .LP
KeySym number N, counting from zero, for KeyCode K has the following index
in keysyms, counting from zero:
! .LP
.DS
(K \- first_keycode) * keysyms_per_keycode + N
.DE
! .LP
The specified keysyms_per_keycode can be chosen arbitrarily by the client
to be large enough to hold all desired symbols.
A special KeySym value of
***************
*** 149,164 ****
of the effective list for a KeyCode.
\fIXChangeDeviceKeyMapping\fP generates a \fIDeviceMappingNotify\fP
event that is sent to all clients that have selected that type of event.
! .P
There is no requirement that the X server interpret this mapping.
It is merely stored for reading and writing by clients.
! .P
If the specified device does not support input class keys, a \fIBadMatch\fP
error results.
! .P
\fIXChangeDeviceKeyMapping\fP can generate a \fIBadDevice\fP,
\fIBadMatch\fP, \fIBadAlloc\fP, or \fIBadValue\fP error.
! .P
.SH DIAGNOSTICS
.TP 12
\fIBadDevice\fP
--- 148,163 ----
of the effective list for a KeyCode.
\fIXChangeDeviceKeyMapping\fP generates a \fIDeviceMappingNotify\fP
event that is sent to all clients that have selected that type of event.
! .LP
There is no requirement that the X server interpret this mapping.
It is merely stored for reading and writing by clients.
! .LP
If the specified device does not support input class keys, a \fIBadMatch\fP
error results.
! .LP
\fIXChangeDeviceKeyMapping\fP can generate a \fIBadDevice\fP,
\fIBadMatch\fP, \fIBadAlloc\fP, or \fIBadValue\fP error.
! .LP
.SH DIAGNOSTICS
.TP 12
\fIBadDevice\fP
*** /tmp/da16221 Sun Jun 5 18:26:03 1994
--- xc/doc/man/Xi/XChMMap.man Sun Jun 5 18:26:02 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XChMMap.man,v 1.4 94/04/17 20:07:29 dpw Exp $
.ds xL Programming With Xlib
.TH XGetDeviceModifierMapping 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XChMMap.man,v 1.5 94/06/04 17:32:18 rws Exp $
.ds xL Programming With Xlib
.TH XGetDeviceModifierMapping 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 47,53 ****
If more than eight are specified in the
\fIXModifierKeymap\fP structure, a \fIBadLength\fP
error results.
! .P
The modifiermap member of the \fIXModifierKeymap\fP
structure contains eight sets of max_keypermod KeyCodes,
one for each modifier in the order
--- 46,52 ----
If more than eight are specified in the
\fIXModifierKeymap\fP structure, a \fIBadLength\fP
error results.
! .LP
The modifiermap member of the \fIXModifierKeymap\fP
structure contains eight sets of max_keypermod KeyCodes,
one for each modifier in the order
***************
*** 70,76 ****
or a
\fIBadValue\fP
error results.
! .P
An X server can impose restrictions on how modifiers can be changed,
for example,
if certain keys do not generate up transitions in hardware,
--- 69,75 ----
or a
\fIBadValue\fP
error results.
! .LP
An X server can impose restrictions on how modifiers can be changed,
for example,
if certain keys do not generate up transitions in hardware,
***************
*** 86,96 ****
\fIXSetDeviceModifierMapping\fP
returns \fIMappingBusy\fP,
and none of the modifiers is changed.
! .P
\fIXSetDeviceModifierMapping\fP
can generate \fIBadLength\P, \fIBadDevice\fP, \fIBadMatch\fP, \fIBadAlloc\fP,
and \fIBadValue\fP errors.
! .P
The
\fIXGetDeviceModifierMapping\fP
request returns a pointer to a newly created
--- 85,95 ----
\fIXSetDeviceModifierMapping\fP
returns \fIMappingBusy\fP,
and none of the modifiers is changed.
! .LP
\fIXSetDeviceModifierMapping\fP
can generate \fIBadLength\P, \fIBadDevice\fP, \fIBadMatch\fP, \fIBadAlloc\fP,
and \fIBadValue\fP errors.
! .LP
The
\fIXGetDeviceModifierMapping\fP
request returns a pointer to a newly created
***************
*** 100,111 ****
\fIXFreeModifierMapping \fP.
If only zero values appear in the set for any modifier,
that modifier is disabled.
! .P
\fIXGetDeviceModifierMapping\fP
can generate \fIBadDevice\fP and \fIBadMatch\fP errors.
.SH STRUCTURES
The \fIXModifierKeymap\fP structure contains:
! .P
.nf
typedef struct {
int max_keypermod;
--- 99,110 ----
\fIXFreeModifierMapping \fP.
If only zero values appear in the set for any modifier,
that modifier is disabled.
! .LP
\fIXGetDeviceModifierMapping\fP
can generate \fIBadDevice\fP and \fIBadMatch\fP errors.
.SH STRUCTURES
The \fIXModifierKeymap\fP structure contains:
! .LP
.nf
typedef struct {
int max_keypermod;
***************
*** 112,118 ****
KeyCode *modifiermap;
} XModifierKeymap;
.fi
! .P
.SH DIAGNOSTICS
.TP 12
\fIBadLength\fP
--- 111,117 ----
KeyCode *modifiermap;
} XModifierKeymap;
.fi
! .LP
.SH DIAGNOSTICS
.TP 12
\fIBadLength\fP
*** /tmp/da16237 Sun Jun 5 18:26:04 1994
--- xc/doc/man/Xi/XChProp.man Sun Jun 5 18:26:04 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XChProp.man,v 1.5 94/04/17 20:07:30 dpw Exp $
.ds xL Programming With Xlib
.TH XChangeDeviceDontPropagateList 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XChProp.man,v 1.6 94/06/04 17:32:19 rws Exp $
.ds xL Programming With Xlib
.TH XChangeDeviceDontPropagateList 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 64,70 ****
Once modified, the list remains modified for the life of the window.
Events are not removed from the list because the client that added them
has terminated.
! .P
Suppression of event propagation is not allowed for all input extension
events. If a specified event class is one that cannot be suppressed,
a \fIBadClass\fP error will result. Events that can be suppressed
--- 63,69 ----
Once modified, the list remains modified for the life of the window.
Events are not removed from the list because the client that added them
has terminated.
! .LP
Suppression of event propagation is not allowed for all input extension
events. If a specified event class is one that cannot be suppressed,
a \fIBadClass\fP error will result. Events that can be suppressed
***************
*** 71,83 ****
include \fIDeviceKeyPress\fP, \fIDeviceKeyRelease\fP, \fIDeviceButtonPress\fP,
\fIDeviceButtonRelease\fP, \fIDeviceMotionNotify\fP, \fIProximityIn\fP,
and \fIProximityOut\fP.
! .P
\fIXChangeDeviceDontPropagateList\fP
can generate a \fIBadDevice\fP, \fIBadClass\fP, or \fIBadValue\fP error.
! .P
The \fIXGetDeviceDontPropagateList\fP request queries the list
of events that should not be propagated to ancestors of the event window.
! .P
\fIXGetDeviceDontPropagateList\fP
can generate a \fIBadClass\fP or \fIBadWindow\fP error.
.SH DIAGNOSTICS
--- 70,82 ----
include \fIDeviceKeyPress\fP, \fIDeviceKeyRelease\fP, \fIDeviceButtonPress\fP,
\fIDeviceButtonRelease\fP, \fIDeviceMotionNotify\fP, \fIProximityIn\fP,
and \fIProximityOut\fP.
! .LP
\fIXChangeDeviceDontPropagateList\fP
can generate a \fIBadDevice\fP, \fIBadClass\fP, or \fIBadValue\fP error.
! .LP
The \fIXGetDeviceDontPropagateList\fP request queries the list
of events that should not be propagated to ancestors of the event window.
! .LP
\fIXGetDeviceDontPropagateList\fP
can generate a \fIBadClass\fP or \fIBadWindow\fP error.
.SH DIAGNOSTICS
*** /tmp/da16253 Sun Jun 5 18:26:06 1994
--- xc/doc/man/Xi/XChgKbd.man Sun Jun 5 18:26:05 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XChgKbd.man,v 1.4 94/04/17 20:07:31 dpw Exp $
.ds xL Programming With Xlib
.TH XChangeKeyboardDevice 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XChgKbd.man,v 1.5 94/06/04 17:32:20 rws Exp $
.ds xL Programming With Xlib
.TH XChangeKeyboardDevice 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 35,46 ****
The device must support input class \fIKeys\fP, or a \fIBadMatch\fP error
will result. If the server implementation does not support using the requested
device as the X keyboard, a \fIBadDevice\fP error will result.
! .P
If the specified device is grabbed by another client, \fIAlreadyGrabbed\fP
is returned. If the specified device is frozen by a grab on another device,
\fIGrabFrozen\fP is returned.
If the request is successful, \fISuccess\fP is returned.
! .P
If the request succeeds,
a \fIChangeDeviceNotify\fP event is sent to all clients that have selected that
event. A \fIMappingNotify\fP event with request = \fIMappingKeyboard\fP
--- 34,45 ----
The device must support input class \fIKeys\fP, or a \fIBadMatch\fP error
will result. If the server implementation does not support using the requested
device as the X keyboard, a \fIBadDevice\fP error will result.
! .LP
If the specified device is grabbed by another client, \fIAlreadyGrabbed\fP
is returned. If the specified device is frozen by a grab on another device,
\fIGrabFrozen\fP is returned.
If the request is successful, \fISuccess\fP is returned.
! .LP
If the request succeeds,
a \fIChangeDeviceNotify\fP event is sent to all clients that have selected that
event. A \fIMappingNotify\fP event with request = \fIMappingKeyboard\fP
***************
*** 48,54 ****
The specified device becomes the X keyboard and
the old X keyboard becomes accessible through the input extension
protocol requests.
! .P
\fIXChangeKeyboardDevice\fP can generate a \fIBadDevice\fP or a \fIBadMatch\fP
error.
.SH DIAGNOSTICS
--- 47,53 ----
The specified device becomes the X keyboard and
the old X keyboard becomes accessible through the input extension
protocol requests.
! .LP
\fIXChangeKeyboardDevice\fP can generate a \fIBadDevice\fP or a \fIBadMatch\fP
error.
.SH DIAGNOSTICS
*** /tmp/da16269 Sun Jun 5 18:26:07 1994
--- xc/doc/man/Xi/XChgPtr.man Sun Jun 5 18:26:07 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XChgPtr.man,v 1.4 94/04/17 20:07:31 dpw Exp $
.ds xL Programming With Xlib
.TH XChangePointerDevice 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XChgPtr.man,v 1.5 94/06/04 17:32:21 rws Exp $
.ds xL Programming With Xlib
.TH XChangePointerDevice 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 45,56 ****
support input class \fIValuators\fP or a \fIBadMatch\fP error will result.
If the implementation does not support use of the specified device as the
X pointer, a \fIBadDevice\fP error will result.
! .P
If the specified device is grabbed by another client, \fIAlreadyGrabbed\fP
is returned. If the specified device is frozen by a grab on another device,
\fIGrabFrozen\fP is returned.
If the request is successful, \fISuccess\fP is returned.
! .P
If the request succeeds,
a \fIChangeDeviceNotify\fP event is sent to all clients that have selected that
event. A \fIMappingNotify\fP event with request = \fIMappingPointer\fP is
--- 44,55 ----
support input class \fIValuators\fP or a \fIBadMatch\fP error will result.
If the implementation does not support use of the specified device as the
X pointer, a \fIBadDevice\fP error will result.
! .LP
If the specified device is grabbed by another client, \fIAlreadyGrabbed\fP
is returned. If the specified device is frozen by a grab on another device,
\fIGrabFrozen\fP is returned.
If the request is successful, \fISuccess\fP is returned.
! .LP
If the request succeeds,
a \fIChangeDeviceNotify\fP event is sent to all clients that have selected that
event. A \fIMappingNotify\fP event with request = \fIMappingPointer\fP is
***************
*** 58,64 ****
The specified device becomes the X pointer, and
the old X pointer becomes accessible through the input extension
protocol requests.
! .P
\fIXChangePointerDevice\fP can generate a \fIBadDevice\fP or a \fIBadMatch\fP
error.
.SH DIAGNOSTICS
--- 57,63 ----
The specified device becomes the X pointer, and
the old X pointer becomes accessible through the input extension
protocol requests.
! .LP
\fIXChangePointerDevice\fP can generate a \fIBadDevice\fP or a \fIBadMatch\fP
error.
.SH DIAGNOSTICS
*** /tmp/da16285 Sun Jun 5 18:26:09 1994
--- xc/doc/man/Xi/XDevBell.man Sun Jun 5 18:26:08 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XDevBell.man,v 1.5 94/04/17 20:07:32 dpw Exp $
.ds xL Programming With Xlib
.TH XDeviceBell 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XDevBell.man,v 1.6 94/06/04 17:32:23 rws Exp $
.ds xL Programming With Xlib
.TH XDeviceBell 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 54,72 ****
does not support a bell, or if a nonexistent feedbackid is specified,
or a percent value is specified that is not in the range -100 to 100,
a \fIBadValue\fP error will be returned.
! .P
The volume at which the bell is rung when the percent argument is
nonnegative is:
.IP
base \- [(base * percent) / 100] + percent
! .P
The volume at which the bell rings
when the percent argument is negative is:
.IP
base + [(base * percent) / 100]
! .P
To change the base volume of the bell, use \fIXChangeFeedbackControl\fP.
! .P
\fIXDeviceBell\fP can generate a \fIBadDevice\fP or a \fIBadValue\fP
error.
.SH DIAGNOSTICS
--- 53,71 ----
does not support a bell, or if a nonexistent feedbackid is specified,
or a percent value is specified that is not in the range -100 to 100,
a \fIBadValue\fP error will be returned.
! .LP
The volume at which the bell is rung when the percent argument is
nonnegative is:
.IP
base \- [(base * percent) / 100] + percent
! .LP
The volume at which the bell rings
when the percent argument is negative is:
.IP
base + [(base * percent) / 100]
! .LP
To change the base volume of the bell, use \fIXChangeFeedbackControl\fP.
! .LP
\fIXDeviceBell\fP can generate a \fIBadDevice\fP or a \fIBadValue\fP
error.
.SH DIAGNOSTICS
*** /tmp/da16301 Sun Jun 5 18:26:11 1994
--- xc/doc/man/Xi/XGetDvMo.man Sun Jun 5 18:26:10 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XGetDvMo.man,v 1.4 94/04/17 20:07:33 dpw Exp $
.ds xL Programming with Xlib
.TH XGetDeviceMotionEvents 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XGetDvMo.man,v 1.5 94/06/04 17:32:24 rws Exp $
.ds xL Programming with Xlib
.TH XGetDeviceMotionEvents 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 62,68 ****
\fIDeviceMotionNotify\fP
events.
The \fIXGetDeviceMotionEvents\fP request makes this history available.
! .P
The
\fIXGetDeviceMotionEvents\fP
request returns all events in the motion history buffer that fall between the
--- 61,67 ----
\fIDeviceMotionNotify\fP
events.
The \fIXGetDeviceMotionEvents\fP request makes this history available.
! .LP
The
\fIXGetDeviceMotionEvents\fP
request returns all events in the motion history buffer that fall between the
***************
*** 71,77 ****
future, no events are returned.
If the stop time is in the future, it is equivalent to specifying
\fICurrentTime\fP.
! .P
The \fImode\fP indicates whether the device is reporting absolute positional
data (mode=\fIAbsolute\fP) or relative motion data (mode=\fIRelative\fP).
Some devices allow their mode to be changed via the \fIXSetDeviceMode\fP
--- 70,76 ----
future, no events are returned.
If the stop time is in the future, it is equivalent to specifying
\fICurrentTime\fP.
! .LP
The \fImode\fP indicates whether the device is reporting absolute positional
data (mode=\fIAbsolute\fP) or relative motion data (mode=\fIRelative\fP).
Some devices allow their mode to be changed via the \fIXSetDeviceMode\fP
***************
*** 78,84 ****
request.
These constants are defined in the file XI.h. The \fIaxis_count\fP
returns the number of axes or valuators being reported by the device.
! .P
\fIXGetDeviceMotionEvents\fP can generate a \fIBadDevice\fP, or \fIBadMatch\fP
error.
.SH STRUCTURES
--- 77,83 ----
request.
These constants are defined in the file XI.h. The \fIaxis_count\fP
returns the number of axes or valuators being reported by the device.
! .LP
\fIXGetDeviceMotionEvents\fP can generate a \fIBadDevice\fP, or \fIBadMatch\fP
error.
.SH STRUCTURES
***************
*** 85,91 ****
The
\fIXDeviceTimeCoord\fP
structure contains:
! .P
.nf
typedef struct {
Time time;
--- 84,90 ----
The
\fIXDeviceTimeCoord\fP
structure contains:
! .LP
.nf
typedef struct {
Time time;
***************
*** 92,98 ****
int *data;
} XDeviceTimeCoord;
.fi
! .P
The time member is set to the time, in milliseconds.
The data member is a pointer to an array of integers.
These integers are set to the values of each valuator or
--- 91,97 ----
int *data;
} XDeviceTimeCoord;
.fi
! .LP
The time member is set to the time, in milliseconds.
The data member is a pointer to an array of integers.
These integers are set to the values of each valuator or
***************
*** 105,114 ****
field of the \fIXAxisInfo\fP returned by the \fIXListInputDevices\fP
request. If the mode is \fIRelative\fP, the data values are the relative
values generated by the device.
! .P
You should use \fIXFreeDeviceMotionEvents\fP to free the data returned by
this request.
! .P
Errors returned by this request: \fIBadDevice\fP, \fIBadMatch\fP.
.SH DIAGNOSTICS
.TP 12
--- 104,113 ----
field of the \fIXAxisInfo\fP returned by the \fIXListInputDevices\fP
request. If the mode is \fIRelative\fP, the data values are the relative
values generated by the device.
! .LP
You should use \fIXFreeDeviceMotionEvents\fP to free the data returned by
this request.
! .LP
Errors returned by this request: \fIBadDevice\fP, \fIBadMatch\fP.
.SH DIAGNOSTICS
.TP 12
*** /tmp/da16317 Sun Jun 5 18:26:12 1994
--- xc/doc/man/Xi/XGetExtV.man Sun Jun 5 18:26:12 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,14 ****
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
+ .\" $XConsortium: XGetExtV.man,v 1.5 94/06/04 17:34:47 rws Exp $
.ds xL Programming With Xlib
.TH XGetExtensionVersion 3X "" "X Version 11"
.SH NAME
***************
*** 35,41 ****
requests added to the input extension after its initial release is indicated
by a version number corresponding to the added requests. Each version
contains all the protocol requests contained by previous versions.
! .P
You should use \fIXFree\fP to free the \fIXExtensionVersion\fP structure.
.SH STRUCTURES
This request returns an XExtensionVersion structure.
--- 35,41 ----
requests added to the input extension after its initial release is indicated
by a version number corresponding to the added requests. Each version
contains all the protocol requests contained by previous versions.
! .LP
You should use \fIXFree\fP to free the \fIXExtensionVersion\fP structure.
.SH STRUCTURES
This request returns an XExtensionVersion structure.
*** /tmp/da16333 Sun Jun 5 18:26:14 1994
--- xc/doc/man/Xi/XGrDvBut.man Sun Jun 5 18:26:13 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XGrDvBut.man,v 1.5 94/04/17 20:07:35 dpw Exp $
.ds xL Programming With Xlib
.TH XGrabDeviceButton 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XGrDvBut.man,v 1.6 94/06/04 17:32:26 rws Exp $
.ds xL Programming With Xlib
.TH XGrabDeviceButton 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 106,121 ****
.IP \(bu 5
A passive grab on the same button/modifier combination does not exist
on any ancestor of grab_window.
! .P
The interpretation of the remaining arguments is as for
\fIXGrabDevice\fP.
The active grab is terminated automatically when the logical state of the
device has all buttons released
(independent of the logical state of the modifier keys).
! .P
Note that the logical state of a device (as seen by client applications)
may lag the physical state if device event processing is frozen.
! .P
This request overrides all previous grabs by the same client on the same
button/modifier combinations on the same window.
A modifiers of
--- 105,120 ----
.IP \(bu 5
A passive grab on the same button/modifier combination does not exist
on any ancestor of grab_window.
! .LP
The interpretation of the remaining arguments is as for
\fIXGrabDevice\fP.
The active grab is terminated automatically when the logical state of the
device has all buttons released
(independent of the logical state of the modifier keys).
! .LP
Note that the logical state of a device (as seen by client applications)
may lag the physical state if device event processing is frozen.
! .LP
This request overrides all previous grabs by the same client on the same
button/modifier combinations on the same window.
A modifiers of
***************
*** 130,139 ****
issuing the request for all possible buttons.
Otherwise, it is not required that the specified button currently be assigned
to a physical button.
! .P
A modifier_device of NULL indicates that the X keyboard is to be used as the
modifier_device.
! .P
If some other client has already issued a
\fIXGrabDeviceButton\fP
with the same button/modifier combination on the same window, a
--- 129,138 ----
issuing the request for all possible buttons.
Otherwise, it is not required that the specified button currently be assigned
to a physical button.
! .LP
A modifier_device of NULL indicates that the X keyboard is to be used as the
modifier_device.
! .LP
If some other client has already issued a
\fIXGrabDeviceButton\fP
with the same button/modifier combination on the same window, a
***************
*** 150,156 ****
established) if there is a conflicting grab for any combination.
\fIXGrabDeviceButton\fP
has no effect on an active grab.
! .P
\fIXGrabDeviceButton\fP
can generate
\fIBadClass\fP,
--- 149,155 ----
established) if there is a conflicting grab for any combination.
\fIXGrabDeviceButton\fP
has no effect on an active grab.
! .LP
\fIXGrabDeviceButton\fP
can generate
\fIBadClass\fP,
***************
*** 175,184 ****
request for all possible buttons.
\fIXUngrabDeviceButton\fP
has no effect on an active grab.
! .P
A modifier_device of NULL indicates that the X keyboard should be used as
the modifier_device.
! .P
\fIXUngrabDeviceButton\fP
can generate
\fIBadDevice\fP,
--- 174,183 ----
request for all possible buttons.
\fIXUngrabDeviceButton\fP
has no effect on an active grab.
! .LP
A modifier_device of NULL indicates that the X keyboard should be used as
the modifier_device.
! .LP
\fIXUngrabDeviceButton\fP
can generate
\fIBadDevice\fP,
*** /tmp/da16349 Sun Jun 5 18:26:16 1994
--- xc/doc/man/Xi/XGrDvKey.man Sun Jun 5 18:26:15 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XGrDvKey.man,v 1.4 94/04/17 20:07:36 dpw Exp $
.ds xL Programming with Xlib
.TH XGrabDeviceKey 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XGrDvKey.man,v 1.5 94/06/04 17:32:28 rws Exp $
.ds xL Programming with Xlib
.TH XGrabDeviceKey 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 126,137 ****
.IP \(bu 5
A passive grab on the same key/modifier combination does not exist
on any ancestor of grab_window.
! .P
The interpretation of the remaining arguments is as for
\fIXGrabDevice\fP .
The active grab is terminated automatically when the logical state of the
device has the specified key released.
! .P
Note that the logical state of a device (as seen by means of the X protocol )
may lag the physical state if device event processing is frozen.
.LP
--- 125,136 ----
.IP \(bu 5
A passive grab on the same key/modifier combination does not exist
on any ancestor of grab_window.
! .LP
The interpretation of the remaining arguments is as for
\fIXGrabDevice\fP .
The active grab is terminated automatically when the logical state of the
device has the specified key released.
! .LP
Note that the logical state of a device (as seen by means of the X protocol )
may lag the physical state if device event processing is frozen.
.LP
***************
*** 138,144 ****
If the key is not \fIAnyKey\fP, it must be in the range specified by
min_keycode and max_keycode as returned by the \fIXListInputDevices\fP
request. Otherwise, a \fIBadValue\fP error results.
! .P
This request overrides all previous grabs by the same client on the same
Key/modifier combinations on the same window.
A modifier of
--- 137,143 ----
If the key is not \fIAnyKey\fP, it must be in the range specified by
min_keycode and max_keycode as returned by the \fIXListInputDevices\fP
request. Otherwise, a \fIBadValue\fP error results.
! .LP
This request overrides all previous grabs by the same client on the same
Key/modifier combinations on the same window.
A modifier of
***************
*** 153,162 ****
issuing the request for all possible keys.
Otherwise, it is not required that the specified key currently be assigned
to a physical Key.
! .P
If a modifier_device of NULL is specified, the X keyboard will be used as
the modifier_device.
! .P
If some other client has already issued a
\fIXGrabDeviceKey\fP
with the same Key/modifier combination on the same window, a
--- 152,161 ----
issuing the request for all possible keys.
Otherwise, it is not required that the specified key currently be assigned
to a physical Key.
! .LP
If a modifier_device of NULL is specified, the X keyboard will be used as
the modifier_device.
! .LP
If some other client has already issued a
\fIXGrabDeviceKey\fP
with the same Key/modifier combination on the same window, a
***************
*** 173,179 ****
established) if there is a conflicting grab for any combination.
\fIXGrabDeviceKey\fP
has no effect on an active grab.
! .P
\fIXGrabDeviceKey\fP
can generate
\fIBadAccess\fP,
--- 172,178 ----
established) if there is a conflicting grab for any combination.
\fIXGrabDeviceKey\fP
has no effect on an active grab.
! .LP
\fIXGrabDeviceKey\fP
can generate
\fIBadAccess\fP,
***************
*** 183,189 ****
\fIBadValue\fP,
and
\fIBadWindow\fP
! errors. It returns \fISuccess\fI on successful completion of the request.
.P
The \fIXUngrabDeviceKey\fP
request releases the passive grab for a key/modifier combination on the
--- 182,188 ----
\fIBadValue\fP,
and
\fIBadWindow\fP
! errors. It returns \fISuccess\fP on successful completion of the request.
.P
The \fIXUngrabDeviceKey\fP
request releases the passive grab for a key/modifier combination on the
***************
*** 195,204 ****
A Key of \fIAnyKey\fP
is equivalent to issuing the request for all possible Keys.
\fIXUngrabDeviceKey\fP has no effect on an active grab.
! .P
If a modifier_device of NULL is specified, the X keyboard will be used as the
modifier_device.
! .P
\fIXUngrabDeviceKey\fP can generate \fIBadDevice\fP, \fIBadMatch\fP,
\fIBadValue\fP and \fIBadWindow\fP errors.
.SH DIAGNOSTICS
--- 194,203 ----
A Key of \fIAnyKey\fP
is equivalent to issuing the request for all possible Keys.
\fIXUngrabDeviceKey\fP has no effect on an active grab.
! .LP
If a modifier_device of NULL is specified, the X keyboard will be used as the
modifier_device.
! .LP
\fIXUngrabDeviceKey\fP can generate \fIBadDevice\fP, \fIBadMatch\fP,
\fIBadValue\fP and \fIBadWindow\fP errors.
.SH DIAGNOSTICS
*** /tmp/da16365 Sun Jun 5 18:26:18 1994
--- xc/doc/man/Xi/XGrabDev.man Sun Jun 5 18:26:17 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XGrabDev.man,v 1.5 94/04/17 20:07:36 dpw Exp $
.ds xL Programming With Xlib
.TH XGrabDevice 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XGrabDev.man,v 1.6 94/06/04 17:32:29 rws Exp $
.ds xL Programming With Xlib
.TH XGrabDevice 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 101,107 ****
device event would normally be reported to this client, it is reported
normally; otherwise, the event is reported with respect to the
grab_window, and is only reported if specified in the event_list.
! .P
If the this_device_mode argument is
\fIGrabModeAsync\fP ,
device event processing continues
--- 100,106 ----
device event would normally be reported to this client, it is reported
normally; otherwise, the event is reported with respect to the
grab_window, and is only reported if specified in the event_list.
! .LP
If the this_device_mode argument is
\fIGrabModeAsync\fP ,
device event processing continues
***************
*** 117,123 ****
call or until the device grab is released.
Actual device changes are not lost while the device is frozen;
they are simply queued in the server for later processing.
! .P
If other_devices_mode is
\fIGrabModeAsync\fP ,
processing of events from other devices is unaffected
--- 116,122 ----
call or until the device grab is released.
Actual device changes are not lost while the device is frozen;
they are simply queued in the server for later processing.
! .LP
If other_devices_mode is
\fIGrabModeAsync\fP ,
processing of events from other devices is unaffected
***************
*** 132,138 ****
call or until the device grab is released.
Actual events are not lost while the devices are frozen;
they are simply queued in the server for later processing.
! .P
If the device is actively grabbed by some other client,
\fIXGrabDevice\fP
fails and returns
--- 131,137 ----
call or until the device grab is released.
Actual events are not lost while the devices are frozen;
they are simply queued in the server for later processing.
! .LP
If the device is actively grabbed by some other client,
\fIXGrabDevice\fP
fails and returns
***************
*** 154,165 ****
If a grabbed device is closed by a client while an active grab by that
client is in effect, the active grab is released. If the device is
frozen only by an active grab of the requesting client, it is thawed.
! .P
\fIXGrabDevice\fP
can generate
\fIBadClass\fP, \fIBadDevice\fP, \fIBadValue\fP, and \fIBadWindow\fP
errors.
! .P
The
\fIXUngrabDevice\fP
request
--- 153,164 ----
If a grabbed device is closed by a client while an active grab by that
client is in effect, the active grab is released. If the device is
frozen only by an active grab of the requesting client, it is thawed.
! .LP
\fIXGrabDevice\fP
can generate
\fIBadClass\fP, \fIBadDevice\fP, \fIBadValue\fP, and \fIBadWindow\fP
errors.
! .LP
The
\fIXUngrabDevice\fP
request
*** /tmp/da16381 Sun Jun 5 18:26:19 1994
--- xc/doc/man/Xi/XListDev.man Sun Jun 5 18:26:19 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XListDev.man,v 1.5 94/04/17 20:07:37 dpw Exp $
.ds xL Programming with Xlib
.TH XListInputDevices 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XListDev.man,v 1.6 94/06/04 17:31:20 rws Exp $
.ds xL Programming with Xlib
.TH XListInputDevices 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 42,53 ****
X pointer and X keyboard, any other input devices that are currently accessible
through the X server, and any input devices that are not currently accessible
through the X server but could be accessed if requested.
! .P
Some server implementations may make all input devices available at the time
the server is initialized. Others may wait until requested by a client to
access an input device. In the latter case, it is possible that an input
device will be listed as available at one time but not at another.
! .P
For each input device available to the server, the XListInputDevices
request returns an XDeviceInfo structure. That structure contains a
pointer to a list of structures, each of which contains information about
--- 41,52 ----
X pointer and X keyboard, any other input devices that are currently accessible
through the X server, and any input devices that are not currently accessible
through the X server but could be accessed if requested.
! .LP
Some server implementations may make all input devices available at the time
the server is initialized. Others may wait until requested by a client to
access an input device. In the latter case, it is possible that an input
device will be listed as available at one time but not at another.
! .LP
For each input device available to the server, the XListInputDevices
request returns an XDeviceInfo structure. That structure contains a
pointer to a list of structures, each of which contains information about
***************
*** 68,85 ****
} XDeviceInfo;
.fi
.DE
! .P
The id is a number in the range 0-128 that uniquely identifies
the device. It is assigned to the device when it is initialized by the server.
! .P
The type field is of type Atom and indicates the nature
of the device.
! .P
The name field contains a pointer to a null-terminated
string that corresponds to one of the defined device
types. The name will correspond to one of the following
strings (defined in the header file \fIXI.h\fP:
! .P
.DS
XI_MOUSE
XI_TABLET
--- 67,84 ----
} XDeviceInfo;
.fi
.DE
! .LP
The id is a number in the range 0-128 that uniquely identifies
the device. It is assigned to the device when it is initialized by the server.
! .LP
The type field is of type Atom and indicates the nature
of the device.
! .LP
The name field contains a pointer to a null-terminated
string that corresponds to one of the defined device
types. The name will correspond to one of the following
strings (defined in the header file \fIXI.h\fP:
! .LP
.DS
XI_MOUSE
XI_TABLET
***************
*** 100,111 ****
XI_CURSORKEYS
XI_FOOTMOUSE
.DE
! .P
These names may be directly compared with the name field of the
XDeviceInfo structure, or used in an XInternAtom request to return
an atom that can be compared with the type field of the XDeviceInfo
structure.
! .P
The num_classes field is a number in the
range 0-255 that specifies the number of input classes
supported by the device for which information is
--- 99,110 ----
XI_CURSORKEYS
XI_FOOTMOUSE
.DE
! .LP
These names may be directly compared with the name field of the
XDeviceInfo structure, or used in an XInternAtom request to return
an atom that can be compared with the type field of the XDeviceInfo
structure.
! .LP
The num_classes field is a number in the
range 0-255 that specifies the number of input classes
supported by the device for which information is
***************
*** 112,142 ****
returned by ListInputDevices. Some input classes, such
as class Focus and class Proximity do not have any
information to be returned by ListInputDevices.
! .P
The use field specifies how the device is currently
being used. If the value is \fIIsXKeyboard\fP, the device is
currently being used as the X keyboard. If the value
! is \fIIsXPointer\rP, the device is currently being used as
the X pointer. If the value is \fIIsXExtensionDevice\fP, the
device is available for use as an extension device.
! .P
The inputclassinfo field contains a pointer to the first input-class
specific data. The first two fields are common to all
classes.
! .P
The class field is a number in the range 0-255.
It uniquely identifies the class of input for which
information is returned. Currently defined classes
are KeyClass, ButtonClass, and ValuatorClass.
! .P
The length field is a number in the range 0- 255.
It specifies the number of bytes of data that are
contained in this input class. The length includes the
class and length fields.
! .P
The XKeyInfo structure describes the characteristics of the keys on the
device. It is defined as follows:
! .P
.DS
.nf
typedef struct _XKeyInfo {
--- 111,141 ----
returned by ListInputDevices. Some input classes, such
as class Focus and class Proximity do not have any
information to be returned by ListInputDevices.
! .LP
The use field specifies how the device is currently
being used. If the value is \fIIsXKeyboard\fP, the device is
currently being used as the X keyboard. If the value
! is \fIIsXPointer\fP, the device is currently being used as
the X pointer. If the value is \fIIsXExtensionDevice\fP, the
device is available for use as an extension device.
! .LP
The inputclassinfo field contains a pointer to the first input-class
specific data. The first two fields are common to all
classes.
! .LP
The class field is a number in the range 0-255.
It uniquely identifies the class of input for which
information is returned. Currently defined classes
are KeyClass, ButtonClass, and ValuatorClass.
! .LP
The length field is a number in the range 0- 255.
It specifies the number of bytes of data that are
contained in this input class. The length includes the
class and length fields.
! .LP
The XKeyInfo structure describes the characteristics of the keys on the
device. It is defined as follows:
! .LP
.DS
.nf
typedef struct _XKeyInfo {
***************
*** 148,167 ****
} XKeyInfo;
.fi
.DE
! .P
min_keycode is of type KEYCODE. It specifies the
minimum keycode that the device will report. The
minimum keycode will not be smaller than 8.
! .P
max_keycode is of type KEYCODE. It specifies the
maximum keycode that the device will report. The
maximum keycode will not be larger than 255.
! .P
num_keys specifies the number of keys that the device has.
! .P
The XButtonInfo structure defines the characteristics of the buttons
on the device. It is defined as follows:
! .P
.DS
.nf
typedef struct _XButtonInfo {
--- 147,166 ----
} XKeyInfo;
.fi
.DE
! .LP
min_keycode is of type KEYCODE. It specifies the
minimum keycode that the device will report. The
minimum keycode will not be smaller than 8.
! .LP
max_keycode is of type KEYCODE. It specifies the
maximum keycode that the device will report. The
maximum keycode will not be larger than 255.
! .LP
num_keys specifies the number of keys that the device has.
! .LP
The XButtonInfo structure defines the characteristics of the buttons
on the device. It is defined as follows:
! .LP
.DS
.nf
typedef struct _XButtonInfo {
***************
*** 171,182 ****
} XButtonInfo;
.fi
.DE
! .P
num_buttons specifies the number of buttons that the device has.
! .P
The XValuatorInfo structure defines the characteristics of the valuators
on the device. It is defined as follows:
! .P
.DE
.nf
typedef struct _XValuatorInfo {
--- 170,181 ----
} XButtonInfo;
.fi
.DE
! .LP
num_buttons specifies the number of buttons that the device has.
! .LP
The XValuatorInfo structure defines the characteristics of the valuators
on the device. It is defined as follows:
! .LP
.DE
.nf
typedef struct _XValuatorInfo {
***************
*** 190,209 ****
.fi
.DS
num_axes contains the number of axes the device supports.
! .P
mode is a constant that has one of the following
values: Absolute or Relative. Some devices allow the
mode to be changed dynamically via the SetDeviceMode
request.
! .P
motion_buffer_size is a cardinal number that specifies
the number of elements that can be contained in the
motion history buffer for the device.
! .P
The axes field contains a pointer to an XAxisInfo structure.
! .P
The XAxisInfo structure is defined as follows:
! .P
.DS
.nf
typedef struct _XAxisInfo {
--- 189,208 ----
.fi
.DS
num_axes contains the number of axes the device supports.
! .LP
mode is a constant that has one of the following
values: Absolute or Relative. Some devices allow the
mode to be changed dynamically via the SetDeviceMode
request.
! .LP
motion_buffer_size is a cardinal number that specifies
the number of elements that can be contained in the
motion history buffer for the device.
! .LP
The axes field contains a pointer to an XAxisInfo structure.
! .LP
The XAxisInfo structure is defined as follows:
! .LP
.DS
.nf
typedef struct _XAxisInfo {
***************
*** 213,231 ****
} XAxisInfo;
.fi
.DE
! .P
The resolution contains a number in counts/meter.
! .P
The min_val field contains a number that specifies
the minimum value the device reports for this axis.
For devices whose mode is Relative, the min_val field
will contain 0.
! .P
The max_val field contains a number that specifies
the maximum value the device reports for this axis.
For devices whose mode is Relative, the max_val field
will contain 0.
! .P
To free the \fIXDeviceInfo\fP array created by \fIXListInputDevices\fP,
use \fIXFreeDeviceList\fP.
.SH DIAGNOSTICS
--- 212,230 ----
} XAxisInfo;
.fi
.DE
! .LP
The resolution contains a number in counts/meter.
! .LP
The min_val field contains a number that specifies
the minimum value the device reports for this axis.
For devices whose mode is Relative, the min_val field
will contain 0.
! .LP
The max_val field contains a number that specifies
the maximum value the device reports for this axis.
For devices whose mode is Relative, the max_val field
will contain 0.
! .LP
To free the \fIXDeviceInfo\fP array created by \fIXListInputDevices\fP,
use \fIXFreeDeviceList\fP.
.SH DIAGNOSTICS
*** /tmp/da16397 Sun Jun 5 18:26:21 1994
--- xc/doc/man/Xi/XOpenDev.man Sun Jun 5 18:26:21 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XOpenDev.man,v 1.4 94/04/17 20:07:38 dpw Exp $
.ds xL Programming with Xlib
.TH XOpenDevice 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XOpenDev.man,v 1.5 94/06/04 17:32:31 rws Exp $
.ds xL Programming with Xlib
.TH XOpenDevice 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 41,58 ****
request makes an input device accessible to a client through input extension
protocol requests. If successful, it returns a pointer to an \fBXDevice\fP
structure.
! .P
The \fIXCloseDevice\fP request makes an input device inaccessible to a
client through input extension protocol requests. Before terminating,
and client that has opened input devices through the input extension
should close them via \fICloseDevice\fP.
! .P
When a client makes an \fIXCloseDevice\fP request,
any active grabs that the client has on the device are
released. Any event selections that the client has are deleted, as well as
any passive grabs. If the requesting client is the last client accessing
the device, the server may disable all access by X to the device.
! .P
\fIXOpenDevice\fP and \fIXCloseDevice\fP can generate a \fIBadDevice\fP
error.
.SH STRUCTURES
--- 40,57 ----
request makes an input device accessible to a client through input extension
protocol requests. If successful, it returns a pointer to an \fBXDevice\fP
structure.
! .LP
The \fIXCloseDevice\fP request makes an input device inaccessible to a
client through input extension protocol requests. Before terminating,
and client that has opened input devices through the input extension
should close them via \fICloseDevice\fP.
! .LP
When a client makes an \fIXCloseDevice\fP request,
any active grabs that the client has on the device are
released. Any event selections that the client has are deleted, as well as
any passive grabs. If the requesting client is the last client accessing
the device, the server may disable all access by X to the device.
! .LP
\fIXOpenDevice\fP and \fIXCloseDevice\fP can generate a \fIBadDevice\fP
error.
.SH STRUCTURES
***************
*** 65,80 ****
XInputClassInfo *classes;
} XDevice;
.fi
! .P
The classes field is a pointer to an array of XInputClassInfo structures.
Each element of this array contains an event type base for a class of input
supported by the specified device. The num_classes field indicates the
number of elements in the classes array.
! .P
The
\fIXInputClassInfo\fP
structure contains:
! .P
.nf
typedef struct {
unsigned char input_class;
--- 64,79 ----
XInputClassInfo *classes;
} XDevice;
.fi
! .LP
The classes field is a pointer to an array of XInputClassInfo structures.
Each element of this array contains an event type base for a class of input
supported by the specified device. The num_classes field indicates the
number of elements in the classes array.
! .LP
The
\fIXInputClassInfo\fP
structure contains:
! .LP
.nf
typedef struct {
unsigned char input_class;
***************
*** 81,93 ****
unsigned char event_type_base;
} XInputClassInfo;
.fi
! .P
The input_class field identifies one class of input
supported by the device. Defined types include \fIKeyClass\fP,
\fIButtonClass\fP, \fIValuatorClass\fP, \fIProximityClass\fP,
\fIFeedbackClass\fP, \fIFocusClass\fP, and \fIOtherClass\fP.
The event_type_base identifies the event type of the first event in that class.
! .P
The information contained in the \fIXInputClassInfo\fP structure is used
by macros to obtain the event classes that clients use in making
\fIXSelectExtensionEvent\fP requests. Currently defined macros include
--- 80,92 ----
unsigned char event_type_base;
} XInputClassInfo;
.fi
! .LP
The input_class field identifies one class of input
supported by the device. Defined types include \fIKeyClass\fP,
\fIButtonClass\fP, \fIValuatorClass\fP, \fIProximityClass\fP,
\fIFeedbackClass\fP, \fIFocusClass\fP, and \fIOtherClass\fP.
The event_type_base identifies the event type of the first event in that class.
! .LP
The information contained in the \fIXInputClassInfo\fP structure is used
by macros to obtain the event classes that clients use in making
\fIXSelectExtensionEvent\fP requests. Currently defined macros include
***************
*** 100,117 ****
\fIDeviceButton4Motion\fP, \fIDeviceButton5Motion\fP, \fIDeviceButtonMotion\fP,
\fIDeviceOwnerGrabButton\fP, \fIDeviceButtonPressGrab\fP, and
\fINoExtensionEvent\fP.
! .P
To obtain the proper event class for a particular device, one of the above
macros is invoked using the \fIXDevice\fP structure for that device. For
example,
! .P
.nf
DeviceKeyPress (*device, type, eventclass);
.fi
! .P
returns the \fIDeviceKeyPress\fP event type and the eventclass for
\fIDeviceKeyPress\fP events from the specified device.
! .P
This \fIeventclass\fP can then be used in an \fIXSelectExtensionEvent\fP
request to ask the server to send \fIDeviceKeyPress\fP events from this device.
When a selected event is received via \fIXNextEvent\fP, the \fItype\fP can be
--- 99,116 ----
\fIDeviceButton4Motion\fP, \fIDeviceButton5Motion\fP, \fIDeviceButtonMotion\fP,
\fIDeviceOwnerGrabButton\fP, \fIDeviceButtonPressGrab\fP, and
\fINoExtensionEvent\fP.
! .LP
To obtain the proper event class for a particular device, one of the above
macros is invoked using the \fIXDevice\fP structure for that device. For
example,
! .LP
.nf
DeviceKeyPress (*device, type, eventclass);
.fi
! .LP
returns the \fIDeviceKeyPress\fP event type and the eventclass for
\fIDeviceKeyPress\fP events from the specified device.
! .LP
This \fIeventclass\fP can then be used in an \fIXSelectExtensionEvent\fP
request to ask the server to send \fIDeviceKeyPress\fP events from this device.
When a selected event is received via \fIXNextEvent\fP, the \fItype\fP can be
*** /tmp/da16413 Sun Jun 5 18:26:23 1994
--- xc/doc/man/Xi/XQueryDv.man Sun Jun 5 18:26:22 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XQueryDv.man,v 1.4 94/04/17 20:07:39 dpw Exp $
.ds xL Programming with Xlib
.TH XQueryDeviceState 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XQueryDv.man,v 1.5 94/06/04 17:32:32 rws Exp $
.ds xL Programming with Xlib
.TH XQueryDeviceState 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 36,42 ****
in the \fIXDeviceState\fP structure that is returned. Valuators on the
device report 0 if they are reporting relative information, and the
current value if they are reporting absolute information.
! .P
\fIXQueryDeviceState\fP
can generate a \fIBadDevice\fP error.
.SH STRUCTURES
--- 35,41 ----
in the \fIXDeviceState\fP structure that is returned. Valuators on the
device report 0 if they are reporting relative information, and the
current value if they are reporting absolute information.
! .LP
\fIXQueryDeviceState\fP
can generate a \fIBadDevice\fP error.
.SH STRUCTURES
***************
*** 43,49 ****
The
\fIXDeviceState\fP
structure contains:
! .P
.nf
typedef struct {
XID device_id;
--- 42,48 ----
The
\fIXDeviceState\fP
structure contains:
! .LP
.nf
typedef struct {
XID device_id;
***************
*** 51,61 ****
XInputClass *data;
} XDeviceState;
.fi
! .P
The
\fIXValuatorState\fP
structure contains:
! .P
.nf
typedef struct {
unsigned char class;
--- 50,60 ----
XInputClass *data;
} XDeviceState;
.fi
! .LP
The
\fIXValuatorState\fP
structure contains:
! .LP
.nf
typedef struct {
unsigned char class;
***************
*** 65,73 ****
int *valuators;
} XValuatorState;
.fi
! .P
The \fIXKeyState\fP structure contains:
! .P
.nf
typedef struct {
unsigned char class;
--- 64,72 ----
int *valuators;
} XValuatorState;
.fi
! .LP
The \fIXKeyState\fP structure contains:
! .LP
.nf
typedef struct {
unsigned char class;
***************
*** 76,84 ****
char keys[32];
} XKeyState;
.fi
! .P
The \fIXButtonState\fP structure contains:
! .P
.nf
typedef struct {
unsigned char class;
--- 75,83 ----
char keys[32];
} XKeyState;
.fi
! .LP
The \fIXButtonState\fP structure contains:
! .LP
.nf
typedef struct {
unsigned char class;
*** /tmp/da16429 Sun Jun 5 18:26:24 1994
--- xc/doc/man/Xi/XSExEvnt.man Sun Jun 5 18:26:24 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XSExEvnt.man,v 1.4 94/04/17 20:07:39 dpw Exp $
.ds xL Programming with Xlib
.TH XSendExtensionEvent 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XSExEvnt.man,v 1.5 94/06/04 17:32:33 rws Exp $
.ds xL Programming with Xlib
.TH XSendExtensionEvent 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 76,82 ****
and if the focus window contains the pointer,
the destination window is the window that contains the pointer;
otherwise, the destination window is the focus window.
! .P
To determine which clients should receive the specified events,
\fIXSendExtensionEvent\fP
uses the propagate argument as follows:
--- 75,81 ----
and if the focus window contains the pointer,
the destination window is the window that contains the pointer;
otherwise, the destination window is the focus window.
! .LP
To determine which clients should receive the specified events,
\fIXSendExtensionEvent\fP
uses the propagate argument as follows:
***************
*** 107,113 ****
as the destination, the event is not sent to any clients.
Otherwise, the event is reported to every client selecting on the final
destination any of the events specified in the event_list array.
! .P
The event in the
\fIXEvent\fP
structure must be one of the events defined by the input extension (or a
--- 106,112 ----
as the destination, the event is not sent to any clients.
Otherwise, the event is reported to every client selecting on the final
destination any of the events specified in the event_list array.
! .LP
The event in the
\fIXEvent\fP
structure must be one of the events defined by the input extension (or a
***************
*** 118,124 ****
otherwise unaltered and unchecked by the X server except to force send_event to
\fITrue\fP
in the forwarded event and to set the serial number in the event correctly.
! .P
\fIXSendExtensionEvent\fP
returns zero if the conversion to wire protocol format failed
and returns nonzero otherwise.
--- 117,123 ----
otherwise unaltered and unchecked by the X server except to force send_event to
\fITrue\fP
in the forwarded event and to set the serial number in the event correctly.
! .LP
\fIXSendExtensionEvent\fP
returns zero if the conversion to wire protocol format failed
and returns nonzero otherwise.
*** /tmp/da16445 Sun Jun 5 18:26:26 1994
--- xc/doc/man/Xi/XSeBMap.man Sun Jun 5 18:26:25 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XSeBMap.man,v 1.4 94/04/17 20:07:40 dpw Exp $
.ds xL Programming With Xlib
.TH XSetDeviceButtonMapping 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XSeBMap.man,v 1.5 94/06/04 17:32:34 rws Exp $
.ds xL Programming With Xlib
.TH XSetDeviceButtonMapping 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 70,79 ****
If any of the buttons to be altered are logically in the down state,
\fIXSetDeviceButtonMapping\fP returns \fIMappingBusy\fP,
and the mapping is not changed.
! .P
\fIXSetDeviceButtonMapping\fP
can generate \fIBadDevice\fP, \fIBadMatch\fP, and \fIBadValue\fP errors.
! .P
The \fIXGetDeviceButtonMapping\fP
request returns the current mapping of the specified device.
Buttons are numbered starting from one.
--- 69,78 ----
If any of the buttons to be altered are logically in the down state,
\fIXSetDeviceButtonMapping\fP returns \fIMappingBusy\fP,
and the mapping is not changed.
! .LP
\fIXSetDeviceButtonMapping\fP
can generate \fIBadDevice\fP, \fIBadMatch\fP, and \fIBadValue\fP errors.
! .LP
The \fIXGetDeviceButtonMapping\fP
request returns the current mapping of the specified device.
Buttons are numbered starting from one.
***************
*** 83,89 ****
The nmap argument specifies the length of the array where the device
mapping is returned, and only the first nmap elements are returned
in map_return.
! .P
\fIXGetDeviceButtonMapping\fP
can generate \fIBadDevice\fP or \fIBadMatch\fP errors.
.SH DIAGNOSTICS
--- 82,88 ----
The nmap argument specifies the length of the array where the device
mapping is returned, and only the first nmap elements are returned
in map_return.
! .LP
\fIXGetDeviceButtonMapping\fP
can generate \fIBadDevice\fP or \fIBadMatch\fP errors.
.SH DIAGNOSTICS
*** /tmp/da16461 Sun Jun 5 18:26:28 1994
--- xc/doc/man/Xi/XSeDvFoc.man Sun Jun 5 18:26:27 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XSeDvFoc.man,v 1.4 94/04/17 20:07:40 dpw Exp $
.ds xL Programming with Xlib
.TH XSetDeviceFocus 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XSeDvFoc.man,v 1.5 94/06/04 17:32:36 rws Exp $
.ds xL Programming with Xlib
.TH XSetDeviceFocus 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 101,107 ****
and
\fIDeviceFocusOut\fP
events.
! .P
Depending on the focus argument,
the following occurs:
.IP \(bu 5
--- 100,106 ----
and
\fIDeviceFocusOut\fP
events.
! .LP
Depending on the focus argument,
the following occurs:
.IP \(bu 5
***************
*** 126,132 ****
\fIFollowKeyboard\fP,
the focus window is dynamically taken to be the window to which the X keyboard
focus is set at each input event.
! .P
The specified focus window must be viewable at the time
\fIXSetDeviceFocus\fP
is called,
--- 125,131 ----
\fIFollowKeyboard\fP,
the focus window is dynamically taken to be the window to which the X keyboard
focus is set at each input event.
! .LP
The specified focus window must be viewable at the time
\fIXSetDeviceFocus\fP
is called,
***************
*** 154,160 ****
or
\fINone\fP,
respectively.
! .P
When the focus reverts,
the X server generates
\fIDeviceFocusIn\fP
--- 153,159 ----
or
\fINone\fP,
respectively.
! .LP
When the focus reverts,
the X server generates
\fIDeviceFocusIn\fP
***************
*** 161,167 ****
and
\fIDeviceFocusOut\fP
events, but the last-focus-change time is not affected.
! .P
Input extension devices are not required to support the ability to be focused.
Attempting to set the focus of a device that does not support this request
will result in a \fIBadMatch\fP error. Whether or not given device can
--- 160,166 ----
and
\fIDeviceFocusOut\fP
events, but the last-focus-change time is not affected.
! .LP
Input extension devices are not required to support the ability to be focused.
Attempting to set the focus of a device that does not support this request
will result in a \fIBadMatch\fP error. Whether or not given device can
***************
*** 171,177 ****
support focus, \fIXOpenDevice\fP will return an
\fIXInputClassInfo\fP structure with the input_class field
equal to the constant \fIFocusClass\fP (defined in the file \fIXI.h\fP).
! .P
\fIXSetDeviceFocus\fP
can generate
\fIBadDevice\fP,
--- 170,176 ----
support focus, \fIXOpenDevice\fP will return an
\fIXInputClassInfo\fP structure with the input_class field
equal to the constant \fIFocusClass\fP (defined in the file \fIXI.h\fP).
! .LP
\fIXSetDeviceFocus\fP
can generate
\fIBadDevice\fP,
***************
*** 180,195 ****
and
\fIBadWindow\fP
errors.
! .P
The
\fIXGetDeviceFocus\fP
request returns the focus window and the current focus state.
! .P
Not all input extension devices can be focused. Attempting to query the
focus state of a device that can't be focused results in a \fIBadMatch\fP
error. A device that can be focused returns information for input Class
Focus when an \fIXOpenDevice\fP request is made.
! .P
\fIXGetDeviceFocus\fP can generate \fIBadDevice\fP,
and \fIBadMatch\fP errors.
.SH DIAGNOSTICS
--- 179,194 ----
and
\fIBadWindow\fP
errors.
! .LP
The
\fIXGetDeviceFocus\fP
request returns the focus window and the current focus state.
! .LP
Not all input extension devices can be focused. Attempting to query the
focus state of a device that can't be focused results in a \fIBadMatch\fP
error. A device that can be focused returns information for input Class
Focus when an \fIXOpenDevice\fP request is made.
! .LP
\fIXGetDeviceFocus\fP can generate \fIBadDevice\fP,
and \fIBadMatch\fP errors.
.SH DIAGNOSTICS
*** /tmp/da16477 Sun Jun 5 18:26:29 1994
--- xc/doc/man/Xi/XSelExtEv.man Sun Jun 5 18:26:29 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XSelExtEv.man,v 1.5 94/04/17 20:07:41 dpw Exp $
.ds xL Programming with Xlib
.TH XSelectExtensionEvent 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XSelExtEv.man,v 1.6 94/06/04 17:32:37 rws Exp $
.ds xL Programming with Xlib
.TH XSelectExtensionEvent 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 77,83 ****
If a window is not interested in a device event, it usually propagates to
the closest ancestor that is interested,
unless the do_not_propagate mask prohibits it.
! .P
Multiple clients can select for the same events on the same window
with the following restrictions:
.IP \(bu 5
--- 76,82 ----
If a window is not interested in a device event, it usually propagates to
the closest ancestor that is interested,
unless the do_not_propagate mask prohibits it.
! .LP
Multiple clients can select for the same events on the same window
with the following restrictions:
.IP \(bu 5
***************
*** 93,101 ****
To receive \fIDeviceButtonPress\fP events without automatic passive
grabbing, use event class \fIDeviceButtonPress\fP but do not specify
event class \fIDeviceButtonPressGrab\fP.
! .P
The server reports the event to all interested clients.
! .P
Information contained in the \fIXDevice\fP structure returned by
\fIXOpenDevice\fP is used
by macros to obtain the event classes that clients use in making
--- 92,100 ----
To receive \fIDeviceButtonPress\fP events without automatic passive
grabbing, use event class \fIDeviceButtonPress\fP but do not specify
event class \fIDeviceButtonPressGrab\fP.
! .LP
The server reports the event to all interested clients.
! .LP
Information contained in the \fIXDevice\fP structure returned by
\fIXOpenDevice\fP is used
by macros to obtain the event classes that clients use in making
***************
*** 109,128 ****
\fIDeviceButton4Motion\fP, \fIDeviceButton5Motion\fP, \fIDeviceButtonMotion\fP,
\fIDeviceOwnerGrabButton\fP, \fIDeviceButtonPressGrab\fP, and
\fINoExtensionEvent\fP.
! .P
To obtain the proper event class for a particular device, one of the above
macros is invoked using the \fIXDevice\fP structure for that device. For
example,
! .P
.DS 0
.TA .5i
.ta .5i
DeviceKeyPress (*device, type, eventclass);
.DE
! .P
returns the \fIDeviceKeyPress\fP event type and the eventclass for selecting
\fIDeviceKeyPress\fP events from this device.
! .P
\fIXSelectExtensionEvent\fP
can generate a \fIBadWindow\fP or \fIBadClass\fP error.
The
--- 108,127 ----
\fIDeviceButton4Motion\fP, \fIDeviceButton5Motion\fP, \fIDeviceButtonMotion\fP,
\fIDeviceOwnerGrabButton\fP, \fIDeviceButtonPressGrab\fP, and
\fINoExtensionEvent\fP.
! .LP
To obtain the proper event class for a particular device, one of the above
macros is invoked using the \fIXDevice\fP structure for that device. For
example,
! .LP
.DS 0
.TA .5i
.ta .5i
DeviceKeyPress (*device, type, eventclass);
.DE
! .LP
returns the \fIDeviceKeyPress\fP event type and the eventclass for selecting
\fIDeviceKeyPress\fP events from this device.
! .LP
\fIXSelectExtensionEvent\fP
can generate a \fIBadWindow\fP or \fIBadClass\fP error.
The
***************
*** 134,140 ****
the specified window. The other lists the event classes selected by all
clients from the specified window. You should use \fIXFree\fP to free these
two arrays.
! .P
\fIXGetSelectedExtensionEvents\fP
can generate a \fIBadWindow\fP error.
.SH DIAGNOSTICS
--- 133,139 ----
the specified window. The other lists the event classes selected by all
clients from the specified window. You should use \fIXFree\fP to free these
two arrays.
! .LP
\fIXGetSelectedExtensionEvents\fP
can generate a \fIBadWindow\fP error.
.SH DIAGNOSTICS
*** /tmp/da16493 Sun Jun 5 18:26:31 1994
--- xc/doc/man/Xi/XSetDVal.man Sun Jun 5 18:26:30 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XSetDVal.man,v 1.5 94/04/17 20:07:43 dpw Exp $
.ds xL Programming with Xlib
.TH XSetDeviceValuators 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XSetDVal.man,v 1.6 94/06/04 17:32:38 rws Exp $
.ds xL Programming with Xlib
.TH XSetDeviceValuators 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 54,63 ****
Not all input devices support initialization of valuator values. If this
request is made to a device that does not support valuators initialization,
a \fIBadMatch\fP error will occur.
! .P
If the request succeeds, a status of Success is returned. If another
client has the device grabbed, a status of AlreadyGrabbed is returned.
! .P
\fIXSetDeviceValuators\fP
can generate a \fIBadLength\fP, \fIBadDevice\fP , \fIBadMatch\fP, or
\fIBadValue\fP error.
--- 53,62 ----
Not all input devices support initialization of valuator values. If this
request is made to a device that does not support valuators initialization,
a \fIBadMatch\fP error will occur.
! .LP
If the request succeeds, a status of Success is returned. If another
client has the device grabbed, a status of AlreadyGrabbed is returned.
! .LP
\fIXSetDeviceValuators\fP
can generate a \fIBadLength\fP, \fIBadDevice\fP , \fIBadMatch\fP, or
\fIBadValue\fP error.
*** /tmp/da16509 Sun Jun 5 18:26:32 1994
--- xc/doc/man/Xi/XSetMode.man Sun Jun 5 18:26:32 1994
***************
*** 1,5 ****
.\"
- $XMCOPY
.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
.\"
.\" Permission to use, copy, modify, distribute, and sell this documentation
--- 1,4 ----
***************
*** 9,15 ****
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XSetMode.man,v 1.5 94/04/17 20:07:44 dpw Exp $
.ds xL Programming with Xlib
.TH XSetDeviceMode 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
--- 8,14 ----
.\" suitability for any purpose of the information in this document. It is
.\" provided \`\`as is'' without express or implied warranty.
.\"
! .\" $XConsortium: XSetMode.man,v 1.6 94/06/04 17:32:39 rws Exp $
.ds xL Programming with Xlib
.TH XSetDeviceMode 3X11 "Release 6" "X Version 11" "X FUNCTIONS"
.SH NAME
***************
*** 43,49 ****
either absolute positional information or relative motion information.
Not all input devices are capable of reporting motion data, and not
all are capable of changing modes from \fIAbsolute\fP to \fIRelative\fP.
! .P
\fIXSetDeviceMode\fP
can generate a \fIBadDevice\fP or
\fIBadMode\fP
--- 42,48 ----
either absolute positional information or relative motion information.
Not all input devices are capable of reporting motion data, and not
all are capable of changing modes from \fIAbsolute\fP to \fIRelative\fP.
! .LP
\fIXSetDeviceMode\fP
can generate a \fIBadDevice\fP or
\fIBadMode\fP
*** /tmp/da21657 Mon Jun 6 16:27:03 1994
--- xc/doc/man/Xt/Imakefile Mon Jun 6 16:27:02 1994
***************
*** 1,4 ****
! XCOMM $XConsortium: Imakefile,v 1.13 94/05/11 16:20:22 kaleb Exp $
MANDIR = $(LIBMANDIR)
MANSUFFIX = $(LIBMANSUFFIX)
--- 1,4 ----
! XCOMM $XConsortium: Imakefile,v 1.14 94/06/01 15:57:45 kaleb Exp $
MANDIR = $(LIBMANDIR)
MANSUFFIX = $(LIBMANSUFFIX)
***************
*** 117,123 ****
InstallManPageLong(XtCallActP,$(MANDIR),XtCallActionProc)
InstallManPageLong(XtRegGA,$(MANDIR),XtRegisterGrabAction)
InstallManPageLong(XtClickT,$(MANDIR),XtSetMultiClickTime)
! InstallManPageAliases(XtSetMultiClickTime,$(MANDIR),$XtGetMultiClickTime)
InstallManPageLong(XtGetActK,$(MANDIR),XtGetActionKeysym)
InstallManPageLong(XtExtEvDis,$(MANDIR),XtInsertEventTypeHandler)
InstallManPageAliases(XtInsertEventTypeHandler,$(MANDIR),XtRemoveEventTypeHandler XtRegisterExtensionSelector XtSetEventDispatcher XtDispatchEventToWidget)
--- 117,123 ----
InstallManPageLong(XtCallActP,$(MANDIR),XtCallActionProc)
InstallManPageLong(XtRegGA,$(MANDIR),XtRegisterGrabAction)
InstallManPageLong(XtClickT,$(MANDIR),XtSetMultiClickTime)
! InstallManPageAliases(XtSetMultiClickTime,$(MANDIR),XtGetMultiClickTime)
InstallManPageLong(XtGetActK,$(MANDIR),XtGetActionKeysym)
InstallManPageLong(XtExtEvDis,$(MANDIR),XtInsertEventTypeHandler)
InstallManPageAliases(XtInsertEventTypeHandler,$(MANDIR),XtRemoveEventTypeHandler XtRegisterExtensionSelector XtSetEventDispatcher XtDispatchEventToWidget)
*** /tmp/da16531 Sun Jun 5 18:26:34 1994
--- xc/fonts/PEX/lex.l Sun Jun 5 18:26:34 1994
***************
*** 1,5 ****
%{
! /* $XConsortium: lex.l,v 5.6 94/04/17 20:10:07 rws Exp $ */
/*****************************************************************
--- 1,5 ----
%{
! /* $XConsortium: lex.l,v 5.7 94/06/04 17:03:52 rws Exp $ */
/*****************************************************************
***************
*** 53,61 ****
#include
#include
#include "to_wfont.h"
!
#if defined(ISC) && defined(SYSV) && defined(SYSV386) && __STDC__
extern double atof(char *);
#endif
%}
--- 53,65 ----
#include
#include
#include "to_wfont.h"
! #include
! #ifndef X_NOT_STDC_ENV
! #include
! #else
#if defined(ISC) && defined(SYSV) && defined(SYSV386) && __STDC__
extern double atof(char *);
+ #endif
#endif
%}
*** /tmp/da16552 Sun Jun 5 18:26:36 1994
--- xc/lib/ICE/ICElib.h Sun Jun 5 18:26:36 1994
***************
*** 1,4 ****
! /* $XConsortium: ICElib.h,v 1.39 94/04/17 20:15:25 mor Exp $ */
/******************************************************************************
--- 1,4 ----
! /* $XConsortium: ICElib.h,v 1.40 94/06/01 10:48:43 mor Exp $ */
/******************************************************************************
***************
*** 233,238 ****
--- 233,240 ----
* Function prototypes
*/
+ _XFUNCPROTOBEGIN
+
extern int IceRegisterForProtocolSetup (
#if NeedFunctionPrototypes
char * /* protocolName */,
***************
*** 520,524 ****
--- 522,528 ----
IceConn /* iceConn */
#endif
);
+
+ _XFUNCPROTOEND
#endif /* _ICELIB_H_ */
*** /tmp/da16574 Sun Jun 5 18:26:38 1994
--- xc/lib/SM/SMlib.h Sun Jun 5 18:26:38 1994
***************
*** 1,4 ****
! /* $XConsortium: SMlib.h,v 1.22 94/04/17 20:16:50 mor Exp $ */
/*
--- 1,4 ----
! /* $XConsortium: SMlib.h,v 1.23 94/06/01 10:49:13 mor Exp $ */
/*
***************
*** 386,391 ****
--- 386,393 ----
* Function Prototypes
*/
+ _XFUNCPROTOBEGIN
+
extern SmcConn SmcOpenConnection (
#if NeedFunctionPrototypes
char * /* networkIdsList */,
***************
*** 652,656 ****
--- 654,660 ----
char ** /* reasonMsgs */
#endif
);
+
+ _XFUNCPROTOEND
#endif /* _SMLIB_H_ */
*** /tmp/da16595 Sun Jun 5 18:26:41 1994
--- xc/lib/X11/ConnDis.c Sun Jun 5 18:26:40 1994
***************
*** 1,4 ****
! /* $XConsortium: ConnDis.c,v 11.122 94/05/05 13:13:24 mor Exp $ */
/*
Copyright (c) 1989 X Consortium
--- 1,4 ----
! /* $XConsortium: ConnDis.c,v 11.123 94/05/19 11:00:27 mor Exp $ */
/*
Copyright (c) 1989 X Consortium
***************
*** 312,318 ****
* X protocol (ie FamilyInternet).
*/
! if( _X11TransConvertAddress(&family, &saddrlen, saddr) < 0 )
{
_X11TransClose(trans_conn);
trans_conn = NULL;
--- 312,318 ----
* X protocol (ie FamilyInternet).
*/
! if( _X11TransConvertAddress(&family, &saddrlen, &saddr) < 0 )
{
_X11TransClose(trans_conn);
trans_conn = NULL;
*** /tmp/da16611 Sun Jun 5 18:26:43 1994
--- xc/lib/X11/KeyBind.c Sun Jun 5 18:26:42 1994
***************
*** 1,4 ****
! /* $XConsortium: KeyBind.c,v 11.79 94/04/17 20:20:03 erik Exp $ */
/*
Copyright (c) 1985, 1987, X Consortium
--- 1,4 ----
! /* $XConsortium: KeyBind.c,v 11.80 94/06/05 17:02:01 rws Exp $ */
/*
Copyright (c) 1985, 1987, X Consortium
***************
*** 37,42 ****
--- 37,43 ----
#define XK_LATIN3
#define XK_LATIN4
#define XK_CYRILLIC
+ #define XK_GREEK
#define XK_XKB_KEYS
#include
#include
***************
*** 177,188 ****
} else if (sym == XK_Shift_Lock) {
dpy->lock_meaning = XK_Shift_Lock;
}
- #ifdef XK_ISO_Lock
else if (sym == XK_ISO_Lock) {
dpy->lock_meaning = XK_Caps_Lock;
break;
}
- #endif
}
}
/* Now find any Mod modifier acting as the Group or Numlock modifier */
--- 178,187 ----
***************
*** 289,295 ****
*lower = sym;
*upper = sym;
switch(sym >> 8) {
! case 0:
if ((sym >= XK_A) && (sym <= XK_Z))
*lower += (XK_a - XK_A);
else if ((sym >= XK_a) && (sym <= XK_z))
--- 288,294 ----
*lower = sym;
*upper = sym;
switch(sym >> 8) {
! case 0: /* Latin 1 */
if ((sym >= XK_A) && (sym <= XK_Z))
*lower += (XK_a - XK_A);
else if ((sym >= XK_a) && (sym <= XK_z))
***************
*** 303,310 ****
else if ((sym >= XK_oslash) && (sym <= XK_thorn))
*upper -= (XK_oslash - XK_Ooblique);
break;
! #ifdef XK_LATIN2
! case 1:
/* Assume the KeySym is a legal value (ignore discontinuities) */
if (sym == XK_Aogonek)
*lower = XK_aogonek;
--- 302,308 ----
else if ((sym >= XK_oslash) && (sym <= XK_thorn))
*upper -= (XK_oslash - XK_Ooblique);
break;
! case 1: /* Latin 2 */
/* Assume the KeySym is a legal value (ignore discontinuities) */
if (sym == XK_Aogonek)
*lower = XK_aogonek;
***************
*** 327,335 ****
else if (sym >= XK_racute && sym <= XK_tcedilla)
*upper -= (XK_racute - XK_Racute);
break;
! #endif
! #ifdef XK_LATIN3
! case 2:
/* Assume the KeySym is a legal value (ignore discontinuities) */
if (sym >= XK_Hstroke && sym <= XK_Hcircumflex)
*lower += (XK_hstroke - XK_Hstroke);
--- 325,331 ----
else if (sym >= XK_racute && sym <= XK_tcedilla)
*upper -= (XK_racute - XK_Racute);
break;
! case 2: /* Latin 3 */
/* Assume the KeySym is a legal value (ignore discontinuities) */
if (sym >= XK_Hstroke && sym <= XK_Hcircumflex)
*lower += (XK_hstroke - XK_Hstroke);
***************
*** 344,352 ****
else if (sym >= XK_cabovedot && sym <= XK_scircumflex)
*upper -= (XK_cabovedot - XK_Cabovedot);
break;
! #endif
! #ifdef XK_LATIN4
! case 3:
/* Assume the KeySym is a legal value (ignore discontinuities) */
if (sym >= XK_Rcedilla && sym <= XK_Tslash)
*lower += (XK_rcedilla - XK_Rcedilla);
--- 340,346 ----
else if (sym >= XK_cabovedot && sym <= XK_scircumflex)
*upper -= (XK_cabovedot - XK_Cabovedot);
break;
! case 3: /* Latin 4 */
/* Assume the KeySym is a legal value (ignore discontinuities) */
if (sym >= XK_Rcedilla && sym <= XK_Tslash)
*lower += (XK_rcedilla - XK_Rcedilla);
***************
*** 361,369 ****
else if (sym >= XK_amacron && sym <= XK_umacron)
*upper -= (XK_amacron - XK_Amacron);
break;
! #endif
! #ifdef XK_CYRILLIC
! case 6:
/* Assume the KeySym is a legal value (ignore discontinuities) */
if (sym >= XK_Serbian_DJE && sym <= XK_Serbian_DZE)
*lower -= (XK_Serbian_DJE - XK_Serbian_dje);
--- 355,361 ----
else if (sym >= XK_amacron && sym <= XK_umacron)
*upper -= (XK_amacron - XK_Amacron);
break;
! case 6: /* Cyrillic */
/* Assume the KeySym is a legal value (ignore discontinuities) */
if (sym >= XK_Serbian_DJE && sym <= XK_Serbian_DZE)
*lower -= (XK_Serbian_DJE - XK_Serbian_dje);
***************
*** 374,380 ****
else if (sym >= XK_Cyrillic_yu && sym <= XK_Cyrillic_hardsign)
*upper += (XK_Cyrillic_YU - XK_Cyrillic_yu);
break;
! #endif
}
}
--- 366,385 ----
else if (sym >= XK_Cyrillic_yu && sym <= XK_Cyrillic_hardsign)
*upper += (XK_Cyrillic_YU - XK_Cyrillic_yu);
break;
! case 7: /* Greek */
! /* Assume the KeySym is a legal value (ignore discontinuities) */
! if (sym >= XK_Greek_ALPHAaccent && sym <= XK_Greek_OMEGAaccent)
! *lower += (XK_Greek_alphaaccent - XK_Greek_ALPHAaccent);
! else if (sym >= XK_Greek_alphaaccent && sym <= XK_Greek_omegaaccent &&
! sym != XK_Greek_iotaaccentdieresis &&
! sym != XK_Greek_upsilonaccentdieresis)
! *upper -= (XK_Greek_alphaaccent - XK_Greek_ALPHAaccent);
! else if (sym >= XK_Greek_ALPHA && sym <= XK_Greek_OMEGA)
! *lower += (XK_Greek_alpha - XK_Greek_ALPHA);
! else if (sym >= XK_Greek_alpha && sym <= XK_Greek_omega &&
! sym != XK_Greek_finalsmallsigma)
! *upper -= (XK_Greek_alpha - XK_Greek_ALPHA);
! break;
}
}
*** /tmp/da16627 Sun Jun 5 18:26:45 1994
--- xc/lib/X11/LRGB.c Sun Jun 5 18:26:44 1994
***************
*** 1,4 ****
! /* $XConsortium: LRGB.c,v 1.29 93/10/07 18:49:28 rws Exp $" */
/*
* Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
--- 1,4 ----
! /* $XConsortium: LRGB.c,v 1.30 94/06/03 17:51:49 rws Exp $" */
/*
* Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
***************
*** 1183,1189 ****
/ ((1 << bitsPerRGB) - 1);
/* Special case so that zero intensity always maps to zero value */
! if ((*compar) (key,lo) == 0) {
memcpy (answer, lo, nKeyPtrSize);
((IntensityRec *)answer)->value &= MASK[bitsPerRGB];
return XcmsSuccess;
--- 1183,1189 ----
/ ((1 << bitsPerRGB) - 1);
/* Special case so that zero intensity always maps to zero value */
! if ((*compar) (key,lo) <= 0) {
memcpy (answer, lo, nKeyPtrSize);
((IntensityRec *)answer)->value &= MASK[bitsPerRGB];
return XcmsSuccess;
*** /tmp/da16643 Sun Jun 5 18:26:47 1994
--- xc/lib/X11/imDefIm.c Sun Jun 5 18:26:46 1994
***************
*** 1,4 ****
! /* $XConsortium: imDefIm.c,v 1.9 94/03/30 09:09:37 rws Exp $ */
/******************************************************************
Copyright 1990, 1991, 1992 by Sun Microsystems, Inc.
Copyright 1992, 1993, 1994 by FUJITSU LIMITED
--- 1,4 ----
! /* $XConsortium: imDefIm.c,v 1.11 94/06/03 18:35:30 rws Exp $ */
/******************************************************************
Copyright 1990, 1991, 1992 by Sun Microsystems, Inc.
Copyright 1992, 1993, 1994 by FUJITSU LIMITED
***************
*** 73,79 ****
buf_b[0] = major_opcode;
buf_b[1] = minor_opcode;
! buf_s[1] = *len;
*len += XIM_HEADER_SIZE;
return;
}
--- 73,79 ----
buf_b[0] = major_opcode;
buf_b[1] = minor_opcode;
! buf_s[1] = ((*len) / 4);
*len += XIM_HEADER_SIZE;
return;
}
***************
*** 150,156 ****
--- 150,160 ----
pp = &address[category_len];
for(;;) {
+ Bool finish = False;
+
for (p = pp; (*p != ',') && (*p); p++);
+ if (!*p)
+ finish = True;
*p = '\0';
address_len = (int)(p - pp);
***************
*** 157,163 ****
for( n = 0; n < len; n++ )
if( locale_name[n] && !strcmp( pp, locale_name[n] ) )
return locale_name[n];
! if (!(*p))
break;
pp = p + 1;
}
--- 161,167 ----
for( n = 0; n < len; n++ )
if( locale_name[n] && !strcmp( pp, locale_name[n] ) )
return locale_name[n];
! if (finish)
break;
pp = p + 1;
}
*** /tmp/da16659 Sun Jun 5 18:26:49 1994
--- xc/lib/X11/imLcPrs.c Sun Jun 5 18:26:49 1994
***************
*** 1,4 ****
! /* $XConsortium: imLcPrs.c,v 1.5 94/03/26 17:00:38 rws Exp $ */
/******************************************************************
Copyright 1992 by Oki Technosystems Laboratory, Inc.
--- 1,4 ----
! /* $XConsortium: imLcPrs.c,v 1.6 94/06/03 17:48:24 rws Exp $ */
/******************************************************************
Copyright 1992 by Oki Technosystems Laboratory, Inc.
***************
*** 211,216 ****
--- 211,217 ----
goto string_error;
}
putbackch(c);
+ *p++ = (char)i;
#undef ishexch
break;
case '\n':
*** /tmp/da16675 Sun Jun 5 18:26:51 1994
--- xc/lib/X11/imTransR.c Sun Jun 5 18:26:50 1994
***************
*** 1,4 ****
! /* $XConsortium: imTransR.c,v 1.6 94/03/26 20:07:12 rws Exp $ */
/******************************************************************
Copyright 1992 by Sun Microsystems, Inc.
--- 1,4 ----
! /* $XConsortium: imTransR.c,v 1.7 94/06/03 17:34:28 rws Exp $ */
/******************************************************************
Copyright 1992 by Sun Microsystems, Inc.
***************
*** 86,92 ****
{
int data_len;
! data_len = (int)(*((CARD16 *)recv_buf + 1) + XIM_HEADER_SIZE);
return data_len;
}
--- 86,92 ----
{
int data_len;
! data_len = (int)(((*((CARD16 *)recv_buf + 1)) * 4) + XIM_HEADER_SIZE);
return data_len;
}
*** /tmp/da16696 Sun Jun 5 18:26:53 1994
--- xc/lib/Xt/ActionHook.c Sun Jun 5 18:26:52 1994
***************
*** 1,4 ****
! /* $XConsortium: ActionHook.c,v 1.7 94/04/17 20:13:35 kaleb Exp $ */
/*LINTLIBRARY*/
--- 1,4 ----
! /* $XConsortium: ActionHook.c,v 1.8 94/06/01 15:38:29 converse Exp $ */
/*LINTLIBRARY*/
***************
*** 114,129 ****
XtAppContext app = hook->app;
LOCK_APP(app);
for (p = &app->action_hook_list; p != NULL && *p != hook; p = &(*p)->next);
! if (p == NULL) {
#ifdef DEBUG
XtAppWarningMsg(app, "badId", "xtRemoveActionHook", XtCXtToolkitError,
"XtRemoveActionHook called with bad or old hook id",
(String*)NULL, (Cardinal*)NULL);
- #endif /*DEBUG*/
- UNLOCK_APP(app);
- return;
}
! *p = hook->next;
! XtFree( (XtPointer)hook );
UNLOCK_APP(app);
}
--- 114,132 ----
XtAppContext app = hook->app;
LOCK_APP(app);
for (p = &app->action_hook_list; p != NULL && *p != hook; p = &(*p)->next);
! if (p) {
! *p = hook->next;
! XtFree( (XtPointer)hook );
! if (app->action_hook_list == NULL)
! _XtRemoveCallback(&app->destroy_callbacks, FreeActionHookList,
! (XtPointer) &app->action_hook_list);
! }
#ifdef DEBUG
+ else {
XtAppWarningMsg(app, "badId", "xtRemoveActionHook", XtCXtToolkitError,
"XtRemoveActionHook called with bad or old hook id",
(String*)NULL, (Cardinal*)NULL);
}
! #endif /*DEBUG*/
UNLOCK_APP(app);
}
*** /tmp/da16712 Sun Jun 5 18:26:55 1994
--- xc/lib/Xt/Display.c Sun Jun 5 18:26:54 1994
***************
*** 1,4 ****
! /* $XConsortium: Display.c,v 1.115 94/04/17 20:13:58 kaleb Exp $ */
/***********************************************************
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
--- 1,4 ----
! /* $XConsortium: Display.c,v 1.116 94/06/01 15:34:15 converse Exp $ */
/***********************************************************
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
***************
*** 261,269 ****
if (! applName && !(applName = getenv("RESOURCE_NAME"))) {
if (*argc > 0 && argv[0] && *argv[0]) {
#ifdef WIN32
! char *ptr = strchr(argv[0], '\\');
#else
! char *ptr = strchr(argv[0], '/');
#endif
if (ptr) applName = ++ptr;
else applName = argv[0];
--- 261,269 ----
if (! applName && !(applName = getenv("RESOURCE_NAME"))) {
if (*argc > 0 && argv[0] && *argv[0]) {
#ifdef WIN32
! char *ptr = strrchr(argv[0], '\\');
#else
! char *ptr = strrchr(argv[0], '/');
#endif
if (ptr) applName = ++ptr;
else applName = argv[0];
*** /tmp/da16728 Sun Jun 5 18:26:57 1994
--- xc/lib/Xt/Shell.c Sun Jun 5 18:26:56 1994
***************
*** 1,4 ****
! /* $XConsortium: Shell.c,v 1.165 94/04/17 20:14:47 converse Exp $ */
/***********************************************************
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts
--- 1,4 ----
! /* $XConsortium: Shell.c,v 1.166 94/06/01 15:33:25 converse Exp $ */
/***********************************************************
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts
***************
*** 3003,3009 ****
if (w->session.checkpoint_state != XtSaveInactive) {
w->session.save->cancel_shutdown = True;
! call_interacts = (w->session.save->interact_style != None);
}
XtCallCallbackList((Widget)w, w->session.cancel_callbacks,
--- 3003,3010 ----
if (w->session.checkpoint_state != XtSaveInactive) {
w->session.save->cancel_shutdown = True;
! call_interacts = (w->session.save->interact_style !=
! SmInteractStyleNone);
}
XtCallCallbackList((Widget)w, w->session.cancel_callbacks,
***************
*** 3010,3016 ****
(XtPointer) NULL);
if (call_interacts) {
! w->session.save->interact_style = None;
XtInteractPermission(w->session.connection, (SmPointer) w);
}
--- 3011,3017 ----
(XtPointer) NULL);
if (call_interacts) {
! w->session.save->interact_style = SmInteractStyleNone;
XtInteractPermission(w->session.connection, (SmPointer) w);
}
***************
*** 3018,3024 ****
if (w->session.save->save_tokens == 0 &&
w->session.checkpoint_state == XtSaveActive) {
w->session.checkpoint_state = XtSaveInactive;
! SmcSaveYourselfDone(w->session.connection, False);
CleanUpSave(w);
}
}
--- 3019,3026 ----
if (w->session.save->save_tokens == 0 &&
w->session.checkpoint_state == XtSaveActive) {
w->session.checkpoint_state = XtSaveInactive;
! SmcSaveYourselfDone(w->session.connection,
! w->session.save->save_success);
CleanUpSave(w);
}
}
*** /tmp/da16744 Sun Jun 5 18:27:01 1994
--- xc/lib/Xt/TMparse.c Sun Jun 5 18:27:00 1994
***************
*** 1,4 ****
! /* $XConsortium: TMparse.c,v 1.140 94/04/17 20:14:53 kaleb Exp $ */
/***********************************************************
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
--- 1,4 ----
! /* $XConsortium: TMparse.c,v 1.142 94/06/03 16:27:01 converse Exp $ */
/***********************************************************
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
***************
*** 521,554 ****
return (Cardinal) i;
}
- /***********************************************************************
- * _XtLookupTableSym
- * Given a table and string, it fills in the value if found and returns
- * status
- ***********************************************************************/
-
- static Boolean _XtLookupTableSym(table, name, valueP)
- NameValueTable table;
- String name;
- Value *valueP;
- {
- /* ||| should implement via hash or something else faster than linear search */
-
- register int i;
- register XrmQuark signature = StringToQuark(name);
-
- for (i=0; table[i].name != NULL; i++)
- if (table[i].signature == signature) {
- *valueP = table[i].value;
- return TRUE;
- }
-
- return FALSE;
- }
-
-
-
-
static void StoreLateBindings(keysymL,notL,keysymR,notR,lateBindings)
KeySym keysymL;
--- 521,526 ----
***************
*** 1025,1030 ****
--- 997,1004 ----
Boolean* error;
{
register String start = str;
+ register XrmQuark signature;
+ NameValueTable table = (NameValueTable) closure;
char tableSymName[100];
event->event.eventCode = 0L;
***************
*** 1037,1051 ****
}
(void) memmove(tableSymName, start, str-start);
tableSymName[str-start] = '\0';
! if (! _XtLookupTableSym((NameValueTable)closure, tableSymName,
! (Value *)&event->event.eventCode)) {
! Syntax("Unknown Detail Type: ",tableSymName);
! *error = TRUE;
! return PanicModeRecovery(str);
! }
! event->event.eventCodeMask = ~0L;
! return str;
}
/*ARGSUSED*/
--- 1011,1027 ----
}
(void) memmove(tableSymName, start, str-start);
tableSymName[str-start] = '\0';
! signature = StringToQuark(tableSymName);
! for (; table->signature != NULLQUARK; table++)
! if (table->signature == signature) {
! event->event.eventCode = table->value;
! event->event.eventCodeMask = ~0L;
! return str;
! }
! Syntax("Unknown Detail Type: ", tableSymName);
! *error = TRUE;
! return PanicModeRecovery(str);
}
/*ARGSUSED*/
*** /tmp/da22644 Mon Jun 6 17:48:57 1994
--- xc/lib/font/Speedo/spfuncs.c Mon Jun 6 17:48:56 1994
***************
*** 1,4 ****
! /* $XConsortium: spfuncs.c,v 1.12 94/04/17 20:17:49 gildea Exp $ */
/*
* Copyright 1990, 1991 Network Computing Devices;
* Portions Copyright 1987 by Digital Equipment Corporation
--- 1,4 ----
! /* $XConsortium: spfuncs.c,v 1.13 94/06/06 17:42:26 gildea Exp $ */
/*
* Copyright 1990, 1991 Network Computing Devices;
* Portions Copyright 1987 by Digital Equipment Corporation
***************
*** 86,96 ****
* and to simply save the values without doing the work.
*/
static int
! get_font_info(pinfo, fontname, filename, entry, spfont)
FontInfoPtr pinfo;
char *fontname;
char *filename;
FontEntryPtr entry;
SpeedoFontPtr *spfont;
{
SpeedoFontPtr spf;
--- 86,97 ----
* and to simply save the values without doing the work.
*/
static int
! get_font_info(pinfo, fontname, filename, entry, vals, spfont)
FontInfoPtr pinfo;
char *fontname;
char *filename;
FontEntryPtr entry;
+ FontScalablePtr vals;
SpeedoFontPtr *spfont;
{
SpeedoFontPtr spf;
***************
*** 97,103 ****
int err;
long sWidth;
! err = sp_open_font(fontname, filename, entry,
(fsBitmapFormat) 0, (fsBitmapFormatMask) 0, (unsigned long) 0,
&spf);
--- 98,104 ----
int err;
long sWidth;
! err = sp_open_font(fontname, filename, entry, vals,
(fsBitmapFormat) 0, (fsBitmapFormatMask) 0, (unsigned long) 0,
&spf);
***************
*** 137,143 ****
strcpy(fullName, entry->name.name);
FontParseXLFDName(fullName, vals, FONT_XLFD_REPLACE_VALUE);
! err = get_font_info(pFontInfo, fullName, fileName, entry, &spf);
if (spf)
sp_close_font(spf);
--- 138,144 ----
strcpy(fullName, entry->name.name);
FontParseXLFDName(fullName, vals, FONT_XLFD_REPLACE_VALUE);
! err = get_font_info(pFontInfo, fullName, fileName, entry, vals, &spf);
if (spf)
sp_close_font(spf);
*** /tmp/da16765 Sun Jun 5 18:27:03 1994
--- xc/lib/font/util/fontxlfd.c Sun Jun 5 18:27:03 1994
***************
*** 1,4 ****
! /* $XConsortium: fontxlfd.c,v 1.18 94/04/17 20:17:33 rws Exp $ */
/*
--- 1,4 ----
! /* $XConsortium: fontxlfd.c,v 1.19 94/06/05 14:42:48 rws Exp $ */
/*
***************
*** 130,139 ****
}
static char *
! xlfd_double_to_text(value, buffer, sign_required)
double value;
char *buffer;
! int sign_required;
{
char formatbuf[40];
register char *p1;
--- 130,139 ----
}
static char *
! xlfd_double_to_text(value, buffer, space_required)
double value;
char *buffer;
! int space_required;
{
char formatbuf[40];
register char *p1;
***************
*** 154,159 ****
--- 154,162 ----
/* Compute a format to use to render the number */
sprintf(formatbuf, "%%.%dle", XLFD_NDIGITS);
+ if (space_required)
+ *buffer++ = ' ';
+
/* Render the number using printf's idea of formatting */
sprintf(buffer, formatbuf, value);
***************
*** 190,203 ****
}
}
- /* If we need a sign at the beginning and don't have one, stuff
- it in. */
- if (sign_required && *buffer != *minus)
- {
- memmove(buffer + 1, buffer, strlen(buffer) + 1);
- buffer[0] = *plus;
- }
-
/* Last step, convert the locale-specific sign and radix characters
to our own. */
for (p1 = buffer; *p1; p1++)
--- 193,198 ----
***************
*** 207,213 ****
else if (*p1 == *radix) *p1 = '.';
}
! return buffer;
}
double
--- 202,208 ----
else if (*p1 == *radix) *p1 = '.';
}
! return buffer - space_required;
}
double
***************
*** 415,421 ****
ptr = strchr(ptr, '-') + 1; /* skip setwidth_name */
ptr = strchr(ptr, '-') + 1; /* skip add_style_name */
! if ((ptr - fname) + spacingLen + strlen(ptr5) + 10 >= 1024)
return FALSE;
*ptr++ = replaceChar;
*ptr++ = '-';
--- 410,416 ----
ptr = strchr(ptr, '-') + 1; /* skip setwidth_name */
ptr = strchr(ptr, '-') + 1; /* skip add_style_name */
! if ((ptr - fname) + spacingLen + strlen(ptr5) + 10 >= (unsigned)1024)
return FALSE;
*ptr++ = replaceChar;
*ptr++ = '-';
*** /tmp/da16786 Sun Jun 5 18:27:06 1994
--- xc/lib/xtrans/Xtrans.c Sun Jun 5 18:27:05 1994
***************
*** 1,4 ****
! /* $XConsortium: Xtrans.c,v 1.24 94/05/10 11:32:27 mor Exp $ */
/*
Copyright (c) 1993, 1994 X Consortium
--- 1,4 ----
! /* $XConsortium: Xtrans.c,v 1.25 94/06/02 10:59:43 mor Exp $ */
/*
Copyright (c) 1993, 1994 X Consortium
***************
*** 89,100 ****
&TRANS(TLIINETFuncs), TRANS_TLI_INET_INDEX,
&TRANS(TLITLIFuncs), TRANS_TLI_TLI_INDEX,
#endif /* STREAMSCONN */
- #if defined(UNIXCONN)
- #if !defined(LOCALCONN)
- &TRANS(SocketLocalFuncs), TRANS_SOCKET_LOCAL_INDEX,
- #endif /* !LOCALCONN */
- &TRANS(SocketUNIXFuncs), TRANS_SOCKET_UNIX_INDEX,
- #endif /* UNIXCONN */
#if defined(TCPCONN)
&TRANS(SocketTCPFuncs), TRANS_SOCKET_TCP_INDEX,
&TRANS(SocketINETFuncs), TRANS_SOCKET_INET_INDEX,
--- 89,94 ----
***************
*** 102,107 ****
--- 96,107 ----
#if defined(DNETCONN)
&TRANS(DNETFuncs), TRANS_DNET_INDEX,
#endif /* DNETCONN */
+ #if defined(UNIXCONN)
+ #if !defined(LOCALCONN)
+ &TRANS(SocketLocalFuncs), TRANS_SOCKET_LOCAL_INDEX,
+ #endif /* !LOCALCONN */
+ &TRANS(SocketUNIXFuncs), TRANS_SOCKET_UNIX_INDEX,
+ #endif /* UNIXCONN */
#if defined(LOCALCONN)
&TRANS(LocalFuncs), TRANS_LOCAL_LOCAL_INDEX,
&TRANS(PTSFuncs), TRANS_LOCAL_PTS_INDEX,
***************
*** 1026,1032 ****
{
char buffer[256]; /* ??? What size ?? */
XtransConnInfo ciptr, temp_ciptrs[NUMTRANS];
! int i;
PRMSG (2,"TRANS(MakeAllCOTSServerListeners) (%s,%x)\n",
port ? port : "NULL", ciptrs_ret, 0);
--- 1026,1032 ----
{
char buffer[256]; /* ??? What size ?? */
XtransConnInfo ciptr, temp_ciptrs[NUMTRANS];
! int status, i, j;
PRMSG (2,"TRANS(MakeAllCOTSServerListeners) (%s,%x)\n",
port ? port : "NULL", ciptrs_ret, 0);
***************
*** 1053,1064 ****
continue;
}
! if (TRANS(CreateListener (ciptr, port)) < 0)
{
! PRMSG (1,
"TRANS(MakeAllCOTSServerListeners) failed to create listener for %s\n",
trans->TransName, 0, 0);
! continue;
}
PRMSG (5,
--- 1053,1088 ----
continue;
}
! if ((status = TRANS(CreateListener (ciptr, port))) < 0)
{
! if (status == TRANS_ADDR_IN_USE)
! {
! /*
! * We failed to bind to the specified address because the
! * address is in use. It must be that a server is already
! * running at this address, and this function should fail.
! */
!
! PRMSG (1,
! "TRANS(MakeAllCOTSServerListeners) server already running\n",
! 0, 0, 0);
!
! for (j = 0; j < *count_ret; j++)
! TRANS(Close) (temp_ciptrs[j]);
!
! *count_ret = 0;
! *ciptrs_ret = NULL;
! *partial = 0;
! return -1;
! }
! else
! {
! PRMSG (1,
"TRANS(MakeAllCOTSServerListeners) failed to create listener for %s\n",
trans->TransName, 0, 0);
!
! continue;
! }
}
PRMSG (5,
***************
*** 1105,1111 ****
{
char buffer[256]; /* ??? What size ?? */
XtransConnInfo ciptr, temp_ciptrs[NUMTRANS];
! int i;
PRMSG (2,"TRANS(MakeAllCLTSServerListeners) (%s,%x)\n",
port ? port : "NULL", ciptrs_ret, 0);
--- 1129,1135 ----
{
char buffer[256]; /* ??? What size ?? */
XtransConnInfo ciptr, temp_ciptrs[NUMTRANS];
! int status, i, j;
PRMSG (2,"TRANS(MakeAllCLTSServerListeners) (%s,%x)\n",
port ? port : "NULL", ciptrs_ret, 0);
***************
*** 1132,1143 ****
continue;
}
! if (TRANS(CreateListener (ciptr, port)) < 0)
{
! PRMSG (1,
"TRANS(MakeAllCLTSServerListeners) failed to create listener for %s\n",
trans->TransName, 0, 0);
! continue;
}
PRMSG (5,
--- 1156,1191 ----
continue;
}
! if ((status = TRANS(CreateListener (ciptr, port))) < 0)
{
! if (status == TRANS_ADDR_IN_USE)
! {
! /*
! * We failed to bind to the specified address because the
! * address is in use. It must be that a server is already
! * running at this address, and this function should fail.
! */
!
! PRMSG (1,
! "TRANS(MakeAllCLTSServerListeners) server already running\n",
! 0, 0, 0);
!
! for (j = 0; j < *count_ret; j++)
! TRANS(Close) (temp_ciptrs[j]);
!
! *count_ret = 0;
! *ciptrs_ret = NULL;
! *partial = 0;
! return -1;
! }
! else
! {
! PRMSG (1,
"TRANS(MakeAllCLTSServerListeners) failed to create listener for %s\n",
trans->TransName, 0, 0);
!
! continue;
! }
}
PRMSG (5,
*** /tmp/da16802 Sun Jun 5 18:27:08 1994
--- xc/lib/xtrans/Xtrans.h Sun Jun 5 18:27:07 1994
***************
*** 1,4 ****
! /* $XConsortium: Xtrans.h,v 1.24 94/05/02 10:45:32 mor Exp $ */
/*
Copyright (c) 1993, 1994 X Consortium
--- 1,4 ----
! /* $XConsortium: Xtrans.h,v 1.27 94/06/02 10:49:08 mor Exp $ */
/*
Copyright (c) 1993, 1994 X Consortium
***************
*** 189,194 ****
--- 189,202 ----
/*
+ * Return values of CreateListener (0 is success)
+ */
+
+ #define TRANS_CREATE_LISTENER_FAILED -1
+ #define TRANS_ADDR_IN_USE -2
+
+
+ /*
* Return values of Accept (0 is success)
*/
***************
*** 443,449 ****
#if NeedFunctionPrototypes
int *, /* familyp */
int *, /* addrlenp */
! Xtransaddr * /* addrp */
#endif
);
--- 451,457 ----
#if NeedFunctionPrototypes
int *, /* familyp */
int *, /* addrlenp */
! Xtransaddr ** /* addrp */
#endif
);
*** /tmp/da16818 Sun Jun 5 18:27:10 1994
--- xc/lib/xtrans/Xtranssock.c Sun Jun 5 18:27:09 1994
***************
*** 1,4 ****
! /* $XConsortium: Xtranssock.c,v 1.27 94/05/02 11:44:22 mor Exp $ */
/*
Copyright (c) 1993, 1994 X Consortium
--- 1,4 ----
! /* $XConsortium: Xtranssock.c,v 1.29 94/06/02 10:51:53 mor Exp $ */
/*
Copyright (c) 1993, 1994 X Consortium
***************
*** 113,118 ****
--- 113,119 ----
#undef close
#define close closesocket
#define ECONNREFUSED WSAECONNREFUSED
+ #define EADDRINUSE WSAEADDRINUSE
#define EPROTOTYPE WSAEPROTOTYPE
#undef EWOULDBLOCK
#define EWOULDBLOCK WSAEWOULDBLOCK
***************
*** 716,726 ****
while (bind (fd, (struct sockaddr *) sockname, namelen) < 0)
{
if (retry-- == 0) {
PRMSG (1, "TRANS(SocketCreateListener): failed to bind listener\n",
0, 0, 0);
close (fd);
! return -1;
}
#ifdef SO_REUSEADDR
sleep (1);
--- 717,730 ----
while (bind (fd, (struct sockaddr *) sockname, namelen) < 0)
{
+ if (errno == EADDRINUSE)
+ return TRANS_ADDR_IN_USE;
+
if (retry-- == 0) {
PRMSG (1, "TRANS(SocketCreateListener): failed to bind listener\n",
0, 0, 0);
close (fd);
! return TRANS_CREATE_LISTENER_FAILED;
}
#ifdef SO_REUSEADDR
sleep (1);
***************
*** 747,753 ****
{
PRMSG (1, "TRANS(SocketCreateListener): listen() failed\n", 0, 0, 0);
close (fd);
! return -1;
}
/* Set a flag to indicate that this connection is a listener */
--- 751,757 ----
{
PRMSG (1, "TRANS(SocketCreateListener): listen() failed\n", 0, 0, 0);
close (fd);
! return TRANS_CREATE_LISTENER_FAILED;
}
/* Set a flag to indicate that this connection is a listener */
***************
*** 768,774 ****
{
struct sockaddr_in sockname;
int namelen = sizeof(sockname);
! int ret;
short tmpport;
struct servent *servp;
--- 772,778 ----
{
struct sockaddr_in sockname;
int namelen = sizeof(sockname);
! int status;
short tmpport;
struct servent *servp;
***************
*** 811,817 ****
PRMSG (1,
"TRANS(SocketINETCreateListener): Unable to get service for %s\n",
port, 0, 0);
! return -1;
}
sockname.sin_port = servp->s_port;
--- 815,821 ----
PRMSG (1,
"TRANS(SocketINETCreateListener): Unable to get service for %s\n",
port, 0, 0);
! return TRANS_CREATE_LISTENER_FAILED;
}
sockname.sin_port = servp->s_port;
***************
*** 831,843 ****
sockname.sin_family = AF_INET;
sockname.sin_addr.s_addr = htonl (INADDR_ANY);
! if (TRANS(SocketCreateListener) (ciptr,
! (struct sockaddr *) &sockname, namelen) < 0)
{
PRMSG (1,
"TRANS(SocketINETCreateListener): TRANS(SocketCreateListener) () failed\n",
0, 0, 0);
! return -1;
}
if (TRANS(SocketINETGetAddr) (ciptr) < 0)
--- 835,847 ----
sockname.sin_family = AF_INET;
sockname.sin_addr.s_addr = htonl (INADDR_ANY);
! if ((status = TRANS(SocketCreateListener) (ciptr,
! (struct sockaddr *) &sockname, namelen)) < 0)
{
PRMSG (1,
"TRANS(SocketINETCreateListener): TRANS(SocketCreateListener) () failed\n",
0, 0, 0);
! return status;
}
if (TRANS(SocketINETGetAddr) (ciptr) < 0)
***************
*** 845,851 ****
PRMSG (1,
"TRANS(SocketINETCreateListener): TRANS(SocketINETGetAddr) () failed\n",
0, 0, 0);
! return -1;
}
return 0;
--- 849,855 ----
PRMSG (1,
"TRANS(SocketINETCreateListener): TRANS(SocketINETGetAddr) () failed\n",
0, 0, 0);
! return TRANS_CREATE_LISTENER_FAILED;
}
return 0;
***************
*** 866,871 ****
--- 870,876 ----
struct sockaddr_un sockname;
int namelen;
int oldUmask;
+ int status;
PRMSG (2, "TRANS(SocketUNIXCreateListener) (%s)\n",
port ? port : "NULL", 0, 0);
***************
*** 900,912 ****
unlink (sockname.sun_path);
! if (TRANS(SocketCreateListener) (ciptr,
! (struct sockaddr *) &sockname, namelen) < 0)
{
PRMSG (1,
"TRANS(SocketUNIXCreateListener): TRANS(SocketCreateListener) () failed\n",
0, 0, 0);
! return -1;
}
/*
--- 905,917 ----
unlink (sockname.sun_path);
! if ((status = TRANS(SocketCreateListener) (ciptr,
! (struct sockaddr *) &sockname, namelen)) < 0)
{
PRMSG (1,
"TRANS(SocketUNIXCreateListener): TRANS(SocketCreateListener) () failed\n",
0, 0, 0);
! return status;
}
/*
***************
*** 923,929 ****
PRMSG (1,
"TRANS(SocketUNIXCreateListener): Can't allocate space for the addr\n",
0, 0, 0);
! return -1;
}
ciptr->family = sockname.sun_family;
--- 928,934 ----
PRMSG (1,
"TRANS(SocketUNIXCreateListener): Can't allocate space for the addr\n",
0, 0, 0);
! return TRANS_CREATE_LISTENER_FAILED;
}
ciptr->family = sockname.sun_family;
*** /tmp/da16834 Sun Jun 5 18:27:12 1994
--- xc/lib/xtrans/Xtranstli.c Sun Jun 5 18:27:12 1994
***************
*** 1,4 ****
! /* $XConsortium: Xtranstli.c,v 1.19 94/05/05 11:44:11 mor Exp $ */
/*
Copyright (c) 1993, 1994 X Consortium
--- 1,4 ----
! /* $XConsortium: Xtranstli.c,v 1.21 94/06/02 10:54:50 mor Exp $ */
/*
Copyright (c) 1993, 1994 X Consortium
***************
*** 735,741 ****
{
PRMSG(1, "TRANS(TLICreateListener): failed to allocate a t_bind\n",
0,0,0 );
! return -1;
}
if( t_bind(ciptr->fd, req, ret) < 0 )
--- 735,741 ----
{
PRMSG(1, "TRANS(TLICreateListener): failed to allocate a t_bind\n",
0,0,0 );
! return TRANS_CREATE_LISTENER_FAILED;
}
if( t_bind(ciptr->fd, req, ret) < 0 )
***************
*** 743,749 ****
PRMSG(1, "TRANS(TLICreateListener): t_bind failed\n", 0,0,0 );
t_free((char *)req,T_BIND);
t_free((char *)ret,T_BIND);
! return -1;
}
if( memcmp(req->addr.buf,ret->addr.buf,req->addr.len) != 0 )
--- 743,749 ----
PRMSG(1, "TRANS(TLICreateListener): t_bind failed\n", 0,0,0 );
t_free((char *)req,T_BIND);
t_free((char *)ret,T_BIND);
! return TRANS_CREATE_LISTENER_FAILED;
}
if( memcmp(req->addr.buf,ret->addr.buf,req->addr.len) != 0 )
***************
*** 752,758 ****
req, 0,0 );
t_free((char *)req,T_BIND);
t_free((char *)ret,T_BIND);
! return -1;
}
/*
--- 752,758 ----
req, 0,0 );
t_free((char *)req,T_BIND);
t_free((char *)ret,T_BIND);
! return TRANS_ADDR_IN_USE;
}
/*
***************
*** 766,772 ****
0,0,0 );
t_free((char *)req,T_BIND);
t_free((char *)ret, T_BIND);
! return -1;
}
ciptr->addrlen=ret->addr.len;
--- 766,772 ----
0,0,0 );
t_free((char *)req,T_BIND);
t_free((char *)ret, T_BIND);
! return TRANS_CREATE_LISTENER_FAILED;
}
ciptr->addrlen=ret->addr.len;
***************
*** 820,826 ****
PRMSG(1,
"TRANS(TLIINETCreateListener): failed to allocate a t_bind\n",
0,0,0 );
! return -1;
}
if( port && *port ) {
--- 820,826 ----
PRMSG(1,
"TRANS(TLIINETCreateListener): failed to allocate a t_bind\n",
0,0,0 );
! return TRANS_CREATE_LISTENER_FAILED;
}
if( port && *port ) {
***************
*** 830,836 ****
"TRANS(TLIINETCreateListener): can't resolve name:HOST_SELF.%s\n",
port, 0,0 );
t_free((char *)req,T_BIND);
! return -1;
}
} else {
sinaddr=(struct sockaddr_in *)req->addr.buf;
--- 830,836 ----
"TRANS(TLIINETCreateListener): can't resolve name:HOST_SELF.%s\n",
port, 0,0 );
t_free((char *)req,T_BIND);
! return TRANS_CREATE_LISTENER_FAILED;
}
} else {
sinaddr=(struct sockaddr_in *)req->addr.buf;
***************
*** 865,871 ****
PRMSG(1,
"TRANS(TLITLICreateListener): failed to allocate a t_bind\n",
0,0,0 );
! return -1;
}
if( (sunaddr=(struct sockaddr_un *)
--- 865,871 ----
PRMSG(1,
"TRANS(TLITLICreateListener): failed to allocate a t_bind\n",
0,0,0 );
! return TRANS_CREATE_LISTENER_FAILED;
}
if( (sunaddr=(struct sockaddr_un *)
***************
*** 875,881 ****
"TRANS(TLITLICreateListener): failed to allocate a sockaddr_un\n",
0,0,0 );
t_free((char *)req,T_BIND);
! return -1;
}
sunaddr->sun_family=AF_UNIX;
--- 875,881 ----
"TRANS(TLITLICreateListener): failed to allocate a sockaddr_un\n",
0,0,0 );
t_free((char *)req,T_BIND);
! return TRANS_CREATE_LISTENER_FAILED;
}
sunaddr->sun_family=AF_UNIX;
*** /tmp/da16850 Sun Jun 5 18:27:14 1994
--- xc/lib/xtrans/Xtransutil.c Sun Jun 5 18:27:14 1994
***************
*** 1,4 ****
! /* $XConsortium: Xtransutil.c,v 1.16 94/05/02 11:13:42 mor Exp $ */
/*
Copyright (c) 1993, 1994 X Consortium
--- 1,4 ----
! /* $XConsortium: Xtransutil.c,v 1.17 94/05/19 11:00:07 mor Exp $ */
/*
Copyright (c) 1993, 1994 X Consortium
***************
*** 86,95 ****
TRANS(ConvertAddress)(familyp,addrlenp,addrp)
int *familyp;
int *addrlenp;
! Xtransaddr *addrp;
{
! PRMSG(2,"TRANS(ConvertAddress)(%d,%d,%x)\n",*familyp,*addrlenp,addrp);
switch( *familyp )
{
--- 86,95 ----
TRANS(ConvertAddress)(familyp,addrlenp,addrp)
int *familyp;
int *addrlenp;
! Xtransaddr **addrp;
{
! PRMSG(2,"TRANS(ConvertAddress)(%d,%d,%x)\n",*familyp,*addrlenp,*addrp);
switch( *familyp )
{
***************
*** 114,120 ****
char *cp = (char *) &saddr.sin_addr.s_addr;
#endif /* CRAY */
! memcpy (&saddr, addrp, sizeof (struct sockaddr_in));
if ((len == 4) && (cp[0] == 127) && (cp[1] == 0) &&
(cp[2] == 0) && (cp[3] == 1))
--- 114,120 ----
char *cp = (char *) &saddr.sin_addr.s_addr;
#endif /* CRAY */
! memcpy (&saddr, *addrp, sizeof (struct sockaddr_in));
if ((len == 4) && (cp[0] == 127) && (cp[1] == 0) &&
(cp[2] == 0) && (cp[3] == 1))
***************
*** 125,131 ****
{
*familyp=FamilyInternet;
*addrlenp=len;
! memcpy(addrp,&saddr.sin_addr,len);
}
break;
}
--- 125,131 ----
{
*familyp=FamilyInternet;
*addrlenp=len;
! memcpy(*addrp,&saddr.sin_addr,len);
}
break;
}
***************
*** 136,146 ****
{
struct sockaddr_dn saddr;
! memcpy (&saddr, addrp, sizeof (struct sockaddr_dn));
*familyp=FamilyDECnet;
*addrlenp=sizeof(struct dn_naddr);
! memcpy(addrp,&saddr.sdn_add,*addrlenp);
break;
}
--- 136,146 ----
{
struct sockaddr_dn saddr;
! memcpy (&saddr, *addrp, sizeof (struct sockaddr_dn));
*familyp=FamilyDECnet;
*addrlenp=sizeof(struct dn_naddr);
! memcpy(*addrp,&saddr.sdn_add,*addrlenp);
break;
}
***************
*** 187,201 ****
int len = TRANS(GetHostname) (hostnamebuf, sizeof hostnamebuf);
if (len > 0) {
! if (addrp && *addrlenp < (len + 1))
{
! free ((char *) addrp);
! addrp = NULL;
}
! if (!addrp)
! addrp = (Xtransaddr *) malloc (len + 1);
! if (addrp) {
! strcpy ((char *) addrp, hostnamebuf);
*addrlenp = len;
} else {
*addrlenp = 0;
--- 187,201 ----
int len = TRANS(GetHostname) (hostnamebuf, sizeof hostnamebuf);
if (len > 0) {
! if (*addrp && *addrlenp < (len + 1))
{
! free ((char *) *addrp);
! *addrp = NULL;
}
! if (!*addrp)
! *addrp = (Xtransaddr *) malloc (len + 1);
! if (*addrp) {
! strcpy ((char *) *addrp, hostnamebuf);
*addrlenp = len;
} else {
*addrlenp = 0;
***************
*** 203,211 ****
}
else
{
! if (addrp)
! free ((char *) addrp);
! addrp = NULL;
*addrlenp = 0;
}
}
--- 203,211 ----
}
else
{
! if (*addrp)
! free ((char *) *addrp);
! *addrp = NULL;
*addrlenp = 0;
}
}
*** /tmp/da16871 Sun Jun 5 18:27:16 1994
--- xc/nls/X11/locale/Compose/iso8859-1 Sun Jun 5 18:27:16 1994
***************
*** 1,4 ****
! # $XConsortium: iso8859-1,v 1.2 93/09/17 16:02:48 rws Exp $
#
# ISO 8859-1 (Latin1) Compose Sequence
#
--- 1,4 ----
! # $XConsortium: iso8859-1,v 1.3 94/06/04 17:14:22 rws Exp $
#
# ISO 8859-1 (Latin1) Compose Sequence
#
***************
*** 101,107 ****
# Accented Alphabet
: "\300" # A Grave
: "\301" # A Acute
! : "\302" # A Circumflex
: "\302" # A Circumflex
: "\303" # A Tilde
: "\303" # A Tilde
--- 101,107 ----
# Accented Alphabet
: "\300" # A Grave
: "\301" # A Acute
! : "\302" # A Circumflex
: "\302" # A Circumflex
: "\303" # A Tilde
: "\303" # A Tilde
***************
*** 110,116 ****
: "\306" # A E Diphthong
: "\340" # a Grave
: "\341" # a Acute
! : "\342" # a Circumflex
: "\342" # a Circumflex
: "\343" # a Tilde
: "\343" # a Tilde
--- 110,116 ----
: "\306" # A E Diphthong
: "\340" # a Grave
: "\341" # a Acute
! : "\342" # a Circumflex
: "\342" # a Circumflex
: "\343" # a Tilde
: "\343" # a Tilde
***************
*** 123,144 ****
: "\360" # Small Icelandic Eth
: "\310" # E Grave
: "\311" # E Acute
! : "\312" # E Circumflex
: "\312" # E Circumflex
: "\313" # E Umlaut
: "\350" # e Grave
: "\351" # e Acute
! : "\352" # e Circumflex
: "\352" # e Circumflex
: "\353" # e Umlaut
: "\314" # I Grave
: "\315" # I Acute
! : "\316" # I Circumflex
: "\316" # I Circumflex
: "\317" # I Umlaut
: "\354" # i Grave
: "\355" # i Acute
! : "\356" # i Circumflex
: "\356" # i Circumflex
: "\357" # i Umlaut
: "\321" # N Tilde
--- 123,144 ----
: "\360" # Small Icelandic Eth
: "\310" # E Grave
: "\311" # E Acute
! : "\312" # E Circumflex
: "\312" # E Circumflex
: "\313" # E Umlaut
: "\350" # e Grave
: "\351" # e Acute
! : "\352" # e Circumflex
: "\352" # e Circumflex
: "\353" # e Umlaut
: "\314" # I Grave
: "\315" # I Acute
! : "\316" # I Circumflex
: "\316" # I Circumflex
: "\317" # I Umlaut
: "\354" # i Grave
: "\355" # i Acute
! : "\356" # i Circumflex
: "\356" # i Circumflex
: "\357" # i Umlaut
: "\321" # N Tilde
***************
*** 147,153 ****
: "\361" # n Tilde
: "\322" # O Grave
: "\323" # O Acute
! : "\324" # O Circumflex
: "\324" # O Circumflex
: "\325" # O Tilde
: "\325" # O Tilde
--- 147,153 ----
: "\361" # n Tilde
: "\322" # O Grave
: "\323" # O Acute
!