<div dir="ltr"><div>Hi Ken,</div><div><br></div><div>just commenting on the availability of gestures - do you know of any windowing systems that provide high level touch gestures? The systems I'm familiar with all defer this to a UI library.</div><div><br></div><div>libinput, which you linked to in an earlier thread, also explains why they cannot, generally, provide high-level gestures on absolute touch devices [1]. They do provide gestures for touchpads, however. These could also be of interest, but I think that's a different event type altogether that should not mingle with touch events.</div><div>Similarly, OS X appears to provide high-level gesture for touchpads/trackpads [2], but for their touchscreen APIs they appear to defer to UI libraries again [3] (these are just my takeaways from 5min of googling).</div><div><br></div><div>Best,</div><div>Tom<br></div><div><br></div><div>[1] <a href="https://wayland.freedesktop.org/libinput/doc/latest/gestures.html#touchscreen-gestures">https://wayland.freedesktop.org/libinput/doc/latest/gestures.html#touchscreen-gestures</a></div><div>[2] <a href="https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/EventOverview/HandlingTouchEvents/HandlingTouchEvents.html">https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/EventOverview/HandlingTouchEvents/HandlingTouchEvents.html</a></div><div>[3] <a href="https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/handling_uikit_gestures">https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/handling_uikit_gestures</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Sep 19, 2020 at 9:37 PM <<a href="mailto:ken.dickey@whidbey.com">ken.dickey@whidbey.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br>
My intuition is that some window systems will give cooked/composite <br>
gesture events, where with others we will need optional Smalltalk code <br>
or a plugin to recognize and compose gesture events.<br>
<br>
One thing that has bothered me for some time is the difficulty in <br>
explaining how users interact with input events and the amount of <br>
required cooperation agreed to between components. [E.g. drag 'n drop].<br>
<br>
I think some of this is elegant ("I want her/him & she/he wants me") but <br>
what I am looking for is a way to express interest in pattern roles.<br>
<br>
I want to specify and recognize gesture patterns and object roles within <br>
each pattern.<br>
<br>
So match (composed) gesture to pattern within a sensitive area to get:<br>
   open/close<br>
   drag 'n drop (draggable=source, droppable=target; object-for-drag, <br>
object-for-drop)<br>
   expand/collapse (maximize/minimize)<br>
   grow/shrink (pinch, press+drag)<br>
   rescale (out/in)<br>
   rotate<br>
   stretch/adjust<br>
   reposition<br>
   scroll (swipe)<br>
   select (tap, double-tap, select+tap)<br>
<br>
The "same" gesture could map differently depending on the "sensitive <br>
area", e.g. open/close vs maximize/minimize; grow/shrink vs rescale vs <br>
stretch vs reposition.<br>
<br>
Sensitive areas could compose as with mouse sensitivity.  Sensitivity & <br>
role(s) given to any morph.<br>
<br>
Redo pluggable buttons/menus/.. in new pattern.<br>
<br>
I know this is both a code and a cognitive change, but I think easier to <br>
explain = more comprehensible.  I think it could be more compactly <br>
expressive.<br>
<br>
-KenD<br>
</blockquote></div>