2

Я использую 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 ответ1

2

Потому что, когда вы запускаете 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

Кстати, если вы хотите использовать разные сочетания клавиш в разных приложениях,

Языки и текст

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .