Какао / Углерод: поймать глобальную горячую клавишу, когда клавиша удерживается нажатой (удерживается) - PullRequest
0 голосов
/ 18 февраля 2011

Используя InstallApplicationEventHandler и RegisterEventHotKey из среды Carbon, я могу поймать любой ключ, который хочу.

Наоборот, я не могу найти способ правильно обработать событие, когда клавишаудерживается (удерживается нажатым).Я имею в виду, когда я удерживаю клавишу, RegisterEventHotKey отвечает, как будто я нажал, а затем отпустил клавишу;Вместо этого я хочу непрерывно посылать «событие» до тех пор, пока клавиша не будет отпущена.

То, чего я действительно хочу достичь, если быть точным, когда клавиша удерживается нажатой, это:* как только клавиша нажата и удерживается, я хочу, чтобы InstallApplicationEventHandler и RegisterEventHotKey создавали событие, но не только один раз (как у меня сейчас), но каждые х миллисекунд или около того, пока не отпущена клавиша.1013 * Определенные ключи, которые я рассматриваю, это , а не клавиши-модификаторы.

Вы можете мне помочь?Я действительно схожу с ума от этого!

Ответы [ 2 ]

1 голос
/ 19 февраля 2011

Вам нужно использовать кран событий; RegisterEventHotKey недостаточно гибок, чтобы делать то, что вы хотите. Ознакомьтесь с Event Taps Bench и документацией .

0 голосов
/ 19 февраля 2011

Может быть, запускать таймер каждые 0,25 секунды или что-то, что проверяет, не нажаты ли соответствующие клавиши.Если они есть, повторно вызовите действие.В противном случае отключите таймер.

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