X11でキャップロックをescに恒久的に再マッピングする方法は?
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に何かが必要な場合は、両方のファイルと必要なすべてのコンテンツを表示してください(末尾に何かを追加するように指示することもできますが、&または同様のものが必要な場合は、教えてください)。