私ハンガリー語キーボード端末でCtrlキーを押すと、どちらかがöüóéá
作成されます。英語のレイアウトだから、0-=;'
それぞれkitty
とgnome-terminal
。 Ctrl+はőúű
文字を生成せず、両方のエミュレータで操作を少し異なるようにするようです。キティでは、Ctrl+0 は 0 を生成し、Ctrl+í は < を生成しますが、gnome 端末では Ctrl+0 は何もしないように見え、Ctrl+í は í を生成します。
2つの関連する質問があります。
- 文字ではなく生成シーケンスが実際に何をしているのかを調べる方法は?
- この行動の説明は何ですか?私はこれらの非ASCII文字に "ctrl-i is tab"型の問題があると仮定します。
(これは明確な答えがないかもしれませんが、少し関連性がないかもしれませんが、将来的には端末がGUIソフトウェアのように「一般的に」キーストロークを処理できますか? )
ベストアンサー1
キーマップは環境(X、コンソール、アプリケーション...)によって異なりますが、取り扱いが最も簡単ではありませんが、役に立ちます。
キーマッピングはファイルで定義されます。環境では、1つを選択し、キーマップの規則に従って各キーコードの解釈を開始します。
このハンガリー語のキーマップを使用するとします(他のディストリビューションでは場所が異なる場合があり、これはDebianで動作します)。/usr/share/keymaps/i386/qwerty/hu101.kmap
zless
( , , ...) を見ると、zcat
現在見ている情報がほぼ次のようになることがわかります。
# Hungarian keymap for 101 key keyboards (iso8859-2)
...
include "linux-with-alt-and-altgr"
...
keycode 11 = +odiaeresis +Odiaeresis doubleacute
alt keycode 11 = Meta_zero
これは単に定義しますノーマルキーとAlt+キー。
それでは、Ctrl+の組み合わせはどこから来たのでしょうか?含まれているファイルとそのファイルが見つかるまで、そのファイルを確認する必要があります。
新しいキーマップを追加したり、既存のキーマップを変更したり、単に実行できます。生きる修正xmodmap
(マンページの多くの例)xmodmap
特定のコンパイルされたバージョンで動作するため、包含チェーンを直接見る必要はありません。
なぜこれが起こるのですか?まあ、キーボードをローカライズする人は通常、ハンガリー語のキーボードの場所など、誰もが同意するものだけを修正し、より一般的なキーボードから残りのÖ構成を継承しますlinux-bare-keys
。pc101
Ctrl+何を返すべきですかÖ?グローバルコンセンサスで明確な回答がない場合は同じままですが、ユーザーはカスタマイズできます。
Ctrl+ Ö、、Ü...を分音記号のないバージョンにマップする新しいキーボードを作成できます。それはそうですhungarian-ctrl-diaresisless
。誰もが利用できると思われる場合は、パッケージマネージャに提案できます。