Я здесь с Питером Хоси: «вторичный щелчок» является правильным, а «щелчок правой кнопкой мыши» абсолютно неверен, поскольку вы можете изменить то, что на панели настроек мыши. Кроме того, есть жест трекпада вторичного щелчка.
В интересах реального ответа на вопрос, если вы действительно хотите сосчитать кнопки на подключенных мышах (не думайте, что есть только одна; у ноутбуков, в частности, часто будет две, и нет никакого ограничения), я полагаю, что вы ' Вам нужно будет поговорить с IOKit (в частности, IOKit / hid / IOHIDDevice.h.)
Затем вы захотите найти устройства, у которых kIOHIDPrimaryUsagePageKey
равно kHIDPage_GenericDesktop
, а чьи kIOHIDPrimaryUsageKey
равно kHIDUsage_GD_Pointer
или kHIDUsage_GD_Mouse
, и найти элемент на странице использования kHIDPage_Button
с наибольшим значением использования. , Это все сложно, но не очень сложно, если только вы не чувствуете необходимость поддерживать системы до Леопарда, в этом случае это безумный беспорядок.
Но! Это на самом деле не скажет вам, сколько кнопок у пользователя на каждой мыши, это даст вам только верхнюю границу, потому что USB-устройства обычно имеют общее аппаратное обеспечение. Например, все мыши Logitech, которые я тестировал, кроме Apple Puck Mouse ™ от Logitech, утверждают, что имеют 16 кнопок. Для справки, клавиатуры лежат еще хуже.