ujimushi(@旧sradjp(15364))の日記

旧スラドの日記の引越先です

最近のubuntuで英語キーボードのCapsLockキーをHyperキーとして利用する

方法は次の通り。

  1. TweaksのCaps Lock behaviorCaps Lock を追加のHyperにするにチェックマークを入れる
  2. ~/.config/xkb/symbols/capslockの設定ファイルを次のように作成してログインし直す
xkb_symbols "hyper" {
    key <CAPS> { [ Hyper_L ] };
    modifier_map Mod3 { <CAPS> };
    modifier_map Mod3  { <HYPR> };
    modifier_map Lock  { <LVL5> };
};

本来は「1.」の設定だけでうまくいくはずなのだが, Hyperキーが「Mod4」でSuperキーと被っているので CapsLockを入力するとSuperキーとして認識されうまくいかない。

そこで,何も使っていない「Mod3」にHyperキーを移動するのだが ここで,CapsLockだけ移動すると本家本元のHyperキーが 「Mod4」に残っててやはりSuperキーと認識されてうまくいかないので, 元のHyperキーも「Mod3」に移動する。 「LVL5」の設定はどうでもいいおまけ。

という意味だと自分自身では解釈している。

この設定も1,2年かけて調べて試行錯誤してようやく分かった内容だ。といってもHyperキーに対応しているアプリは今となってはほとんどなく, ほぼEmacsのための設定だ。

Kinesisではコントロールキーが親指側にあり, CapsLockをHyperキーとしてEmacsの独自キーバインドとして追加するとショートカットの幅が広がり,非常に重宝している。