2

表題の通り、正しいはずの.Xmodmapを実行してもエラーが出てしまいます。

xmodmap ~/.Xmodmap

.Xmodmapは

remove Lock = Caps_Lock
Keysym Caps_Lock = Escape

という内容です。

また、出たエラーは

xmodmap:  .Xmodmap:1:  bad keysym in remove modifier list 'Caps_Lock', no corresponding keycodes
xmodmap:  .Xmodmap:2:  bad keysym target keysym 'Caps_Lock', no corresponding keycodes
xmodmap:  2 errors encountered, aborting.

となっております。

どのようにすればこのようなエラーが起きなくなるんでしょうか。
ちなみにUbuntub 17.10です

追加情報

% xmodmap -pke の結果
keycode  66 = Caps_Lock NoSymbol Caps_Lock

% setxkbmap -print の結果
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+us+inet(evdev)" };
    xkb_geometry  { include "pc(pc105)" };
};

% setxkbmap -query の結果
rules:      evdev
model:      pc105
layout:     us
user24965
  • 119
  • 2
  • 11
  • setxkbmap -option caps:swapescape を実行すると、どうなるでしょうか? –  Oct 25 '17 at 14:41
  • "keysym Caps_Lock" が現在どの keycode にも割り当てられていないように思います。 "xmodmap -pke" で確認ください。 割り当てられていないのであれば、Xorg や、Gnome などのデスクトップ環境の設定でキーを置き換えているのかもしれません。 "setxkbmap -print", "setxkbmap -query" の情報もあると何かわかるかもしれません。 – Taichi Yanagiya Oct 26 '17 at 03:20
  • setxkbmap -option caps:swapescape を実行しても置き換えられませんでした – user24965 Oct 29 '17 at 12:40

2 Answers2

1

どうやら最後に実行したxmodmapの結果、Caps_LockがどこにもなくなるとそんなKEYSYMNAMEはkeycodeに割り当てられていないよ(超訳)と怒られるようです。

remove Lock = Caps_Lock
keysym Caps_Lock = Escape Caps_Lock

とするとうまくいくかもしれません。
AskUbuntuにあった似たような質問への回答を参考にしました。

伽語蓮弥
  • 1,482
  • 1
  • 8
  • 20
0

"setxkbmap -print", "setxkbmap -query" を見ると、特に options の設定は無いので、デフォルトのままのようです。

"keycode 66 = Caps_Lock NoSymbol Caps_Lock" があるので、特に問題なさそうに見えるのですが、2回実行されているということはありませんでしょうか?
.Xmodmap ではなく、コマンドラインから以下のコマンドを一つずつ実行しても同じエラーメッセージが出ますでしょうか?

xmodmap -e 'remove lock = Caps_Lock'
xmodmap -e 'keysym Caps_Lock = Escape'
Taichi Yanagiya
  • 3,164
  • 1
  • 11
  • 6