From 5cc2a47ef14a657fa49ffd83b961e91c8007d2aa Mon Sep 17 00:00:00 2001 From: Samuel Rodríguez Pérez Date: Mon, 24 Nov 2025 17:25:43 +0000 Subject: [PATCH] input headers: Fix fingerWith documentation + license update Add and fix description of the current values for fingerWith field and related constants along with future expectations for the same. The latest explainted as TODO item. Change-Id: I876a9cf03a935309159401a6c88d9047bf225f90 Reviewed-on: https://review.haiku-os.org/c/haiku/+/9863 Reviewed-by: waddlesplash Tested-by: Commit checker robot --- headers/private/input/keyboard_mouse_driver.h | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/headers/private/input/keyboard_mouse_driver.h b/headers/private/input/keyboard_mouse_driver.h index a7a6f9a..75662be 100644 --- a/headers/private/input/keyboard_mouse_driver.h +++ b/headers/private/input/keyboard_mouse_driver.h @@ -1,5 +1,5 @@ /* - * Copyright 2002-2010, Haiku. All rights reserved. + * Copyright 2002-2025, Haiku. All rights reserved. * Distributed under the terms of the MIT License. */ #ifndef _KEYBOARD_MOUSE_DRIVER_H @@ -118,6 +118,10 @@ } tablet_movement; +// TODO: The following constants are not in use by drivers yet +// so they cannot be used by movement_maker.cpp and these +// values do not match with Synaptics driver finger width value. +// See more info on touchpad_movement.fingerWidth TODO comment. #define B_ONE_FINGER 0x01 #define B_TWO_FINGER 0x02 #define B_MULTI_FINGER 0x04 @@ -148,13 +152,29 @@ uint8 fingers; bool gesture; uint8 fingerWidth; + // TODO: Finger width is currently operating with these values + // on drivers and movement_maker.cpp probably following + // Synaptics driver finger width value interpretation of "w": + // + // 0 Two finger on the pad + // 1 Three or more fingers + // 2 Pen (instead of finger) + // 3 ? + // 4 - 7 normal width + // 8 - 14 very wide finger or palm + // 15 maximum reportable width; extreme wide contact + // + // While it looks like the idea is to decouple this to end up with + // values related to the width only and not mixed with other features: + // For instance: + // + // 1 - 4 normal width + // 5 - 11 very wide finger or palm + // 12 maximum reportable width; extreme wide contact int32 wheel_ydelta; int32 wheel_xdelta; int32 wheel_zdelta; int32 wheel_wdelta; - // 1 - 4 normal width - // 5 - 11 very wide finger or palm - // 12 maximum reportable width; extreme wide contact } touchpad_movement; -- gitore 0.2.2