2014-02-21 5 views
1

Есть ли способ получить скорость двойного щелчка из системных настроек, предпочтительно используя C++ (возможно, CG API), в противном случае пример Objective-C также будет приемлемым.OS X Скорость двойного щелчка

я обнаружил, что это возможно, чтобы получить направление прокрутки с помощью standardUserDefaults, но я не смог найти какую-либо документацию для этого:

How to check scrolling direction of OSX with cocoa APIs

Примечание: Я не нуждаюсь в какао -специфическое решение. Например. Я не думаю, что можно вернуть NSEvent.doubleClickInterval из приложения non-cocoa. Возможно, я ошибаюсь.

+0

Что это имеет отношение к Core Graphics? –

+0

Core Graphics содержит, помимо всего прочего, все API-интерфейс Quartz Event Service, который весьма уместен в отношении движения мыши: https://developer.apple.com/library/mac/documentation/Carbon/Reference/QuartzEventServicesRef/Reference/ reference.html – pqvst

+0

Ах, старые API-интерфейсы Carbon. Я не думал, что кто-то использовал их больше. –

ответ

1

Очевидно, HIToolbox устарел и недоступен для 64-разрядных приложений. Кажется, лучшим решением является ссылка на инфраструктуру AppKit и завершение вызова Objective-C doubleClickInterval класса NSEvent. Это работает даже для приложений на C++ без какао.

Linker Flags:

-framework AppKit 

foo.cpp:

#include "Utility.h" 

void foo() 
{ 
    double doubleTimeInCppApp = GetDoubleTime(); 
    ... 
} 

Utility.h:

double GetDoubleTime(); 

Utility.mm:

double GetDoubleTime() 
{ 
    return [NSEvent doubleClickInterval]; 
} 
0

Я думаю, что здесь:

defaults read -g com.apple.mouse.scaling 

Упс, что скорость слежения ... держись.

+0

Я мог бы быть следующим: 'com.apple.mouse.doubleClickThreshold', но я не уверен, что я смогу получить это значение из приложения, отличного от какао ... – pqvst

+0

Также есть функция GetDblTime(). –

+0

Знаете ли вы, в какой библиотеке определена эта функция? Я не могу найти для этого никакой документации. :/ – pqvst

Смежные вопросы