web-dev-qa-db-ja.com

X11ソースを私の〜/ .Xkbmapにする

Capslockをctrlに再マップしたいのですが、オンラインで答えが見つかりました。

setxkbmap -option ctrl:nocaps

シェルで試してみましたが、動作します。それを永続化したいのですが、ホームディレクトリに~/.Xkbmapファイルを作成する必要があるというオンライン投稿がいくつか見つかりました。私はそれに従い、上記の構成をこのファイルに入れました。しかし、それは機能しません。再起動後も、capslockはcapslockのままです。

もう少し深く掘り下げて、/etc/X11/xinit/xinitrc.commonで、次の行を見つけました:cat $xkbmap | xkbcomp - $DISPLAY$xkbmap$HOME/.Xkbmapに設定されています)

Xkbmapがソースされていない理由はありますか?私はOpenSUSE13.2を使用しており、LXDMを使用しています。

3
Aaron Shen

私が使用したDMは、構成ファイルを調達していません。異なるdmは異なる初期化プロセスを持っているようです。それらは、ホームディレクトリの下でファイルを調達することを保証しません。

よろしければ、/ etc/X11 /のすぐ下にある構成ファイルを変更できます。キーボード設定を行うのに最も適切な場所は、どの特定のファイルかわかりません。しかし、それはいくつかのグーグル検索で簡単にできるはずです。

私の場合、i3ウィンドウマネージャーを使用しているので、i3構成ファイルで構成ファイルを直接入手します。そして、それはうまく機能しています。

2
Aaron Shen

おっしゃるように、実行されるコマンドはcat $xkbmap | xkbcomp - $DISPLAYです。

~/.Xkbmapファイルは、ソースまたは実行されるシェルスクリプトではなく、xkbcomp構成ファイルである必要があります。 xkbcompのマニュアルページに、これらのファイルの形式が示されていることを願っています。

どうやら 、ファイル~/.config/lxsession/LXDE-pi/autostartには、起動時に実行されるコマンドが含まれている可能性があり、プレフィックスは@記号です。そのファイルに@setxkbmap -option ctrl:nocapsを追加してみてください。

0