我有问题。我的Mac上有两个键盘布局,因为在与不同的人通信时我必须键入两种不同的语言。我使用键盘快捷键Cmd+Space
从一种布局(语言)切换到另一种布局(语言)。
我想知道在按下Cmd+Space
时是否可以运行自定义脚本?我知道有一个名为Punto Switcher的应用程序可以做到这一点。
我的想法是更改键盘突出显示级别以指示当前语言。
问题是在哪里可以找到可以
的API
答案 0 :(得分:5)
来自@Anoop Vaidya的LED亮度指针的整洁指针 - 看起来很有趣!
系统在输入法更改时发送通知。
首先,声明一个接收通知的函数:
void theKeyboardChanged(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo) {
NSLog(@"Keyboard/input method changed.");
}
然后注册更改通知:
CFNotificationCenterAddObserver(CFNotificationCenterGetDistributedCenter(),
myContextInfo, theKeyboardChanged,
kTISNotifySelectedKeyboardInputSourceChanged, NULL,
CFNotificationSuspensionBehaviorDeliverImmediately);
答案 1 :(得分:1)
我找到了一个Amit Singh的博客,在那里他给出了无证API的想法,他使用C,为此,你肯定可以从中找到一些帮助。
或者你可以试试这些代码:
UInt64 lightInsideGetLEDBrightness(){
kern_return_t kr = 0;
IOItemCount scalarInputCount = 1;
IOItemCount scalarOutputCount = 1;
UInt64 in_unknown = 0, out_brightness;
kr = IOConnectCallScalarMethod(dataPort, kGetLEDBrightnessID, &in_unknown, scalarInputCount, &out_brightness, &scalarOutputCount);
return out_brightness;
}