Escキーを押したときにCaps Lockをオフにする

Escキーを押したときにCaps Lockをオフにする

CapsLock押したときに無効にする方法はありますか?Escはい、私はVIMを使用しています!実際、代替の大文字のキーボードレイアウトがありますが、Ctrl-6面倒で押したときにOSがCapsLockを無効にすることを好みますEsc。また、数時間にわたって他のサーバーにSSHで接続することが多いため、そこではデフォルトのVIMを使用しています。

CapsLock私が偶然に鍵を交換したことに注意してくださいEsc。ただし、Escキーを押したとき(CapsLockキーボードにラベルが付いていてその横にあるAEscapeを実行するには、このキーが必要ですDisable-CapsLock-If-It-Is-Enabled

これはKubuntu 12.10にあります。ありがとうございます。

答え1

X11(コンソールではわかりません)では、Escキーの動作をオーバーライドしてこれを実行できます。私はそれがどのように機能するかを見るために「shift(break_caps)」定義を見て、それを調整しました。

見ているこの答えはxkbにあります。ローカルで変更されたファイルを配置してロードする方法/場所の詳細。

~/.xkb/symbols/mysymbols必要な操作を実行するには、ローカルシンボルファイルに次のセクションを含める必要があります(例:

partial modifier_keys
xkb_symbols "esc_breaks_caps" {
    key <ESC> {
        type = "ALPHABETIC",
        actions [Group1] = [
            SetMods(modifiers=none),
            SetMods(modifiers=Lock,clearLocks)
        ]
    };
};

ローカルキーマップファイルの行を変更します(例:;~/.xkb/keymap/mykbdを使用して作成できますsetxkbmap -print > ~/.xkb/keymap/mykbd)。xkb_symbols+mysymbols(esc_breaks_caps)

これで次のように読み込むことができxkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY 、クリックするとEscCapsLockステータスが削除されます(実際には次のように効果が発生します)。解放するEscだけだと思います。修飾子キーはすぐに適用され、他のキーは解放後に適用されます。 )

ああ、そしてEscapeキーとCapsLockキーも置き換えるには:

partial modifier_keys
xkb_symbols "esc_swap_and_breaks_caps" {
    replace key <CAPS> {
        type = "ALPHABETIC",
        symbols = [ Escape, Escape ],
        actions [Group1] = [
            SetMods(modifiers=none),
            SetMods(modifiers=Lock,clearLocks)
        ]
    };
    replace key <ESC> { [ CapsLock, CapsLock ] };
};

物理キー<CAPS><ESC>; <CAPS>CapsLockキーボードに刻まれたキー)はEscapeを送信し、<ESC>(刻まれたキーEsc)はCapsLockを送信しますが<CAPS>(Escapeを送信)はCaps Lockステータスを設定解除します。

答え2

次の行を次に追加します~/.Xmodmap

clear lock
keycode 0x42 = Escape

次に、次のコマンドを入力します。

xmodmap ~/.Xmodmap

これで、キーがCaps Lockこのキーに再マップされましたEsc

参照URL


まだ経験すべきことこれは、UbuntuでCapsLockをEscapeにマッピングする方法についての良い記事です。、これはunix.seユーザーのようです:)

答え3

これがあなたの質問に対する答えであるかどうかはわかりませんが、Esc機能をキーにマッピングするには、CapsLock次のようにします。

setxkbmap -option "caps:escape"

関連情報