仮想キーボード

画面上のキーボードで他言語を入力。各国の本物の配列、キーは位置で対応、デッドキーと AltGr の第3層、ハングルの音節組み立て、ローマ字入力。すべてブラウザ内で動作。

矢印キーで画面上のキーの間を移動し、Enter でそのキーを押します。Tab はキーボードから抜けます。手元のキーボードはテキストボックスに直接入力します。

物理キーは位置で対応付けられます。各キーは、選んだ配列がその位置に置く文字を入力します。OS の配列は関係ありません。キャプチャはテキストボックスにフォーカスがある間だけ有効で、Ctrl+C・Tab・矢印キーはそのまま使えます。

手元のキーボードはローマ字入力です。ka は か、kya は きゃ、tta は った になり、n は子音の前か n を二度打つと ん になります。まだ音にならない文字は、確定するまでテキストボックスの上に表示されます。画面のキーはどちらのモードでもかなのままです — かなのキートップに読み取るローマ字はありません — ので、クリックすると必ずそこに印字された音が入ります。

かなのみ:この道具はかなを漢字に変換しません。変換には数十万語の辞書が必要で、出来の悪い変換はもっともらしい誤った文を作ってしまいます。

ひとつのツールで十三言語

このキーボードは、このサイトが書かれている十三の言語を入力できます。それぞれの言語について、その言語の話者が実際に使っている配列を表示します。選定の規則は単純で、話者が最も多い国の標準配列です。ヘブライ語は SI-1452 規格、フランス語は AZERTY、ドイツ語は QWERTZ、ロシア語は ЙЦУКЕН、スペイン語はラテンアメリカ配列、ポルトガル語はブラジルの ABNT2、トルコ語は Turkish Q、日本語は JIS かな配列、韓国語は두벌식(Dubeolsik)です。切り替えリストは各配列をその言語自身の名前で表示します。自分の言語を探す読者は、どの表示言語でもその自称(エンドニム)なら見分けられるからです。

ひとつだけ、意図的に面白みのない項目があります。インドネシア語です。インドネシアには国の標準キーボード配列がなく、英語と同じ US QWERTY で入力されています。誠実な答えは、どのインドネシア人も見たことのない配列をでっち上げるのではなく、その事実をそのまま述べることです。ツールは読んでいるページの言語の配列で開き、いつでも他の配列に切り替えられます。切り替えても入力済みのテキストはそのまま残ります。

位置マッピング:自分の OS の配列は関係ない

物理キーボードで入力すると、ツールは各キーを盤面上の位置で読み取ります。OS がそのキーの文字だと考えているものは決して見ません。スペースバーの二段上、J のすぐ右にあるキー — K の位置 — は、US QWERTY では k を、ヘブライ語配列では ל を入力します。マシンにどの配列が入っていても同じです。この逆転こそが要点で、もしツールが OS の言うことを聞いたら、あなた自身の配列をこだまのように返すだけになり、インストールしていない言語を入力することは永遠にできません。

画面上のキーへのクリックと物理キーの打鍵は、まったく同じ仕組みを通ります。だから両者が「このキーは何をするか」で食い違うことはあり得ません。物理入力の間、押したキーは画面上のキーボードで光ります。慣れない配列のどこにどの文字が住んでいるかは、こうして覚えられます。かつて印刷されたキーボードシールが教えてくれたのと同じやり方です。

キャプチャは意図的に狭くしてあります。物理キーはテキストボックスにフォーカスがある間だけ読み取られ、ページの残りは通常どおり動き続けます。Ctrl+C・Ctrl+V・Ctrl+A・Ctrl+Z のようなショートカットは矢印キーや Home、End、Delete と同じくそのままブラウザへ通り抜けます。そして Tab は決して飲み込まれません。Tab を食べるツールは、キーボードでページを移動する人を閉じ込めてしまうからです。

物理キーボードに足りないことがあるのは、キーそのものです。ここに並ぶヨーロッパの配列は ISO 規格の板で、左のシフトキーと最下段の最初の文字のあいだに102番目のキーを持ち、ブラジルの ABNT2 はさらに右シフトの横に49番目のキーを加えます。米国式の ANSI キーボードにはどちらもないので、手元でいくら押しても届きません。ただし画面上のキーボードには他のキーと同じように描かれていて、クリックすれば配列がそこに置く文字がそのまま入力されます。配列の中に手の届かない文字はありません。合わない板では、そのごく一部がマウス専用になるだけです。

レイヤー:Shift、Caps Lock、AltGr、デッドキー

実物のキーボードはキーの数より多くの文字を入力しますが、それはレイヤーで実現されています。Shift を押しながら打てば Shift レイヤーが入力されます。一方、画面上の Shift をクリックすると、ちょうど一文字分だけラッチされます。これは世界中のスクリーンキーボードと同じ振る舞いです。Caps Lock は思われているより狭い働きしかしません。Shift レイヤーが本当に基底文字の大文字であるキーだけを大文字化するので、a は A になりますが、1 が ! になることは決してありません。大文字と小文字の区別がない文字体系 — ヘブライ語がそうです — では Caps Lock は何もしません。実物のヘブライ語キーボードでもそのとおりです。

ヨーロッパの配列には AltGr で届く第三のレイヤーがあり、@ や €、括弧のペアといった文字がそこに住んでいます。さらに標準の振る舞いをするデッドキーがあります。アクセント記号を押してから文字を押すと二つが合成され、デッドキーの後にスペースを押すと記号そのものが出て、アクセントが付けない文字はそのまま後ろに並びます。待機中のデッドキーは画面上のキーボードに表示されるので、二打の間の沈黙は混乱ではなく目に見えるものになります。

ヘブライ語のふたつの細部はバグに見えますが、規格そのものです。この配列は対になる区切り記号を鏡映しにします。US QWERTY で ( が出る場所で、Shift+9 は ) を入力します。規格が対応付けるのは論理的な文字であり、双方向テキストのアルゴリズムが描画時にそれを鏡映しに戻すからです。開き括弧に見えるキーは、画面でもちゃんと開き括弧を生みます。そしてヘブライ語やアラビア語を選ぶと、テキストボックス自体が右から左に切り替わります。方向は入力されるテキストのものであって、周りのページの言語のものではないからです。

日本語と韓国語は入力方式であって、単なる配列ではない

ほとんどの言語では、キーボードは表です。キーの位置ひとつに文字ひとつ。韓国語と日本語には表以上のものが要ります。韓国語の두벌식は字母(ジャモ)— 個々の子音と母音 — を入力し、入力方式が打つそばから音節ブロックに組み立てます。ㅎ、ㅏ、ㄴ の順で 한 になり、合成母音や二重終声も同じように組み上がり、終声の子音は、続く入力がそう読むのが正しいとなれば次の音節へ持ち越されます。Backspace は音節を丸ごと消すのではなく、組み立てを字母ひとつずつ巻き戻します。あらゆる韓国語入力方式がそう振る舞うからで、それ以外の挙動では打ち間違いの修正が苦行になります。

日本語にはふたつのモードがあります。既定は物理キーボードでのローマ字入力です。ka と打てば か が現れ、小さい っ や ん も標準どおりに扱われます。実際の日本語入力の大半はこの方式だからです。画面上のキーボードは JIS かな配列を表示し、各キーがひとつの音節です。本当にかな打ちをする人のために、位置ベースの JIS モードも用意されています。切り替えスイッチで出力をひらがなとカタカナの間で替えられます。

このツールが意図的にやらないのは、かなを漢字に変換することです。本物の変換には数十万語の辞書とその上のランキングモデル — つまりキーボードではなく IME — が必要で、出来の悪いものを載せるのは何も載せないより悪い。もっともらしく間違ったテキストが、気づく手立てのないまま出てくることになります。かなのみの出力であることをここに明記するのは、限界が「発見される」のではなく「理解されている」状態にするためです。

アラビア語キーボード、ヘブライ語キーボード、ロシア語キーボード — インストールは不要

この三つの言い方がここで意味を持つのは、位置による対応づけがあるからです。アラビア語の配列を選んでください。リストには配列自身の名前、العربية — 101 で並んでいます。選んだ瞬間、目の前のキーボードのすべてのキーは自分の配列ではなくその配列に対して解決されます。米国配列で L、V、P、F、H と刻印されている五つの位置をこの順に押すと、刻印が何であろうと مرحبا と入力されます。何もダウンロードされず、言語パックも追加されず、システム設定にも触れないので、切り替えを戻せば自分の配列はそのままそこにあります。

  • ベースレイヤーは文字そのもので、101 の並びです。米国配列で K と刻印されている位置は、ここでは ن を打ちます。ヘブライ語配列で ל を、US QWERTY で k を打つのと同じ位置です。キーは一つ、配列は三つ、文字は三つ、そしてそのどれもお使いの OS が決めているのではありません。
  • Shift レイヤーに住むのは大文字ではなく短母音です。アラビア語には大文字がなく、そのレイヤーが空いているからです。ファトハ、ダンマ、カスラと、その三つのタンウィーン形、スクーンとシャッダ。どれも結合文字で、前にある文字の上下に描かれ、単独では立ちません。ですから文字を先に、記号をあとに打ちます。
  • Shift レイヤーはさらに、ハムザの形 أ‎・إ‎・آ と、ハムザを伴うラーム・アリフ合字三つ — 素のものはベースレイヤーにあります — そしてアラビア語の読点、セミコロン、疑問符 ، ؛ ؟ を載せています。これらは ASCII の対応記号を反転させたものではなく独立したコードポイントなので、打った文章は英語ではなくアラビア語の流儀で句読が付きます。
  • Shift レイヤーの J の位置はタトウィール、カシーダです。音を足すのではなく二文字のつながりを伸ばすので、それを含む語は綴りを変えずに長くなります。
  • AltGr は第三のレイヤーを開きます。ヘブライ語配列にはこのレイヤーがまったくありません。数字段はアラビア数字 ١٢٣٤٥٦٧٨٩٠ を出し、ベース段は 1234567890 のままなので、二組の数字は修飾キー一つ分の距離にあります。文字段はアラビア語のキーボードがなお必要とするペルシア語とウルドゥー語の文字 — پ‎・چ‎・ژ‎・گ‎・ڤ — とアラビア語の小数点と桁区切りを出します。

この配列で不具合に見える二点は、文字そのものを正直に写した結果です。Caps Lock はアラビア語でもヘブライ語でもまったく何もしません。Shift レイヤーがベース文字の大文字になっているキーしか支配しないからで、大文字を持たない文字体系にはそんなキーが配列のどこにもないのです。またここにはデッドキーも組み立ての段階もありません。上の韓国語や日本語と違い、アラビア語のキーは押した瞬間にその文字を打つので、完成を待っているものは何もありません。ヘブライ語の SI-1452 配列とロシア語の ЙЦУКЕН 配列も同じリストから選び、まったく同じように打ちます。

すべてブラウザの中で動く

配列はページと一緒に届くデータで、打鍵はすべてローカルで処理されます。入力した内容がアップロード・保存・記録されることはありません。これは大半のツールより入力ツールでこそ重要です。人がキーボードに打ち込むものは、たいていまさに大事にしているテキストだからです。キャプチャはテキストボックスに限定されているので、ページの他の場所で押されたキーをツールが見ることはなく、タブを閉じれば何も残りません。

よくある質問

なぜ K のキーを押すと ל が入力されるのですか?
キーが OS の報告する文字ではなく、物理的な位置で対応付けられているからです。ヘブライ語配列では K の位置に ל が載っているので、それが入力されます。物理キーボードでも画面上のキーボードでも同じです。マシンに配列がインストールされていない言語を入力できるのは、この仕組みのおかげです。
その言語をパソコンにインストールしておく必要はありますか?
いいえ。ツールはキーの意味を OS に尋ねることが一切なく、選択中の配列に対して自力で各キーを解決します。マシンにどんな配列が入っていても、必要な配列がひとつもなくても、入力されるテキストは同じです。
入力中も Ctrl+C が効いたのはなぜですか?
設計どおりです。修飾キーのショートカット、矢印キー、Home、End、Delete、Tab はキャプチャされずにそのままブラウザへ渡されます。だからコピー・貼り付け・元に戻す・すべて選択という普段の編集操作はテキストボックスの中で効き続け、キーボードによるページ内の移動はその外で効き続けます。
かなを漢字に変換できますか?
いいえ、意図的にできません。漢字変換には IME — 数十万語の辞書とランキングモデル — が必要で、出来の悪い変換はもっともらしく間違ったテキストを生みます。それは何もないより悪い。ツールはひらがなとカタカナを入力し、物理キーボードではローマ字入力を使い、その限界を発見させるのではなく、ここで明言しています。
ヘブライ語で Shift+9 が閉じ括弧を入力するのはなぜですか?
SI-1452 規格がそこに置いた論理的な文字を入力しているからです。右から左のテキストが描画されるとき、双方向テキストのアルゴリズムがそれを鏡映しにするので、画面にはキートップに刻まれたとおりの括弧が見えます。これを「修正」すれば、ヘブライ語で打たれるすべての括弧が壊れます。
私のキーボードには左シフトの隣にキーがありません。それでも入力できますか。
できます。クリックしてください。ヨーロッパの配列はその位置に102番目のキーを持つ ISO 規格の板で、ブラジルの ABNT2 は右シフトの横に追加のキーを持ちます。米国式の ANSI キーボードにはどちらもありません。どちらも画面上のキーボードに描かれており、クリックすれば配列がそこに置く文字が入力されるので、お使いの板が何であれ、配列の文字が手の届かないままになることはありません。
入力した内容はサーバーに送られますか?
いいえ。キーボード全体 — 配列、マッピング、組み立て — がブラウザの中で動きます。打鍵はローカルで処理され、何もアップロードも記録もされません。キャプチャはテキストボックスにフォーカスがある間だけ働くので、ページの他の場所で押されたキーはそもそも見えません。
アラビア語キーボードなしでアラビア語を入力するには?
配列リストから العربية — 101 を選んで打ち始めてください。キーは OS が報告する文字ではなく位置でその配列に対して解決されるので、何もインストールされず自分の配列も無傷のままです。米国配列なら L、V、P、F、H の位置が مرحبا になります。画面上のキーをクリックしても通る仕組みはまったく同じなので、キーの足りないキーボードでも妨げにはなりません。
アラビア語の母音記号ハラカートはキーボードのどこにありますか?
Shift レイヤーです。アラビア語には Shift に載せる大文字がないので、そのレイヤーが空いています。米国配列で Q、E、A と刻印された位置がファトハ、ダンマ、カスラを、W、R、S がその三つのタンウィーン形を、X がスクーンを、1 の左隣のキーがシャッダを担います。いずれも結合文字なので、文字を先に、記号をあとに打てば、直前の文字に重ねて描かれます。
アラビア数字 ١ ٢ ٣ はどう入力しますか?
AltGr を押しながら数字段を使います。アラビア語配列は ١٢٣٤٥٦٧٨٩٠ を第三のレイヤーに置き、1234567890 をベース段に残すので、二組は修飾キー一つ分だけ離れていて、どちらも切り替えを必要としません。同じレイヤーにはペルシア語とウルドゥー語の文字 پ‎・چ‎・ژ‎・گ‎・ڤ とアラビア語の小数点・桁区切りも載っています。お使いのキーボードに AltGr がなければ、画面上の AltGr が同じことをし、ちょうど一打鍵だけ有効になります。

関連するツール

  • アナグラム解読

    手元に文字がいくつかあるのに何の語になるか分からないとき、あちらのページはそれをアナグラムとして読みます。足りない一文字は疑問符で代用できます。

  • 5文字単語ソルバー

    あちらのページは入力ではなく当てもののためのものです。すでに打った行を、各マスが返してきた色ごと写すと、それらすべてと矛盾しない 5 文字の単語が並びます。