一般的な情報
代替レイアウトでは、ほとんど使用されない少数の文字のみが必要なので、別の追加のキーボードレイアウトを保持するよりも、特定のキーボードショートカットにそれらをバインドする方が便利です。 はい、Unicode文字を使用してそれらを記述できますが、まず、文字コードを覚えておく必要があり、次に、常に機能するとは限りません(前の記事で説明)。 ComposeKeyは、印刷できない文字を入力するためのLinux上のメカニズムである救助に来ます。
どのように機能しますか?
ComposeKeyキーがあり、押すと他のキーの組み合わせのセットがあり、シンボルが表示されます。 このキーは、コンソール(たとえば、
setxkbmap -option compose:rwin
が正しいWinキーをComposeKeyに設定する)、またはグラフィカルインターフェイスから構成できます。

組み合わせはどのように利用できますか?
すべての組み合わせは、ファイル
/usr/share/X11/locale/CURRENT/Compose
で利用できます。ここで、CURRENTは現在のロケールです。 すべての組み合わせは直感的であり、主なことはそれらの構造の原理を理解することです。
そして、これはレイアウトにどのように関係しますか?
独自の組み合わせを宣言する機会があります。 たとえば、
ComposeKey +
onに
І
表示され、
ComposeKey +
にїが表示されます。 そして、覚えておくのは簡単であり、使用は追加の問題にはなりません。
まず、ドワーフの問題を解決しましょう。 彼はすべてのロケールでの互換性のためにコードにハードコードされたすべての組み合わせを持っているので、それらを変更することはできません。 しかし、標準のXwindow Input Method(XIM)でそれらをオーバーライドできます。 これを行うには、環境変数
GTK_IM_MODULE = "xim"
を設定する必要があります。 〜/ .bashrcに書き込みます(すべてのユーザーに必要な場合は、/ etc /環境に):
export GTK_IM_MODULE="xim"
組み合わせを登録するには、ソースキーの名前、キャラクター自体、必要なキャラクターのUnicodeコードを知る必要があります。
ソースキー名
悪名高いxevユーティリティが助けとなり、すべてのXイベントを表示します。 まず、ロシア語のレイアウトでいくつかのキーを押して、出力を確認します。 次のようになります。
KeyPress event, serial 35, synthetic NO, window 0x4800001,
root 0x15a, subw 0x0, time 191545195, (-229,390), root:(776,413),
state 0x2000, keycode 58 (keysym 0x6d8, Cyrillic_softsign), same_screen YES,
XLookupString gives 2 bytes: (d1 8c) ""
XmbLookupString gives 2 bytes: (d1 8c) ""
XFilterEvent returns: False
KeyRelease event, serial 35, synthetic NO, window 0x4800001,
root 0x15a, subw 0x0, time 191545265, (-229,390), root:(776,413),
state 0x2000, keycode 58 (keysym 0x6d8, Cyrillic_softsign), same_screen YES,
XLookupString gives 2 bytes: (d1 8c) ""
XFilterEvent returns: False
行
state 0x2000, keycode 58 (keysym 0x6d8, Cyrillic_softsign), same_screen YES
。この
Cyrillic_softsign
はキーの名前です。
シンボルとそのUnicodeコード
シンボル自体は、シンボルテーブルで見つけるか、どこかからコピーできます。 そのユニコードコードを見つけるには、インターネット上でユニコード文字のテーブルを見つけ、文字とそのコードを見つける必要があります。
しかし、例はどうですか?
たとえば、
ComposeKey +
表示されるように組み合わせてみましょう。 「s」キーの名前を見つけます。
xev
は、シンボルが
Cyrillic_yeru
と呼ばれると言います。 さらに、Unicodeテーブルでシンボル「i」とそのコードU0456を見つけます。 組み合わせを説明する行は次のようになります。
<Multi_key> <Cyrillic_yeru> : "i" U0456
Multi_keyはComposeKeyです。
~/.XCompose
バージョンを投稿します。
include "/usr/share/X11/locale/en_US.UTF-8/Compose"
<Multi_key> <Cyrillic_e> : "є" U0454
<Multi_key> <Cyrillic_E> : "Є" U0404
<Multi_key> <Cyrillic_yeru> : "i" U0456
<Multi_key> <Cyrillic_YERU> : "І" U0406
<Multi_key> <Cyrillic_ghe> : "ґ" U0491
<Multi_key> <Cyrillic_GHE> : "Ґ" U0490
<Multi_key> <Cyrillic_hardsign> : "ї" U0457
<Multi_key> <Cyrillic_HARDSIGN> : "Ї" U0407
PS変更後は、Xサーバーを再起動することを忘れないでください