web-dev-qa-db-ja.com

作成するためのCapsLockの再マッピング

US Dvorakをレイアウトとして使用しているにもかかわらず、時々スカンジナビア文字を使用する必要があるため、CapsLockをコンポーズキーとして使用したいと思います。 (私はCaps Lockをまったく必要としません、私はフォーラムの荒らしではありません)

これをどのように達成しますか?

Linux Mint 17をxfceで使用すると、違いが生じます。

ちなみに、私はこのPCの唯一のユーザーであり、これをシステムのデフォルトにすることを望んでいます。主にxorgですが、それほど面倒ではない場合はttyでも使用できます。

6
Jarmund

X11(クラシック)

ターミナルからプログラムxevを実行して、によって送信されたキーコードを確認します。 CapsLock キー。これは、キーを押すことに対応するKeyPress event行の3行目のkeycodeの直後の番号です。 PCでは、キーコードは66です。

ホームディレクトリに.Xmodmapというファイルを作成し、次の行を追加します

keycode 66 = Mode_switch
clear Lock

Mode_switchはX11が付けた奇妙な名前です Composeclear Lockは、CapsLockではない場合でもキーがCapsLockのように動作することがないようにするために必要です(LockはCapsLock修飾子であり、一部のアプリケーションは、修飾子の宣言とkeysymの宣言時に少し奇妙な動作をします一貫性がありません)。または、行を使用することもできます

keysym Lock = Mode_switch
clear Lock

これにより、現在Caps Lockを送信しているキーは、代わりにComposeの送信にリバウンドされます。いずれにせよ、あなたはコマンドを手配する必要があります

xmodmap ~/.Xmodmap

セッションの開始時に実行されます。これは一般的な規則ですが、配布/デスクトップ環境のすべての組み合わせが自動的に行うわけではありません。そうでない場合は、セッション開始時に実行されるコマンドのリストにコマンドを追加します(XFCE4構成エディターで、「セッションとスタートアップ」→「アプリケーションの自動開始」に移動し、そのコマンドを追加します)。

X11(XKB)

XKBはよりすっきりとしていて強力ですが、一般的にxmodmapよりも使いにくいです。標準構成には、必要なことを実行するためのプリセットがあるため、この場合は簡単です。次のコマンドを実行します。

setxkbmap -option compose:caps

セッションの開始時にこのコマンドを実行する方法については、前のセクションを参照してください。

Linuxコンソール

のキーコードを確認してください CapsLock キー。テキストコンソールで showkey を実行し、を押します CapsLock、次にshowkeyが終了するまで10秒待ちます。 PCでは、キーコードは0x3aです。コンソールのキーマップファイルに次の行を含める必要があります。

keycode 0x3a = Compose

デフォルトのコンソールキーマップファイルは、Debianでは/etc/console/boottime.kmap.gzパッケージのconsole-toolsです。 Mintの下の別のファイルである可能性があります。これは、ブートスクリプトでloadkeysが呼び出されるファイルです。必要に応じて、配布で提供されるファイルをそのままにして、上記の行でファイルを作成し、loadkeys /path/to/your/file.kmapから/etc/rc.localを実行できます。