OSX: количество кнопок на подключенной мыши - PullRequest
1 голос
/ 01 декабря 2009

Я хотел бы предложить учебный текст, который меняется в зависимости от количества доступных кнопок мыши. Например, если есть две кнопки мыши, в тексте будет написано «Щелчок правой кнопкой мыши», тогда как в случае нажатия только одной кнопки текст будет «Ctrl + щелчок». Есть ли какой-нибудь API в Какао или Углероде, который может определить количество доступных кнопок на подключенной мыши?

Ответы [ 3 ]

5 голосов
/ 02 декабря 2009

Используйте «вторичный клик». Это относится к щелчку правой кнопкой мыши, нажатию клавиши Ctrl, щелчку левой кнопкой мыши по нажатой кнопке мыши, 18-му щелчку мыши с помощью мыши с широкими возможностями настройки, планшета или джойстика, настроенного для работы в качестве мыши и т. Д.

1 голос
/ 02 декабря 2009

Я здесь с Питером Хоси: «вторичный щелчок» является правильным, а «щелчок правой кнопкой мыши» абсолютно неверен, поскольку вы можете изменить то, что на панели настроек мыши. Кроме того, есть жест трекпада вторичного щелчка.

В интересах реального ответа на вопрос, если вы действительно хотите сосчитать кнопки на подключенных мышах (не думайте, что есть только одна; у ноутбуков, в частности, часто будет две, и нет никакого ограничения), я полагаю, что вы ' Вам нужно будет поговорить с IOKit (в частности, IOKit / hid / IOHIDDevice.h.)

Затем вы захотите найти устройства, у которых kIOHIDPrimaryUsagePageKey равно kHIDPage_GenericDesktop, а чьи kIOHIDPrimaryUsageKey равно kHIDUsage_GD_Pointer или kHIDUsage_GD_Mouse, и найти элемент на странице использования kHIDPage_Button с наибольшим значением использования. , Это все сложно, но не очень сложно, если только вы не чувствуете необходимость поддерживать системы до Леопарда, в этом случае это безумный беспорядок.

Но! Это на самом деле не скажет вам, сколько кнопок у пользователя на каждой мыши, это даст вам только верхнюю границу, потому что USB-устройства обычно имеют общее аппаратное обеспечение. Например, все мыши Logitech, которые я тестировал, кроме Apple Puck Mouse ™ от Logitech, утверждают, что имеют 16 кнопок. Для справки, клавиатуры лежат еще хуже.

1 голос
/ 01 декабря 2009

Я бы посмотрел на Службы событий Quartz. Это единственное место, о котором я могу подумать, что скажет вам кое-что об оборудовании.

Однако я не думаю, что вам стоит беспокоиться. В общем, вы должны принять терминологию, которая предполагает стандартизированный аппаратный или аппаратный эквивалент. Например, настоящая команда - «ctrl-click». Эта команда может быть реализована правой кнопкой мыши, но она может быть получена с клавиатуры или из какой-либо другой пользовательской настройки для другого оборудования. Например, у меня есть планшет Wacom, который позволяет настраивать пять различных кнопок. Ваше программное обеспечение не могло озадачить мое отображение.

Ваш интерфейс должен просто сказать «ctrl-click» и предоставить пользователю возможность определить, что это означает для их собственного оборудования.

...