【发布时间】:2017-09-22 09:39:19
【问题描述】:
我已经能够成功地从 VK 代码中检索 ascii 字符 在 windows 中使用 lazarus/fpc 和 mapvirtualkey 函数。
是否有等效于 mapvirtualkey 的跨平台(特别是 macOS)lazarus/fpc?有没有其他方法可以在 macOS 上使用 lazarus/fpc 在当前键盘布局下获取与 VK 代码对应的 ascii/unicode 字符?
提前谢谢你!
编辑:(改写问题)Mac 上 Lazarus 上的 onKeyDown 事件提供了一个“Key”参数。 mac上有没有办法将此参数转换为与此“密钥”对应的ascii / unicode字符?
【问题讨论】:
-
什么是 Mac 版的虚拟键码?
-
是传递给onKeyDown事件的“Key”参数。
-
是的,但该值实际上是什么。虚拟键码是 Windows 特定的概念。 Mac 上的相同概念是什么?
-
它以同样的方式工作。它与硬件按钮有关,与键盘布局/语言设置无关。例如,对于“p”键,VK 代码是 80(与 windows 相同),无论您是否有英文键盘(在这种情况下,它对应于字母“p”,当按下时不按 shift)或者,例如,希腊键盘(对应于没有移位的字母“π”)。
-
猜工作不会让你走得太远。尝试找出底层系统的要求。要求以类似的方式替换功能是不现实的。
标签: lazarus freepascal