为macos应用程序设置/获取fn-lock

时间:2009-11-18 22:14:17

标签: objective-c cocoa macos

有没有人知道从应用程序设置/获取fn-lock的方法,这样你就不必按'fn'键来获取macbook或苹果键盘上的F1,F2等?我希望它始终用于我的应用程序,但保持系统其余部分的标准行为。

1 个答案:

答案 0 :(得分:2)

这个答案纯属猜测,但请耐心等待。

可能的情况:键盘本身会根据是否按下fn键生成不同的低级扫描代码。为了论证,让我们假设如下:

   F1: 0x01
fn-F1: 0x02

这些低级扫描码通过总线发送到键盘驱动程序。键盘驱动程序检查是否设置了“使用F键作为标准功能键”首选项,如果是,则在将扫描代码转发到应用程序之前交换扫描代码。因此,键盘驱动程序将执行此映射:

                  F1: 0x01
               fn-F1: 0x02
"Use F keys" &    F1: 0x02
"Use F keys" & fn-F1: 0x01

如果是这种情况,您可能只想查看是否设置了“使用所有F键作为标准功能键”首选项,如果是,则在处理之前重新交换扫描代码。换句话说,您将撤消键盘驱动程序所做的工作。也许这是你原来的问题。

但是,请注意它;我错了。