将“IntlBackslash”重新映射到Chrome OS中的shift键

时间:2017-04-15 03:10:03

标签: javascript google-chrome google-chrome-extension google-chrome-os

我买了一台Chromebook。我真的很喜欢它,但有一点:因为我在加拿大,它配备了这个可怕的双语键盘,有半长的Shift和Enter键,另一半是额外的反斜杠键。

我对Javascript很糟糕,但是通过跟随代码here,我已经设法使用以下代码将右反斜杠重新映射为回车键:

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键不再生成反斜杠,这是向正确方向迈出的一步,但它似乎也不像移位键那样。

请帮忙!我不想返回这个东西,但是微小的移位键使它无法使用!

0 个答案:

没有答案