当前位置:  开发笔记 > 编程语言 > 正文

在Cocoa中检查Caps Lock的状态

如何解决《在Cocoa中检查CapsLock的状态》经验,为你挑选了1个好方法。

好.我正在开始我的第一个OS X应用程序.我没有做一些明显或简单的事情,而是直接进入系统的东西.

我想在菜单栏中放置一个大写锁定指示器.在C#或Delphi(我的主要语言)中,这是相当微不足道的.在Mac OS X中,我不确定从哪里开始.当然我已经下载了Xcode并编写了一些没什么风格的应用程序.现在我需要编写一个将在开始时运行的应用程序,只有一个菜单栏组件,并且工作.

这是我的背景.如何在Cocoa中获取大写锁定键的状态?



1> Peter Hosey..:

在开始时运行:由用户决定.如果他们希望它在启动时运行,他们会将它放在登录项中.您可以添加一个按钮,将其自动添加到登录项目中; 使用Launch Services的共享文件列表API将其添加到会话登录项列表中.

菜单栏项:这称为状态项.请参阅NSStatusItem.

检查大写锁定:首先,可能有多个键盘,其中大部分将具有大写锁定,并且并非所有键盘都具有相同的大写锁定状态(用户可能有一个键盘锁定状态,一个关闭,并且第三个没有大写锁定键.分别注意每个键盘的大写锁定状态,如果有大写锁定键,则点亮指示灯.

要读取和监控大写锁定键,您需要浸入I/O Kit.我相信你需要使用HID管理器.这是一个C API,但Dave Dribin 为其较低级别的前身(最近的1.0.1)编写了一个Objective-C包装器.

编辑添加:你可以使用Quartz事件点击来监控大写锁定,但它不是每个键盘,所以我不确定你会得到多个键盘的可靠结果,它仍然不会让你读取初始状态应用程序启动时大写锁定键.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有