如何处理非英语键按下

Itt*_*ayD 6 javascript internationalization

当我将键盘布局切换为希伯来语并按下一个字符时,它会在按键事件中按原样接收.例如,单击?(v键),然后e.which是1492.但是,当我进行组合时,键是英语键.所以对于alt+? e.which是86.所以事件看起来像alt+v

这是一个痛苦,如果我想创建一个接受组合键和回调,并注册一个回调函数,但也显示了回调的文件,因为如果我注册alt+?,然后当我按下组合它看起来像alt+v,它不会匹配注册的组合.但是,如果我注册alt+v,那么文档将是尴尬的.

所以我的问题归结为以下是否有可能:

  1. 知道实际上哪个键被按下(意思是,知道?用压在一起alt而不是v)
  2. 希伯来字符(或任何非英语)与其物理英语对应物之间的映射,所以当我的函数收到alt+?它时会将其转换alt+v为回调查找.

当然,我想要一些通用的东西,它适用于任何语言,而不仅仅是希伯来字母.

小智 0

    \n
  1. 您不应该关心它是 alt-\xd7\x94 还是 alt-v,您希望对这两种情况执行相同的操作。
  2. \n
  3. 如果它没有被识别,那么它在任何地方都不会被识别,所以你的函数也会得到 alt-v 。
  4. \n
  5. 如果你的函数得到一些东西(“Alt”,“\xd7\x94”),你应该创建一个对象进行转换。\nvar conv= { \'\xd7\x94\': \'v\'; \'\xd7\xa9\': \'a\',...}
  6. \n
\n