轻按vs单击Mac触控板

问题描述 投票:0回答:1

是否有任何方法可以判断是通过在触控板上轻击而触发了一对鼠标上/下事件,而不是通过按下触控板而导致了单击?

本质上,我想在整个macOS中复制您在切换复选框中看到的行为。它们有四个状态:

  1. 切换:无检查
  2. 切换为:复选标记
  3. 已关闭:不检查/灰色背景
  4. 启用:复选标记/灰色背景

如果在复选框上识别到轻敲,则在短暂延迟(〜0.5s)之后,它将从1-> 2或2-> 1变为完全显示灰色背景。但是,如果您实际单击触控板,则在鼠标按下时会从1-> 3跳到当前位置,然后如果鼠标上移出现在复选框上,则会从3-> 2跳到其他位置(否则返回1)。

似乎要复制此行为,需要区分类似点击的鼠标按下和点击类似的鼠标按下。据我所知,无法通过检查NSEvent中的NSView.mouseDown来执行此操作。

objective-c swift nsview appkit trackpad
1个回答
0
投票

自己回答:重写pressureChange。此方法会在物理触控板单击时(和期间)触发,但不会触发点击。无论如何,这里也有人问这个问题:How to judge NSEvent from trackpad click, not tap to click

© www.soinside.com 2019 - 2024. All rights reserved.