Есть ли способ узнать, была ли пара событий движения мыши вверх / вниз вызвана нажатием на трекпад или нажатием трекпада, приводящим к щелчку?
По сути, я хотел бы повторить поведение, которое вы видите при переключении флажков в macOS. У них есть четыре состояния:
- Выключено: без проверки
- Включено: галочка
- Активировано: нет проверки / серый фон
- Активировано: галочка / серый фон
Если касание распознано на флажке, оно будет go из 1 -> 2 или 2 -> 1 после короткой задержки (~ 0,5 с. ) без отображения серого фона. Однако, если вы физически щелкнете трекпад, вы сразу увидите go от 1 до 3 при опускании мыши, а затем от 3 до 2, если указатель мыши появится на поле флажка (в противном случае он вернется к 1).
Похоже, чтобы воспроизвести это поведение, нужно различать нажатие мыши, похожее на нажатие, и нажатие мыши на нажатие. Насколько я могу судить, это невозможно сделать, проверив NSEvent
в NSView.mouseDown
.