Javascript “重新映射”;IntlBackslash";在Chrome操作系统中使用shift键

Javascript “重新映射”;IntlBackslash";在Chrome操作系统中使用shift键,javascript,google-chrome,google-chrome-extension,google-chrome-os,Javascript,Google Chrome,Google Chrome Extension,Google Chrome Os,我买了一本彩色电子书。我真的很喜欢它,但有一点:因为我在加拿大,它配备了这个可怕的双语键盘,有一半长度的Shift键和Enter键,另一半作为额外的反斜杠键 我对Javascript很糟糕,但通过遵循代码,我成功地用以下代码将右反斜杠重新映射到enter键: var context_id = -1; chrome.input.ime.onFocus.addListener(function(context) { context_id = context.contextID; }); ch

我买了一本彩色电子书。我真的很喜欢它,但有一点:因为我在加拿大,它配备了这个可怕的双语键盘,有一半长度的Shift键和Enter键,另一半作为额外的反斜杠键

我对Javascript很糟糕,但通过遵循代码,我成功地用以下代码将右反斜杠重新映射到enter键:

var context_id = -1;

chrome.input.ime.onFocus.addListener(function(context) {
  context_id = context.contextID;
});

chrome.input.ime.onKeyEvent.addListener(
  function(engineID, keyData) {
    var handled = false;

    if (keyData.code == "Backslash") {
        keyData.key = "Enter";
        keyData.code = "Enter";
        chrome.input.ime.sendKeyEvents({"contextID": context_id, "keyData": [keyData]});
        handled = true;
        }

    return handled;
  })
我想同样的技巧也适用于Shift键:

    if (keyData.code == "IntlBackslash") {
    keyData.key = "ShiftLeft";
    keyData.code = "ShiftLeft";
    chrome.input.ime.sendKeyEvents({"contextID": context_id, "keyData": [keyData]});
    handled = true;
    }
不幸的是,这并不像我预期的那样有效。
IntlBackslash
键不再产生反斜杠,这是朝着正确方向迈出的一步,但它似乎也不像shift键那样起作用


请帮忙!我不想归还这个东西,但是小小的shift键使它无法使用

尝试将keyData.key更改为“Shift”或设置keyData.shiftKey:true。另外,您可以在@DanielHerr上检查键和代码值。我尝试了这两种方法,但仍然不起作用。可能在正常按键时设置.shiftKey:true。尝试将keyData.key更改为“Shift”或设置keyData.shiftKey:true。另外,您可以在@DanielHerr上检查键和代码值。我尝试了这两种方法,但仍然不起作用。