识别在Javascript中按下的物理键盘按钮,而不考虑当前的语言环境?

识别在Javascript中按下的物理键盘按钮,而不考虑当前的语言环境?,javascript,keyboard,dom-events,keyboard-events,Javascript,Keyboard,Dom Events,Keyboard Events,我想根据键盘上的按键设置事件处理程序。这对于常见的键盘字母(0-9、A-Z等)来说相当简单,因为它们在键盘上的位置在所有键盘上几乎相同,按键代码可用于识别按下的按键。(使用event.which()) 不过,我希望以这样一种方式设置处理程序,即可以根据按键在键盘上的位置来识别按键。例如,US(:/;)位于瑞典语(Ö/ö)的同一物理位置,但我希望能够在键盘上为该位置设置一个唯一的处理程序 在英语中,按“;”event.which()返回59 在Swe中,按'ö'event.which()返回246

我想根据键盘上的按键设置事件处理程序。这对于常见的键盘字母(0-9、A-Z等)来说相当简单,因为它们在键盘上的位置在所有键盘上几乎相同,按键代码可用于识别按下的按键。(使用
event.which()

不过,我希望以这样一种方式设置处理程序,即可以根据按键在键盘上的位置来识别按键。例如,US(:/;)位于瑞典语(Ö/ö)的同一物理位置,但我希望能够在键盘上为该位置设置一个唯一的处理程序

在英语中,按“;”
event.which()
返回59
在Swe中,按'ö'
event.which()
返回246
它们都属于键盘上相同的物理位置。 我正在寻找一个解决方案,其中这个物理位置有一个唯一的id

这甚至是可能的(不使用检测当前区域设置然后将键映射到具有某些内部id的目标区域设置等的东西)


我相信有几种复杂的方法可以解决这个问题,但我对最简单的方法感兴趣。任何预先编写的库都可以接受。

您必须根据键码映射位置。例如,您可以编写这样的键代码:;和o映射到;的键代码。类似地,你需要一个关于该位置解析的所有键码的列表


对不起,没有简单的办法。

好吧,那太糟糕了!但是我希望如果存在一个库来解决这个问题。event.which(),正如我上面提到的,我相信它围绕着event.keyCode()和event.charCode(),还有其他有用的属性/方法吗?有三个单独的事件:
keydown
keypress
keyup
keydown
keydup
的工作原理非常相似,并报告有关物理键的信息
keypress
与键入的字符有关。所以,你可以从每一个方面得到不同的信息。JavaScript关键事件的最终资源是。