From 703baece7ebd128a6742d0523d5b3ebe65126fa5 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 11 Feb 2011 12:19:26 +1000 Subject: [PATCH] dix: Add IsFloating(device) wrapper. Simplifies check for floating devices. Signed-off-by: Peter Hutterer Reviewed-by: Benjamin Tissoires --- dix/events.c | 7 +++++++ include/dix.h | 1 + 2 files changed, 8 insertions(+) diff --git a/dix/events.c b/dix/events.c index 4826781d7..f6d92cf6a 100644 --- a/dix/events.c +++ b/dix/events.c @@ -328,6 +328,13 @@ IsMaster(DeviceIntPtr dev) return dev->type == MASTER_POINTER || dev->type == MASTER_KEYBOARD; } +Bool +IsFloating(DeviceIntPtr dev) +{ + return GetMaster(dev, MASTER_KEYBOARD) == NULL; +} + + /** * Max event opcode. */ diff --git a/include/dix.h b/include/dix.h index 12e4b5977..3f99098a2 100644 --- a/include/dix.h +++ b/include/dix.h @@ -570,6 +570,7 @@ extern Bool _X_EXPORT IsPointerDevice( DeviceIntPtr dev); extern Bool _X_EXPORT IsKeyboardDevice(DeviceIntPtr dev); extern Bool IsPointerEvent(InternalEvent *event); extern _X_EXPORT Bool IsMaster(DeviceIntPtr dev); +extern _X_EXPORT Bool IsFloating(DeviceIntPtr dev); extern _X_HIDDEN void CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master); extern _X_HIDDEN int CorePointerProc(DeviceIntPtr dev, int what);