【发布时间】:2015-06-10 07:22:59
【问题描述】:
我需要找出按下的是哪个键,而不是它会是什么字符。
例如,我想在按“a”后创建一个诸如 (1) 的数字,以便我可以将其映射到其他语言。通常我们可以找到它是 'a' 或者我们可以有它的哈希码,但是是否有可能在一种语言中有 char 或 hash 码并找出它在另一种语言中会是什么 char 或 hash 码?
注意有些语言没有标准键盘,所以按一个键并不意味着某个字符。
【问题讨论】:
标签: keyboard
我需要找出按下的是哪个键,而不是它会是什么字符。
例如,我想在按“a”后创建一个诸如 (1) 的数字,以便我可以将其映射到其他语言。通常我们可以找到它是 'a' 或者我们可以有它的哈希码,但是是否有可能在一种语言中有 char 或 hash 码并找出它在另一种语言中会是什么 char 或 hash 码?
注意有些语言没有标准键盘,所以按一个键并不意味着某个字符。
【问题讨论】:
标签: keyboard
没有理由用我见过的任何语言这样做。
(除了您没有指定您尝试使用哪种语言来实现这一点之外) 所有语言都允许您通过按键获取字符代码。 如果您知道使用了哪种编码(UTF 8、Ascii,您自己命名),那么将代码映射到实际字符就很简单了。
在操作系统级别分配不同的键盘布局意味着您使用哪种键盘布局不再重要。
如果您有 QWERTY 键盘,请将其切换到 AZERTY 并按下 q 所在的按钮,您会得到一个 a,尽管键盘上的字母仍然是 QWERTY。
如果您使用的是中文键盘,则字符不再映射到任何西文集,因此字符代码将不会匹配 UTF8 或 ASCII,而是匹配 CP963(或其他中文代码页,取决于几个因素),即如此不同,没有真正的方法将其转换为 UTF8 或 ASCII。
【讨论】: