【问题标题】:Unicode Code Point for Command Key Combinations命令键组合的 Unicode 代码点
【发布时间】:2010-10-22 19:18:38
【问题描述】:

谁能告诉我如何确定包含“命令”键的多键组合的 unicode 字符点?例如,如果用户同时按下键盘上的“command”键和“1”键,那么 unicode 字符的表示形式是什么?

也许我正在搜索错误的东西,但我无法在我找到的字符映射、键盘引用或unicode tables 中找到它。我可以整理出其他组合键(例如 shift-1),因为有一个明显的字符输出“!”我可以查找并发现它是U + 0021。当我转到字符映射或应用程序时,命令键似乎总是执行操作,而不是将字符结果输出到屏幕。

我的应用程序适用于 iOS,我希望它在 unicode 代码点方面与 Mac OS X 相同。所有提供键盘访问的 iOS API 都将其视为 Unicode 字符的来源。因此,我试图以这种方式检测击键的原因。

谢谢。

【问题讨论】:

  • 我认为键盘布局和 Unicode 字符之间没有这样的映射关系。
  • 您使用的是什么操作系统 - 这会影响按键组合产生的字符。

标签: unicode ios character


【解决方案1】:

键盘代码基本独立于字符代码。

虽然(正如您所提到的)许多键具有到标准 ASCII 代码的标准映射,但由应用程序决定如何处理它们。

某些输入 API 可能在特定操作系统上广泛使用,某些应用程序(例如终端仿真器)可能用作一类任务的通用输入方法,但没有通用标准。

Unicode input 的必填维基百科链接。

【讨论】:

  • 我正在开发应用程序,所以我最终可以决定如何处理它。虽然我必须能够先检测到它。我的应用程序适用于 iOS,我希望它在 unicode 代码点方面与 Mac OS X 相同。
  • 所有提供键盘访问的 iOS API 都将其视为 Unicode 字符的来源。
【解决方案2】:

你不能。根本没有对应于 Command + some-other-character 的 Unicode 代码点。

顺便说一句,Shift 也是如此。您的计算机碰巧将某些组合映射到某些 Unicode 代码点这一事实并不意味着 Unicode 指定了此类映射,或者每个键组合都存在映射,或者这些映射对于其他所有人都是相同的。我每天使用两个键盘;其中一个将 Shift+3 映射到 #,另一个将其映射到 £。这是由操作系统决定的,而不是由 Unicode 决定的。如果您尝试通过侦听 # 来检测 Shift+3 按键,那么在我看来,您的程序有一半会被破坏。

这是 XY 问题的完美示例。您并不真正关心 Unicode——您真正想知道的是如何在 iOS 上使用 Command 修饰符检测按键。你应该问如何做到这一点!可能有一个 API 可以完全满足您的需要,而您只是错过了,因为您专注于解决方案将涉及 Unicode 的假设——并且可能有许多 iOS 专家根本没有费心阅读这个问题,因为他们认为您的问题与 Unicode 而不是 iOS 有关。

【讨论】:

  • 我不认为这是真的,原因有两个: 1. Apple 已明确回应“所有提供键盘访问的 API 都将其视为 Unicode 字符的来源,仅此而已。 " 2. 至少有一些组合键有 unicode 等效项,正如我在 Shift-1 示例和这篇 Stack Overflow 帖子中提到的那样。 stackoverflow.com/questions/3199635/…
  • 很抱歉,如果我在最初的帖子中没有很好地阐明事情。
【解决方案3】:

简单的回答:没有。

您还没有告诉我们您使用的是哪种计算机。将按键映射到 Unicode 代码点是操作系统特定的,然后取决于活动的区域设置。

【讨论】:

  • 我的应用适用于 iOS,我希望它在 unicode 代码点方面与 Mac OS X 相同。
猜你喜欢
  • 2011-04-19
  • 1970-01-01
  • 1970-01-01
  • 2016-02-02
  • 1970-01-01
  • 1970-01-01
  • 2015-04-28
  • 1970-01-01
相关资源
最近更新 更多