
コンポーズキー(マルチキーとも呼ばれる)は、コンピュータのキーボードにあるキーで、次の(通常2つ以上の)キーストロークによって、代替文字(通常はあらかじめ合成された文字または記号)が挿入されることを示します。[ 1 ]
例えば、と入力Composeしてからと入力すると、ñが挿入されます。~n
コンポーズキーはLinuxやX Window Systemを使用する他のシステムで最もよく使われていますが、 WindowsやmacOSでもそれらを実装するソフトウェアが存在します。
コンポーズ文字キー[ 2 ] [ 3 ]は、Digital Equipment Corporation (DEC)のエンジニアによって、1983年からVT220端末とともに利用可能になったLK201キーボードに導入されました。[ 4 ]このキーボードには、コンポーズシーケンスが進行中であることを示すLEDが含まれていました。[ 5 ] LK201は、英数字ブロックとテンキーの間にコマンドキーのグループと、標準となった「逆T」配列の矢印キーを導入しましたが、[ 6 ]対照的にコンポーズキーは標準にはなりませんでした。
1987年、サン・マイクロシステムズは、コンポーズキーを備えた最初の専用UnixワークステーションであるSun4をリリースしました。 [ 4 ] Sun Type 5および6ワークステーションのキーボードでは、コンポーズLEDはキーキャップに配置されています(下の写真を参照)。
ISO/IEC 9995-7では、このキーの図記号が設計されており、ISO/IEC 9995-7 では記号 15「構成文字」として、ISO 7000「機器で使用する図記号」では記号 ISO-7000-2021 として定義されています。この記号はUnicodeではU+2384 ⎄ COMPOSITION SYMBOLとしてエンコードされています。
Microsoft WindowsとmacOS はデフォルトではコンポーズ キーをサポートしていないため、最新の PC ハードウェア用に設計されたほとんどのキーボードにはこのキーは存在しません。ソフトウェアがコンポーズ キーの動作をサポートしている場合は、別のキーが使用されます。一般的な例としては、右側のWindows キー、キー、またはキーのいずれかです。[ 7 ]コンポーズ シーケンスが進行中であることを示すキーボード LED やその他の物理的なインジケーターはありませんが、OS はユーザーのテキスト入力フィールドに何らかのアイコン (下の「文字の作成」シンボルなど) を表示する場合があります。AltGrCtrl
コンポーズキーが修飾キーでもない場合、キーロールオーバーとは、後続のキー入力の前にコンポーズキーを離す必要がないことを意味します。これにより、熟練したタイピストは複合文字を素早く入力することが可能になります。
初期のコンポーズシーケンスは、手書きとオーバーストライク技術に従い、文字を先に、発音記号を後に配置していました。たとえば、 は文字ñを生成します。この順序は今でも使用されていますが、[ 8 ]、最後のタイプライターにあったアクセント記号デッドキーから知られている逆の順序が今日では使用されています。ñの場合。[ 9 ]これにより、たとえばấをタイプするなど、複数の発音記号が可能になります。Composen~Compose~nCompose'^a
アクセント記号のない文字は、一般的に、重ねて入力したり順番に並べたりすると、その文字のような文字になるような文字で構成されています。たとえば、は著作権記号©を生成し、 はÆ を生成します。ComposeocComposeAE
シーケンスの長さには本質的な制限はありませんが、記憶術と人間工学の規則、および包括的な構成ツリー内での実現可能性の両方を尊重する必要があります。たとえば、U+278C ➌ DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE は、で挿入できます。ここで、[ 10 ]は丸で囲まれた文字、[ 10 ]は反転、[ ] はサンセリフ、[ ] は最後の文字を示します。Compose@%$3@%$3

コンポーズキーの主な利点は、文字を選択するために使用するキーシーケンスを、キーボード上の任意の文字、数字、記号で構成できることです。これにより、キーシーケンスが記憶しやすくなり、不明な場合でも推測しやすくなり、より多くの文字をサポートできるようになります。
主な欠点は、入力シーケンスを行うには必ず少なくとも1回以上のキー操作が必要になることです。また、入力キーの位置が不便なため、タイピング速度が低下する可能性もあります。
キーに印字されていない文字を入力する最も一般的な方法は、AltGrなどの修飾キーを使用することです。この方法には、AltGr が各キーに対して 2 つの (Shift キーを押した状態と押していない状態) の関連付けを追加するだけであるという制限があります。追加で使用できる文字は通常、ローカル マーケットに合わせてカスタマイズされているため、ほとんどの場合、ほとんどのユーザーのニーズを満たします。たとえば、デフォルトの英国/アイルランド レイアウトでは、(AltGr+aeiou を介して)アイルランド ゲール語に必要な文字 á é í ó ú が提供されますが、スコットランド ゲール語に必要な文字 à è ì ò ù は提供されません。
デッドキーは、任意のシーケンスの最初の文字を次のキーの修飾子として扱います。つまり、そのキーが押されても、次のキーが押されるまで効果がないように見えます。(ほとんどのシステムでは、デッドキーの選択を文字選択の論理的な一部にしようとします。これはアクセント記号には理にかなっており、この概念は他の記号にも拡張されます)。たとえば、グレイブ(バッククォート)キー(`)はデッドキーであることがよくあります。à を実現するには、シーケンス+を使用します。複合シーケンスも可能です。たとえば、2 つのドット(発音記号)を追加するには、が明らかな候補のように見えますが、明らかにこの頻繁に使用されるキーをデッドキーとして再利用することはできません。解決策は、AltGr を使用してそれを変更することです。したがって、+でäが出力されます。[ a ]他の組み合わせは、コンポーズキーの対応物よりもあまり明白ではありません。たとえば、şの場合の+ +と+を比較してください(英国拡張マッピングの ChromeOS)。`a"AltGr2 aCompose,sAltGr= s
AltコードやUnicodeの数値入力は、ほぼコンポーズキーとみなせるが、セレクターとしてニーモニックではなく、直感的に理解しにくい数字を使用する。
現代のGUI文字選択ツールでは、文字を素早く見つけるために、合成シーケンスとそれほど変わらない検索機能が必要となることが多い。
X ヘッダー ファイルでは、Compose キーを「Multi_key」と呼びます。Xorg では、デフォルトの Compose キーは+です[ 11 ] (一方、の前にを押すと、「4 番目のキーボード レベル修飾キー」、つまり別のキーになります)。Gentoo Linuxでは、Compose キーはデフォルトで無効になっています[ 12 ] 。これはかなり不便なので (特に のないキーボードの場合)、右手やなどの別のキーを Compose キーにマッピングするキーボード レイアウトを選択するのが一般的です。このオプションは通常、デスクトップ環境の設定で利用できます。X キーボード ドライバでは、Compose に使用されるキーが修飾キーとしても機能することは許可されていません。最新のシステムでは、デフォルトで膨大な数の Compose シーケンスが利用可能で[ 13 ]、任意に拡張できます[ 14 ] 。⇧ ShiftAltGrAltGr⇧ ShiftAltGrCtrl⊞ Win
Microsoft Windows では、 PuTTYなどの一部のプログラムがコンポーズ キーをサポートしています。すべてのソフトウェアでコンポーズ キーをエミュレートするには、キーボード ショートカット ユーティリティがよく使用されます。また、WinCompose [ 15 ] AllChars [ 16 ] Compose-Keys [ 17 ]や Compose [ 18 ]などのオープンソースユーティリティも多数あります。KbdEdit [ 19 ]などのインストール可能なキーボード レイアウトも利用可能で、コンポーズ キーがやなどのキーに割り当てられています。これらは、複数の発音記号を持つ文字を入力する際によく使用されるデッド キー チェーン機能を使用して動作します。このようなキーボード レイアウトは、C (Windows ドライバーが記述されている言語) で直接プログラムし、無料の Windows Driver Kit [ 20 ]を使用してコンパイルし、最新バージョンの OS と互換性のある無料の Microsoft Keyboard Layout Creator 1.4 [ 21 ]を使用してパッケージ化することもできます。CtrlAltGr
Cocoaテキスト入力システムでは、macOS で多くの代替文字やアクセント付き文字をネイティブに入力できますが、[ 22 ]真のコンポーズキーソリューションは組み込まれていません。少なくとも 1 つは Karabiner ユーティリティを使用して実装されており、[ 8 ]すべてのアプリケーションで動作します。また、デッドキーチェーン機能を使用して Compose が実装されている特定のキーボードレイアウト (例: "ABC – Extended) の使用も同様です。[ 22 ]
ChromeOSにはほとんどの競合製品よりも多くのグリフが付属していますが、それらを実現するために必要なコードは、Composeコンセプトが提供するほど常に明確ではありません。Googleはこの市場で競争するためにアドオン(ComposeKey)を提供しています。[ 23 ] [ 24 ]
DOSでは、コンポーズキーのサポートは実行中のアプリケーションまたはロード可能なキーボードドライバに依存していました。たとえば、Lotus 1-2-3は+をコンポーズキーとして使用し、 Lotus International Character Set (LICS) [ 25 ]およびLotus Multi-Byte Character Set (LMBCS)の多くの特殊文字を簡単に入力できるようにしていました。AltF1
以下の表は、X.Org サーバーのデフォルト構成の一部を示しています。Unicode をサポートする最新のシステムでは、以下の表は完全なものではありません。[ 13 ]