xfree86: fix xf86ActivateDevice(): only set to MP device if not a keyboard

This commit is contained in:
Peter Hutterer 2006-12-20 14:43:38 +10:30 committed by Peter Hutterer
parent 202b46eb6b
commit b55e1239ac
4 changed files with 30 additions and 1 deletions

View File

@ -21,6 +21,15 @@ Files:
Note: This commit requires libXi additions to use the new functions. Note: This commit requires libXi additions to use the new functions.
____________________________________________________________
xfree86: fix xf86ActivateDevice(): only set to MP device if not a keyboard
Files:
hw/xfree86/common/xf86Xinput.c
include/extinit.h
Xi/extinit.c
== 18.12.06 == == 18.12.06 ==
mi: removing MPX ifdefs mi: removing MPX ifdefs
global sprite renaming in mipointer and misprite global sprite renaming in mipointer and misprite

View File

@ -866,6 +866,21 @@ AssignTypeAndName(DeviceIntPtr dev, Atom type, char *name)
strcpy(dev->name, name); strcpy(dev->name, name);
} }
/***********************************************************************
*
* Returns true if a device may require a pointer (is not a keyboard).
*
*/
_X_EXPORT Bool
MayNeedPointer(DeviceIntPtr dev)
{
/* return false if device is a keyboard */
if (dev_type[0].type == dev->type)
return FALSE;
return TRUE;
}
/*********************************************************************** /***********************************************************************
* *
* Make device type atoms. * Make device type atoms.

View File

@ -171,7 +171,8 @@ xf86ActivateDevice(LocalDevicePtr local)
local->dev = dev; local->dev = dev;
dev->coreEvents = local->flags & XI86_ALWAYS_CORE; dev->coreEvents = local->flags & XI86_ALWAYS_CORE;
dev->isMPDev = !(local->flags & XI86_SHARED_POINTER); dev->isMPDev =
MayNeedPointer(dev) && !(local->flags & XI86_SHARED_POINTER);
InitSprite(dev, dev->isMPDev); InitSprite(dev, dev->isMPDev);
RegisterOtherDevice(dev); RegisterOtherDevice(dev);

View File

@ -131,6 +131,10 @@ AssignTypeAndName (
char * /* name */ char * /* name */
); );
Bool MayNeedPointer(
DeviceIntPtr /* dev */
);
void void
MakeDeviceTypeAtoms ( MakeDeviceTypeAtoms (
void void