
背景:昨日Acer Chromebookを購入してUbuntuを実行しています(私はLinuxに初めてアクセスしました)。 ChromeOS(Linuxの実行時に機能しない)に代替キーバインディングがあるため、キーボードには専用とHomeボタンはありません。End
私の質問:キーの組み合わせで両方のキーを復元できるように、Linuxの特定のキーバインディングをキー操作Homeに割り当てる方法はありますか?End
答え1
存在するxkeyboard-config-1.7-nav-keys.patch過去にXKBを使用してどのように実行されたかを説明します。 Chrome OSの最新バージョン今灰を使う。
~/.xkb/keymap
、~/.xkb/types
およびというディレクトリを作成します~/.xkb/symbols
。~/.xkb/types/chromebook
次の定義を含むファイルを作成します。
xkb_types "chromebook" {
virtual_modifiers Alt;
type "ARROW" {
modifiers = Shift+Lock+Alt+Control;
map[Shift] = Level2;
map[Lock] = Level2;
map[Alt] = Level3;
map[Alt+Shift] = Level3;
map[Alt+Lock] = Level3;
map[Control+Alt] = Level4;
map[Control+Alt+Shift] = Level4;
map[Control+Alt+Lock] = Level4;
level_name[Level1] = "Base";
level_name[Level2] = "Caps";
level_name[Level3] = "Alt";
level_name[Level4] = "ControlAlt";
};
}
~/.xkb/symbols/chromebook
次の定義を含むファイルを作成します。
xkb_symbols "chromebook" {
key <UP> {
type="ARROW",
repeat=yes,
[ Up, Up, Prior, Home ],
actions[Group1] = [
NoAction(),
NoAction(),
RedirectKey(key=<PGUP>, clearmods=Alt),
RedirectKey(key=<HOME>, clearmods=Control+Alt)
]
};
key <DOWN> {
type="ARROW",
repeat=yes,
[ Down, Down, Next, End ],
actions[Group1] = [
NoAction(),
NoAction(),
RedirectKey(key=<PGDN>, clearmods=Alt),
RedirectKey(key=<END>, clearmods=Control+Alt)
]
};
};
コマンドを実行してくださいsetxkbmap -print >~/.xkb/keymap/chromebook
。生成されたファイルを編集して+chromebook
ディレクティブにおよびを追加したら、ファイルは次のようになります。include
xkb_types
xkb_symbols
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete+chromebook" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+inet(evdev)+chromebook" };
xkb_geometry { include "pc(pc105)" };
};
次のコマンドを追加します。申請開始:
xkbcomp -I ~/.xkb -R ~/.xkb keymap/chromebook $DISPLAY
注:これはテストされておらず、XKBについてよく知らず、文書も正しく書かれていません。追いかけようとするVincent LefèvreのXKBのヒント。