Как получить координату указывающего устройства на трекпаде Mac? - PullRequest
2 голосов
/ 24 сентября 2010

Я бы хотел узнать положение пальца, когда пользователь делает жест на трекпаде.

Я уже подключился к swipeWithEvent, который срабатывает при смахивании.В этом NSEvent есть метод deltaX, который сообщает об изменении движения.Есть также метод absoluteX, который выглядит многообещающим, но я не могу заставить его вернуть что-либо, кроме следующей ошибки подтверждения:

Недопустимое сообщение, отправленное на событие "NSEvent: type = Swipe loc = (394,335) time = 3893.8 flags= 0x100 win = 0x10022fdc0 winNum = 586 ctxt = 0x0 deltaX = -1.000000 deltaY = 0.000000 "

Значение 'loc', указанное в сообщении об ошибке, со временем немного меняется, но, насколько я понимаю, это неверное значениепотому что изменение слишком мало.

Итак, как мне правильно использовать absoluteX NSEvent на трекпаде?

1 Ответ

2 голосов
/ 24 сентября 2010

Из документации для -[NSEvent absoluteX]:

Чтобы координата была действительной, получатель должен представлять событие, генерируемое указательным устройством планшета (в противном случае возвращается 0).Этот метод действителен только для событий мыши с подтипом NSTabletPointEventSubtype и для событий типа NSTabletPoint

Я думаю, что если вам нужно получить ту же информацию на устройстве, не являющемся планшетом, вам нужно указатьApple (через репортер ошибок или DTS) о вашем требовании, поскольку API в настоящее время не поддерживает его.

...