Acer C720 に Xubuntu を入れてキーをカスタマイズした
- tags
- last modified2016-02-07
- created2016-02-07
はじめに
もう2年ほどAcer C720(海外版)にXubuntuを入れて使っているので今更だけれど、 最近Xubuntuを入れなおして設定を見なおしたのでメモ。
以前は色々設定しないと動作が怪しい部分があったと思うけれど、今現在(2016年1月)は特に設定しなくともほぼ問題無く動作する。たまにサスペンド前後で怪しい時はあるけれど。 ただChromebookがふつーあまり使わないでしょ?というキーを積極的に削っているので、その辺をなんとかしないと(xubuntuは)使いづらい。
というわけでキーをxkb使って変更したメモ。 正直ちゃんと理解出来てないけれど、自分が使う分には困らないので……。
設定内容
変更内容は次の通り。 右CTRLをオーバーレイ用のキー(以下Fn)として使用し、キートップに書いてある機能はなるべく実現する方向。ただしaの横はCTRL。
- 検索キー → 左CTRL
- 左CTRL → 左Super
- 右CTRL → Fn(オーバーレイ用)
- Fn+F1 → XF86Back
- Fn+F2 → XF86Forward
- Fn+F3 → XF86Reload
- Fn+F4 → PrintScreen
- Fn+F5 → XF86Display
- Fn+F6 → XF86MonBrightnessDown
- Fn+F7 → XF86MonBrightnessUp
- Fn+F8 → XF86AudioMute
- Fn+F9 → XF86AudioLowerVolume
- Fn+F10 → XF86AudioRaiseVolume
- Fn+[+] → Insert
- Fn+[BKSP] → Delete
- Fn+[↑] → PageUp
- Fn+[↓] → PageDown
- Fn+[←] → Home
- Fn+[→] → End
設定ファイル
xkb_keymap {
xkb_keycodes {
include "evdev+aliases(qwerty)"
};
xkb_types {
include "complete"
};
xkb_compat {
include "complete"
interpret Overlay1_Enable {
action = SetControls(controls=overlay1);
};
};
xkb_symbols {
include "pc+us+inet(evdev)"
key <LCTL> { [ Super_L ] };
modifier_map Control { <LWIN> };
key <LWIN> { [ Control_L ] };
modifier_map Mod4 { <LCTL> };
key <RCTL> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ Overlay1_Enable ]
};
key <UP> { overlay1 = <PGUP> };
key <DOWN> { overlay1 = <PGDN> };
key <LEFT> { overlay1 = <HOME> };
key <RGHT> { overlay1 = <END> };
key <BKSP> { overlay1 = <DELE> };
key <AE12> { overlay1 = <INS> };
key <FK01> { overlay1 = <I166> };
key <FK02> { overlay1 = <I167> };
key <FK03> { overlay1 = <I181> };
key <FK04> { overlay1 = <I218> };
key <FK05> { overlay1 = <I235> };
key <FK06> { overlay1 = <I232> };
key <FK07> { overlay1 = <I233> };
key <FK08> { overlay1 = <MUTE> };
key <FK09> { overlay1 = <VOL-> };
key <FK10> { overlay1 = <VOL+> };
};
xkb_geometry {
include "pc(pc105)"
};
};
上記を .config/xkb/keymap/c720 として保存して、
#!/bin/sh
xkbcomp -I$HOME/.config/xkb $HOME/.config/xkb/keymap/c720 $DISPLAY > /dev/null 2>&1
なんてスクリプトを用意し、自動開始アプリケーションとして登録で完了。