我有一个问题。我的 Mac 有两种键盘布局,因为我在与不同的人交流时必须使用两种不同的语言进行输入。我使用键盘快捷键 Cmd+Space
从一种布局(语言)切换到另一种布局(语言)。
我想知道是否可以在按下 Cmd+Space
时运行自定义脚本?我知道有一个名为 Punto Switcher 的应用程序可以做到这一点。
我的想法是更改键盘突出显示级别以指示当前语言。
- 明亮 = 德语(或俄语或其他语言)
- 昏暗=英语
问题是在哪里可以找到可以的API
- 拦截 Mac OS X 中的键盘布局
- 更改键盘突出显示的亮度
最佳答案
来自@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);
关于objective-c - 苹果操作系统 X : Intercept keyboard layout change,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15155429/