xmodmap
で遊ぶ私は聞いたことのない修飾キーに遭遇しました: Mode_switch
。特殊文字の挿入と関係があるようです。
キーに割り当てましたが、効果がないようです。それは何のため? ISO_Level3_Shift
(Alt Gr) ?
Mode_switch
は、呼び出されるキーの古いスタイル(XKB以前)の名前です AltGr 多くのキーボードレイアウト。に似ています Shift、文字に対応するキーを押すと、次の場合に別の文字を取得します Shift または AltGr も押されます。 Shift
とは異なり、Mod_switch
は、通常はファンクションキーではなく文字に適用されるため、X11の意味での修飾子ではありません。したがって、アプリケーションは、文字ルックアップを実行するだけで目的の効果を得ることができます。
ISO_Level3_Shift
は、このキーのXKBバージョンです。一般的に言えば、XKBははるかに複雑であり、いくつかの特別な機能を実行できます。 XKBのメカニズムはより一般的です。これにより、キーボードレイアウトを変更できるため、どのキーがどの修飾子の影響を受けるか、スティッキー(CapsLock-スタイル)と同時プレス(Shift-style)修飾子など。
この回答は、@ Gillesの回答と矛盾することを意図したものではありませんが、彼の回答では「照らされていない」と感じる入力処理 xkb の別の側面を説明するためのものです。
両方を使用できますISO_Level3_Shift
(Alt-Gr)およびMode_switch
同時に異なる結果。いくつかの設定が必要ですが、両方を使用して、物理キーボードキーごとに6異なるキーを生成するために使用できます!
たとえば、構成、設定 Tab することが Mode_switch
xcape⌂ および xmodmap で保持されている場合、たとえばキーボードの「H」というラベルの付いたキーは、次の文字/キーを生成します。
h
H
← (Cursor)
← (Symbol)
┘
┐と H
と ShiftH
と AltGrH
と AltGrShiftH
と TabH
と TabShiftH
それで、あなたの質問に戻って戻るために:IL3S
およびMode_switch
は異なる意味を表すように構成できるため、カーソルキーと〜200の便利な文字を(アクセント付き)言語、ボックス描画、 3文字の行の35キーの技術的な文字セット。
上記を達成するには:
# Initial Setup
xmodmap -e 'keycode 23 = Mode_switch ISO_Left_Tab Tab ISO_Left_Tab Tab ISO_Left_Tab'
xmodmap -e 'keycode any = Tab'
xcape -e "Mode_switch=Tab"
例 H:
xmodmap -pke | grep 'h H'
# Make note of the keycode, note the 8 columns after the `=`,
# then edit and feed back into xmodmap with:
xmodmap -e 'keycode 43 = h H lowrightcorner uprightcorner Left leftarrow h H'
XkbのMode_shift
は、グループまたはレイアウトのシフトキーです。複数のグループを含むレイアウトがある場合は、このキーを押して次のグループにアクセスできます。複数のレイアウトがある場合、このキーを押したままにすると、レイアウト間を移動できます(†1)。
つまり、Mode_shift
は、 Shift (またはShift_L
およびShift_R
、keysym名を使用)はレベルです。
これは、Mode_shift
にISO_Group_Shift
(†2)というエイリアスがあると考えると、より明確になる可能性があります。 ISO_Group_Latch
およびISO_Group_Lock
というキーもあり、それぞれISO_Level2_Latch
(ラッチシフト)およびShift_Lock
に対応します(†3)。
さまざまなスクリプトのエイリアスもいくつかあります。
kana_switch
Arabic_switch
Greek_switch
Hebrew_switch
Hangul_switch
†1:これは、Xkbの「グループ」と「レイアウト」に対する私の理解に基づいています。このようなキーでそれらを選択する限り、それらは同じように扱われるようです。
†2:私はこれをファイルkeysymdef.h
の- このGitリポジトリ のリビジョンab8666661fc6(「XF86XK_AudioPresetを追加」、2017-05-10)に基づいています。インストール時に、おそらくこのファイルは/usr/include/X11/keysymdef.h
にあります。
†3:汎用ロックキーの一種であるキー ISO_Lock
もあります。
AltGr
キーの意味彼の答え で言及されたジルは、 AltGr キー:
Mode_switch
は、呼び出されるキーの古いスタイル(XKB以前)の名前です AltGr 多くのキーボードレイアウト。
Mode_switch
はグループのシフトに使用されるため、「AltGr」が「代替/代替グループ」を表す可能性があることを疑うようになりました。しかし、これは間違っていることがわかりました。 Wikipediaページの AltGr key 、「AltGr」はIBMキーボードに由来するようで、マニュアルでは「代替グラフィックス」の省略形であると記載されています。キーボードを使用して「グラフィック」(テキストユーザーインターフェイスで使用されるボックス描画文字)を描画することは、複数のスクリプト間をすばやく切り替えるための適切なサポートができる前によく行われたため、これは理にかなっています。