
仮想キーボードは、物理的なキーを必要とせずに文字を入力できるソフトウェアコンポーネントです。 [ 1 ]仮想キーボードとのやり取りは主にタッチスクリーンインターフェースを介して行われますが、仮想現実や拡張現実では別の形式で行われることもあります。
デスクトップコンピュータでは、仮想キーボードは、従来のキーボードを使用できない障害のあるユーザー、異なる文字セットやアルファベットを頻繁に切り替える多言語ユーザー(時間の経過とともに混乱が生じる可能性がある)、または従来のキーボードを持たないユーザーにとって、代替の入力メカニズムを提供する可能性がある。
仮想キーボードでは、以下の機能が利用される場合があります。
ウェブブラウザにはさまざまなJavaScript仮想キーボードが作成されており、ユーザーは外国語キーボードで自分の言語を入力できます。マルチタッチスクリーンにより、タブレットコンピュータ[ 7 ]、タッチスクリーン、タッチパッド、有線グローブ[ 8 ] [ 9 ]用の仮想コードキーボードを作成できます。
仮想キーボードは、ポケットコンピュータ、携帯情報端末(PDA)、タブレットコンピュータ、タッチスクリーン搭載の携帯電話など、物理キーボードを搭載するスペースがないデバイスで、画面上の入力方法としてよく使用されます。テキストは通常、仮想キーボードをタップするか、指でなぞって入力します。[ 10 ]仮想キーボードは、コンピュータのキーボードよりもボタンが少ないシステムのエミュレーションソフトウェアにも搭載されています。

PDAにテキストを入力する主な方法は、スタイラスで操作する仮想キーボード、外部USBキーボード、手書きキーボード、ストローク認識の4つでした。Microsoftのモバイルオペレーティングシステムのアプローチは、完全に機能するキーボードをシミュレートすることでしたが、レイアウトが過負荷になりました。[ 11 ] マルチタッチ技術のサポートがないため、PDAの仮想キーボードにはユーザビリティの制約がありました。
2007年にAppleがiPhoneを発表した際、物理キーボードを搭載しなかったことは欠点と見なされた。[ 12 ]しかし、Appleはマルチタッチ技術をデバイスに導入し、PDAの使いやすさの問題を克服した。
最も一般的なモバイルオペレーティングシステムであるAndroidとiOSは、開発者コミュニティが個別にカスタム仮想キーボードを開発できる可能性を提供している。

Android SDKは「InputMethodService」を提供します。[ 13 ]このサービスは入力メソッドの標準実装を提供し、Android 開発コミュニティが独自のキーボードレイアウトを実装できるようにします。InputMethodService は Keyboard View に付属しています。[ 14 ] InputMethodService はキー入力とジェスチャー入力をカスタマイズするために使用できますが、Keyboard クラスはキーボードのXML記述を読み込み、キーの属性を保存します。[ 15 ]
その結果、Androidデバイスにはさまざまなキーボード バージョンをインストールすることが可能であり、キーボードは単なるアプリケーションであり、最もよくダウンロードされるのはGboardとSwiftKeyです。Android の設定メニューから簡単に有効化できます。[ 16 ]

AppleのiOSオペレーティングシステムではカスタムキーボードの開発が可能ですが、辞書や一般的なキーボード設定へのアクセスは許可されていません。iOSは、ユーザーがテキスト入力フィールドにテキストを入力すると、システムキーボードとカスタムキーボードを自動的に切り替えます。[ 17 ] [ 18 ]
UIInputViewController は、カスタムキーボードアプリ拡張機能のプライマリビューコントローラです。このコントローラは、カスタムキーボードのユーザーインターフェイス、補助語彙の取得、カスタムキーボードのプライマリ言語の変更など、カスタムキーボードを実装するためのさまざまなメソッドを提供します。[ 19 ]
Microsoft Windowsは、共通テキストフレームワークサービスを通じて仮想キーボードを提供します。
2000年代初頭のさまざまな科学論文では、スマートフォンが発明される以前から、ユーザーが入力している内容に基づいて単語を予測することで、入力速度の向上に役立つことが示されていました。 [ 20 ] [ 21 ]このキーボード機能の開発初期には、予測は主に静的辞書に基づいていました。Googleは2013 年に Android 4.4 で予測方法を実装しました。この開発は主にSwiftKeyやSwypeなどのサードパーティのキーボードプロバイダーによって推進されました。[ 22 ] 2014 年に Apple は、 Quick Type と呼ばれる新しい予測入力機能を搭載したiOS 8 [ 23 ]を発表しました。Quick Type では、ユーザーが入力するとキーボードの上に単語の予測が表示されます。
触覚フィードバックは、キーが正常にトリガーされたことを触覚的に確認する機能を提供します。つまり、ユーザーはキーが押されたときに「クリック」という音と感触を感じます。ヒステリシスを利用することで、物理キーの感触をさらに忠実に再現できます。この場合、仮想キーが押されると最初に「クリック」という音が聞こえ、感触がありますが、キーがトリガーされた後に指の圧力が弱まると、物理キーが元のクリックされていない状態に戻るかのような「クリック解除」の音と感覚がさらに発生します。この動作は、仮想キーボードにヒステリシス付き触覚フィードバックを初めて導入した、Aleks Oniszczak と Scott Mackenzie の 2004 年の論文「モバイルデバイスのキーパッドの 2 つの入力方法の比較」で説明されています。[ 24 ]
キーボードは様々なデジタル分野で必要とされている。スマートフォンや、仮想世界を作り出すデバイス(例えば、仮想現実や拡張現実のメガネなど)は、テキスト入力機能を提供する必要がある。
光学式仮想キーボードは、 1992 年にIBM のエンジニアによって発明され、特許を取得しました。 [ 25 ]これは、人間の手や指の動きを光学的に検出して分析し、塗装されたキーのある表面など、物理的に存在しない入力デバイス上での操作として解釈します。これにより、マウスやキーボードなど、手動操作するあらゆる種類の入力デバイスをエミュレートできます。すべての機械式入力ユニットは、現在のアプリケーションとユーザーの生理機能に合わせて最適化されたこのような仮想デバイスに置き換えることができ、手動データ入力の速度、シンプルさ、および曖昧さのない状態を維持できます。
この技術の一例として、サムスン電子が開発した携帯電話用キーボード技術「セルフィータイプ」がある。これは、前面カメラ(セルフィーカメラ)を使ってユーザーの指を追跡し、携帯電話の前のテーブルなどの表面に「見えないキーボード」を配置して文字を入力できるようにすることを意図していた。[ 26 ] [ 27 ]これは2020年のコンシューマー・エレクトロニクス・ショーで発表され[ 28 ] [ 29 ] [ 30 ]、同年中に発売される予定だったが、結局発売されなかった。
拡張現実環境における仮想キーボードの基本的な考え方は、ユーザーにテキスト入力の可能性を与えることです。一般的なアプローチは、Unity TouchScreenKeyboard などを使用して、平面キーボードを拡張現実にレンダリングすることです。Microsoft HoloLensでは 、ユーザーが頭を動かすことでキーボード上の文字を指差すことができます。[ 31 ]
別のアプローチは、2003年に韓国のKJIST U-VR Labによって研究されました。彼らの提案は、ウェアラブルを使用して指の動きを追跡し、物理的なキーボードを仮想キーボードに置き換えるというものでした。彼らはまた、キーが押されたときにユーザーに視聴覚フィードバックを与えることも試みました。基本的なアイデアは、ユーザーが慣れ親しんだ方法に基づいて、より自然な方法でテキストを入力することを可能にすることでした。[ 32 ]
Magic Leap社のMagic Leap 1は、拡張現実による仮想キーボードを実装している。[ 33 ]
拡張現実と同様に、課題は、ユーザーが完全に仮想的な環境でテキストを入力できるようにすることです。ほとんどの拡張現実システムはユーザーの手を追跡しません。そのため、利用可能なシステムの多くは、文字を指差す機能を提供しています。[ 34 ]
2016年9月、GoogleはDaydream [ 35 ]仮想現実ヘッドセット用の仮想キーボードアプリをリリースした。テキストを入力するには、ユーザーはコントローラーを使って文字を指す。[ 36 ]
2017年2月、ロジクールはキーボードを仮想環境に導入するための実験的なアプローチを発表しました。Vive TrackerとLogitech Gゲーミングキーボードは、手袋を着用せずに指の動きを追跡します。50個のキットが限定開発者に送られ、ロジクールのBRIDGE開発者キットと組み合わせて、新しいテクノロジーをテストおよび実験できるようにしました。[ 37 ] [ 38 ]
仮想キーボードは、キーストロークの記録リスクを軽減するために、場合によっては使用されることがあります。[ 39 ]例えば、Westpacのオンライン バンキング サービスでは、パスワード入力に仮想キーボードを使用しており、TreasuryDirectも同様です (図を参照)。マルウェアがディスプレイやマウスを監視して仮想キーボード経由で入力されたデータを取得することは、実際のキーストロークを監視するよりも困難です。ただし、例えば、一定間隔で、またはマウスのクリックごとにスクリーンショットを記録することによって、取得することは可能です。 [ 40 ] [ 41 ]
仮想キーボードはキーストローク推論攻撃を防ぐことができるが、テレメトリを通じてキーロガーとして機能したり、テキスト候補を通じて機密情報を漏洩したりする可能性がある。[ 42 ]
マウスのクリックで「入力」する画面上のキーボードを使用すると、ショルダーサーフィンによるパスワード漏洩のリスクが高まる可能性があります。その理由は次のとおりです。
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ) CS1 maint: 複数の名前: 著者リスト (リンク)が必要です{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ) CS1 maint: 複数の名前: 著者リスト (リンク)が必要です{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ){{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)