Mode_switch修飾子の目的は何ですか?


29

で遊んでxmodmap聞いたことがなかった修飾キーに遭遇しました:Mode_switch。特殊文字の挿入と関係があるようです。

キーに割り当てましたが、効果がないようです。それは何のため?ISO_Level3_Shift(Alt Gr)とは違うのですか?



回答:


29

Mode_switchAltGr多くのキーボードレイアウトで呼び出されるキーの古いスタイル(XKB以前)の名前です。に似ていShiftますが、文字に対応するキーを押すと、ShiftまたはAltGrも押されると別の文字が表示されます。とは異なりShiftMod_switchX11の意味では修飾子ではありません。通常、ファンクションキーではなく文字に適用されるため、アプリケーションは必要な効果を得るために文字検索を実行するだけです。

ISO_Level3_ShiftこのキーのXKBバージョンです。一般的に言って、XKBははるかに複雑で、いくつかの特別な機能を実行できます。XKBのメカニズムはより一般的であり、どのキーがどの修飾子に影響されるかによってキーボードレイアウトを変えることができ、スティッキー(CapsLock-style)および同時押し(Shift-style)修飾子などを一般化します。


それは知っている偉大なISO_Level3_Shift:「べとべとに」行動することができ、私は長い間のためにその機能を探していたunix.stackexchange.com/questions/39014/...
vemv

@Gillesので、あるAltGrMode_switch同じキー?そうでない場合、このリンクでは、それらは同じものであるかのように聞こえます。これを少し明確にできますか?
-Utku

@Utku Mode_switchISO_Level3_Shift同じことをわずかに異なる方法で行います。私は違いを理解しているとは主張しません。ほとんどの場合、それらは重要ではありませんが、xmodmapとXKB名を混在させると、修飾子が正しく機能しない場合があることを覚えています。
ジル「SO-停止されて悪の」

@Gillesは、私はまた違いを理解していないが、私はのいずれかで終わるんだus(cz_sk_de)な特徴かどうかに応じて、いくつかのキーのカスタムxmodmapをマッピング(例えばカンマ)でAltGrあるMode_switchISO_Level3_Shiftが、同時に両方の機能を得ることができません。
パベルシメルダ16年

4
スティッキーキーはCapsLockスタイルではありません。スティッキーキーは「ラッチ」と呼ばれ、ロックキーはロックと呼ばれます。スティッキーキーは、次の非修飾キーが押された後、ロックキーが有効になるまで、再び押されるまで解放されます。
ギルデンスターン

12

この答えは、@ Gillesの答えと矛盾するものではなく、彼の答えで「照明」だと思う入力処理の別の側面を説明するものです。

ISO_Level3_Shift(Alt-Gr)と異なる結果をMode_switch同時に使用できます。いくつかの設定が必要ですが、両方を設定して、物理キーボードキーごとに6つの異なるキーを生成できます。

あなたは、例えば設定することができますTabされるようにMode_switchして開催されたときに 、その後、例えば、キーボード上の「H」というラベルの付いたキーは、次の文字/キーを生成できます。

h
H
← (Cursor)
← (Symbol)

with H
with ShiftH
with AltGrH
with AltGrShiftH
with TabH
with TabShiftH

:だから、あなたの質問に周りに戻って来てIL3SMode_switchあなたはカーソルキーと持つことができるので、異なるものを意味するように構成することができる〜200個の便利な文字に(アクセント)の言語、ボックス図面から、および技術的な文字セット35個のキーのを3文字の行。

上記を達成するには:

# 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'

うわー!私はあなただけIからのコピー&ペーストすることはもはや必要😉私の一日行われ、あなたが今、あなたの第二の最後の段落に何を意味するか見htmlarrows.comのような書き込みの事にfn: A → B
パトリックマクラーレン

これを行う通常の方法は、を使用することだと思いますISO_Level5_Shift。これにより8つのレベルが生成され、7番目のレベルはlvl3+lvl5+H&cです。
歯磨き粉

1

Mode_shiftXkbでは、グループまたはレイアウトのシフトキーです。複数のグループを含むレイアウトがある場合は、このキーを押して次のグループにアクセスできます。複数のレイアウトがある場合、このキーを押してレイアウト間を移動できます(†1)。

だから、Mode_shiftどのようなグループにあるShift(またはShift_LShift_Rのレベルにあり、キーシンボル名を使用します)。

これが(†2)Mode_shiftと呼ばれるエイリアスを持つことを考慮すると、これはより明確になるかもしれませんISO_Group_Shift。呼ばれるキーもあり ISO_Group_LatchISO_Group_Lockに対応する ISO_Level2_Latch(ラッチシフト)とShift_Lock、それぞれ、(†3)が。

さまざまなスクリプト用のエイリアスもいくつかあります。

  • kana_switch
  • Arabic_switch
  • Greek_switch
  • Hebrew_switch
  • Hangul_switch

†1:これは、Xkbの「グループ」と「レイアウト」に対する私の理解に基づいています。このようなキーで選択する限り、それらは同じように扱われるようです。

†2: リビジョンab8666661fc6のこのGitリポジトリのファイルkeysymdef.hに基づいています(「Add XF86XK_AudioPreset」、2017-05-10)。インストールでは、おそらくこのファイルがにあり ます。/usr/include/X11/keysymdef.h

†3:キーISO_Lock、汎用ロックキーの一種もあります。

AltGrキーの意味

ジルは答えでAltGr鍵との関係 について言及しました

Mode_switchAltGr多くのキーボードレイアウトで呼び出されるキーの古いスタイル(XKB以前)の名前です。

これMode_switchは、グループをシフトするために使用されるため、「AltGr」が「代替/代替グループ」を表すのではないかと疑うことになります。しかし、これは間違っていることが判明しました。キーに関するWikipediaのページにAltGrよると 、「AltGr」はIBMキーボードから来ているようで、マニュアルでは「代替グラフィックス」の略語であると述べています。キーボードを使用して「グラフィックス」(テキストユーザーインターフェイスで使用されるボックス描画文字)を描画することは、複数のスクリプト間での迅速な切り替えを適切にサポートする前に行われたようです。

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