⛏️ index : haiku.git

author Samuel Rodríguez Pérez <samuelgaliza@gmail.com> 2025-11-24 17:25:43.0 +00:00:00
committer Adrien Destugues <pulkomandy@pulkomandy.tk> 2025-11-29 19:36:51.0 +00:00:00
commit
5cc2a47ef14a657fa49ffd83b961e91c8007d2aa [patch]
tree
56bb7281efb7691587d5658426d66e650238a9fe
parent
8df94f989a084c108cfdb2d278fcb4877c806c3d
download
5cc2a47ef14a657fa49ffd83b961e91c8007d2aa.tar.gz

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 <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>

Diff

 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;