如何重新映射键码(而不是符号)?

如何重新映射键码(而不是符号)?

使用 XKB 我可以更改 TAB 键的符号:

key  <TAB> {
    type= "ONE_LEVEL",
    symbols[Group1]= [ Overlay1_Enable ]
};

但是,Google Chrome 会检测键码23(又名<TAB>),而不管符号和制表符指向下一个元素。

TAB我需要某种方法来在按下按键时生成无害的键码(任何都可以) 。我怎样才能做到这一点?

答案1

我有一个部分解决方案。

我做了一个叠加

key  <TAB> {
    overlay2=<HYPR>
};

然后设置很少使用的暂停/中断键来触发叠加:

key <PAUS> {
    type= "PC_CONTROL_LEVEL2",
    symbols[Group1]= [           Overlay2_Enable,           Overlay2_Enable ]
};

interpret Overlay2_Enable+AnyOfOrNone(all) {
    action= LockControls(controls=Overlay2);
};

现在,按下暂停/中断键后,覆盖层会粘住,并且 TAB(键码)将永远重新映射为 HYPER(键码!)。理想情况下,我想要一个不需要按键即可初始化的解决方案。

相关内容