为什么 xterm 即使改变后仍保留键盘布局?

为什么 xterm 即使改变后仍保留键盘布局?

我使用 Dvorak 作为我的主要键盘布局,但我喜欢玩 nethack,所以我改为 qwerty 并打开 xterm:

alias nhterm="nohup >/dev/null xterm -fa \"Andale Mono\" -fs 20 -fullscreen -fg white -bg black &"

但是,一旦我改回键盘布局(xterm 仍处于打开状态),我发现 xterm 继续使用 qwerty 键盘输入,即使操作系统的其余部分再次使用 Dvorak。为什么会发生这种情况?怎么会发生?

如果重要的话,下面是我用来更改键盘布局的方法:

答案1

因为当您启动 xterm 时,它会获取您当前的键盘设置,并从键盘读取原始键 - 而不是要求操作系统进行文本输入。

不幸的是我无法给你一个绝对的答案,因为无论我的输入设置为何,我的 xterm 最终都会使用英国键盘映射(对我的美国键盘来说不好)。

我已经通过 setxkbmap 对此进行了部分诊断。

xkb_keymap {
    xkb_keycodes  { include "empty+aliases(qwerty)" };
    xkb_types     { include "complete"      };
    xkb_compat    { include "complete"      };
    xkb_symbols   { include "empty(basic)"  };
    xkb_geometry  { include "pc(pc104)"     };
};

不确定它的默认值从何而来,但我认为当它正常工作时,您只需输入类似以下内容:

setxkbmap dvorak

看:http://zuttobenkyou.wordpress.com/tag/setxkbmap/

如果可以的话,安装一些额外的东西也可能会有帮助:

sudo port install xkeyboard-config xkbcomp setxkbmap

顺便说一句,如果你确实想在不同的应用程序中使用不同的键盘映射,

语言和文本

相关内容