Xorg:AltGrをCapsLockキーにマップする方法(第3レベルのシンボルを切り替える)


12

私が必要としない他の多くの人と同じくらいCapsLock。の機能を持つように再割り当てしAltGrます。Kubuntu 9.10を使用していますが、ディストリビューションに依存しないソリューションが必要だと思います。

setxkbmap またはを使用しようとしましたxmodmap。使い方xmodmap少なくとも私はそれを管理するCapsLockような振る舞いにDel従うことでこの説明を

しかし、AltGr動作をに割り当てることはできませんでしたCapsLock

回答:


14

私はこの質問が古いことを知っていますが、誰かが再びそれを偶然見つけた場合、別の解決策があります:

setxkbmap -option "lv3:caps_switch"

オプションの完全なリストについては、の「オプション」セクションをお読みください

man xkeyboard-config

6

デニスの回答に基づいてと遊んによってxev、私は魔法のフレーズがあると思われることが分かりましたISO_Level3_Shift

少なくともこれは私にとってはうまくいきます:

xmodmap -e "keycode 66 = ISO_Level3_Shift"

ドイツ語のキーボードレイアウトで[、]、{、}およびcoを入力しているときに指を折る危険性はありません。

編集: xmodmapの-eオプションを使用するようになりました


ありがとう!WindowsからUbuntuに移行して以来、まさにこれを探していました。このJavaScriptがなければ、ドイツ語のキーボードは苦痛です。
gzost

1

以下のいずれかを試してください(異なる場合は、caps-lockキーのキーシムまたはキーコードを置き換えます)。

xmodmap -e "keysym 0xffe5 = Mode_switch"

または

xmodmap -e "keycode 66 = Mode_switch"

ありがとう。次の2つの理由で、行が直接機能しませんでした。1. xmodmapがファイルを必要とするため、文字列をパイプしてstdinから読み取る必要があります。2. Mode_switchは正常に割り当てられましたが、3番目のレベル修飾子になりませんでした。それから私は再びxevで遊んだ。文字列 "Mode_switch"が表示されることに気付いたとき、AltGrを押して、対応する場所で代わりに読むことができるものを見るのは簡単でした。-> ISO_Level3_Shift
cknoll

@basweber:-eオプションを忘れました。回答を編集しました。
追って通知があるまで一時停止しました。

はい。それは配管アプローチよりもずっときれいです。
cknoll

1

Longの答えは、Gnome自体がxkbを使用し、デフォルトでxmodmap構成を上書きするため(また、xmodmapは途中でウェイランドでサポートされていないため)、Gnomeのような最新のデスクトップに最適です。残念ながら、それはまだ再起動するまで動作します。

次のコマンドを使用して、Gnomeデスクトップにこのオプションを永続的に適用できます。

gsettings set org.gnome.desktop.input-sources xkb-options "['lv3:caps_switch']"

もちろん、Gnomeを使用せずに、この変更を永続的に、さらにはシステム全体で行うこともできます。Gnomeを使用する場合は、上記のコマンドを使用して、Gnomeがこの設定を上書きしないようにする必要があります。以下のためにアーチは、ファイルを追加することができ/etc/X11/xorg.conf.d/90-custom-kbd.conf、次の内容で:

Section "InputClass"
    Identifier "keyboard defaults"
    MatchIsKeyboard "on"
    Option "XKbOptions" "lv3:caps_switch"
EndSection

これはディストリビューションによって異なるため、走行距離は異なる可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.