it-swarm-ja.com

EscapeとCapsLockを交換する方法は?

Archlinuxを使用しています。プログラムするときは、EscapeとCapsLockを交換するのが好きです。

私はgnomeがこの仕事をすることができることを知っています。しかし、ArchlinuxのGnome3.6.2はこれを見つけることができません。

だから私はxmodmapを使用してファイルを作成します:〜/ .xmodmap

  clear Lock
  keysym Caps_Lock = Escape
  keysym Escape = Caps_Lock
  add Lock = Caps_Lock

私が走るとき:

  xmodmap ~/.xmodmap

それはうまく機能します。

しかし、xmodmap ~/.xmodmap~/.xprofileに追加しても、gnomeにログインすると自動的に機能しません。

私は何か間違ったことをしていますか?この問題を解決するにはどうすればよいですか?

5
pexeer

実行する必要のある別のデーモンとしてxmodmapを使用することは避けてください。 他のキーに触れない限り、extra/xorg-setxkbmapパッケージにあるよりシンプルでXorgアップストリームのsetxkbmapです。

GNOMEの起動時にこれを自動的に開始する方法については、 同様の質問 を参照してください。ただし、代わりにcaps:swapescapeオプションを使用してください。たとえば、startx~/.xinitrcを使用している場合は、それに以下を追加します。

setxkbmap -option caps:swapescape
4
pilona

作成する必要のあるファイルは、大文字のXが付いた~/.Xmodmapです。使用するログインマネージャー(gdm、xdmなど)に応じて、~/.Xmodmapを使用すると、これがうまくいかない場合は自動的に読み込まれます。 、あなたの質問にあるように、~/.xsessionファイルと~/.xinitrcファイルを編集し、これらの行を追加して~/.Xmodmapを強制的にロードすることができます。

 [ -f ~/.Xmodmap ] && xmodmap ~/.Xmodmap
4
Atropo

次のコマンドを.bashrcファイルに追加してみてください

xmodmap ~/.xmodmap

たとえば、.bashrcファイルに次の行を保持します

xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'

これにより、CapsLockの代わりにエスケープが追加されます。

2
Mihai Crăiță

~/.Xmodmapという名前のファイルを作成する必要があると思います(大きなXに注意してください)。 /etc/gdm/Xsessionに見られるように、gdmは~/.Xmodmapが存在する場合はそれをロードするため、~/.xprofileまたは同様のハックは必要ありません:)

2
uzsolt