在可可应用程序中预定义全局热键和键盘布局
我想在我的小可可应用程序中预先定义一些全局热键,我的问题是:我应该担心键盘布局吗?
我的意思是,例如,当我预定义一个全局组合键(如“Cmd+Opt+A”)时,我可以查找“A”的键代码并将其硬编码到我的程序中,但我不确定是否可以当用户使用与我不同的键盘布局时,这将是一个问题。另外,在这种情况下使用 kVK_ANSI_A 等可以吗?处理此类问题的最佳实践是什么?
谢谢!
I'd love to pre-define some global hotkeys in my little cocoa application, and my question is: should I worry about the keyboard layouts?
I mean for example, when I pre-define a global key combo like "Cmd+Opt+A", I can look up key code of 'A' and hard-code it in my program, but i'm not sure if it would be a problem when users using a different keyboard layout rather than mine. Aslo, is it OK to use kVK_ANSI_A etc in this situation? What's the best practice to handle this kind of problem?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
键码被设计为通用的。这就是为什么使用它们而不仅仅是字母“A”。所以是的,这样做是安全的。 这里是 Mac 应用商店中一个非常有用的应用程序,用于查找关键代码。 “A”的键码是 97。因此您可以使用
keycode = 97
和modifierFlags = NSCommandKeyMask | 注册热键。 NSAlternateKeyMask;
Keycodes are designed to be universally. That is why they are used rather than just the letter "A". So yeah, it is safe to do so. Here is a very useful app on the mac app store for finding key codes. They keycode for "A" is 97. So you can register a hotkey using
keycode = 97
andmodifierFlags = NSCommandKeyMask | NSAlternateKeyMask;