1

有没有办法将 unicode 字符转换为 Mac 虚拟键码?(没有建立我自己的表?)看起来在 Windows 上有 VkKeyScanEx,但我不知道 OS X 上的 Cocoa 有类似的功能。

我实际上是在尝试为 iPad 做这件事。我想转换从键盘获取的字符并将它们转换为键码,因为 iPad 键盘不会提供键码。

4

2 回答 2

0

GoogleCode 上的ShortcutRecorderNSValueTransformer项目有一个子类,用于将字符串转换为键码,反之亦然,但我不确定它是否适用于 iOS。不过,这是一个开始寻找的好地方。

于 2010-09-28T18:17:57.223 回答
0

我对它需要标记 iPhone/iPad 的原因很感兴趣——你肯定可以在 OS X 中进行所有转换吗?此外,iPhone/iPad“键盘”本质上是一种文本输入法(参见 UITextInput)——并不是说它“不会提供键码”;根本没有(当你点击“A”时,它应该提供什么键码/修饰符,按住一点,然后选择一个随机的重音版本?)。

如果您打算这样做,请在 iPad 和 OS X 上的各种(奇数)输入法上对其进行测试。如果有插入字符串的 API,请这样做(但这对于那些读取扫描码...)。您甚至可以编写一个接受 Unicode 字符串的自定义输入法扩展。

当 Dvorak VNC 客户端键入 QWERTY VNC 服务器时应该发生什么是有争议的......


我将以一个切题的故事结束:

一年多前(在我拿到 iPhone 之前),我拿到了 N810。如果有的话,它可以制作一个不错的 SSH/VNC 客户端,并且有一个不错的键盘。

除了它不是标准键盘。1 是 Fn-Q 和 ! 是 Fn-A,但是当我输入 Fn-A 得到“!”时,VNC 服务器最终输入“1”。键入 Shift-Fn-A 给我“!” 我一直在寻找(我认为 Shift-Fn-Q 也可以)。

某处某处解析字符“!”,确定它与“1”具有相同的扫描代码,并键入没有修饰符的 1 的扫描代码。它可以自动按住Shift。它甚至可以插入一个字符串。相反,它只是失败了。

于 2010-09-28T22:24:05.347 回答