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ステータスを設定解除します。

おすすめ記事