Post

Replies

Boosts

Views

Activity

Input Device - obtain Physical Distance Traveled
how do i go about obtaining the physical distance traveled by an input-device specifically for trackpad (and magicmouse if possible) and specifically in a multi-touch scenario if possible (for example, the physical distance each finger on the trackpad has traveled) this is for NSView in a custom Xamarin.Forms renderer specifically i am attempting to implement a cross-platform Gesture API that does not depend on surface area size, specifically targeting Windows, Linux, MacOS, and Android i CANNOT use the mouse cursor position to implement the gestures since on a trackpad only the first finger down is mapped to the cursor position while all other fingers do not contain a cursor position for example small area on built-in trackpad's large area on external trackpads and mobile devices infinite area on magic-mouse or other external mice this, combined with a sensitivity setting to account for large displays where the use may want a higher sensitivity on a larger display and a smaller sensitivity on a smaller display, should be sufficent to implement cross-platform gestures that can work in a portable way without too much effort to implement with the api (tho i suspect this sensitivity will be minor changes unless a very large surface area where the sensitivity difference would be noticible)
0
0
464
Mar ’22
trackpad driver bug
macOS Catalina Version: 10.15.7 (19H15) MacBook Pro (13-inch, Mid 2012) is this a driver bug? touch and hold the bottom left corner of the touchpad, say this has identity 140400531209680 touch and hold any other region of the touch pad that is not close to your finger (eg top left, middle, top right, bottom right), say top right, this should produce a touch with identity 140400531632704, however it is followed by a remove event with identity 140400531209680 remove the finger you just added, eg the one with identity 140400531632704 (top right finger), this should produce a touch with identity 140400534273456 (assumably bottom left finger) followed by a remove with identity 140400531632704 (top right finger) remove the finger that originally had identity 140400531209680 (bottom left finger), this should produce a remove with identity 140400534273456 (assumably bottom left finger) to summarise: bottom left finger down: touch: (bottom left) identity 140400531209680 top right finger down: touch: (top right) identity 140400531632704 remove: (bottom left) identity 140400531209680 top right finger up: touch: (assumably bottom left) identity 140400534273456 remove: (top right) identity 140400531632704 bottom left finger up: remove: (assumably bottom left) identity 140400534273456 also if i remove bottom left before top right then the following happens bottom left finger down: touch: (bottom left) identity 140470963117120 top right finger down: touch: (top right) identity 140470961970768 remove: (bottom left) identity 140470963117120 bottom left finger up: (nothing happens) top right finger up: remove: (top right) identity 140470961970768
0
0
353
Nov ’21