diff options
Diffstat (limited to 'xorg-server/include')
-rw-r--r-- | xorg-server/include/do-not-use-config.h.in | 770 | ||||
-rw-r--r-- | xorg-server/include/eventstr.h | 496 | ||||
-rw-r--r-- | xorg-server/include/kdrive-config.h.in | 9 |
3 files changed, 255 insertions, 1020 deletions
diff --git a/xorg-server/include/do-not-use-config.h.in b/xorg-server/include/do-not-use-config.h.in deleted file mode 100644 index 213f5d502..000000000 --- a/xorg-server/include/do-not-use-config.h.in +++ /dev/null @@ -1,770 +0,0 @@ -/* include/do-not-use-config.h.in. Generated from configure.ac by autoheader. */ - -/* Define if building universal (internal helper macro) */ -#undef AC_APPLE_UNIVERSAL_BUILD - -/* Build AIGLX loader */ -#undef AIGLX - -/* Default base font path */ -#undef BASE_FONT_PATH - -/* Support BigRequests extension */ -#undef BIGREQS - -/* Define to 1 if `struct sockaddr_in' has a `sin_len' member */ -#undef BSD44SOCKETS - -/* Builder address */ -#undef BUILDERADDR - -/* Builder string */ -#undef BUILDERSTRING - -/* Default font path */ -#undef COMPILEDDEFAULTFONTPATH - -/* Support Composite Extension */ -#undef COMPOSITE - -/* Use the D-Bus input configuration API */ -#undef CONFIG_DBUS_API - -/* Use the HAL hotplug API */ -#undef CONFIG_HAL - -/* Use D-Bus for input hotplug */ -#undef CONFIG_NEED_DBUS - -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -#undef CRAY_STACKSEG_END - -/* System is BSD-like */ -#undef CSRG_BASED - -/* Simple debug messages */ -#undef CYGDEBUG - -/* Debug window manager */ -#undef CYGMULTIWINDOW_DEBUG - -/* Debug messages for window handling */ -#undef CYGWINDOWING_DEBUG - -/* Define to 1 if using `alloca.c'. */ -#undef C_ALLOCA - -/* Support Damage extension */ -#undef DAMAGE - -/* Support DBE extension */ -#undef DBE - -/* Use ddxBeforeReset */ -#undef DDXBEFORERESET - -/* Use OsVendorVErrorF */ -#undef DDXOSVERRORF - -/* Enable debugging code */ -#undef DEBUG - -/* Default library install path */ -#undef DEFAULT_LIBRARY_PATH - -/* Default log location */ -#undef DEFAULT_LOGPREFIX - -/* Default module search path */ -#undef DEFAULT_MODULE_PATH - -/* Support DGA extension */ -#undef DGA - -/* Support DPMS extension */ -#undef DPMSExtension - -/* Build DRI2 extension */ -#undef DRI2 - -/* Build DRI2 AIGLX loader */ -#undef DRI2_AIGLX - -/* Default DRI driver path */ -#undef DRI_DRIVER_PATH - -/* Build GLX extension */ -#undef GLXEXT - -/* Support XDM-AUTH*-1 */ -#undef HASXDMAUTH - -/* System has /dev/xf86 aperture driver */ -#undef HAS_APERTURE_DRV - -/* Cygwin has /dev/windows for signaling new win32 messages */ -#undef HAS_DEVWINDOWS - -/* Have the 'getdtablesize' function. */ -#undef HAS_GETDTABLESIZE - -/* Have the 'getifaddrs' function. */ -#undef HAS_GETIFADDRS - -/* Have the 'getpeereid' function. */ -#undef HAS_GETPEEREID - -/* Have the 'getpeerucred' function. */ -#undef HAS_GETPEERUCRED - -/* Have the 'mmap' function. */ -#undef HAS_MMAP - -/* Define to 1 if NetBSD built-in MTRR support is available */ -#undef HAS_MTRR_BUILTIN - -/* MTRR support available */ -#undef HAS_MTRR_SUPPORT - -/* Support SHM */ -#undef HAS_SHM - -/* Have the 'strlcpy' function */ -#undef HAS_STRLCPY - -/* Use Windows sockets */ -#undef HAS_WINSOCK - -/* Define to 1 if you have `alloca', as a function or macro. */ -#undef HAVE_ALLOCA - -/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). - */ -#undef HAVE_ALLOCA_H - -/* Define to 1 if you have the <asm/mtrr.h> header file. */ -#undef HAVE_ASM_MTRR_H - -/* Define to 1 if you have the `authdes_create' function. */ -#undef HAVE_AUTHDES_CREATE - -/* Define to 1 if you have the `authdes_seccreate' function. */ -#undef HAVE_AUTHDES_SECCREATE - -/* "Have avc_netlink_acquire_fd" */ -#undef HAVE_AVC_NETLINK_ACQUIRE_FD - -/* Has backtrace support */ -#undef HAVE_BACKTRACE - -/* Define to 1 if you have the <byteswap.h> header file. */ -#undef HAVE_BYTESWAP_H - -/* Have the 'cbrt' function */ -#undef HAVE_CBRT - -/* Define to 1 if you have the `clock_gettime' function. */ -#undef HAVE_CLOCK_GETTIME - -/* Define to 1 if you have the <dbm.h> header file. */ -#undef HAVE_DBM_H - -/* Have D-Bus support */ -#undef HAVE_DBUS - -/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. - */ -#undef HAVE_DIRENT_H - -/* Define to 1 if you have the <dlfcn.h> header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ -#undef HAVE_DOPRNT - -/* Have execinfo.h */ -#undef HAVE_EXECINFO_H - -/* Define to 1 if you have the <fcntl.h> header file. */ -#undef HAVE_FCNTL_H - -/* Define to 1 if you have the `ffs' function. */ -#undef HAVE_FFS - -/* Define to 1 if you have the `geteuid' function. */ -#undef HAVE_GETEUID - -/* Define to 1 if you have the `getisax' function. */ -#undef HAVE_GETISAX - -/* Define to 1 if you have the `getopt' function. */ -#undef HAVE_GETOPT - -/* Define to 1 if you have the `getopt_long' function. */ -#undef HAVE_GETOPT_LONG - -/* Define to 1 if you have the `getuid' function. */ -#undef HAVE_GETUID - -/* Define to 1 if you have the `getzoneid' function. */ -#undef HAVE_GETZONEID - -/* Define to 1 if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the `audit' library (-laudit). */ -#undef HAVE_LIBAUDIT - -/* Define to 1 if you have the <libaudit.h> header file. */ -#undef HAVE_LIBAUDIT_H - -/* Define to 1 if you have the `m' library (-lm). */ -#undef HAVE_LIBM - -/* Define to 1 if you have the `selinux' library (-lselinux). */ -#undef HAVE_LIBSELINUX - -/* Define to 1 if you have the `ws2_32' library (-lws2_32). */ -#undef HAVE_LIBWS2_32 - -/* Define to 1 if you have the `link' function. */ -#undef HAVE_LINK - -/* Define to 1 if you have the <linux/agpgart.h> header file. */ -#undef HAVE_LINUX_AGPGART_H - -/* Define to 1 if you have the <linux/apm_bios.h> header file. */ -#undef HAVE_LINUX_APM_BIOS_H - -/* Define to 1 if you have the <linux/fb.h> header file. */ -#undef HAVE_LINUX_FB_H - -/* Define to 1 if you have the <machine/mtrr.h> header file. */ -#undef HAVE_MACHINE_MTRR_H - -/* Define to 1 if you have the `memmove' function. */ -#undef HAVE_MEMMOVE - -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `memset' function. */ -#undef HAVE_MEMSET - -/* Define to 1 if you have the `mkstemp' function. */ -#undef HAVE_MKSTEMP - -/* Define to 1 if you have the <ndbm.h> header file. */ -#undef HAVE_NDBM_H - -/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */ -#undef HAVE_NDIR_H - -/* Define to 1 if you have the `pci_device_enable' function. */ -#undef HAVE_PCI_DEVICE_ENABLE - -/* Define to 1 if you have the `pci_device_is_boot_vga' function. */ -#undef HAVE_PCI_DEVICE_IS_BOOT_VGA - -/* Define to 1 if you have the `pci_device_vgaarb_init' function. */ -#undef HAVE_PCI_DEVICE_VGAARB_INIT - -/* Define to 1 if you have the `pci_system_init_dev_mem' function. */ -#undef HAVE_PCI_SYSTEM_INIT_DEV_MEM - -/* Define to 1 if you have the <rpcsvc/dbm.h> header file. */ -#undef HAVE_RPCSVC_DBM_H - -/* Define to 1 if you have the <selinux/avc.h> header file. */ -#undef HAVE_SELINUX_AVC_H - -/* Define to 1 if you have the <selinux/selinux.h> header file. */ -#undef HAVE_SELINUX_SELINUX_H - -/* Use CommonCrypto SHA1 functions */ -#undef HAVE_SHA1_IN_COMMONCRYPTO - -/* Use libc SHA1 functions */ -#undef HAVE_SHA1_IN_LIBC - -/* Use libgcrypt SHA1 functions */ -#undef HAVE_SHA1_IN_LIBGCRYPT - -/* Use libmd SHA1 functions */ -#undef HAVE_SHA1_IN_LIBMD - -/* Use libsha1 for SHA1 */ -#undef HAVE_SHA1_IN_LIBSHA1 - -/* Define to 1 if you have the `shmctl64' function. */ -#undef HAVE_SHMCTL64 - -/* Define to 1 if the system has the type `socklen_t'. */ -#undef HAVE_SOCKLEN_T - -/* Define to 1 if you have the <stdint.h> header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the <stdlib.h> header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `strcasestr' function. */ -#undef HAVE_STRCASESTR - -/* Define to 1 if you have the `strchr' function. */ -#undef HAVE_STRCHR - -/* Define to 1 if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the <string.h> header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the <stropts.h> header file. */ -#undef HAVE_STROPTS_H - -/* Define to 1 if you have the `strrchr' function. */ -#undef HAVE_STRRCHR - -/* Define to 1 if you have the `strtol' function. */ -#undef HAVE_STRTOL - -/* Define to 1 if SYSV IPC is available */ -#undef HAVE_SYSV_IPC - -/* Define to 1 if you have the <sys/agpgart.h> header file. */ -#undef HAVE_SYS_AGPGART_H - -/* Define to 1 if you have the <sys/agpio.h> header file. */ -#undef HAVE_SYS_AGPIO_H - -/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'. - */ -#undef HAVE_SYS_DIR_H - -/* Define to 1 if you have the <sys/io.h> header file. */ -#undef HAVE_SYS_IO_H - -/* Define to 1 if you have the <sys/kd.h> header file. */ -#undef HAVE_SYS_KD_H - -/* Define to 1 if you have the <sys/linker.h> header file. */ -#undef HAVE_SYS_LINKER_H - -/* Define to 1 if you have the <sys/memrange.h> header file. */ -#undef HAVE_SYS_MEMRANGE_H - -/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'. - */ -#undef HAVE_SYS_NDIR_H - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the <sys/types.h> header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the <sys/vm86.h> header file. */ -#undef HAVE_SYS_VM86_H - -/* Define to 1 if you have the <sys/vt.h> header file. */ -#undef HAVE_SYS_VT_H - -/* Define to 1 if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have the `vprintf' function. */ -#undef HAVE_VPRINTF - -/* Define to 1 if you have the `vsnprintf' function. */ -#undef HAVE_VSNPRINTF - -/* Define to 1 if you have the `walkcontext' function. */ -#undef HAVE_WALKCONTEXT - -/* Support IPv6 for TCP connections */ -#undef IPv6 - -/* Build kdrive ddx */ -#undef KDRIVEDDXACTIONS - -/* Build fbdev-based kdrive server */ -#undef KDRIVEFBDEV - -/* Build Kdrive X server */ -#undef KDRIVESERVER - -/* Prefix to use for launchd identifiers */ -#undef LAUNCHD_ID_PREFIX - -/* Support os-specific local connections */ -#undef LOCALCONN - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#undef LT_OBJDIR - -/* Support MIT-SHM extension */ -#undef MITSHM - -/* Have monotonic clock from clock_gettime() */ -#undef MONOTONIC_CLOCK - -/* Build Multibuffer extension */ -#undef MULTIBUFFER - -/* Do not have 'strcasecmp'. */ -#undef NEED_STRCASECMP - -/* Do not have 'strcasestr'. */ -#undef NEED_STRCASESTR - -/* Do not have 'strncasecmp'. */ -#undef NEED_STRNCASECMP - -/* Need XFree86 helper functions */ -#undef NEED_XF86_PROTOTYPES - -/* Need XFree86 typedefs */ -#undef NEED_XF86_TYPES - -/* Define to 1 if modules should avoid the libcwrapper */ -#undef NO_LIBCWRAPPER - -/* Use an empty root cursor */ -#undef NULL_ROOT_CURSOR - -/* Operating System Name */ -#undef OSNAME - -/* Operating System Vendor */ -#undef OSVENDOR - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Major version of this package */ -#undef PACKAGE_VERSION_MAJOR - -/* Minor version of this package */ -#undef PACKAGE_VERSION_MINOR - -/* Patch version of this package */ -#undef PACKAGE_VERSION_PATCHLEVEL - -/* Internal define for Xinerama */ -#undef PANORAMIX - -/* System has PC console */ -#undef PCCONS_SUPPORT - -/* Default PCI text file ID path */ -#undef PCI_TXT_IDS_PATH - -/* System has PC console */ -#undef PCVT_SUPPORT - -/* Overall prefix */ -#undef PROJECTROOT - -/* Support RANDR extension */ -#undef RANDR - -/* Make PROJECT_ROOT relative to the xserver location */ -#undef RELOCATE_PROJECTROOT - -/* Support RENDER extension */ -#undef RENDER - -/* Support X resource extension */ -#undef RES - -/* Define as the return type of signal handlers (`int' or `void'). */ -#undef RETSIGTYPE - -/* Build Rootless code */ -#undef ROOTLESS - -/* Support MIT-SCREEN-SAVER extension */ -#undef SCREENSAVER - -/* Support Secure RPC ("SUN-DES-1") authentication for X11 clients */ -#undef SECURE_RPC - -/* Server miscellaneous config path */ -#undef SERVER_MISC_CONFIG_PATH - -/* Support SHAPE extension */ -#undef SHAPE - -/* The size of `unsigned long', as computed by sizeof. */ -#undef SIZEOF_UNSIGNED_LONG - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at runtime. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ -#undef STACK_DIRECTION - -/* Build a standalone xpbproxy */ -#undef STANDALONE_XPBPROXY - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Support PC98 */ -#undef SUPPORT_PC98 - -/* Define to 1 on systems derived from System V Release 4 */ -#undef SVR4 - -/* System has syscons console */ -#undef SYSCONS_SUPPORT - -/* Support TCP socket connections */ -#undef TCPCONN - -/* Have tslib support */ -#undef TSLIB - -/* Enable unit tests */ -#undef UNITTESTS - -/* Support UNIX socket connections */ -#undef UNIXCONN - -/* NetBSD PIO alpha IO */ -#undef USE_ALPHA_PIO - -/* BSD AMD64 iopl */ -#undef USE_AMD64_IOPL - -/* BSD /dev/io */ -#undef USE_DEV_IO - -/* BSD i386 iopl */ -#undef USE_I386_IOPL - -/* Use SIGIO handlers for input device events by default */ -#undef USE_SIGIO_BY_DEFAULT - -/* Define to use byteswap macros from <sys/endian.h> */ -#undef USE_SYS_ENDIAN_H - -/* Vendor man version */ -#undef VENDOR_MAN_VERSION - -/* Vendor name */ -#undef VENDOR_NAME - -/* Vendor name */ -#undef VENDOR_NAME_SHORT - -/* Vendor release */ -#undef VENDOR_RELEASE - -/* Version number of package */ -#undef VERSION - -/* Building vgahw module */ -#undef WITH_VGAHW - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -# undef WORDS_BIGENDIAN -# endif -#endif - -/* System has wscons console */ -#undef WSCONS_SUPPORT - -/* Build X-ACE extension */ -#undef XACE - -/* Build XCalibrate extension */ -#undef XCALIBRATE - -/* Support XCMisc extension */ -#undef XCMISC - -/* Build Security extension */ -#undef XCSECURITY - -/* Support XDM Control Protocol */ -#undef XDMCP - -/* Support XF86 Big font extension */ -#undef XF86BIGFONT - -/* Name of configuration file */ -#undef XF86CONFIGFILE - -/* Build DRI extension */ -#undef XF86DRI - -/* Support XFree86 Video Mode extension */ -#undef XF86VIDMODE - -/* Support XFixes extension */ -#undef XFIXES - -/* Building loadable XFree86 server */ -#undef XFree86LOADER - -/* Building XFree86 server */ -#undef XFree86Server - -/* Build XDGA support */ -#undef XFreeXDGA - -/* Support Xinerama extension */ -#undef XINERAMA - -/* Path to XKB data */ -#undef XKB_BASE_DIRECTORY - -/* Path to XKB bin dir */ -#undef XKB_BIN_DIRECTORY - -/* Default XKB layout */ -#undef XKB_DFLT_LAYOUT - -/* Default XKB model */ -#undef XKB_DFLT_MODEL - -/* Default XKB options */ -#undef XKB_DFLT_OPTIONS - -/* Default XKB ruleset */ -#undef XKB_DFLT_RULES - -/* Default XKB variant */ -#undef XKB_DFLT_VARIANT - -/* Path to XKB output dir */ -#undef XKM_OUTPUT_DIR - -/* Building Xorg server */ -#undef XORGSERVER - -/* Vendor release */ -#undef XORG_DATE - -/* Vendor man version */ -#undef XORG_MAN_VERSION - -/* Building Xorg server */ -#undef XORG_SERVER - -/* Current Xorg version */ -#undef XORG_VERSION_CURRENT - -/* Have Quartz */ -#undef XQUARTZ - -/* Support application updating through sparkle. */ -#undef XQUARTZ_SPARKLE - -/* Support Record extension */ -#undef XRECORD - -/* Build registry module */ -#undef XREGISTRY - -/* Build SELinux extension */ -#undef XSELINUX - -/* Define to 1 if the DTrace Xserver provider probes should be built in. */ -#undef XSERVER_DTRACE - -/* Use libpciaccess for all pci manipulation */ -#undef XSERVER_LIBPCIACCESS - -/* Support XSync extension */ -#undef XSYNC - -/* Support XTest extension */ -#undef XTEST - -/* Support Xv extension */ -#undef XV - -/* Vendor name */ -#undef XVENDORNAME - -/* Short vendor name */ -#undef XVENDORNAMESHORT - -/* Build Xv extension */ -#undef XvExtension - -/* Build XvMC extension */ -#undef XvMCExtension - -/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a - `char[]'. */ -#undef YYTEXT_POINTER - -/* Number of bits in a file offset, on hosts where this is settable. */ -#undef _FILE_OFFSET_BITS - -/* Enable GNU and other extensions to the C environment for glibc */ -#undef _GNU_SOURCE - -/* Define for large files, on AIX-style hosts. */ -#undef _LARGE_FILES - -/* Define to 1 if unsigned long is 64 bits. */ -#undef _XSERVER64 - -/* Vendor web address for support */ -#undef __VENDORDWEBSUPPORT__ - -/* Name of configuration file */ -#undef __XCONFIGFILE__ - -/* Name of X server */ -#undef __XSERVERNAME__ - -/* Define to 16-bit byteswap macro */ -#undef bswap_16 - -/* Define to 32-bit byteswap macro */ -#undef bswap_32 - -/* Define to 64-bit byteswap macro */ -#undef bswap_64 - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Define to `int' if <sys/types.h> does not define. */ -#undef pid_t diff --git a/xorg-server/include/eventstr.h b/xorg-server/include/eventstr.h index 884dd5d90..6a3410c19 100644 --- a/xorg-server/include/eventstr.h +++ b/xorg-server/include/eventstr.h @@ -1,250 +1,246 @@ -/* - * Copyright © 2009 Red Hat, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef EVENTSTR_H -#define EVENTSTR_H - -#include <events.h> -/** - * @file events.h - * This file describes the event structures used internally by the X - * server during event generation and event processing. - * - * When are internal events used? - * Events from input devices are stored as internal events in the EQ and - * processed as internal events until late in the processing cycle. Only then - * do they switch to their respective wire events. - */ - -/** - * Event types. Used exclusively internal to the server, not visible on the - * protocol. - * - * Note: Keep KeyPress to Motion aligned with the core events. - * Keep ET_Raw* in the same order as KeyPress - Motion - */ -enum EventType { - ET_KeyPress = 2, - ET_KeyRelease, - ET_ButtonPress, - ET_ButtonRelease, - ET_Motion, - ET_Enter, - ET_Leave, - ET_FocusIn, - ET_FocusOut, - ET_ProximityIn, - ET_ProximityOut, - ET_DeviceChanged, - ET_Hierarchy, -#if XFreeXDGA - ET_DGAEvent, -#endif - ET_RawKeyPress, - ET_RawKeyRelease, - ET_RawButtonPress, - ET_RawButtonRelease, - ET_RawMotion, -#ifdef XQUARTZ - ET_XQuartz, -#endif - ET_Internal = 0xFF /* First byte */ -}; - -#define CHECKEVENT(ev) if (ev && ((InternalEvent*)(ev))->any.header != 0xFF) \ - FatalError("Wrong event type %d.\n", \ - ((InternalEvent*)(ev))->any.header); - -/** - * Used for ALL input device events internal in the server until - * copied into the matching protocol event. - * - * Note: We only use the device id because the DeviceIntPtr may become invalid while - * the event is in the EQ. - */ -struct _DeviceEvent -{ - unsigned char header; /**< Always ET_Internal */ - enum EventType type; /**< One of EventType */ - int length; /**< Length in bytes */ - Time time; /**< Time in ms */ - int deviceid; /**< Device to post this event for */ - int sourceid; /**< The physical source device */ - union { - uint32_t button; /**< Button number */ - uint32_t key; /**< Key code */ - } detail; - int16_t root_x; /**< Pos relative to root window in integral data */ - float root_x_frac; /**< Pos relative to root window in frac part */ - int16_t root_y; /**< Pos relative to root window in integral part */ - float root_y_frac; /**< Pos relative to root window in frac part */ - uint8_t buttons[(MAX_BUTTONS + 7)/8]; /**< Button mask */ - struct { - uint8_t mask[(MAX_VALUATORS + 7)/8]; /**< Valuator mask */ - uint8_t mode[(MAX_VALUATORS + 7)/8]; /**< Valuator mode (Abs or Rel)*/ - int32_t data[MAX_VALUATORS]; /**< Valuator data */ - int32_t data_frac[MAX_VALUATORS]; /**< Fractional part for data */ - } valuators; - struct { - uint32_t base; /**< XKB base modifiers */ - uint32_t latched; /**< XKB latched modifiers */ - uint32_t locked; /**< XKB locked modifiers */ - uint32_t effective;/**< XKB effective modifiers */ - } mods; - struct { - uint8_t base; /**< XKB base group */ - uint8_t latched; /**< XKB latched group */ - uint8_t locked; /**< XKB locked group */ - uint8_t effective;/**< XKB effective group */ - } group; - Window root; /**< Root window of the event */ - int corestate; /**< Core key/button state BEFORE the event */ - int key_repeat; /**< Internally-generated key repeat event */ -}; - - -/* Flags used in DeviceChangedEvent to signal if the slave has changed */ -#define DEVCHANGE_SLAVE_SWITCH 0x2 -/* Flags used in DeviceChangedEvent to signal whether the event was a - * pointer event or a keyboard event */ -#define DEVCHANGE_POINTER_EVENT 0x4 -#define DEVCHANGE_KEYBOARD_EVENT 0x8 -/* device capabilities changed */ -#define DEVCHANGE_DEVICE_CHANGE 0x10 - -/** - * Sent whenever a device's capabilities have changed. - */ -struct _DeviceChangedEvent -{ - unsigned char header; /**< Always ET_Internal */ - enum EventType type; /**< ET_DeviceChanged */ - int length; /**< Length in bytes */ - Time time; /**< Time in ms */ - int deviceid; /**< Device whose capabilities have changed */ - int flags; /**< Mask of ::HAS_NEW_SLAVE, - ::POINTER_EVENT, ::KEYBOARD_EVENT */ - int masterid; /**< MD when event was generated */ - int sourceid; /**< The device that caused the change */ - - struct { - int num_buttons; /**< Number of buttons */ - Atom names[MAX_BUTTONS];/**< Button names */ - } buttons; - - int num_valuators; /**< Number of axes */ - struct { - uint32_t min; /**< Minimum value */ - uint32_t max; /**< Maximum value */ - /* FIXME: frac parts of min/max */ - uint32_t resolution; /**< Resolution counts/m */ - uint8_t mode; /**< Relative or Absolute */ - Atom name; /**< Axis name */ - } valuators[MAX_VALUATORS]; - - struct { - int min_keycode; - int max_keycode; - } keys; -}; - -#if XFreeXDGA -/** - * DGAEvent, used by DGA to intercept and emulate input events. - */ -struct _DGAEvent -{ - unsigned char header; /**< Always ET_Internal */ - enum EventType type; /**< ET_DGAEvent */ - int length; /**< Length in bytes */ - Time time; /**< Time in ms */ - int subtype; /**< KeyPress, KeyRelease, ButtonPress, - ButtonRelease, MotionNotify */ - int detail; /**< Relative x coordinate */ - int dx; /**< Relative x coordinate */ - int dy; /**< Relative y coordinate */ - int screen; /**< Screen number this event applies to */ - uint16_t state; /**< Core modifier/button state */ -}; -#endif - -/** - * Raw event, contains the data as posted by the device. - */ -struct _RawDeviceEvent -{ - unsigned char header; /**< Always ET_Internal */ - enum EventType type; /**< ET_Raw */ - int length; /**< Length in bytes */ - Time time; /**< Time in ms */ - int deviceid; /**< Device to post this event for */ - int sourceid; /**< The physical source device */ - union { - uint32_t button; /**< Button number */ - uint32_t key; /**< Key code */ - } detail; - struct { - uint8_t mask[(MAX_VALUATORS + 7)/8]; /**< Valuator mask */ - int32_t data[MAX_VALUATORS]; /**< Valuator data */ - int32_t data_frac[MAX_VALUATORS]; /**< Fractional part for data */ - int32_t data_raw[MAX_VALUATORS]; /**< Valuator data as posted */ - int32_t data_raw_frac[MAX_VALUATORS];/**< Fractional part for data_raw */ - } valuators; -}; - -#ifdef XQUARTZ -#define XQUARTZ_EVENT_MAXARGS 5 -struct _XQuartzEvent { - unsigned char header; /**< Always ET_Internal */ - enum EventType type; /**< Always ET_XQuartz */ - int length; /**< Length in bytes */ - Time time; /**< Time in ms. */ - int subtype; /**< Subtype defined by XQuartz DDX */ - uint32_t data[XQUARTZ_EVENT_MAXARGS]; /**< Up to 5 32bit values passed to handler */ -}; -#endif - -/** - * Event type used inside the X server for input event - * processing. - */ -union _InternalEvent { - struct { - unsigned char header; /**< Always ET_Internal */ - enum EventType type; /**< One of ET_* */ - int length; /**< Length in bytes */ - Time time; /**< Time in ms. */ - } any; - DeviceEvent device_event; - DeviceChangedEvent changed_event; -#if XFreeXDGA - DGAEvent dga_event; -#endif - RawDeviceEvent raw_event; -#ifdef XQUARTZ - XQuartzEvent xquartz_event; -#endif -}; - -#endif +/*
+ * Copyright © 2009 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#ifndef EVENTSTR_H
+#define EVENTSTR_H
+
+#include <events.h>
+/**
+ * @file events.h
+ * This file describes the event structures used internally by the X
+ * server during event generation and event processing.
+ *
+ * When are internal events used?
+ * Events from input devices are stored as internal events in the EQ and
+ * processed as internal events until late in the processing cycle. Only then
+ * do they switch to their respective wire events.
+ */
+
+/**
+ * Event types. Used exclusively internal to the server, not visible on the
+ * protocol.
+ *
+ * Note: Keep KeyPress to Motion aligned with the core events.
+ * Keep ET_Raw* in the same order as KeyPress - Motion
+ */
+enum EventType {
+ ET_KeyPress = 2,
+ ET_KeyRelease,
+ ET_ButtonPress,
+ ET_ButtonRelease,
+ ET_Motion,
+ ET_Enter,
+ ET_Leave,
+ ET_FocusIn,
+ ET_FocusOut,
+ ET_ProximityIn,
+ ET_ProximityOut,
+ ET_DeviceChanged,
+ ET_Hierarchy,
+ ET_DGAEvent,
+ ET_RawKeyPress,
+ ET_RawKeyRelease,
+ ET_RawButtonPress,
+ ET_RawButtonRelease,
+ ET_RawMotion,
+ ET_XQuartz,
+ ET_Internal = 0xFF /* First byte */
+};
+
+#define CHECKEVENT(ev) if (ev && ((InternalEvent*)(ev))->any.header != 0xFF) \
+ FatalError("Wrong event type %d.\n", \
+ ((InternalEvent*)(ev))->any.header);
+
+/**
+ * Used for ALL input device events internal in the server until
+ * copied into the matching protocol event.
+ *
+ * Note: We only use the device id because the DeviceIntPtr may become invalid while
+ * the event is in the EQ.
+ */
+struct _DeviceEvent
+{
+ unsigned char header; /**< Always ET_Internal */
+ enum EventType type; /**< One of EventType */
+ int length; /**< Length in bytes */
+ Time time; /**< Time in ms */
+ int deviceid; /**< Device to post this event for */
+ int sourceid; /**< The physical source device */
+ union {
+ uint32_t button; /**< Button number */
+ uint32_t key; /**< Key code */
+ } detail;
+ int16_t root_x; /**< Pos relative to root window in integral data */
+ float root_x_frac; /**< Pos relative to root window in frac part */
+ int16_t root_y; /**< Pos relative to root window in integral part */
+ float root_y_frac; /**< Pos relative to root window in frac part */
+ uint8_t buttons[(MAX_BUTTONS + 7)/8]; /**< Button mask */
+ struct {
+ uint8_t mask[(MAX_VALUATORS + 7)/8]; /**< Valuator mask */
+ uint8_t mode[(MAX_VALUATORS + 7)/8]; /**< Valuator mode (Abs or Rel)*/
+ int32_t data[MAX_VALUATORS]; /**< Valuator data */
+ int32_t data_frac[MAX_VALUATORS]; /**< Fractional part for data */
+ } valuators;
+ struct {
+ uint32_t base; /**< XKB base modifiers */
+ uint32_t latched; /**< XKB latched modifiers */
+ uint32_t locked; /**< XKB locked modifiers */
+ uint32_t effective;/**< XKB effective modifiers */
+ } mods;
+ struct {
+ uint8_t base; /**< XKB base group */
+ uint8_t latched; /**< XKB latched group */
+ uint8_t locked; /**< XKB locked group */
+ uint8_t effective;/**< XKB effective group */
+ } group;
+ Window root; /**< Root window of the event */
+ int corestate; /**< Core key/button state BEFORE the event */
+ int key_repeat; /**< Internally-generated key repeat event */
+};
+
+
+/* Flags used in DeviceChangedEvent to signal if the slave has changed */
+#define DEVCHANGE_SLAVE_SWITCH 0x2
+/* Flags used in DeviceChangedEvent to signal whether the event was a
+ * pointer event or a keyboard event */
+#define DEVCHANGE_POINTER_EVENT 0x4
+#define DEVCHANGE_KEYBOARD_EVENT 0x8
+/* device capabilities changed */
+#define DEVCHANGE_DEVICE_CHANGE 0x10
+
+/**
+ * Sent whenever a device's capabilities have changed.
+ */
+struct _DeviceChangedEvent
+{
+ unsigned char header; /**< Always ET_Internal */
+ enum EventType type; /**< ET_DeviceChanged */
+ int length; /**< Length in bytes */
+ Time time; /**< Time in ms */
+ int deviceid; /**< Device whose capabilities have changed */
+ int flags; /**< Mask of ::HAS_NEW_SLAVE,
+ ::POINTER_EVENT, ::KEYBOARD_EVENT */
+ int masterid; /**< MD when event was generated */
+ int sourceid; /**< The device that caused the change */
+
+ struct {
+ int num_buttons; /**< Number of buttons */
+ Atom names[MAX_BUTTONS];/**< Button names */
+ } buttons;
+
+ int num_valuators; /**< Number of axes */
+ struct {
+ uint32_t min; /**< Minimum value */
+ uint32_t max; /**< Maximum value */
+ /* FIXME: frac parts of min/max */
+ uint32_t resolution; /**< Resolution counts/m */
+ uint8_t mode; /**< Relative or Absolute */
+ Atom name; /**< Axis name */
+ } valuators[MAX_VALUATORS];
+
+ struct {
+ int min_keycode;
+ int max_keycode;
+ } keys;
+};
+
+#if XFreeXDGA
+/**
+ * DGAEvent, used by DGA to intercept and emulate input events.
+ */
+struct _DGAEvent
+{
+ unsigned char header; /**< Always ET_Internal */
+ enum EventType type; /**< ET_DGAEvent */
+ int length; /**< Length in bytes */
+ Time time; /**< Time in ms */
+ int subtype; /**< KeyPress, KeyRelease, ButtonPress,
+ ButtonRelease, MotionNotify */
+ int detail; /**< Relative x coordinate */
+ int dx; /**< Relative x coordinate */
+ int dy; /**< Relative y coordinate */
+ int screen; /**< Screen number this event applies to */
+ uint16_t state; /**< Core modifier/button state */
+};
+#endif
+
+/**
+ * Raw event, contains the data as posted by the device.
+ */
+struct _RawDeviceEvent
+{
+ unsigned char header; /**< Always ET_Internal */
+ enum EventType type; /**< ET_Raw */
+ int length; /**< Length in bytes */
+ Time time; /**< Time in ms */
+ int deviceid; /**< Device to post this event for */
+ int sourceid; /**< The physical source device */
+ union {
+ uint32_t button; /**< Button number */
+ uint32_t key; /**< Key code */
+ } detail;
+ struct {
+ uint8_t mask[(MAX_VALUATORS + 7)/8]; /**< Valuator mask */
+ int32_t data[MAX_VALUATORS]; /**< Valuator data */
+ int32_t data_frac[MAX_VALUATORS]; /**< Fractional part for data */
+ int32_t data_raw[MAX_VALUATORS]; /**< Valuator data as posted */
+ int32_t data_raw_frac[MAX_VALUATORS];/**< Fractional part for data_raw */
+ } valuators;
+};
+
+#ifdef XQUARTZ
+#define XQUARTZ_EVENT_MAXARGS 5
+struct _XQuartzEvent {
+ unsigned char header; /**< Always ET_Internal */
+ enum EventType type; /**< Always ET_XQuartz */
+ int length; /**< Length in bytes */
+ Time time; /**< Time in ms. */
+ int subtype; /**< Subtype defined by XQuartz DDX */
+ uint32_t data[XQUARTZ_EVENT_MAXARGS]; /**< Up to 5 32bit values passed to handler */
+};
+#endif
+
+/**
+ * Event type used inside the X server for input event
+ * processing.
+ */
+union _InternalEvent {
+ struct {
+ unsigned char header; /**< Always ET_Internal */
+ enum EventType type; /**< One of ET_* */
+ int length; /**< Length in bytes */
+ Time time; /**< Time in ms. */
+ } any;
+ DeviceEvent device_event;
+ DeviceChangedEvent changed_event;
+#if XFreeXDGA
+ DGAEvent dga_event;
+#endif
+ RawDeviceEvent raw_event;
+#ifdef XQUARTZ
+ XQuartzEvent xquartz_event;
+#endif
+};
+
+#endif
diff --git a/xorg-server/include/kdrive-config.h.in b/xorg-server/include/kdrive-config.h.in index 14efb56b0..0e54aa18f 100644 --- a/xorg-server/include/kdrive-config.h.in +++ b/xorg-server/include/kdrive-config.h.in @@ -19,6 +19,15 @@ /* Support tslib touchscreen abstraction library */ #undef TSLIB +/* Support KDrive kbd driver */ +#undef KDRIVE_KBD + +/* Support KDrive mouse driver */ +#undef KDRIVE_MOUSE + +/* Support KDrive evdev driver */ +#undef KDRIVE_EVDEV + /* Verbose debugging output hilarity */ #undef DEBUG |