Тап против клика на трекпаде ma c - PullRequest
0 голосов
/ 06 мая 2020

Есть ли способ узнать, была ли пара событий движения мыши вверх / вниз вызвана нажатием на трекпад или нажатием трекпада, приводящим к щелчку?

По сути, я хотел бы повторить поведение, которое вы видите при переключении флажков в macOS. У них есть четыре состояния:

  1. Выключено: без проверки
  2. Включено: галочка
  3. Активировано: нет проверки / серый фон
  4. Активировано: галочка / серый фон

Если касание распознано на флажке, оно будет go из 1 -> 2 или 2 -> 1 после короткой задержки (~ 0,5 с. ) без отображения серого фона. Однако, если вы физически щелкнете трекпад, вы сразу увидите go от 1 до 3 при опускании мыши, а затем от 3 до 2, если указатель мыши появится на поле флажка (в противном случае он вернется к 1).

Похоже, чтобы воспроизвести это поведение, нужно различать нажатие мыши, похожее на нажатие, и нажатие мыши на нажатие. Насколько я могу судить, это невозможно сделать, проверив NSEvent в NSView.mouseDown.

1 Ответ

0 голосов
/ 19 мая 2020

Отвечу на это сам: переопределить pressureChange. Этот метод срабатывает при (и во время) щелчка на физическом трекпаде, но не при нажатии. В любом случае этот вопрос также задавался здесь: Как судить о NSEvent по щелчку трекпада, а не по нажатию .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...