diff options
author | Ian Romanick <idr@us.ibm.com> | 2007-08-23 18:19:17 -0700 |
---|---|---|
committer | Ian Romanick <idr@us.ibm.com> | 2007-08-23 18:19:17 -0700 |
commit | 8b6b40b7271acd81a9548f502c18f46f3b640640 (patch) | |
tree | 1462cb63501a8bdd8845d7c62e038b6a86b78fd5 /hw/kdrive/src | |
parent | ab7a6d860d4a275a810a64b1ba7b13726ed10575 (diff) | |
parent | 3305d17195e3a0a5555300555bd7703312fa489f (diff) |
Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-reworkpci-rework
Conflicts:
hw/xfree86/common/xf86.h
hw/xfree86/common/xf86Init.c
hw/xfree86/common/xf86pciBus.c
hw/xfree86/int10/generic.c
hw/xfree86/int10/helper_exec.c
hw/xfree86/loader/xf86sym.c
hw/xfree86/os-support/bus/Pci.c
hw/xfree86/os-support/bus/Pci.h
hw/xfree86/os-support/bus/linuxPci.c
hw/xfree86/os-support/linux/int10/linux.c
Diffstat (limited to 'hw/kdrive/src')
-rw-r--r-- | hw/kdrive/src/kaa.c | 2 | ||||
-rw-r--r-- | hw/kdrive/src/kaa.h | 2 | ||||
-rw-r--r-- | hw/kdrive/src/kaapict.c | 2 | ||||
-rw-r--r-- | hw/kdrive/src/kasync.c | 8 | ||||
-rw-r--r-- | hw/kdrive/src/kcmap.c | 3 | ||||
-rw-r--r-- | hw/kdrive/src/kcolor.c | 3 | ||||
-rw-r--r-- | hw/kdrive/src/kcurscol.c | 2 | ||||
-rw-r--r-- | hw/kdrive/src/kdrive.c | 23 | ||||
-rw-r--r-- | hw/kdrive/src/kdrive.h | 14 | ||||
-rw-r--r-- | hw/kdrive/src/kinfo.c | 3 | ||||
-rw-r--r-- | hw/kdrive/src/kinput.c | 190 | ||||
-rw-r--r-- | hw/kdrive/src/kkeymap.c | 3 | ||||
-rw-r--r-- | hw/kdrive/src/kkeymap.h | 3 | ||||
-rw-r--r-- | hw/kdrive/src/kloadmap.c | 3 | ||||
-rw-r--r-- | hw/kdrive/src/kmap.c | 3 | ||||
-rw-r--r-- | hw/kdrive/src/kmode.c | 2 | ||||
-rw-r--r-- | hw/kdrive/src/knoop.c | 3 | ||||
-rw-r--r-- | hw/kdrive/src/koffscreen.c | 2 | ||||
-rw-r--r-- | hw/kdrive/src/kshadow.c | 2 | ||||
-rw-r--r-- | hw/kdrive/src/ktest.c | 3 | ||||
-rw-r--r-- | hw/kdrive/src/kxv.c | 2 | ||||
-rw-r--r-- | hw/kdrive/src/kxv.h | 2 | ||||
-rw-r--r-- | hw/kdrive/src/vga.c | 3 | ||||
-rw-r--r-- | hw/kdrive/src/vga.h | 3 |
24 files changed, 163 insertions, 123 deletions
diff --git a/hw/kdrive/src/kaa.c b/hw/kdrive/src/kaa.c index c29e9e9f0..c9805ddb6 100644 --- a/hw/kdrive/src/kaa.c +++ b/hw/kdrive/src/kaa.c @@ -1,6 +1,4 @@ /* - * $RCSId: xc/programs/Xserver/hw/kdrive/kaa.c,v 1.4 2001/06/04 09:45:41 keithp Exp $ - * * Copyright © 2001 Keith Packard * * Partly based on code that is Copyright © The XFree86 Project Inc. diff --git a/hw/kdrive/src/kaa.h b/hw/kdrive/src/kaa.h index 15f2faac2..db890a75b 100644 --- a/hw/kdrive/src/kaa.h +++ b/hw/kdrive/src/kaa.h @@ -1,6 +1,4 @@ /* - * $RCSId: $ - * * Copyright © 2001 Keith Packard * * Partly based on code that is Copyright © The XFree86 Project Inc. diff --git a/hw/kdrive/src/kaapict.c b/hw/kdrive/src/kaapict.c index 6d44b726a..501b6b9c4 100644 --- a/hw/kdrive/src/kaapict.c +++ b/hw/kdrive/src/kaapict.c @@ -1,6 +1,4 @@ /* - * $RCSId$ - * * Copyright © 2001 Keith Packard * * Partly based on code that is Copyright © The XFree86 Project Inc. diff --git a/hw/kdrive/src/kasync.c b/hw/kdrive/src/kasync.c index 00d756fc9..cc751112c 100644 --- a/hw/kdrive/src/kasync.c +++ b/hw/kdrive/src/kasync.c @@ -1,6 +1,4 @@ /* - * Id: kasync.c,v 1.3 1999/11/24 04:29:28 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/kasync.c,v 1.8 2001/03/30 02:15:19 keithp Exp $ */ #ifdef HAVE_CONFIG_H #include <kdrive-config.h> @@ -296,13 +293,8 @@ KdScreenInitAsync (ScreenPtr pScreen) pScreen->PaintWindowBorder = KdCheckPaintWindow; pScreen->CopyWindow = KdCheckCopyWindow; -#ifndef FB_OLD_SCREEN pScreen->BackingStoreFuncs.SaveAreas = KdCheckSaveAreas; pScreen->BackingStoreFuncs.RestoreAreas = KdCheckRestoreAreas; -#else - pScreenPriv->BackingStoreFuncs.SaveAreas = KdCheckSaveAreas; - pScreenPriv->BackingStoreFuncs.RestoreAreas = KdCheckRestoreAreas; -#endif #ifdef RENDER KdPictureInitAsync (pScreen); #endif diff --git a/hw/kdrive/src/kcmap.c b/hw/kdrive/src/kcmap.c index 92ce5b920..4941ad17f 100644 --- a/hw/kdrive/src/kcmap.c +++ b/hw/kdrive/src/kcmap.c @@ -1,6 +1,4 @@ /* - * Id: kcmap.c,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/kcmap.c,v 1.4 2000/05/24 23:57:56 keithp Exp $ */ #ifdef HAVE_CONFIG_H #include <kdrive-config.h> diff --git a/hw/kdrive/src/kcolor.c b/hw/kdrive/src/kcolor.c index c3669abdf..31af5c37e 100644 --- a/hw/kdrive/src/kcolor.c +++ b/hw/kdrive/src/kcolor.c @@ -1,6 +1,4 @@ /* - * Id: kcolor.c,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/kcolor.c,v 1.2 1999/12/30 03:03:05 robin Exp $ */ #ifdef HAVE_CONFIG_H #include <kdrive-config.h> diff --git a/hw/kdrive/src/kcurscol.c b/hw/kdrive/src/kcurscol.c index 943417e0d..6a17df30f 100644 --- a/hw/kdrive/src/kcurscol.c +++ b/hw/kdrive/src/kcurscol.c @@ -1,6 +1,4 @@ /* - * $RCSId: xc/programs/Xserver/hw/kdrive/kcurscol.c,v 1.4 2000/05/11 18:14:13 tsi Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/hw/kdrive/src/kdrive.c b/hw/kdrive/src/kdrive.c index b6ac0b0cf..2bb7b530b 100644 --- a/hw/kdrive/src/kdrive.c +++ b/hw/kdrive/src/kdrive.c @@ -1,6 +1,4 @@ /* - * $RCSId: xc/programs/Xserver/hw/kdrive/kdrive.c,v 1.29 2002/10/31 18:29:50 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -83,6 +81,8 @@ int kdVirtualTerminal = -1; Bool kdSwitchPending; char *kdSwitchCmd; DDXPointRec kdOrigin; +Bool kdHasPointer = FALSE; +Bool kdHasKbd = FALSE; static Bool kdCaughtSignal = FALSE; @@ -97,7 +97,6 @@ extern WindowPtr *WindowTable; void KdSetRootClip (ScreenPtr pScreen, BOOL enable) { -#ifndef FB_OLD_SCREEN WindowPtr pWin = WindowTable[pScreen->myNum]; WindowPtr pChild; Bool WasViewable; @@ -224,7 +223,6 @@ KdSetRootClip (ScreenPtr pScreen, BOOL enable) } if (pWin->realized) WindowsRestructured (); -#endif /* !FB_OLD_SCREEN */ } void @@ -600,6 +598,8 @@ KdUseMsg (void) ErrorF("-card pcmcia Use PCMCIA card as additional screen\n"); ErrorF("-screen WIDTH[/WIDTHMM]xHEIGHT[/HEIGHTMM][@ROTATION][X][Y][xDEPTH/BPP{,DEPTH/BPP}[xFREQ]] Specify screen characteristics\n"); ErrorF("-rgba rgb/bgr/vrgb/vbgr/none Specify subpixel ordering for LCD panels\n"); + ErrorF("-mouse driver [,n,,options] Specify the pointer driver and its options (n is the number of buttons)\n"); + ErrorF("-keybd driver [,,options] Specify the keyboard driver and its options\n"); ErrorF("-zaphod Disable cursor screen switching\n"); ErrorF("-2button Emulate 3 button mouse\n"); ErrorF("-3button Disable 3 button mouse emulation\n"); @@ -608,7 +608,6 @@ KdUseMsg (void) ErrorF("-softCursor Force software cursor\n"); ErrorF("-videoTest Start the server, pause momentarily and exit\n"); ErrorF("-origin X,Y Locates the next screen in the the virtual screen (Xinerama)\n"); - ErrorF("-mouse path[,n] Filename of mouse device, n is number of buttons\n"); ErrorF("-switchCmd Command to execute on vt switch\n"); ErrorF("-nozap Don't terminate server on Ctrl+Alt+Backspace\n"); ErrorF("vtxx Use virtual terminal xx instead of the next available\n"); @@ -741,12 +740,14 @@ KdProcessArgument (int argc, char **argv, int i) if (i + 1 >= argc) UseMsg(); KdAddConfigPointer(argv[i + 1]); + kdHasPointer = TRUE; return 2; } if (!strcmp (argv[i], "-keybd")) { if (i + 1 >= argc) UseMsg(); KdAddConfigKeyboard(argv[i + 1]); + kdHasKbd = TRUE; return 2; } @@ -1067,14 +1068,6 @@ KdScreenInit(int index, ScreenPtr pScreen, int argc, char **argv) pScreen->SaveScreen = KdSaveScreen; pScreen->CreateWindow = KdCreateWindow; -#ifdef FB_OLD_SCREEN - pScreenPriv->BackingStoreFuncs.SaveAreas = fbSaveAreas; - pScreenPriv->BackingStoreFuncs.RestoreAreas = fbSaveAreas; - pScreenPriv->BackingStoreFuncs.SetClipmaskRgn = 0; - pScreenPriv->BackingStoreFuncs.GetImagePixmap = 0; - pScreenPriv->BackingStoreFuncs.GetSpansPixmap = 0; -#endif - #if KD_MAX_FB > 1 if (screen->fb[1].depth) { @@ -1156,12 +1149,8 @@ KdScreenInit(int index, ScreenPtr pScreen, int argc, char **argv) #if 0 pScreen->backingStoreSupport = Always; -#ifdef FB_OLD_SCREEN - miInitializeBackingStore (pScreen, &pScreenPriv->BackingStoreFuncs); -#else miInitializeBackingStore (pScreen); #endif -#endif /* diff --git a/hw/kdrive/src/kdrive.h b/hw/kdrive/src/kdrive.h index ced48d7a8..81f3e019d 100644 --- a/hw/kdrive/src/kdrive.h +++ b/hw/kdrive/src/kdrive.h @@ -1,6 +1,4 @@ /* - * Id: kdrive.h,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/kdrive.h,v 1.29 2002/11/13 16:37:39 keithp Exp $ */ #ifndef _KDRIVE_H_ #define _KDRIVE_H_ @@ -216,9 +213,6 @@ typedef struct { CreateScreenResourcesProcPtr CreateScreenResources; CloseScreenProcPtr CloseScreen; -#ifdef FB_OLD_SCREEN - miBSFuncRec BackingStoreFuncs; -#endif } KdPrivScreenRec, *KdPrivScreenPtr; typedef enum _kdPointerState { @@ -336,6 +330,11 @@ struct _KdKeyboardInfo { int inputClass; #ifdef XKB XkbDescPtr xkb; + char *xkbRules; + char *xkbModel; + char *xkbLayout; + char *xkbVariant; + char *xkbOptions; #endif int LockLed; @@ -879,12 +878,13 @@ KdRingBell (KdKeyboardInfo *ki, int duration); extern KdPointerDriver LinuxMouseDriver; -extern KdPointerDriver LinuxEvdevDriver; +extern KdPointerDriver LinuxEvdevMouseDriver; extern KdPointerDriver Ps2MouseDriver; extern KdPointerDriver BusMouseDriver; extern KdPointerDriver MsMouseDriver; extern KdPointerDriver TsDriver; extern KdKeyboardDriver LinuxKeyboardDriver; +extern KdKeyboardDriver LinuxEvdevKeyboardDriver; extern KdOsFuncs LinuxFuncs; extern KdPointerDriver VxWorksMouseDriver; diff --git a/hw/kdrive/src/kinfo.c b/hw/kdrive/src/kinfo.c index 1e03ac8a2..2621f10dd 100644 --- a/hw/kdrive/src/kinfo.c +++ b/hw/kdrive/src/kinfo.c @@ -1,6 +1,4 @@ /* - * Id: kinfo.c,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/kinfo.c,v 1.2 2000/02/23 20:29:53 dawes Exp $ */ #ifdef HAVE_CONFIG_H #include <kdrive-config.h> diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c index 7edcc5106..6c247c185 100644 --- a/hw/kdrive/src/kinput.c +++ b/hw/kdrive/src/kinput.c @@ -1,6 +1,4 @@ /* - * Id: kinput.c,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * Copyright © 2006 Nokia Corporation * @@ -22,7 +20,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/kinput.c,v 1.30 2002/11/13 16:37:39 keithp Exp $ */ #ifdef HAVE_CONFIG_H #include <kdrive-config.h> @@ -740,6 +737,9 @@ KdKeyboardProc(DeviceIntPtr pDevice, int onoff) DevicePtr pDev = (DevicePtr)pDevice; KdKeyboardInfo *ki; Atom xiclass; +#ifdef XKB + XkbComponentNamesRec names; +#endif if (!pDev) return BadImplementation; @@ -788,13 +788,13 @@ KdKeyboardProc(DeviceIntPtr pDevice, int onoff) KdInitModMap(ki); KdInitAutoRepeats(ki); -#ifndef XKB +#ifdef XKB if (!noXkbExtension) { memset(&names, 0, sizeof(XkbComponentNamesRec)); - if (XkbInitialMap) - names.keymap = XkbInitialMap; - XkbSetRulesDflts ("base", "pc105", "us", NULL, NULL); + XkbSetRulesDflts (ki->xkbRules, ki->xkbModel, ki->xkbLayout, + ki->xkbVariant, ki->xkbOptions); + ret = XkbInitKeyboardDeviceStruct (pDevice, &names, &ki->keySyms, @@ -963,6 +963,13 @@ KdNewKeyboard (void) ki->bellDuration = 200; ki->next = NULL; ki->options = NULL; +#ifdef XKB + ki->xkbRules = KdSaveString("base"); + ki->xkbModel = KdSaveString("pc105"); + ki->xkbLayout = KdSaveString("us"); + ki->xkbVariant = NULL; + ki->xkbOptions = NULL; +#endif return ki; } @@ -1098,11 +1105,78 @@ KdRemovePointer (KdPointerInfo *pi) KdFreePointer(pi); } +/* + * You can call your kdriver server with something like: + * $ ./hw/kdrive/yourserver/X :1 -mouse evdev,,device=/dev/input/event4 -keybd + * evdev,,device=/dev/input/event1,xkbmodel=abnt2,xkblayout=br + */ +static Bool +KdGetOptions (InputOption **options, char *string) +{ + InputOption *newopt = NULL, **tmpo = NULL; + int tam_key = 0; + + newopt = (InputOption *) xalloc(sizeof (InputOption)); + if (!newopt) + return FALSE; + + bzero(newopt, sizeof (InputOption)); + + for (tmpo = options; *tmpo; tmpo = &(*tmpo)->next) + ; /* Hello, I'm here */ + *tmpo = newopt; + + if (strchr(string, '=')) + { + tam_key = (strchr(string, '=') - string); + newopt->key = (char *)xalloc(tam_key); + strncpy(newopt->key, string, tam_key); + newopt->key[tam_key] = '\0'; + newopt->value = xstrdup(strchr(string, '=') + 1); + } + else + { + newopt->key = xstrdup(string); + newopt->value = NULL; + } + newopt->next = NULL; + + return TRUE; +} + +static void +KdParseKbdOptions (KdKeyboardInfo *ki) +{ + InputOption *option = NULL; + + for (option = ki->options; option; option = option->next) + { +#ifdef XKB + if (strcasecmp(option->key, "XkbRules") == 0) + ki->xkbRules = option->value; + else if (strcasecmp(option->key, "XkbModel") == 0) + ki->xkbModel = option->value; + else if (strcasecmp(option->key, "XkbLayout") == 0) + ki->xkbLayout = option->value; + else if (strcasecmp(option->key, "XkbVariant") == 0) + ki->xkbVariant = option->value; + else if (strcasecmp(option->key, "XkbOptions") == 0) + ki->xkbOptions = option->value; + else if (!strcasecmp (option->key, "device")) + ki->path = KdSaveString(option->value); + else +#endif + ErrorF("Kbd option key (%s) of value (%s) not assigned!\n", + option->key, option->value); + } +} + KdKeyboardInfo * KdParseKeyboard (char *arg) { char save[1024]; char delim; + InputOption *options = NULL; KdKeyboardInfo *ki = NULL; ki = KdNewKeyboard(); @@ -1145,18 +1219,63 @@ KdParseKeyboard (char *arg) else ki->driverPrivate = xstrdup(save); - /* FIXME actually implement options */ + if (delim != ',') + { + return ki; + } + + arg = KdParseFindNext (arg, ",", save, &delim); + + while (delim == ',') + { + arg = KdParseFindNext (arg, ",", save, &delim); + + if (!KdGetOptions(&options, save)) + { + KdFreeKeyboard(ki); + return NULL; + } + } + + if (options) + { + ki->options = options; + KdParseKbdOptions(ki); + } return ki; } +static void +KdParsePointerOptions (KdPointerInfo *pi) +{ + InputOption *option = NULL; + + for (option = pi->options; option; option = option->next) + { + if (!strcmp (option->key, "emulatemiddle")) + pi->emulateMiddleButton = TRUE; + else if (!strcmp (option->key, "noemulatemiddle")) + pi->emulateMiddleButton = FALSE; + else if (!strcmp (option->key, "transformcoord")) + pi->transformCoordinates = TRUE; + else if (!strcmp (option->key, "rawcoord")) + pi->transformCoordinates = FALSE; + else if (!strcasecmp (option->key, "device")) + pi->path = KdSaveString(option->value); + else + ErrorF("Pointer option key (%s) of value (%s) not assigned!\n", + option->key, option->value); + } +} + KdPointerInfo * KdParsePointer (char *arg) { char save[1024]; char delim; KdPointerInfo *pi = NULL; - InputOption *options = NULL, *newopt = NULL, **tmpo = NULL; + InputOption *options = NULL; int i = 0; pi = KdNewPointer(); @@ -1216,45 +1335,21 @@ KdParsePointer (char *arg) s++; } } - else if (!strcmp (save, "emulatemiddle")) - pi->emulateMiddleButton = TRUE; - else if (!strcmp (save, "noemulatemiddle")) - pi->emulateMiddleButton = FALSE; - else if (!strcmp (save, "transformcoord")) - pi->transformCoordinates = TRUE; - else if (!strcmp (save, "rawcoord")) - pi->transformCoordinates = FALSE; else { - newopt = (InputOption *) xalloc(sizeof (InputOption)); - if (!newopt) + if (!KdGetOptions(&options, save)) { KdFreePointer(pi); return NULL; } - bzero(newopt, sizeof (InputOption)); - - for (tmpo = &options; *tmpo; tmpo = &(*tmpo)->next) - *tmpo = newopt; - - if (strchr(arg, '=')) - { - i = (strchr(arg, '=') - arg); - newopt->key = (char *)xalloc(i+1); - strncpy(newopt->key, arg, i+1); - newopt->value = xstrdup(strchr(arg, '=') + 1); - } - else - { - newopt->key = xstrdup(save); - newopt->value = NULL; - } - newopt->next = NULL; } } if (options) + { pi->options = options; + KdParsePointerOptions(pi); + } return pi; } @@ -2296,6 +2391,7 @@ ChangeDeviceControl(register ClientPtr client, DeviceIntPtr pDev, return Success; case DEVICE_CORE: + case DEVICE_ENABLE: return Success; default: @@ -2319,13 +2415,11 @@ NewInputDeviceRequest(InputOption *options, DeviceIntPtr *pdev) pi = KdNewPointer(); if (!pi) return BadAlloc; - pi->options = options; } else if (strcmp(option->value, "keyboard") == 0) { ki = KdNewKeyboard(); if (!ki) return BadAlloc; - ki->options = options; } else { ErrorF("unrecognised device type!\n"); @@ -2334,8 +2428,21 @@ NewInputDeviceRequest(InputOption *options, DeviceIntPtr *pdev) } } + if (!ki && !pi) { + ErrorF("unrecognised device identifier!\n"); + return BadValue; + } + + /* FIXME: change this code below to use KdParseKbdOptions and + * KdParsePointerOptions */ for (option = options; option; option = option->next) { - if (strcmp(option->key, "driver") == 0) { + if (strcmp(option->key, "device") == 0) { + if (pi && option->value) + pi->path = KdSaveString(option->value); + else if (ki && option->value) + ki->path = KdSaveString(option->value); + } + else if (strcmp(option->key, "driver") == 0) { if (pi) { pi->driver = KdFindPointerDriver(option->value); if (!pi->driver) { @@ -2343,6 +2450,7 @@ NewInputDeviceRequest(InputOption *options, DeviceIntPtr *pdev) KdFreePointer(pi); return BadValue; } + pi->options = options; } else if (ki) { ki->driver = KdFindKeyboardDriver(option->value); @@ -2351,6 +2459,7 @@ NewInputDeviceRequest(InputOption *options, DeviceIntPtr *pdev) KdFreeKeyboard(ki); return BadValue; } + ki->options = options; } } } @@ -2384,4 +2493,5 @@ NewInputDeviceRequest(InputOption *options, DeviceIntPtr *pdev) void DeleteInputDeviceRequest(DeviceIntPtr pDev) { + RemoveDevice(pDev); } diff --git a/hw/kdrive/src/kkeymap.c b/hw/kdrive/src/kkeymap.c index ce4596fc8..ae90a3499 100644 --- a/hw/kdrive/src/kkeymap.c +++ b/hw/kdrive/src/kkeymap.c @@ -1,6 +1,4 @@ /* - * Id: kkeymap.c,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/kkeymap.c,v 1.1 1999/11/19 13:53:49 hohndel Exp $ */ #ifdef HAVE_CONFIG_H #include <kdrive-config.h> diff --git a/hw/kdrive/src/kkeymap.h b/hw/kdrive/src/kkeymap.h index ccc5e86f8..f66cfa49a 100644 --- a/hw/kdrive/src/kkeymap.h +++ b/hw/kdrive/src/kkeymap.h @@ -1,6 +1,4 @@ /* - * Id: kkeymap.h,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/kkeymap.h,v 1.1 1999/11/19 13:53:50 hohndel Exp $ */ /* * All global variables and functions pertaining to keyboard key mapping * live in this header file. diff --git a/hw/kdrive/src/kloadmap.c b/hw/kdrive/src/kloadmap.c index b62b2deb2..21440a423 100644 --- a/hw/kdrive/src/kloadmap.c +++ b/hw/kdrive/src/kloadmap.c @@ -1,6 +1,4 @@ /* - * Id: kloadmap.c,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/kloadmap.c,v 1.1 1999/11/19 13:53:50 hohndel Exp $ */ #ifdef HAVE_CONFIG_H #include <kdrive-config.h> diff --git a/hw/kdrive/src/kmap.c b/hw/kdrive/src/kmap.c index 73ff427c5..b92c1a84f 100644 --- a/hw/kdrive/src/kmap.c +++ b/hw/kdrive/src/kmap.c @@ -1,6 +1,4 @@ /* - * Id: kmap.c,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/kmap.c,v 1.10 2001/07/24 21:26:17 keithp Exp $ */ #include <kdrive-config.h> #include "kdrive.h" diff --git a/hw/kdrive/src/kmode.c b/hw/kdrive/src/kmode.c index 5a0c09095..d02cb55e1 100644 --- a/hw/kdrive/src/kmode.c +++ b/hw/kdrive/src/kmode.c @@ -1,6 +1,4 @@ /* - * $RCSId: xc/programs/Xserver/hw/kdrive/kmode.c,v 1.7 2002/10/14 18:01:40 keithp Exp $ - * * Copyright 1999 SuSE, Inc. * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/hw/kdrive/src/knoop.c b/hw/kdrive/src/knoop.c index 416e23ef5..a3e9468ed 100644 --- a/hw/kdrive/src/knoop.c +++ b/hw/kdrive/src/knoop.c @@ -1,6 +1,4 @@ /* - * Id: knoop.c,v 1.2 1999/11/02 06:16:28 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/knoop.c,v 1.1 1999/11/19 13:53:50 hohndel Exp $ */ /* * GC ops that don't do anything diff --git a/hw/kdrive/src/koffscreen.c b/hw/kdrive/src/koffscreen.c index eeb35fa56..efe03642f 100644 --- a/hw/kdrive/src/koffscreen.c +++ b/hw/kdrive/src/koffscreen.c @@ -1,6 +1,4 @@ /* - * $Id$ - * * Copyright © 2003 Anders Carlsson * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/hw/kdrive/src/kshadow.c b/hw/kdrive/src/kshadow.c index 34e1d5de4..ea44812db 100644 --- a/hw/kdrive/src/kshadow.c +++ b/hw/kdrive/src/kshadow.c @@ -1,6 +1,4 @@ /* - * $RCSId: $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/hw/kdrive/src/ktest.c b/hw/kdrive/src/ktest.c index 935c00e62..150af5639 100644 --- a/hw/kdrive/src/ktest.c +++ b/hw/kdrive/src/ktest.c @@ -1,6 +1,4 @@ /* - * Id: ktest.c,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/ktest.c,v 1.1 1999/11/19 13:53:50 hohndel Exp $ */ #ifdef HAVE_CONFIG_H #include <kdrive-config.h> diff --git a/hw/kdrive/src/kxv.c b/hw/kdrive/src/kxv.c index 4e672f16f..b8fbd731b 100644 --- a/hw/kdrive/src/kxv.c +++ b/hw/kdrive/src/kxv.c @@ -35,8 +35,6 @@ of the copyright holder. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/kxv.c,v 1.3 2001/08/09 09:08:54 keithp Exp $ */ - #ifdef HAVE_CONFIG_H #include <kdrive-config.h> #endif diff --git a/hw/kdrive/src/kxv.h b/hw/kdrive/src/kxv.h index b9eca8b8e..5d1441642 100644 --- a/hw/kdrive/src/kxv.h +++ b/hw/kdrive/src/kxv.h @@ -35,8 +35,6 @@ of the copyright holder. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/kxv.h,v 1.1 2001/03/30 02:18:41 keithp Exp $ */ - #ifndef _XVDIX_H_ #define _XVDIX_H_ diff --git a/hw/kdrive/src/vga.c b/hw/kdrive/src/vga.c index 9b8a7da39..862f074a2 100644 --- a/hw/kdrive/src/vga.c +++ b/hw/kdrive/src/vga.c @@ -1,6 +1,4 @@ /* - * Id: vga.c,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/vga.c,v 1.2 1999/12/30 03:03:07 robin Exp $ */ #ifdef HAVE_CONFIG_H #include <kdrive-config.h> diff --git a/hw/kdrive/src/vga.h b/hw/kdrive/src/vga.h index 5d7e77307..0615d5256 100644 --- a/hw/kdrive/src/vga.h +++ b/hw/kdrive/src/vga.h @@ -1,6 +1,4 @@ /* - * Id: vga.h,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/vga.h,v 1.2 1999/12/30 03:03:07 robin Exp $ */ #ifndef _VGA_H_ #define _VGA_H_ |