Cocoa:学习当前选定的键盘布局/输入语言
如何学习当前选定的键盘布局/输入语言 我和NSInputManager一起玩,但没能取得任何成绩Cocoa:学习当前选定的键盘布局/输入语言,cocoa,layout,input,Cocoa,Layout,Input,如何学习当前选定的键盘布局/输入语言 我和NSInputManager一起玩,但没能取得任何成绩 [NSInputManager currentInputManager] 返回(null)(以%@报告),因此 这将是最好的,我只是得到一个两个字母的缩写的语言使用,如EN或FR,但键盘布局名称显示在菜单栏也将工作 有什么想法吗?谢谢 编辑:我还发现一个AppleSelectedInputSourcesChangedNotification被发布到 [NSDistributedNotificati
[NSInputManager currentInputManager]
返回(null)(以%@报告),因此
这将是最好的,我只是得到一个两个字母的缩写的语言使用,如EN或FR,但键盘布局名称显示在菜单栏也将工作
有什么想法吗?谢谢
编辑:我还发现一个AppleSelectedInputSourcesChangedNotification被发布到
[NSDistributedNotificationCenter defaultCenter]
但是,当用户更改布局时,此通知中不会“附加”有关新选择布局的信息。键盘布局到语言组合通常是一对多,因此,虽然您可以获得当前选定键盘布局(或更一般地说,输入源)的本地化名称,源代码可用于以多种语言键入文本。你为什么要这样做 也就是说,您可以使用获取有关当前文本输入源的信息。例如:
TISInputSourceRef source = TISCopyCurrentKeyboardInputSource();
NSLog(@"languages: %@",
TISGetInputSourceProperty(source, kTISPropertyInputSourceLanguages));
NSLog(@"localized name: %@",
TISGetInputSourceProperty(source, kTISPropertyLocalizedName));
给我:
2009-04-23 14:30:17.581 sample[30688:10b] languages: (
en,
ca,
da,
de,
es,
eu,
fr,
ga,
gl,
gv,
id,
it,
kw,
ms,
nb,
nl,
nn,
om,
pt,
so,
sq,
sv,
sw
)
2009-04-23 14:30:17.584 sample[30688:10b] localized name: U.S.
我也试着玩这些东西,但没能让它编译。您添加了哪些框架和导入内容?:-)此外,您认为这仅适用于碳纤维吗?
#导入
(或#包含
也适用,因为碳纤维头具有包含防护装置)。然后,您需要在Xcode中将Carbon框架添加到您的项目中(或者如果您正在编译,则使用-framework Carbon
)。请注意,虽然这在技术上是“Carbon”和“HIToolbox”,但它是Carbon和Cocoa都可以使用的低级别碳,64位应用程序支持它,并且不会很快消失,所以不要觉得你不能使用它。给出错误:ld:symbol(s)not found for architecture x86\u 64这对我有帮助。非常感谢:)
2009-04-23 14:30:17.581 sample[30688:10b] languages: (
en,
ca,
da,
de,
es,
eu,
fr,
ga,
gl,
gv,
id,
it,
kw,
ms,
nb,
nl,
nn,
om,
pt,
so,
sq,
sv,
sw
)
2009-04-23 14:30:17.584 sample[30688:10b] localized name: U.S.