为什么 setxkbmap 将键与其他键组合在一起?

为什么 setxkbmap 将键与其他键组合在一起?

我刚刚找到了手动设置撰写键的提示:

setxkbmap -option compose:caps

不幸的是,运行此命令后,多次按键就像按下了撰写键一样。例如,要获得波形符,我现在必须按Shift-~ 两次,并且我无法再弄清楚如何获得单引号或双引号 - 当我按该键两次时(没有按 Caps Lock)我得到一个´(不带Shift)或¨(带Shift)字符。

$ setxkbmap -print 
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+us(dvorak-intl)+inet(evdev)+level3(ralt_switch)+compose(caps)"  };
    xkb_geometry  { include "pc(pc105)" };
};

将撰写键设置为更流行的Right-Alt没有帮助 - 结果与以下设置相同:

$ setxkbmap -print 
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+us(dvorak-intl)+inet(evdev)+level3(ralt_switch)+compose(ralt)"  };
    xkb_geometry  { include "pc(pc105)" };
};

更奇怪的是,即使禁用了撰写键,setxkbmap -option按键仍然混乱。

在具有 GNOME 3 和类似设置的另一台机器上,它工作得很好(Caps Lock, a,a产生å,而按一下Shift-~产生~):

$ setxkbmap -print 
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+us(dvorak-alt-intl)+ch:2+inet(evdev)+compose(caps)" };
    xkb_geometry  { include "pc(pc105)" };
};

也许这是一个 LXDE 问题 - 我将在下周测试它。

答案1

事实证明问题实际上是键盘布局 -切换到英语(德沃夏克替代国际无死键)(XKBVARIANT="dvorak-alt-intl"/etc/default/keyboard)修复了它。

不幸的是我找不到办法仅为我的用户设置此项

相关内容