1

I'm currently coding an app that has hotkey functionality, I've done some reading and was surprised to see it is all done via an old Carbon API. However, perhaps the biggest dilemma is I am unable to calculate the "Keyboard Reference Number"s it requires.

The only app I have seen that makes this possible (ASyncKey) won't work anymore as it was a Classic app.

4

2 回答 2

2

我会尽可能使用 Events.h 中的常量。

如果您真的想要参考文档,可以在Inside Macintosh: Text中参考美国键盘的键码。虽然它是为 ADB 键盘编写的,但今天仍然准确。

您会发现网页版中的美式键盘地图难以阅读;要么查阅 PDF(文档第 1033 页,书页 C-5),要么使用其中的便捷裁剪

另一种解决方案是使用许多技巧的键码来显示您按下的任何键的键码。

于 2010-06-22T05:37:11.423 回答
1

虽然创建热键的 API 是 Carbon API,但我不一定将其称为“旧”API;它已更新为适用于 64 位应用程序,并且是今年 WWDC(第 145 次会议)的其中一个会议的主题。

至于你的问题,我不太清楚你的意思。我厌倦了试图处理(我认为是)像 PTHotKey 这样的包装器的类膨胀,所以我写了自己的。您可以仔细阅读 Github 上的源代码:http: //github.com/davedelong/DDHotKey 希望这能帮助您弄清楚发生了什么。

编辑密钥代码是您如何指示要将代码绑定到哪个密钥。这些键码是“虚拟”键码,可以通过以下两种方式之一获取:

  1. 仔细阅读HIToolbox/Events.h并找到您想要的密钥
  2. 从中提取-[NSEvent keyCode]

甚至像ShortcutRecorder这样的项目也使用这两种方法中的一种。我不知道其他任何人。

于 2010-06-22T03:26:59.520 回答