xkbcompを使用したゲーム-非対称キーボードレイアウトの切り替えを構成する

キーボードレイアウトを周期的に切り替えることに対する嫌悪感をコミュニティと共有したいと思います。 周期的な方法ですか? これは、英語がロシア語、ロシア語ロシア語ウクライナ語、ウクライナ語再び英語などに続くときです。

非対称スイッチングレイアウトに慣れると、寿命はどの程度簡素化されますか。 これは、各レイアウトへの切り替えが独自の組み合わせに対応する場合です。

たとえば、英語が必要な場合は、CapsLock(非常に頻繁に必要なキーです)、ロシア語-Shift + CapsLock、ウクライナ語Ctrl + CapsLockを押します。 不快に思えますか? どんなに! 慣れると習慣を破ることができなくなります。



それでは、お気に入りのXでどのように行うのですか? これが小さなキーマップです。

  xkb_keymap {
     xkb_keycodes {include "evdev + aliases(qwerty)"};
     xkb_geometry {include "pc(pc104)"};
     xkb_compatibility {include "complete"};
     xkb_types {
         「完全」を含める
        タイプ「THREE_GROUPS」{
            修飾子= Shift + Control + Alt;
             map [なし] = Level1;
             map [Shift] = Level2;
             map [Control] = Level3;
             map [Control + Shift] = Level4;
             map [A​​lt] = Level5;
             level_name [Level1] = "Base";
             level_name [Level2] = "Shift";
             level_name [Level3] = "Ctrl";
             level_name [Level4] = "Ctrl Shift";
             level_name [Level5] = "Alt";
         };
     };
     xkb_symbols {
         include "pc + us + ru:2 + ua:3 + us(dvorak):4 + level3(menu_switch)+ inet(evdev)"
        交換キー{
            タイプ= "THREE_GROUPS"、
            アクション[Group1] = [LockGroup(グループ= 1)、LockGroup(グループ= 2)、LockGroup(グループ= 3)、LockMods(修飾子=ロック)、LockGroup(グループ= 4)]
         };
     };
 }; 


ここでの「ハイライト」は肉眼でも見ることができます。 まあもっと。 もちろん、各セクションのこの構成は、他の定義で補足することができます-これは、xkbcompに供給される単なる通常のキーマップです。



お気に入りのDEを入力するたびにこの構成が機能するようにするには、上記の構成を、たとえば/ usr / share / X11 / xkb / keymap / three_groupsに保存し、/ etc / X11 / Xsession.d / 60xkb-langに次の小さなスクリプトを記述します。

  (
 cd / usr / share / X11 / xkb / && xkbcomp keymap / three_groups $ DISPLAY&> / dev / null
 )

本当 


最後に小さなメモ。 最愛のDebianを更新するときに何度か、開発者が何かを書き直してxkbで再定義するという問題に遭遇しました。



もう一度、イライラした気持ちで更新されましたが、上、下、左、右、ホームなどのキーが機能しないことがわかりました。 キーマップがコンパイルされるとき。 しかし同時に、いわばGnomeのデフォルト設定でもうまく機能します。 デフォルト設定で起動された簡単なコマンド:

  xkbcomp $ DISPLAY-|  egrep "^ xkb_" 


含めるための望ましい組み合わせを見ることができました。 次の出力が取得されます。

  xkb_keymap {
 xkb_keycodes "evdev +エイリアス(qwerty)" {
 xkb_types "complete" {
 xkb_compatibility "complete" {
 xkb_symbols "pc + us + ru:2 + ua:3 + us(dvorak):4 + level3(menu_switch)+ inet(evdev)" {
 xkb_geometry "pc(pc104)" { 


幸福には限界がないことを覚えています! ;)



まあ、実際には、この楽観的なメモで、このメモは終了することができます。 非対称スイッチングレイアウトを試して、それに慣れる-拒否するのは難しいでしょう;)



All Articles