Caps LockをX11でエスケープするように再マッピングしたい(つまり、物理的なCaps Lockボタンを押すと、アプリケーションによってescとして解釈され、escの動作は変更されません)。ソリューションはXの再起動後も存続する必要があります。xmodmapとsetxkbmapは、許容できるソリューションです(同様のプログラムと同様)。ソリューションを移植可能にして、ドットファイルの一部にしたいので、GUIを扱いたくありません。より良い/より簡単な/より明白な解決策がない場合は、教えてください。ただし、DEを使用していないことに注意してください(i3wmを試してみます)。
これまでのところ、xmodmapとsetxkbmapを使用してみましたが、ほとんど成功しませんでした。
これがxmodmapを使用する私の試みです:
# ~/.xinitrc
xmodmap ~/.xmodmap
そして
# ~/.xmodmap
remove Lock = Caps_Lock
keysym Caps_Lock = Escape
$ xmodmap ~/.xmodmap
コマンドラインからの実行は機能し、私が望むことを行います。問題は、xが再起動するたびにリセットされることです。これが、xinitrcが入ることを期待する場所です-xが起動してxmodmapコマンドを実行するたびにロードされませんか?コマンドが機能する場合、ファイルから読み取ったときに何も実行されないのはなぜですか?
setxkbmapでいくつかのことを試しましたが、どちらも機能しませんでした。以下の2つの試みは、別々の時間にファイルで行われました。
# ~/.xinitrc
setxkbmap -option caps:esc # attempt 1
setxkbmap -option esc:nocaps # attempt 2
どちらのコマンドもコマンドラインから認識できることは何もしなかったので、コマンドが間違っていると想定しています。ワンライナーであり、他のファイルに何も必要としないため、このソリューションのアイデアが気に入っています。それがうまくいけば。
.xinitrcは間違ったファイルを使用していますか?startxが〜/ .xinitrcからロードしていることを知っています。
可能な解決策に、1行だけではなく(ファイルに複数行が必要な場合)ファイル全体を含めるように要求します。そのため、中間ステップを台無しにしないでください。たとえば、.xinitrcと.xcapsrebindに何かが必要な場合は、両方のファイルと必要なすべてのコンテンツを表示してください(末尾に何かを追加するように指示することもできますが、&または同様のものが必要な場合は、教えてください)。
xmodmap
ている.xinitrc
はずです。それは私がすることです。何か変わったものをマッピングして、xを起動したときに実際に実行されていることを確認しますか?また、どのウィンドウマネージャー/デスクトップ環境を使用していますか?KDEは定期的にキーボードマッピングを「修正」し、指示はありません。デスクトップの設定をチェックして、xmodmap
背後で何も実行されていないことを確認してください。
~/.xinitrc
実行されていません。私は今i3wmを使用しており、DEは使用していませんが、同じことをPantheonで試しました。私が知る限り、i3はxinitrcをいじったり、独自にロードしたりしません(ただし、私は初心者なので、何を知っていますか?)。
Option "XkbOptions" "caps:escape"
でX
例えば、キーボード設定ファイル/etc/X11/xorg.conf.d/10-keyboard.conf
.xinitrc
:setxkbmap -option caps:escape