(57)【要約】  コンピュータ記憶媒体上で符号化されたコンピュータプログラムを含む、動的スペースバーを実装するための方法、システム、および装置を開示する。一態様では、方法は、タッチキーボードおよびトラックパッドを含むコンピューティングデバイスが、コンピューティングデバイスのコンテキストを判断する操作を含む。操作は、さらに、トラックパッド上のタッチ入力を受け付けることを含む。操作は、さらに、コンピューティングデバイスが、予め判断されたコンピューティングデバイスのコンテキストに基づいて、トラックパッド上のタッチ入力がタッチキーボードのスペースバーの選択であると特定することを含む。操作は、さらに、コンピューティングデバイスのディスプレイに出力するために、トラックパッド上のタッチ入力がスペースバーの選択であるとコンピューティングデバイスが特定したことに基づいて、スペースバーの選択の表示を提供することを含む。
2020506467.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実現される方法であって、
タッチキーボードおよびトラックパッドを含むコンピューティングデバイスが、前記コンピューティングデバイスのコンテキストを判断するステップと、
前記トラックパッド上のタッチ入力を受け付けるステップと、
前記コンピューティングデバイスが、前記コンピューティングデバイスの予め判断されたコンテキストに基づいて、前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定するステップと、
前記コンピューティングデバイスのディスプレイに出力するために、前記トラックパッド上の前記タッチ入力が前記スペースバーの選択であると前記コンピューティングデバイスが特定したことに基づいて、前記スペースバーの選択の表示を提供するステップとを含む、方法。
【請求項２】
前記コンピューティングデバイスのコンテキストを判断するステップは、完全な単語がカーソルの位置よりも前にあると判断するステップを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定するステップは、さらに、完全な単語が前記カーソルの前にあると判断することに基づく、請求項１に記載の方法。
【請求項３】
前記コンピューティングデバイスのコンテキストを判断するステップは、前記トラックパッド上の前記タッチ入力が、ドラッグ操作ではなく、タップ操作であると判断するステップを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定するステップは、さらに、前記トラックパッド上の前記タッチ入力が、ドラッグ操作ではなく、タップ操作であると判断することに基づく、請求項１または請求項２に記載の方法。
【請求項４】
前記コンピューティングデバイスのコンテキストを判断するステップは、前記タッチキーボードの予め定められた数のホームキーにユーザの指がタッチしていると判断するステップを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定するステップは、さらに、前記タッチキーボードの前記予め定められた数のホームキーに前記ユーザの指がタッチしていると判断することに基づく、先行する請求項のいずれか１項に記載の方法。
【請求項５】
前記コンピューティングデバイスのコンテキストを判断するステップは、前記トラックパッドの片側でユーザの手のひらが前記タッチキーボードの一部にタッチしていると判断するステップを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定するステップは、さらに、前記トラックパッドの片側で前記ユーザの手のひらが前記タッチキーボードの一部にタッチしていると判断することに基づく、先行する請求項のいずれか１項に記載の方法。
【請求項６】
前記タッチキーボードおよび前記トラックパッドは、タッチ入力装置上に示される輪郭によって識別される、先行する請求項のいずれか１項に記載の方法。
【請求項７】
前記コンピューティングデバイスの前記ディスプレイと前記タッチ入力装置とは別個である、請求項６に記載の方法。
【請求項８】
前記タッチキーボードは、前記スペースバーの画像を描画し、
前記トラックパッド上の前記タッチ入力を受け付けるステップは、前記描画されたスペースバーの画像内の位置における前記タッチ入力を受け付けないステップを含む、先行する請求項のいずれか１項に記載の方法。
【請求項９】
前記描画されたスペースバーの画像は、前記タッチキーボードの下に隣接している、請求項８に記載の方法。
【請求項１０】
前記コンピューティングデバイスのさらなるコンテキストを判断するステップと、
前記トラックパッド上のさらなるタッチ入力を受け付けるステップと、
前記コンピューティングデバイスが、前記さらなるコンテキストに基づいて、前記トラックパッド上の前記さらなるタッチ入力が前記トラックパッドの選択であると特定するステップと、
前記コンピューティングデバイスの前記ディスプレイに出力するために、前記トラックパッド上の前記さらなるタッチ入力が前記トラックパッドの選択であると前記コンピューティングデバイスが特定したことに基づいて、前記トラックパッドの選択の表示を提供するステップとを含む、先行する請求項のいずれか１項に記載の方法。
【請求項１１】
前記スペースバー上の別のタッチ入力を受け付けるステップと、
前記コンピューティングデバイスが、前記トラックパッド上の前記さらなるタッチ入力が前記トラックパッドの選択であると特定することに基づいて、前記スペースバー上の前記別のタッチ入力が前記トラックパッドの選択であると特定するステップと、
前記コンピューティングデバイスの前記ディスプレイに出力するために、前記スペースバー上の前記別のタッチ入力が前記トラックパッドの選択であると前記コンピューティングデバイスが特定したことに基づいて、前記トラックパッドの選択のさらなる表示を提供するステップとを含む、請求項１０に記載の方法。
【請求項１２】
前記コンピューティングデバイスの前記さらなるコンテキストを判断するステップは、単語の接頭語が前記カーソルの前にあると判断するステップを含み、
前記トラックパッド上の前記さらなるタッチ入力がトラックパッドの選択であると特定するステップは、さらに、単語の接頭語が前記カーソルの前にあると判断することに基づく、請求項１０または請求項１１に記載の方法。
【請求項１３】
前記トラックパッド上の前記タッチ入力を受け付けることに基づいて、かつ、前記トラックパッド上の前記タッチ入力が前記スペースバーの選択であると前記コンピューティングデバイスが特定したことに基づいて、トラックパッドジェスチャに関連する操作を行わないステップを含む、先行する請求項のいずれか１項に記載の方法。
【請求項１４】
１つ以上のコンピュータと、
命令を格納した１つ以上の記憶装置とを備え、前記命令は、前記１つ以上のコンピュータによって実行されると、前記１つ以上のコンピュータに動作を実行させるよう動作可能であり、前記動作は、
タッチキーボードおよびトラックパッドを含むコンピューティングデバイスが、前記コンピューティングデバイスのコンテキストを判断することと、
前記トラックパッド上のタッチ入力を受け付けることと、
前記コンピューティングデバイスが、前記コンピューティングデバイスの予め判断されたコンテキストに基づいて、前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定することと、
前記コンピューティングデバイスのディスプレイに出力するために、前記トラックパッド上の前記タッチ入力が前記スペースバーの選択であると前記コンピューティングデバイスが特定したことに基づいて、前記スペースバーの選択の表示を提供することとを含む、システム。
【請求項１５】
前記コンピューティングデバイスのコンテキストを判断することは、完全な単語がカーソルの位置よりも前にあると判断することを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定することは、さらに、完全な単語が前記カーソルの前にあると判断することに基づく、請求項１４に記載のシステム。
【請求項１６】
前記コンピューティングデバイスのコンテキストを判断することは、前記トラックパッド上の前記タッチ入力が、ドラッグ操作ではなく、タップ操作であると判断することを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定することは、さらに、前記トラックパッド上の前記タッチ入力が、ドラッグ操作ではなく、タップ操作であると判断することに基づく、請求項１４または請求項１５に記載のシステム。
【請求項１７】
前記コンピューティングデバイスのコンテキストを判断することは、前記タッチキーボードの予め定められた数のホームキーにユーザの指がタッチしていると判断することを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定することは、さらに、前記タッチキーボードの前記予め定められた数のホームキーに前記ユーザの指がタッチしていると判断することに基づく、請求項１４〜１６のいずれか１項に記載のシステム。
【請求項１８】
前記コンピューティングデバイスのコンテキストを判断することは、前記トラックパッドの片側でユーザの手のひらが前記タッチキーボードの一部にタッチしていると判断することを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定することは、さらに、前記トラックパッドの片側で前記ユーザの手のひらが前記タッチキーボードの一部にタッチしていると判断することに基づく、請求項１４〜１７のいずれか１項に記載のシステム。
【請求項１９】
前記タッチキーボードおよび前記トラックパッドは、タッチ入力装置上に示される輪郭によって識別される、請求項１４〜１８のいずれか１項に記載のシステム。
【請求項２０】
１つ以上のコンピュータによって実行可能な命令を含むソフトウェアを格納した非一時的なコンピュータ読み取り可能な媒体であって、前記命令は、実行されると、前記１つ以上のコンピュータに動作を実行させ、前記動作は、
タッチキーボードおよびトラックパッドを含むコンピューティングデバイスが、前記コンピューティングデバイスのコンテキストを判断することと、
前記トラックパッド上のタッチ入力を受け付けることと、
前記コンピューティングデバイスが、前記コンピューティングデバイスの予め判断されたコンテキストに基づいて、前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定することと、
前記コンピューティングデバイスのディスプレイに出力するために、前記トラックパッド上の前記タッチ入力が前記スペースバーの選択であると前記コンピューティングデバイスが特定したことに基づいて、前記スペースバーの選択の表示を提供することとを含む、コンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
分野
本明細書は、コンピュータ入力装置に関する。
【背景技術】
【０００２】
背景
ラップトップコンピュータは、ヒンジを介してキーボードに繋がれたスクリーンを備える。ユーザがキーボード上でキー入力すると、対応する文字がスクリーン上に現れる。携帯電話またはタブレット端末など、スクリーンしか備えないデバイスでは、デバイス上で実行中のアプリケーションおよび当該アプリケーションの状態によって異なるタッチキーボードをスクリーンが表示する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
概要
タッチキーボード上でキー入力する場合、キーボードを見ていないときにユーザがキーボード配列を把握できる３次元の機械式のキーをこのキーボードが含まないため、ユーザは間違いを起こしやすいだろう。タッチキーボードでは、ユーザがスペースバーを選択することを意図していても、キーボードを見ておらず、かつ、スペースバーの位置を触って感じることができないため、隣接するトラックパッド（スペースバーの真下に位置する場合もある）を選択してしまう可能性がある。このため、ユーザがスペースバーを選択したと思っているのにもかかわらず、単語の終わりにいるときにカーソルが前進しないため、ユーザは困惑してしまうだろう。トラックパッドを選択したことによってカーソルがスクリーン上のどこかに移動してしまっていた場合、ユーザは、カーソルの位置を正しい位置に直さなければならないだろう。
【課題を解決するための手段】
【０００４】
この問題を解決するために、タッチキーボードを有するコンピューティングデバイスは、スペースバーの真下に位置するトラックパッドの一部を含むようにスペースバー有効領域のサイズを動的に調整してもよい。コンピューティングデバイスは、コンピューティングデバイスのコンテキストに基づいてスペースバー有効領域のサイズを調整してもよい。たとえば、ユーザがキー入力中であり、かつ、完全な単語の末尾にいる場合、コンピューティングデバイスは、スペースバー有効領域のサイズを拡大してもよい。この場合、ユーザは、トラックパッドよりもスペースバーを選択する可能性が高くなる。同様に、ユーザがキー入力中であり、かつ、現在の単語が不完全である場合、コンピューティングデバイスは、スペースバー有効領域のサイズを、スペースバーを超えて拡大しなくてもよい。この場合、ユーザは、現在の単語が完全である場合よりもスペースバーを選択する可能性が低くなる。
【０００５】
本願に記載の発明の主題の革新的な態様によると、動的スペースバーを実装するための方法は、タッチスクリーンキーボードおよびトラックパッドを含むコンピューティングデバイスが、コンピューティングデバイスのコンテキストを判断する動作と、トラックパッド上のタッチ入力を受け付ける動作と、コンピューティングデバイスが、コンピューティングデバイスの予め判断されたコンテキストに基づいて、トラックパッド上のタッチ入力がタッチスクリーンキーボードのスペースバーの選択であると特定する動作と、コンピューティングデバイスのディスプレイに出力するために、トラックパッド上のタッチ入力がスペースバーの選択であるとコンピューティングデバイスが特定したことに基づいて、スペースバーの選択の表示を提供する動作とを含む。
【０００６】
これらのおよびその他の実装形態は、各々、必要に応じて、下記の特徴のうちの１つ以上を含み得る。コンピューティングデバイスのコンテキストを判断する動作は、完全な単語がカーソルの位置よりも前にあると判断することを含む。トラックパッド上のタッチ入力がタッチスクリーンキーボードのスペースバーの選択であると特定する動作は、さらに、完全な単語がカーソルの前にあると判断することに基づく。コンピューティングデバイスのコンテキストを判断する動作は、トラックパッド上のタッチ入力が、ドラッグ操作ではなく、タップ操作であると判断することを含む。トラックパッド上のタッチ入力がタッチスクリーンキーボードのスペースバーの選択であると特定する動作は、さらに、トラックパッド上のタッチ入力が、ドラッグ操作ではなく、タップ操作であると判断することに基づく。コンピューティングデバイスのコンテキストを判断する動作は、タッチスクリーンキーボードの予め定められた数のホームキーにユーザの指がタッチしていると判断することを含む。トラックパッド上のタッチ入力がタッチスクリーンキーボードのスペースバーの選択であると特定する動作は、さらに、タッチスクリーンキーボードの予め定められた数のホームキーにユーザの指がタッチしていると判断することに基づく。
【０００７】
コンピューティングデバイスのコンテキストを判断する動作は、トラックパッドの片側でユーザの手のひらがタッチスクリーンキーボードの一部にタッチしていると判断することを含む。トラックパッド上のタッチ入力がタッチスクリーンキーボードのスペースバーの選択であると特定する動作は、さらに、トラックパッドの片側でユーザの手のひらがタッチスクリーンキーボードの一部にタッチしていると判断することに基づく。タッチスクリーンキーボードおよびトラックパッドは、タッチ入力装置上に示される輪郭によって識別される。コンピューティングデバイスのディスプレイとタッチ入力装置とは別個である。タッチスクリーンキーボードは、スペースバーの画像を描画する。トラックパッド上のタッチ入力を受け付ける動作は、描画されたスペースバーの画像内の位置におけるタッチ入力を受け付けないことを含む。描画されたスペースバーの画像は、描画されたスペースバーの画像の下に隣接している。動作は、コンピューティングデバイスのさらなるコンテキストを判断する動作と、トラックパッド上のさらなるタッチ入力を受け付ける動作と、コンピューティングデバイスが、さらなるコンテキストに基づいて、トラックパッド上のさらなるタッチ入力がトラックパッドの選択であると特定する動作と、コンピューティングデバイスのディスプレイに出力するために、トラックパッド上のさらなるタッチ入力がトラックパッドの選択であるとコンピューティングデバイスが特定したことに基づいて、トラックパッドの選択の表示を提供する動作をさらに含む。
【０００８】
動作は、スペースバー上の別のタッチ入力を受け付ける動作と、コンピューティングデバイスが、トラックパッド上のさらなるタッチ入力がトラックパッドの選択であると特定することに基づいて、スペースバー上の別のタッチ入力がトラックパッドの選択であると特定する動作と、コンピューティングデバイスのディスプレイに出力するために、スペースバー上の別のタッチ入力がトラックパッドの選択であるとコンピューティングデバイスが特定したことに基づいて、トラックパッドの選択のさらなる表示を提供する動作とをさらに含む。コンピューティングデバイスのコンテキストを判断する動作は、単語の接頭語がカーソルの前にあると判断することを含む。トラックパッド上のさらなるタッチ入力がトラックパッドの選択であると特定する動作は、さらに、単語の接頭語がカーソルの前にあると判断することに基づく。動作は、トラックパッド上のタッチ入力を受け付けることに基づいて、かつ、トラックパッド上のタッチ入力がスペースバーの選択であるとコンピューティングデバイスが特定したことに基づいて、タッチスクリーンジェスチャに関連する操作を行わない動作をさらに含む。
【０００９】
この態様のその他の実装形態は、方法に含まれるこれらの動作を実行するように各々が構成された対応するシステム、装置、およびコンピュータ記憶装置上に記録されたコンピュータプログラムを含む。
【００１０】
本願に記載の発明の主題は、下記の利点のうちの１つ以上を有してもよい。コンピューティングデバイスは、意図しないユーザ入力をユーザが提供する可能性が低くなるよう、ユーザがスペースバーを選択する可能性が高いと判断することに応答してスペースバーに対応する有効領域を動的に調整する。動的キーボードは、タッチ面上に位置していてもよく、これによって、キーボードを薄型化することができる。タッチキーボードによって機械コンポーネントの必要性が少なくなり、費用を抑えてデバイスを製造でき、かつ、キーボードが故障しにくくなる。
【００１１】
本明細書に記載の発明の主題の１つ以上の実装形態の詳細を、添付の図面および以下の説明に記載する。発明の主題のその他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１２】
【図１】動的スペースバーを有するコンピューティングデバイスの例を示す図である。
【図２】動的スペースバーを有するコンピューティングデバイスの例を示す図である。
【図３】動的スペースバーを実装するためのシステム例を示す図である。
【図４】動的スペースバーを実装するための処理例を示す図である。
【図５】コンピューティングデバイスおよびモバイルコンピューティングデバイスの例を示す図である。
【発明を実施するための形態】
【００１３】
図面の全体にわたって、同じ参照番号は、対応する部分を表す。
詳細な説明
図１は、動的スペースバーを有する例示的なコンピューティングデバイス１０５を示す図である。簡潔に言うと、以下により詳細を説明するが、コンピューティングデバイス１０５は、コンピューティングデバイス１０５のコンテキストを用いて、スペースバーの近くで行われるタッチ入力が、スペースバーの選択であるか、またはトラックパッドの選択であるかを判断する。
【００１４】
図１に示すように、システム１００は、コンピューティングデバイス１０５のインスタンスを２つ含む。コンピューティングデバイス１０５ａおよび１０５ｂは、「ｔｈｅ  ｑｕｉｃｋ  ｂｒｏｗｎ  ｆｏｘ  ｊｕｍｐｅｄ  ｏｖｅｒ  ｔｈｅ  ｌａｚｙ  ｄｏｇ」という文をユーザがキー入力している様子を示している。コンピューティングデバイス１０５ａは、ユーザが単語「ｏｖｅｒ」をキー入力している途中のコンピューティングデバイス１０５を示している。コンピューティングデバイス１０５ｂは、ユーザが単語「ｏｖｅｒ」をキー入力し終えたコンピューティングデバイス１０５を示している。
【００１５】
コンピューティングデバイス１０５は、ヒンジ式デバイスであり、ヒンジ１１５の一方側にスクリーン１１０を備え、ヒンジ１１５の他方側にキーボード１２０とトラックパッド１２５とを備える。ヒンジ１１５は、閉じられたときにスクリーン１１０がキーボード１２０に面するよう、または、スクリーン１１０およびキーボード１２５が外に向くよう、３６０度回転するように構成されてもよい。上下に移動し、ユーザがキーを押下したときに有効になる機械式のキーの代わりに、キーボード１２０およびトラックパッド１２５がタッチ面上にあってもよい。タッチ面は、抵抗型タッチ面であってもよく、静電容量型タッチ面であってもよい。単語「ｆｏｘ」をキー入力するために、ユーザは、文字「ｆ」、「ｏ」、および「ｘ」に対応するタッチ面の領域を押す。
【００１６】
いくつかの実装形態では、キーボード１２０のキーおよびトラックパッド１２５の位置は、タッチ面上にペイントまたはプリントされてもよい。この例では、キーボード１２０のレイアウトおよびトラックパッド１２５は、ユーザがコンピューティングデバイス１０５とやり取りをするとき、またはコンピューティングデバイス１０５を折りたたむときに、変化しなくてもよい。ペイントされたキーボード１２０およびトラックパッド１２５は、コンピューティングデバイス１０５の電源が切れても見えたままである。いくつかの実装形態では、キーボード１２０のキーおよびトラックパッド１２５の位置は、表示装置を用いてタッチ面上に表示されてもよい。たとえば、タッチ面は、キーボード１２０のキーおよびトラックパッド１２５の位置を表示するためのＬＣＤディスプレイを含むタッチスクリーンであってもよい。この例では、電源が入ったときにキーボード１２０のキーおよびトラックパッド１２５の位置が現れてもよい。いくつかの実装形態では、キーボード１２０のキーおよびトラックパッド１２５の位置は、ヒンジ１１５の角度が特定の範囲内である場合のみ現れてもよい。スクリーン１１０がキーボード１２０に面したときのヒンジの角度が０度であった場合、スクリーン１１０およびキーボード１２５が外側に面したときのヒンジの角度が３６０度であった場合、たとえば、ヒンジ１１５が１０度と２７０度との間であった場合にのみキーボード１２０のキーおよびトラックパッド１２５の位置が現れてもよい。このように、コンピューティングデバイス１０５は、コンピューティングデバイス１０５が閉じられておらず、かつ、「タブレット」モードでない場合にのみキーを提示してもよい。
【００１７】
キーボード１２０が機械コンポーネントを含まないので、キーボード１２０とトラックパッド１２５とを含むコンピューティングデバイス１０５の部分は、他のラップトップコンピュータよりも薄くてもよい。これに加えて、機械コンポーネントを排除したことによってキーボード１２０の機械故障が生じる可能性がなくなったので掃除が簡単になったり、耐水性が向上したりし得る。タッチ面が表示装置を備える場合、キーボード１２０のレイアウトを簡単に変更することができるだろう。たとえば、コンピューティングデバイス１０５は、キーボード１２０のレイアウトを異なる言語用レイアウトに変更したり、その他のデザインを表示させるようディスプレイを変更したりしてもよい。
【００１８】
キーボード１２０が平坦なタッチ面であることによる別の結果として、ユーザの指がどのキーの上に位置しているのかまたは接触しているのかを、ユーザがキーボード１２０を見ないで判断することができない可能性がある。いくつかの実装形態では、キーボード１２０は、ユーザが手をキーボード１２０の上に置いたときに正しい位置に手を置くことができるようにする１つ以上の隆起した要素をキーボード１２０上に含んでもよい。これに加えて、コンピューティングデバイス１２０は、キーボード１２０のキーのサイズまたはトラックパッド１２５のサイズを、異なるコンテキストに応じて調整できてもよい。この例では、キーボード１２０の見た目は同じであってもよい。代わりに、選択されると、スペースバー１３０の選択に相当するまたはスペースバー１３０の選択をもたらすスペースバー１３０の領域のサイズが拡大したり縮小したりしてもよい。同様に、コンピューティングデバイス１０５は、デバイスのコンテキストに基づいてその他のキーまたはトラックパッド１２５の有効領域を調整してもよい。
【００１９】
コンピューティングデバイス１０５ａに図示した例では、ユーザの手１３５ａは、キーボード１２０ａの上に置かれている。ユーザの指１４０ａは、左手については、「ａ  ｓ  ｄ  ｆ」、右手については「ｊ  ｋ  ｌ  ；」などのホームキー１４５ａの上に置かれている。本明細書では、「指」は、人差し指、中指、薬指、および小指をまとめて指し、親指は含まれない。ユーザの親指１５０ａは、スペースバー１３０の上に置かれていてもよい。ユーザの手のひら１５５ａは、パームレスト１６０ａの上に置かれていてもよい。
【００２０】
コンピューティングデバイス１０５ａは、文書処理アプリケーションまたは電子メールアプリケーションなど、テキスト入力アプリケーションを実行中である。テキスト入力アプリケーションは、フォアグラウンドで実行中であり、テキスト入力アプリケーションがスクリーン１１０ａ上に現れている。システムアプリケーション、および、ブラウザ、写真エディタ、動画エディタ、またはその他の同様のアプリケーションなどその他のユーザアプリケーションなど、その他のアプリケーションがバックグラウンドで実行中であってもよい。コンピューティングデバイス１０５ａ上で、ユーザは、テキスト１６５ａ「ｔｈｅ  ｑｕｉｃｋ  ｂｒｏｗｎ  ｆｏｘ  ｊｕｍｐｅｄ  ｏｖ」をキー入力し終えている。コンピューティングデバイス１０５ａは、コンピューティングデバイス１０５ａのコンテキストを判断する。コンテキストは、スクリーン１１０ａ上のテキスト１６５ａの一部に基づき得る。
【００２１】
コンテキストは、「ｏｖ」など不完全な単語の終わりにカーソルが位置していることであってもよい。この例では、ユーザがキー入力中であり、かつ、カーソルが不完全な単語の終わりに位置しているので、ユーザがスペースバー１３０ａを押す可能性がない。コンテキストは、ユーザの指１４０ａの位置に基づいてもよい。ユーザの指１４０ａがホームキー１４５ａの上に置かれているので、ユーザは、キー入力ポジションにある可能性があるので、スペースバー１３０ａを押す可能性が高い。コンテキストは、ユーザの手のひら１５５ａの位置に基づいてもよい。ユーザの手のひら１５５ａがパームレスト１６０ａの上に位置しているので、ユーザは、キー入力ポジションにある可能性があるので、タッチパッドとやり取りを行うよりもスペースバー１３０ａを押す可能性が高い。
【００２２】
コンピューティングデバイス１０５ａは、これら上述したコンテキストの各々を重み付けして全体的なコンテキストを判断してもよい。この例では、コンピューティングデバイス１０５ａは、スクリーン上のテキストおよびカーソルの位置に、ユーザの手のひら１５５ａの位置および／またはユーザの指１４０ａの位置よりも重い重み付けをしてもよい。いくつかの実装形態では、キーボード１２０ａがタッチ入力装置であるので、ユーザは、パームレスト１６０ａなど、入力装置の有効領域上にしか手のひら１５５ａを置くことができない。この場合、コンピューティングデバイス１０５ａは、ユーザの指１４０ａの位置を判断できない可能性がある。いくつかの実装形態では、タッチ入力装置は、様々なタッチの圧力を検出できてもよい。この例では、ユーザは、キーを有効にしないで指１４０ａをホームキー１４５ａの上に置くことができてもよい。ユーザは、キーを有効にするために圧力を上げることができてもよい。いくつかの実装形態では、タッチ入力装置は、指、手のひら、またはその他の手の部位の存在を検出できてもよい。この例では、ユーザは、タッチ入力装置を直接タッチしなくてもよく、代わりに、タッチ入力装置がユーザの存在を検出できるタッチ入力装置の閾値距離内にいてもよい。いくつかの実装形態では、タッチによって実現される機能のいずれも、存在によって実現されてもよい。
【００２３】
ユーザがキー入力しており、かつ、単語の途中であることにコンピューティングデバイス１０５ａのコンテキストが関連していることに基づいて、コンピューティングデバイス１０５ａは、タッチ入力装置上に輪郭が描かれたスペースバー１３０ａのサイズおよび形状にスペースバー有効領域１７０ａを維持する。この例では、スペースを入力するために、ユーザは、スペースバー１３０ａによって輪郭が描かれた領域内のタッチ面に接触することによって、スペースバー１３０ａを選択する。ユーザが、トラックパッド１２５ａなど、スペースバー１３０ａの外側の領域でタッチ面に接触した場合、コンピューティングデバイス１０５ａは、この入力を、トラックパッド１２５ａの入力と解釈する。
【００２４】
コンピューティングデバイス１０５ｂは、ユーザが単語「ｏｖｅｒ」をキー入力し終えた後のコンピューティングデバイス１０５ｂを示している。この例では、ユーザがキー入力中であり、かつ、カーソルが完全な単語の終わりに位置しているので、ユーザがスペースバー１３０ｂを押す可能性がある。コンテキストは、ユーザの指１４０ｂの位置に基づいてもよい。ユーザの指１４０ｂがホームキー１４５ｂの上に置かれているので、ユーザは、キー入力ポジションにある可能性があるので、ユーザの指１４０ｂがホームキーの上に置かれていない場合よりも、スペースバー１３０ｂを押す可能性が高い。コンテキストは、ユーザの手のひら１５５ｂの位置に基づいてもよい。ユーザの手のひら１５５ｂがパームレスト１６０ｂの上に位置しているので、ユーザは、キー入力ポジションにある可能性があるので、スペースバー１３０ｂを押す可能性が高い。
【００２５】
コンピューティングデバイス１０５ｂは、これら判断されたコンテキストの各々を異なるように重み付けして全体的なコンテキストを判断してもよい。この例では、コンピューティングデバイス１０５ｂは、スクリーン上のテキストおよびカーソルの位置をユーザの手のひら１５５ｂの位置および／またはユーザの指１４０ｂの位置よりも重く、軽く、または同じに重み付けしてもよい。ユーザがキー入力しており、かつ、単語の終わりにいることにコンピューティングデバイス１０５ｂのコンテキストが関連していることに基づいて、コンピューティングデバイス１０５ｂは、スペースバー有効領域１７０ｂを、タッチ入力装置上に輪郭が描かれたスペースバー１３０ｂのサイズおよび形状よりも大きくする。この例では、スペースを入力するために、ユーザは、スペースバー１３０ａおよびトラックパッド１２５ｂの一部を含む有効領域１７０ｂによって輪郭が描かれた領域を選択する。ユーザが、有効領域１７０ｂ下のトラックパッド１２５ａの一部など、有効領域１７０ｂの外側の領域を選択した場合、コンピューティングデバイス１０５ｂは、入力がトラックパッド１２５ｂの入力（たとえば、マウスカーソルを移動するまたはマウスカーソル「クリック」を提供することによる）であると解釈する。
【００２６】
図２は、動的スペースバーを有する例示的なコンピューティングデバイス２０５を示す図である。簡潔に言うと、以下により詳細を説明するが、コンピューティングデバイス２０５は、コンピューティングデバイス２０５のコンテキストを用いて、スペースバーの近くで行われるタッチ入力がスペースバーの選択であるか、またはトラックパッドの選択であるかを判断する。
【００２７】
コンピューティングデバイス２０５の構成は、コンピューティングデバイス１０５と同様である。スクリーン２１０は、キーボード２２０とトラックパッド２２５とを備えるタッチ入力装置にヒンジ式で連結されている。スペースバー有効領域２７０は、動的な領域であり、コンピューティングデバイスのコンテキストとともに変化する。たとえば、コンテキストがカーソルの前に不完全な単語を含む場合、スペースバー有効領域２７０は、トラックパッド２２５の一部を含む。コンテキストがカーソルの前に完全な単語を含む場合、スペースバー有効領域２７０は、スペースバーのみを含む。
【００２８】
コンピューティングデバイス２０５ａは、ユーザが完全または不完全な単語「ｊｕｍｐ」をキー入力した後のコンピューティングデバイス２０５ａを示している。「Ｊｕｍｐ」には「ｅｄ」などの接尾語が続いている可能性があり、「ｊｕｍｐ」が完全である可能性もある。この例では、コンピューティングデバイス２０５ａは、カーソルの前の単語の完全性だけでなく、それ以上のことに基づいて、トラックパッド２２５の一部を含むようにスペースバー有効領域１７０ａを調整してもよい。コンテキストを判断するためのさらなる判断要素は、ユーザの指２４０ａがホームキー２４５ａ上（または、その判断された距離内）に位置していること、および／またはユーザの手のひら２５５ａがパームレスト２６０ａ上に位置していることに基づいてもよい。「ｊｕｍｐ」が完全であるか不完全であるかが不確定であることと組み合わせてこれらの要素の一方または両方を使用して、コンピューティングデバイス２０５ａは、ユーザがトラックパッド２２５ａの代わりにスペースバー２３０ａを選択する可能性が高いと判断する。したがって、コンピューティングデバイス２０５ａは、トラックパッド２２５ａの上部を含むようにスペースバー有効領域２７０ａを拡張してもよい。
【００２９】
拡張されたスペースバー有効領域２７０ａでは、ユーザは、トラックパッド２２５ａの上部を選択してもよく、コンピューティングデバイス２０５ａは、この選択をスペースバー２３０ａの選択であると解釈する。この例では、ユーザの親指２５０ａが、トラックパッド２２５ａの下部を選択する。トラックパッド２２５ａの選択が拡張されたスペースバー有効領域２７０ａよりも下で行われたため、コンピューティングデバイス２０５ａは、この選択をトラックパッド２２５ａの選択であると解釈する。スペースバー有効領域２７０のサイズを判断するために用いられる要素の１つは、最近の入力がトラックパッド２２５ａへの入力であったかどうかであってもよい。このように、トラックパッド２２５のユーザ選択の後、コンピューティングデバイス２０５は、トラックパッド２２５ａのユーザ選択の前のスペースバー有効領域２７０のサイズに対してスペースバー有効領域２７０のサイズを縮小してもよい。
【００３０】
コンピューティングデバイス２０５ｂは、ユーザが不完全な単語「ｔｈ」をキー入力した後のコンピューティングデバイス２０５ｂを示している。コンピューティングデバイス２０５ｂは、ユーザが「ｔｈ」など不完全な単語の途中にいる間にスペースバー２３０ｂを選択する可能性が少なくなることに基づいて、スペースバー２３０ｂのみを含むようにスペースバー有効領域２７０ａを調整してもよい。コンテキストを判断するためのさらなる要素は、ユーザの指２４０ｂがホームキー２４５ｂ上に位置していること、および／またはユーザの手のひら２５５ｂがパームレスト２６０ｂ上に位置していることに基づいてもよい。最近のユーザ入力が不完全な単語「ｔｈ」を提供したという判断と組み合わせてこれらの要素の一方または両方を使用して、コンピューティングデバイス２０５ｂは、スペースバー２３０ｂおよびトラックパッド２２５ｂを含むキーボード２２０ｂの一部をユーザが選択した場合、ユーザがトラックパッド２２５ｂを選択するつもりである可能性が高いと判断してもよい。したがって、コンピューティングデバイス２０５ｂは、スペースバー２３０ｂのみを含むようにスペースバー有効領域２７０ｂを設定してもよい（または、スペースバー２３０ｂを表すプリントされたまたは仮想グラフィックスによって示される領域よりも小さい）。
【００３１】
スペースバー有効領域２７０ｂがスペースバー２３０ｂのみを含んでいる場合、ユーザは、トラックパッド２２５ｂの上部を選択してもよく、コンピューティングデバイス２０５ｂは、この選択をトラックパッド２２５ａの選択であると解釈する。この例では、ユーザの親指２５０ｂは、トラックパッド２２５ｂの上部を選択する。トラックパッド２２５ｂの上部は、コンテキストによっては、スペースバー有効領域２７０ｂに含まれ得る。この選択はトラックパッド２２５ｂの領域内であり、スペースバー有効領域２７０ｂはスペースバー２３０ｂしか含まないので、コンピューティングデバイス２０５ｂは、この選択をトラックパッド２２５ｂの選択と解釈する。
【００３２】
図３は、動的スペースバーを実装するための例示的なシステム３００を示す図である。システム３００は、動的スペースバーを有するシステムの様々な構成要素を示している。たとえば、システム３００は、図１のコンピューティングデバイス１０５または図２のコンピューティングデバイス２０５と同様であってもよい。いくつかの実装形態では、システム３００は、携帯電話、タブレット、または同様のデバイスなど、タッチスクリーン入力装置を有する任意のデバイスであってもよい。
【００３３】
システム３００は、タッチ検出部３０５を含む。タッチ検出部３０５は、タッチ入力装置によって受け付けられたタッチの位置および圧力を検出するように構成される。タッチ入力装置は、静電容量型タッチデバイスであってもよく、抵抗型タッチデバイスであってもよい。タッチ検出部３０５は、タッチイベントごとに、起点と終点とを出力する。これに加えて、タッチ検出部３０５は、タッチイベントの各位置におけるタッチの圧力を出力する。ユーザがスクリーンの異なる位置を同時にタッチした場合、タッチ検出部３０５は、位置ごとのタッチデータを出力してもよい。たとえば、ユーザは、タッチ入力装置のある位置をタッチし、指を別の位置にドラッグし、タッチ入力装置から指を離してもよい。この例では、タッチ検出部３０５は、ユーザの指の進路を示すデータ、および進路に沿ったタッチの圧力を示すデータを出力する。手のひらなど、タッチが指よりも大きい可能性がある場合、タッチ検出部３０５は、ユーザがタッチ入力装置に接触する領域、およびこの領域内の各位置の圧力を出力してもよい。
【００３４】
タッチ検出部は、タッチデータをタッチインタプリタ３１０に提供する。タッチインタプリタ３１０は、このタッチデータを解釈し、ユーザインタフェース生成部３１５が表示のために出力する操作を判断する。タッチインタプリタ３１０は、いくつかのモジュールからデータを受け付け、これらのモジュールからのデータを用いてタッチデータの解釈を向上させる。
【００３５】
また、タッチインタプリタ３１０は、指位置特定部３２０および手のひら位置特定部３２５を利用して、受け付けたタッチデータに基づいて指、親指、および手のひらの位置を判断する。たとえば、タッチ検出部３０５は、タッチの位置の座標、対応する圧力、およびタッチのサイズを提供してもよい。指位置特定部３２０は、位置、圧力、およびサイズを、様々なタッチ範囲および閾値と比較して、タッチが指であったかどうか、または親指であったかどうかを判断してもよい。同様に、手のひら位置特定部３２５は、位置、圧力、およびサイズを様々なタッチ範囲および閾値と比較して、タッチが手のひらであったかどうかを判断してもよい。いくつかの実装形態では、タッチインタプリタ３１０は、指位置特定部３２０および手のひら位置特定部３２５から十分なデータを受け付けて、指、手のひら、および親指の各々を識別することによってユーザの手の位置を特定してもよい。いくつかの実装形態では、タッチインタプリタは、様々な距離範囲および閾値を用いて指、手のひら、および親指の各々を識別してもよい。いくつかの実装形態では、指ラベル、手のひらラベル、および親指ラベルの各々が、たとえば、タッチが親指に対応する可能性を示す信頼スコアを含んでもよい。タッチインタプリタ３１０は、ユーザインタフェース生成部３１５に提供する操作および命令を判断する際、信頼スコアを様々な閾値および範囲と比較してもよい。
【００３６】
いくつかの実装形態では、指位置特定部３２０および手のひら位置特定部３２５は、手および指の位置に加えて、またはその代わりに、手の角度および指の角度を算出してもよい。たとえば、指位置特定部３２０および手のひら位置特定部３２５は、中指と手のひらとのペアの各々に交差する軸に沿って計測したときのユーザの手同士の間の角度が６０度であると算出してもよい。別の例として、これらの角度の基準線は、右手の手のひらと、右手の中指と、左手の中指とが交差する線、および左手の手のひらと左手の中指とが交差する線によって規定されてもよい。
【００３７】
タッチインタプリタ３１０は、キーボード／トラックパッドレイアウトモジュール３３０からデータを受け付ける。キーボード／トラックパッドレイアウトモジュール３３０は、タッチ入力装置上のキーボードのレイアウトおよびトラックパッドに関するデータを提供する。キーボードおよびトラックパッドがタッチ入力装置上にペイントされている場合、キーボード／トラックパッドレイアウトモジュール３３０は、同一データをタッチインタプリタ３１０に提供する。キーボードおよびトラックパッドが動的である場合、キーボード／トラックパッドレイアウトモジュール３３０は、キーボード上のキーの各々の位置およびトラックパッドの位置を示すデータを提供する。この位置データは、キーの各々およびトラックパッドの座標を含んでもよい。また、キーボード／トラックパッドレイアウトモジュール３３０は、キーボードレイアウトが対応する言語を提供してもよい。タッチ入力装置上にキーボードが表示されていない場合、キーボード／トラックパッドレイアウトモジュール３３０は、そのことを示すデータをタッチインタプリタ３１０に提供してもよい。
【００３８】
タッチインタプリタ３１０は、コンテキスト識別部３３５からコンテキストデータを受け付ける。コンテキスト識別部は、システム３００のコンテキストを識別する。タッチインタプリタ３１０は、コンテキストデータ、タッチデータ、およびキーボードデータを分析してユーザインタフェース生成部３１５に提供する操作および命令を判断する。いくつかの実装形態では、コンテキスト識別部３３５は、言語モデル３４０の少なくとも一部に基づいてコンテキストデータを生成してもよい。言語モデル３４０は、様々な言語の語彙を含む。コンテキスト識別部３３５は、システム３００のスクリーン上のテキストを、語彙に含まれる用語と比較してもよい。ユーザがキー入力中であり、かつ、現在キー入力されている用語が語彙に含まれる用語の接頭語に対応する場合、コンテキスト識別部３３５は、単語をキー入力していることがコンテキストであると識別してもよい。この例では、単語の接頭語は単語の最初の部分を意味すると解釈されるべきであるが、それ自体が完全な単語ではない。当該別の方法では、単語の接頭語は、単語の一部であり、完全ではない。たとえば、ユーザは、「ｊｕｍ」をキー入力しており、カーソルが「ｍ」の後ろに位置しているかもしれない。コンテキスト識別部３３５は、用語「ｊｕｍ」を言語モデル３４０に含まれる語彙と比較してもよい。コンテキスト識別部３３５は、「ｊｕｍ」が不完全な単語であると判断し、単語をキー入力するというコンテキストがタッチインタプリタ３１０に提供される。いくつかの実装形態では、システム３００の言語が特定の言語に設定されてもよい。この例では、コンテキスト識別部３３５は、コンテキストデータを生成するために、選択された言語に対応する言語モデルとキー入力された用語を比較するだけでよい。
【００３９】
いくつかの実装形態では、コンテキスト識別部３３５は、システム３００上で実行中の現在のプロセス３４５の少なくとも一部に基づいてコンテキストデータを生成してもよい。現在のプロセス３４０は、１つ以上のフォアグラウンドプロセス３５０およびバックグラウンドプロセスを含んでもよい。バックグラウンドのうちのいくつか、および、場合によっては、フォアグラウンドプロセスは、システムプロセスを含んでもよい。フォアグラウンドプロセス３５０およびバックグラウンドプロセス、のうちのいくつかは、ブラウザアプリケーション、電子メールアプリケーション、文書処理アプリケーション、写真編集アプリケーション、その他の同様のユーザアプリケーションなど、ユーザアプリケーションを含んでもよい。また、これらのプロセスは、ブラウザを介してサーバ上で実行中のウェブプロセスを含んでもよい。コンテキスト識別部３３５は、現在のプロセス３４５およびフォアグラウンドプロセス３５０を調べ、プロセスに基づいてコンテキストデータを生成する。たとえば、コンテキストデータは、フォアグラウンドでウェブ電子メールアプリケーションをブラウザで実行中であり、バックグラウンドで音楽プレーヤを実行中であってもよい。別の例として、コンテキストデータは、写真エディタをフォアグラウンドで実行中であってもよく、または文書処理アプリケーションをフォアグラウンドで実行中であってもよい。
【００４０】
また、いくつかの実装形態では、現在のプロセス３４５およびフォアグラウンドプロセス３５０は、マウスポインタもしくはカーソル、またはその両方の位置に関するデータを提供してもよい。たとえば、文書処理アプリケーションのカーソル位置は、「ｊｕｍ」の終わりであってもよい。現在のプロセス３４５は、カーソルの位置が「ｊｕｍ」の後であることを記述したデータをコンテキスト識別部３３５に提供してもよい。別の例として、マウスポインタは、ブラウザウィンドウのスクロールバーに位置していてもよい。現在のプロセス３４５は、マウスポインタの位置がブラウザウィンドウのスクロールバーにあることを記述したデータを提供してもよい。いくつかの実装形態では、マウスポインタの位置は、座標ペアによって特定されてもよい。
【００４１】
コンテキスト識別部３３５は、タッチインタプリタ３１０に関するコンテキストデータを提供する。タッチインタプリタ３１０は、コンテキストデータ、指の位置、手のひらの位置、親指の位置、およびキーボードレイアウトのうちの１つ以上の任意の組合せを評価し、タッチ検出部３０５からタッチデータを受け付けたことに応答してユーザインタフェース生成部３１５に提供する操作および命令を判断する。タッチインタプリタ３１０は、受け付けたデータをルールセットと比較して、適切な操作を決定してもよい。これに代えて、またはこれに加えて、タッチインタプリタ３１０は、機械学習および／またはニューラルネットワークを利用して、タッチデータに応答する適切な操作を判断してもよい。いくつかの実装形態では、タッチインタプリタ３１０は、主に、トラックパッド領域に位置し、かつ、スペースバーの閾値距離内のタッチがトラックパッドの選択であるかどうか、またはスペースバーの選択であるかどうかを判断するように構成される。
【００４２】
識別された操作に基づいて、タッチインタプリタ３１０は、この操作を識別するデータをユーザインタフェース生成部３１５に提供する。ユーザインタフェース生成部３１５は、識別された操作に基づいてユーザインタフェースを更新する。たとえば、この操作がスペースバーの選択であった場合、ユーザインタフェース生成部３１５は、カーソルを進める。この操作がトラックパッドの選択であった場合、ユーザインタフェース生成部３１５は、マウスポインタが指しているオブジェクトを選択し、カーソルをマウスポインタの位置に移動する、または別の適切な操作を行う。
【００４３】
いくつかの実装形態では、トラックパッドは、シングルクリックおよびダブルクリックを受け付けるように構成される。ユーザは、トラックパッドの輪郭内のスペースの中をタップすることによってシングルクリックを入力してもよい。ユーザは、トラックパッドの輪郭内のスペースの中を２回タップすることによってダブルクリックを入力してもよい。いくつかの実装形態では、トラックパッドの輪郭内のタッチ入力装置の部分は、スクロールなどの操作を行うためにユーザが有効にし得る特別なクリック領域であってもよい。いくつかの実装形態では、有効なトラックパッドのサイズは、ユーザ入力の間、変化してもよい。キーボードおよびトラックパッドを含むタッチ入力装置が滑らかで連続した面であるので、トラックパッドの輪郭の外をユーザがドラッグできるよう、効果的なトラックパッド領域のサイズが拡大してもよい。たとえば、ユーザは、マウスポインタがスクリーン上のオブジェクトの上に位置しているときにダブルタップすることによって、当該オブジェクトを選択してもよい。ユーザは、２回目のタップの終わりに指を下げたままにしてオブジェクトのドラッグを開始してもよい。ユーザがドラッグ動作を開始すると、タッチ入力装置全体を大体埋めるように効果的なトラックパッド領域が拡大してもよい。ユーザがスクリーンの端から端までオブジェクトをドラッグしている間、ユーザの指は、文字「ｋ」キーまたは別のキーに移動してもよい。ドラッグ動作時にトラックパッドのサイズが拡大するので、文字「ｋ」キーは、有効にならない。その代わりに、ユーザは、指がトラックパッドの輪郭の外側にある場合でも、オブジェクトを移動し続ける。
【００４４】
いくつかの実装形態では、システム３００は、コンテキストデータへのアクセスを規制するように構成されるプライバシーコントロールモジュールを含む。コンテキスト識別部３３５がコンテキストを判断する際に特定の種類の情報を考慮しないで済むよう、ユーザは、プライバシーコントロールモジュールの設定を選んでもよい。たとえば、ユーザは、コンテキストを判断する際に、システム３００上で実行中のバックグラウンドアプリケーションにコンテキスト識別部３３５がアクセスしないようにする設定を選択してもよい。別の例として、ユーザは、コンテキストを判断する際にコンテキスト識別部３３５がキー入力された単語など前回のユーザ入力を使用しないようにする設定を選択してもよい。
【００４５】
図４は、動的スペースバーを実装するための例示的な処理４００を示す図である。一般に、処理４００は、スペースバー上またはスペースバーの近くでのユーザ入力がスペースバーの選択、または、トラックパッドとスペースバーとの間に他のキーが位置しないようにスペースバーの下に隣接して位置するトラックパッドの選択であるかどうかを判断する。処理４００は、図１に示すシステム１００、図２に示すシステム２００、または図３に示すシステム３００など、１つ以上のコンピュータを含むコンピュータシステムによって実行されるものとして説明する。
【００４６】
タッチキーボードとトラックパッドとを備えるシステムは、システムのコンテキストを判断する（４１０）。いくつかの実装形態では、タッチキーボードおよびトラックパッドは、１つのタッチ入力装置上に示される輪郭によって識別される。いくつかの実装形態では、コンピューティングデバイスのディスプレイとタッチ入力装置とは別個である。たとえば、ディスプレイとタッチ入力装置とは、ヒンジによって接続されていてもよい。いくつかの実装形態では、キーボードは、スペースバーの画像を含む。いくつかの実装形態では、ディスプレイは、タッチ入力装置である。いくつかの実装形態では、システムは、不完全な単語がカーソルの前にあることがコンテキストであると判断する。たとえば、カーソルは、「ｏｖｅ」の後に位置している可能性がある。いくつかの実装形態では、システムは、完全または不完全な単語がカーソルよりも前にあることがコンテキストであると判断する。たとえば、カーソルは、「ｊｕｍｐ」の後に位置している可能性がある。
【００４７】
システムは、トラックパッド上のタッチ入力を受け付ける（４２０）。いくつかの実装形態では、システムは、タッチ入力がタップ入力であることがシステムのコンテキストであると判断する。タップ入力とは、ユーザが指でタッチ面と接触し、１ミリ秒など短時間で指を離すことであってもよい。いくつかの実装形態では、タッチ入力は、トラックパッドによってスペースバー下に輪郭が描かれた位置において受け付けられてもよい。トラックパッドは、スペースバーの下に隣接してもよい。いくつかの実装形態では、システムは、ユーザの指がキーボードのホームキーに接触していることがシステムのコンテキストであると判断する。いくつかの実装形態では、システムは、ユーザの手のひらがトラックパッドの片側に位置するパームレストに接触していることがシステムのコンテキストであると判断する。
【００４８】
システムは、システムの予め判断されたコンテキストに基づいて、トラックパッド上のタッチ入力がタッチキーボードのスペースバーの選択であると特定する（４３０）。いくつかの実装形態では、システムは、カーソルの前の完全な単語に基づいて、タッチ入力がスペースバーの選択であると特定する。いくつかの実装形態では、システムは、タッチ入力がタップ入力であることにも基づいて、タッチ入力が（たとえば、少なくとも判断された距離をドラッグする入力ではなく）スペースバーの選択であると特定する。いくつかの実装形態では、ユーザの指がホームキーに接していることに基づいて、システムは、タッチ入力がスペースバーの選択であると特定する。いくつかの実装形態では、システムは、ユーザの手のひらがパームレスト上にあることに基づいて、タッチ入力がスペースバーの選択であると特定する。
【００４９】
いくつかの実装形態では、システムは、コンテキストの組合せに基づいて、タッチ入力がスペースバーの選択であると特定する。たとえば、コンテキストは、カーソルが、「ｊｕｍｐ」など完全または不完全な単語の終わりにあるであってもよい。この例では、システムは、ユーザの指がホームキーに接触していることに基づいて、および／またはユーザの手のひらがパームレスト上に位置していることに基づいて、タッチ入力がスペースバーの選択であると特定してもよい。いくつかの実装形態では、完全または不完全な単語の終わりにあるカーソルと組み合わせたタッチ入力の種類（たとえば、タップ、長押し、ドラッグなど）は、タッチ入力がスペースバーの選択であるか、またはトラックパッドの選択であるかを判断するのに十分なデータではない場合がある。たとえば、各コンテキストは、対応するスコアに関連付けられていてもよく、様々なコンテキストについてのスコアの各々は、重み付けされてから合計され、結果として生じるスコアが閾値を超えるかどうかが判断されてもよい。この閾値では、入力は、スペースバーが表示されている領域の外の位置においてタッチ面に接触しても、スペースバー入力であると判断されることになる。
【００５０】
いくつかの実装形態では、システムは、ホームキー上に位置しているユーザの指のサブセットに基づいてタッチ入力の特定を行ってもよい。たとえば、ユーザの８つの指のうち６つの指がホームキー上に位置している場合、システムは、ユーザの指が実質的にホームキー上にあると解釈してもよい。いくつかの実装形態では、６つのキーまたは別の数のキーは、特定のホームキーを含んでもよい。たとえば、左手の指は、「ａｓｄｆ」キー上にあり、右手の指のうち２本は、ユーザの指が効果的にホームキー上にあるとシステムが解釈するためのホームキー上にある。いくつかの実装形態では、いくつかの数のホームキーおよび／または特定のホームキーがユーザの好みで選択されてもよい。
【００５１】
システムは、ディスプレイに出力するために、トラックパッド上のタッチ入力がスペースバーの選択であるとシステムが特定したことに基づいて、スペースバーの選択の表示を提供する（４４０）。たとえば、システムは、カーソルを進めてもよい。いくつかの実装形態では、タッチ入力は、長押しもしくはドラッグ、または、タッチ入力操作とは異なる操作を開始する別の種類のタッチ面ジェスチャであってもよい。この例では、システムは、タッチ面ジェスチャ操作を行わなくてもよい。
【００５２】
いくつかの実装形態では、システムは、トラックパッド上のさらなるタッチ入力を受け付ける。システムは、単語の接頭語がカーソルの前にあることがシステムのコンテキストであると判断してもよい。この例では、システムは、スペースバーの閾値距離内のトラックパッドの選択はトラックパッドの選択であると判断してもよい。単語が不完全である場合ユーザがスペースバーを選択する可能性がないので、システムは、タッチ入力がトラックパッドの選択であると判断してもよい。
【００５３】
図５は、本明細書に記載の技術を実施するために利用され得るコンピューティングデバイス５００およびモバイルコンピューティングデバイス５５０の例を示す図である。コンピューティングデバイス５００は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、およびその他適切なコンピュータなど、様々な形態のデジタルコンピュータを表すよう意図される。モバイルコンピューティングデバイス５５０は、携帯情報端末、携帯電話、スマートフォン、およびその他同様のコンピューティングデバイスなど、様々な形態のモバイル機器を表すよう意図される。本明細書に示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示に過ぎず、限定ではない。
【００５４】
コンピューティングデバイス５００は、プロセッサ５０２と、メモリ５０４と、記憶装置５０６と、メモリ５０４と複数の高速拡張ポート５１０とをつなぐ高速インタフェース５０８と、低速拡張ポート５１４と記憶装置５０６とをつなぐ低速インタフェース５１２とを備える。プロセッサ５０２、メモリ５０４、記憶装置５０６、高速インタフェース５０８、高速拡張ポート５１０、および低速インタフェース５１２の各々は、様々なバスを用いて互いに接続されており、共通のマザーボード上に実装されてもよく、またはその他の方法で適宜実装されてもよい。プロセッサ５０２は、コンピューティングデバイス５００内で実行するための命令を処理することができ、命令は、高速インタフェース５０８に連結されたディスプレイ５１など、外付けの入出力装置上のＧＵＩのためのグラフィック情報を表示するためのメモリ５０４に格納された命令または記憶装置５０６上に格納された命令を含む。その他の実装形態では、複数のプロセッサおよび／または複数のバスが複数のメモリおよび複数種類のメモリとともに適宜利用されてもよい。また、（たとえば、サーババンク、ブレードサーバ群、または多重プロセッサシステムなどとしての）必要な動作の一部を各々が提供する複数のコンピューティングデバイスが接続されてもよい。
【００５５】
メモリ５０４は、コンピューティングデバイス５００内の情報を格納する。いくつかの実装形態では、メモリ５０４は、１つまたは複数の揮発性記憶装置である。いくつかの実装形態では、メモリ５０４は、１つまたは複数の不揮発性記憶装置である。また、メモリ５０４は、磁気ディスクまたは光ディスクなど、別の形態のコンピュータ読み取り可能な媒体であってもよい。
【００５６】
記憶装置５０６は、コンピューティングデバイス５００用の大容量ストレージを提供することができる。いくつかの実装形態では、記憶装置５０６は、フロッピー（登録商標）ディスク装置、ハードディスク装置、光ディスク装置、またはテープ装置、フラッシュメモリもしくは他の同様の固体メモリ装置、または、ストレージエリアネットワークもしくはその他の構成に含まれる装置を含む装置のアレイなど、コンピュータ読み取り可能な媒体であってもよく、または、当該コンピュータ読み取り可能な媒体を含んでもよい。命令が情報担体に格納され得る。この命令は、１つ以上の処理装置（たとえば、プロセッサ５０２）によって実行されると、上述した方法など、１つ以上の方法を実行する。また、命令は、コンピュータ読み取り可能な媒体または機械読み取り可能な媒体など（たとえば、メモリ５０４、記憶装置５０６、またはプロセッサ５０２上のメモリ）、１つ以上の記憶装置によって格納され得る。
【００５７】
高速インタフェース５０８は、コンピューティングデバイス５００用の多くの帯域幅を必要とする動作を管理し、低速インタフェース５１２は、より低い帯域幅の多くを必要とする動作を管理する。このような機能の割振りは、例示に過ぎない。いくつかの実装形態では、高速インタフェース５０８は、（たとえば、グラフィックスプロセッサまたはアクセラレータを通じて）メモリ５０４、ディスプレイ５１６に連結され、高速拡張ポート５１０に連結される。高速拡張ポート５１０は、様々な拡張カードを受け付けてもよい。この実装形態では、低速インタフェース５１２は、記憶装置５０６および低速拡張ポート５１４に連結される。様々な通信ポート（たとえば、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｅｔｈｅｒｎｅｔ（登録商標）、無線Ｅｔｈｅｒｎｅｔ）を含み得る低速拡張ポート５１４は、キーボード、ポインティングデバイス、スキャナなどの１つ以上の入出力装置、または、スイッチもしくはルータなどのネットワーク装置に、たとえば、ネットワークアダプタを通じて連結されてもよい。
【００５８】
コンピューティングデバイス５００は、図示したような複数の異なる形態で実現されてもよい。たとえば、標準的なサーバ５２０として、または多くの場合、このようなサーバの群で実現されてもよい。これに加えて、ラップトップコンピュータ５２２など、パーソナルコンピュータで実現されてもよい。また、ラックサーバシステム５２４の一部として実現されてもよい。これに代えて、コンピューティングデバイス５００の構成要素は、モバイルコンピューティングデバイス５５０など、モバイル機器に含まれるその他の構成要素と組み合わされてもよい。このようなデバイスの各々は、コンピューティングデバイス５００およびモバイルコンピューティングデバイス５５０のうちの１つ以上を含んでよく、互いに通信を行う複数のコンピューティングデバイスによってシステム全体が構成されてもよい。
【００５９】
モバイルコンピューティングデバイス５５０は、特に、プロセッサ５５２と、メモリ５６４と、ディスプレイ５５４などの入出力装置と、通信インタフェース５６６と、送受信装置５６８とを備える。モバイルコンピューティングデバイス５５０には、追加ストレージを提供するためのマイクロドライブまたはその他の装置など、記憶装置が提供されてもよい。プロセッサ５５２、メモリ５６４、ディスプレイ５５４、通信インタフェース５６６、および送受信装置５６８の各々は、様々なバスを用いて互いに接続されており、当該構成要素のうちのいくつかは、共通のマザーボード上に実装されてもよく、またはその他の方法で適宜実装されてもよい。
【００６０】
プロセッサ５５２は、メモリ５６４に格納された命令を含む命令をモバイルコンピューティングデバイス５５０内で実行できる。プロセッサ５５２は、別個の複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサ５５２によって、たとえば、ユーザインタフェースの制御、モバイルコンピューティングデバイス５５０によって実行されるアプリケーション、およびモバイルコンピューティングデバイス５５０による無線通信など、モバイルコンピューティングデバイス５５０のその他の構成要素間の協調が可能になってもよい。
【００６１】
プロセッサ５５２は、ディスプレイ５５４に連結された制御インタフェース５５８および表示インタフェース５５６を通じてユーザと通信してもよい。ディスプレイ５５４は、たとえば、ＴＦＴ（Ｔｈｉｎ−Ｆｉｌｍ−Ｔｒａｎｓｉｓｔｏｒ  Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）ディスプレイもしくはＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）ディスプレイ、またはその他の適切なディスプレイ技術であってもよい。表示インタフェース５５６は、グラフィック情報およびその他の情報をユーザに提示するためにディスプレイ５５４を駆動するための適切な回路を備えてもよい。制御インタフェース５５８は、ユーザからコマンドを受け付け、プロセッサ５５２に実行を依頼するために変換してもよい。これに加えて、外部インタフェース５６２は、モバイルコンピューティングデバイス５５０がその他のデバイスと近距離通信可能になるよう、プロセッサ５５２との通信を提供してもよい。外部インタフェース５６２によって、たとえば、いくつかの実装形態では有線通信、その他の実装形態では無線通信が可能になってもよく、また、複数のインタフェースが利用されてもよい。
【００６２】
メモリ５６４は、モバイルコンピューティングデバイス５５０内の情報を格納する。メモリ５６４は、１つまたは複数のコンピュータ読み取り可能な媒体、１つまたは複数の揮発性記憶装置、または、１つまたは複数の不揮発性記憶装置、のうちの１つ以上として実現され得る。また、拡張メモリ５７４が拡張インタフェース５７２を通してモバイルコンピューティングデバイス５５０に提供および接続されてもよい。拡張インタフェース５７２は、たとえば、ＳＩＭＭ（Ｓｉｎｇｌｅ  Ｉｎ  Ｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）カードインタフェースを含んでもよい。拡張メモリ５７４は、モバイルコンピューティングデバイス５５０のための追加の記憶空間を提供してもよく、または、モバイルコンピューティングデバイス５５０のためのアプリケーションまたはその他の情報も格納してもよい。具体的には、拡張メモリ５７４は、上述した処理を実行または補助するための命令を含んでもよく、セキュアな情報も含んでもよい。よって、たとえば、拡張メモリ５７４は、モバイルコンピューティングデバイス５５０のためのセキュリティモジュールとして提供されてもよく、モバイルコンピューティングデバイス５５０のセキュアな使用を可能にする命令がプログラムされていてもよい。これに加えて、セキュアなアプリケーションは、ハッキングできない方法でＳＩＭＭカード上にＩＤ情報を置くなど、追加情報とともにＳＩＭＭカードを介して提供されてもよい。
【００６３】
メモリは、たとえば、後述するフラッシュメモリおよび／またはＮＶＲＡＭメモリ（不揮発性ＲＡＭ）を含んでもよい。いくつかの実装形態では、命令が情報担体に格納されている。当該命令は、１つ以上の処理装置（たとえば、プロセッサ５５２）によって実行されると、上述した方法など、１つ以上の方法を実行する。また、命令は、１つ以上のコンピュータ読み取り可能な媒体または機械読み取り可能な媒体（たとえば、メモリ５６４、拡張メモリ５７４、またはプロセッサ５５２上のメモリ）など、１つ以上の記憶装置によって格納され得る。いくつかの実装形態では、命令は、たとえば、送受信装置５６８または外部インタフェース５６２を介して伝播信号で受信され得る。
【００６４】
モバイルコンピューティングデバイス５５０は、通信インタフェース５６６を通して無線通信を行ってもよい。通信インタフェース５６６は、必要であれば、デジタル信号処理回路を備えてもよい。通信インタフェース５６６によって、特に、ＧＳＭ（登録商標）音声通話（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）、ＳＭＳ（Ｓｈｏｒｔ  Ｍｅｓｓａｇｅ  Ｓｅｒｖｉｃｅ）、ＥＭＳ（Ｅｎｈａｎｃｅｄ  Ｍｅｓｓａｇｉｎｇ  Ｓｅｒｖｉｃｅ）、ｏｒ  ＭＭＳメッセージング（Ｍｕｌｔｉｍｅｄｉａ  Ｍｅｓｓａｇｉｎｇ  Ｓｅｒｖｉｃｅ）、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）、ＴＤＭＡ（Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）、ＰＤＣ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ｃｅｌｌｕｌａｒ）、ＷＣＤＭＡ（登録商標）（Ｗｉｄｅｂａｎｄ  Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）、ＣＤＭＡ２０００、またはＧＰＲＳ（Ｇｅｎｅｒａｌ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  サービス）など、様々なモードまたはプロトコル下の通信を可能にし得る。このような通信は、たとえば、無線周波数を利用する送受信装置５６８によって生じてもよい。これに加えて、Ｂｌｕｅｔｏｏｔｈ、ＷｉＦｉ、またはその他のこのような送受信装置を用いるなどして近距離通信が生じてもよい。これに加えて、追加のナビゲーション関連または位置関連の無線データをＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）受信モジュール５７０がモバイルコンピューティングデバイス５５０に提供してもよい。追加のナビゲーション関連または位置関連の無線データは、モバイルコンピューティングデバイス５５０上で実行するアプリケーションによって適宜利用されてもよい。
【００６５】
また、モバイルコンピューティングデバイス５５０は、オーディオコーデック５６０を用いて、音声による通信を行ってもよい。オーディオコーデック５６０は、ユーザからの音声情報を受信し、使用可能なデジタル情報に変換してもよい。同様に、オーディオコーデック５６０は、たとえば、モバイルコンピューティングデバイス５５０のハンドセットにおいて、スピーカを通してなど、ユーザのために音を生成してもよい。このような音は、音声電話通話からの音声を含んでもよく、録音音声（たとえば、音声メッセージ、音楽ファイルなど）を含んでもよく、モバイルコンピューティングデバイス５５０上で動作するアプリケーションによって生成された音も含んでもよい。
【００６６】
モバイルコンピューティングデバイス５５０は、図示したような複数の異なる形態で実現されてもよい。たとえば、携帯電話５８０として実現されてもよい。また、スマートフォン５８２、携帯情報端末、または他の同様のモバイル機器の一部として実現されてもよい。
【００６７】
本明細書において説明したシステムおよび技術のさまざまな実装形態は、デジタル電子回路、集積回路、専用に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはそれらの組み合せで実現することができる。これらのさまざまな実装形態は、プログラム可能なシステム上で実行可能および／または解釈可能な１つ以上のコンピュータプログラムでの実装を含み得る。このシステムは、特定用途プロセッサまたは汎用プロセッサであり得る少なくとも１つのプログラム可能なプロセッサと、ストレージシステムと、少なくとも１つの入力装置と、少なくとも１つの出力装置とを備え、プロセッサは、データおよび命令を送受信するために、ストレージシステム、少なくとも１つ以上の入力装置、および少なくとも１つ以上の出力装置に連結される。
【００６８】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる）は、プログラム可能なプロセッサ用の機械命令を含み、高レベルの手続き形言語および／もしくはオブジェクト指向プログラミング言語で、ならびに／またはアセンブリ言語／機械言語で実現できる。本明細書において使用するとき、用語「機械読み取り可能な媒体」および「コンピュータ読み取り可能な媒体」は、機械読み取り可能な信号として機械命令を受け付ける機械読み取り可能な媒体を含むプログラム可能なプロセッサに機械命令および／またはデータを提供するために使用される任意のコンピュータプログラムプロダクト、装置、および／またはデバイス（たとえば、磁気ディスク、光学ディスク、メモリ、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ））を指す。用語「機械読み取り可能な信号」は、プログラム可能なプロセッサに機械命令および／またはデータを提供するために使用される任意の信号を指す。
【００６９】
ユーザとのやり取りを可能にするために、本明細書に記載のシステムおよび技術は、ユーザに情報を表示するための表示装置（たとえば、ブラウン管（ＣＲＴ）または液晶ディスプレイ（ＬＣＤ）モニタ）と、ユーザがコンピュータに入力を行えるキーボードおよびポインティングデバイス（たとえば、マウスまたはトラックボール）とを備えたコンピュータ上に実装され得る。その他の種類のデバイスを使ってユーザとのやり取りを可能にすることもでき、たとえば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック（たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック）であり得、ユーザからの入力は、音響入力、音声入力、触覚入力など、任意の形式で受け付けられ得る。
【００７０】
本明細書に記載のシステムおよび技術は、（たとえば、データサーバとしての）バックエンド・コンポーネントを備えるコンピュータシステム、ミドルウェア・コンポーネント（たとえば、アプリケーションサーバ）を備えるコンピュータシステム、フロントエンド・コンポーネント（たとえば、本明細書に記載のシステムおよび技術の実装形態とユーザがやり取りできるグラフィカルユーザーインターフェースまたはウェブブラウザを有するクライアントコンピュータ）を備えるコンピュータシステム、または、このようなバックエンド・コンポーネント、ミドルウェア・コンポーネント、フロントエンド・コンポーネントの任意の組み合わせで実現され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信（たとえば、通信ネットワーク）によって互いに接続され得る。通信ネットワークとして、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネットなどが挙げられる。
【００７１】
コンピュータシステムは、クライアントとサーバとを含み得る。クライアントおよびサーバは、一般に、互いから離れており、通常、通信ネットワークを通じてやり取りを行う。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作し、クライアントとサーバとの関係を互いに有するコンピュータプログラムによって成り立つ。
【００７２】
いくつかの実装形態の詳細を上述したが、その他の変更も可能である。たとえば、クライアントアプリケーションは、デリゲート（複数可）にアクセスするものとして説明したが、その他の実装形態では、当該デリゲート（複数可）は、１つ以上のサーバ上で実行されているアプリケーションなど、１つ以上のプロセッサによって実施されるその他のアプリケーションによって採用されてもよい。これに加えて、図に示した論理フローは、所望の結果を実現するために、順次または図示した特定の順序である必要はない。これに加えて、記載のフローにその他の動作が提供されてもよく、動作が排除されてもよく、記載のシステムにその他の構成要素が追加または削除されてもよい。したがって、他の実装形態が添付の特許請求の範囲に含まれる。
【図１】
2020506467.tif 000003
【図２】
2020506467.tif 000004
【図３】
2020506467.tif 000005
【図４】
2020506467.tif 000006
【図５】
2020506467.tif 000007
【手続補正書】
【提出日】令和1年9月12日(2019.9.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータにより実現される方法であって、
タッチキーボードおよびトラックパッドを含むコンピューティングデバイスが、前記コンピューティングデバイスのコンテキストを判断するステップと、
前記トラックパッド上のタッチ入力を受け付けるステップと、
前記コンピューティングデバイスが、前記コンピューティングデバイスの予め判断されたコンテキストに基づいて、前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定するステップと、
前記コンピューティングデバイスのディスプレイに出力するために、前記トラックパッド上の前記タッチ入力が前記スペースバーの選択であると前記コンピューティングデバイスが特定したことに基づいて、前記スペースバーの選択の表示を提供するステップとを含む、方法。
【請求項２】
前記コンピューティングデバイスのコンテキストを判断するステップは、完全な単語がカーソルの位置よりも前にあると判断するステップを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定するステップは、さらに、完全な単語が前記カーソルの前にあると判断することに基づく、請求項１に記載の方法。
【請求項３】
前記コンピューティングデバイスのコンテキストを判断するステップは、前記トラックパッド上の前記タッチ入力が、ドラッグ操作ではなく、タップ操作であると判断するステップを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定するステップは、さらに、前記トラックパッド上の前記タッチ入力が、ドラッグ操作ではなく、タップ操作であると判断することに基づく、請求項１または請求項２に記載の方法。
【請求項４】
前記コンピューティングデバイスのコンテキストを判断するステップは、前記タッチキーボードの予め定められた数のホームキーにユーザの指がタッチしていると判断するステップを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定するステップは、さらに、前記タッチキーボードの前記予め定められた数のホームキーに前記ユーザの指がタッチしていると判断することに基づく、請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記コンピューティングデバイスのコンテキストを判断するステップは、前記トラックパッドの片側でユーザの手のひらが前記タッチキーボードの一部にタッチしていると判断するステップを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定するステップは、さらに、前記トラックパッドの片側で前記ユーザの手のひらが前記タッチキーボードの一部にタッチしていると判断することに基づく、請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記タッチキーボードおよび前記トラックパッドは、タッチ入力装置上に示される輪郭によって識別される、請求項１から５のいずれか１項に記載の方法。
【請求項７】
前記コンピューティングデバイスの前記ディスプレイと前記タッチ入力装置とは別個である、請求項６に記載の方法。
【請求項８】
前記タッチキーボードは、前記スペースバーの画像を描画し、
前記トラックパッド上の前記タッチ入力を受け付けるステップは、前記描画されたスペースバーの画像内の位置における前記タッチ入力を受け付けないステップを含む、請求項１から７のいずれか１項に記載の方法。
【請求項９】
前記描画されたスペースバーの画像は、前記タッチキーボードの下に隣接している、請求項８に記載の方法。
【請求項１０】
前記コンピューティングデバイスのさらなるコンテキストを判断するステップと、
前記トラックパッド上のさらなるタッチ入力を受け付けるステップと、
前記コンピューティングデバイスが、前記さらなるコンテキストに基づいて、前記トラックパッド上の前記さらなるタッチ入力が前記トラックパッドの選択であると特定するステップと、
前記コンピューティングデバイスの前記ディスプレイに出力するために、前記トラックパッド上の前記さらなるタッチ入力が前記トラックパッドの選択であると前記コンピューティングデバイスが特定したことに基づいて、前記トラックパッドの選択の表示を提供するステップとを含む、請求項１から９のいずれか１項に記載の方法。
【請求項１１】
前記スペースバー上の別のタッチ入力を受け付けるステップと、
前記コンピューティングデバイスが、前記トラックパッド上の前記さらなるタッチ入力が前記トラックパッドの選択であると特定することに基づいて、前記スペースバー上の前記別のタッチ入力が前記トラックパッドの選択であると特定するステップと、
前記コンピューティングデバイスの前記ディスプレイに出力するために、前記スペースバー上の前記別のタッチ入力が前記トラックパッドの選択であると前記コンピューティングデバイスが特定したことに基づいて、前記トラックパッドの選択のさらなる表示を提供するステップとを含む、請求項１０に記載の方法。
【請求項１２】
前記コンピューティングデバイスの前記さらなるコンテキストを判断するステップは、単語の接頭語が前記カーソルの前にあると判断するステップを含み、
前記トラックパッド上の前記さらなるタッチ入力がトラックパッドの選択であると特定するステップは、さらに、単語の接頭語が前記カーソルの前にあると判断することに基づく、請求項１０または請求項１１に記載の方法。
【請求項１３】
前記トラックパッド上の前記タッチ入力を受け付けることに基づいて、かつ、前記トラックパッド上の前記タッチ入力が前記スペースバーの選択であると前記コンピューティングデバイスが特定したことに基づいて、トラックパッドジェスチャに関連する操作を行わないステップを含む、請求項１から１２のいずれか１項に記載の方法。
【請求項１４】
１つ以上のコンピュータと、
命令を格納した１つ以上の記憶装置とを備え、前記命令は、前記１つ以上のコンピュータによって実行されると、前記１つ以上のコンピュータに動作を実行させるよう動作可能であり、前記動作は、
タッチキーボードおよびトラックパッドを含むコンピューティングデバイスが、前記コンピューティングデバイスのコンテキストを判断することと、
前記トラックパッド上のタッチ入力を受け付けることと、
前記コンピューティングデバイスが、前記コンピューティングデバイスの予め判断されたコンテキストに基づいて、前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定することと、
前記コンピューティングデバイスのディスプレイに出力するために、前記トラックパッド上の前記タッチ入力が前記スペースバーの選択であると前記コンピューティングデバイスが特定したことに基づいて、前記スペースバーの選択の表示を提供することとを含む、システム。
【請求項１５】
前記コンピューティングデバイスのコンテキストを判断することは、完全な単語がカーソルの位置よりも前にあると判断することを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定することは、さらに、完全な単語が前記カーソルの前にあると判断することに基づく、請求項１４に記載のシステム。
【請求項１６】
前記コンピューティングデバイスのコンテキストを判断することは、前記トラックパッド上の前記タッチ入力が、ドラッグ操作ではなく、タップ操作であると判断することを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定することは、さらに、前記トラックパッド上の前記タッチ入力が、ドラッグ操作ではなく、タップ操作であると判断することに基づく、請求項１４または請求項１５に記載のシステム。
【請求項１７】
前記コンピューティングデバイスのコンテキストを判断することは、前記タッチキーボードの予め定められた数のホームキーにユーザの指がタッチしていると判断することを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定することは、さらに、前記タッチキーボードの前記予め定められた数のホームキーに前記ユーザの指がタッチしていると判断することに基づく、請求項１４〜１６のいずれか１項に記載のシステム。
【請求項１８】
前記コンピューティングデバイスのコンテキストを判断することは、前記トラックパッドの片側でユーザの手のひらが前記タッチキーボードの一部にタッチしていると判断することを含み、
前記トラックパッド上の前記タッチ入力が前記タッチキーボードのスペースバーの選択であると特定することは、さらに、前記トラックパッドの片側で前記ユーザの手のひらが前記タッチキーボードの一部にタッチしていると判断することに基づく、請求項１４〜１７のいずれか１項に記載のシステム。
【請求項１９】
前記タッチキーボードおよび前記トラックパッドは、タッチ入力装置上に示される輪郭によって識別される、請求項１４〜１８のいずれか１項に記載のシステム。
【請求項２０】
請求項１から１３のいずれか１項に記載の方法をコンピュータに実行させるためのプログラム。
【国際調査報告】
2020506467.tif 000008
2020506467.tif 000009
2020506467.tif 000010