(57)【要約】      （修正有）【課題】Ｗｅｂコンテンツ上の文字列の入力に対応したソフトウェアキーボードを有する情報処理装置及びその制御方法とプログラムを提供する。【解決手段】情報処理装置は、Ｗｅｂブラウザーと、Ｗｅｂブラウザーで表示されるＷｅｂコンテンツへ文字列を入力するためのソフトウェアキーボードとを有し、Ｗｅｂブラウザーは、表示しているＷｅｂコンテンツの入力欄の指示に応じてソフトウェアキーボードを起動し、ソフトウェアキーボードにより入力された文字列の後に、入力欄のタイプに基づいてＥｎｔｅｒキーの押下イベントを発生させるかどうかを制御する。【選択図】図７
2020009023.tif 000002
【特許請求の範囲】
【請求項１】
ウェブブラウザーと、
前記ウェブブラウザーで表示されるウェブコンテンツへ文字列を入力するためのソフトウェアキーボードとを有し、
前記ウェブブラウザーは、表示しているウェブコンテンツの入力欄の指示に応じて前記ソフトウェアキーボードを起動し、前記ソフトウェアキーボードにより入力された文字列の後に、前記入力欄のタイプに基づいてＥｎｔｅｒキーの押下イベントを発生させるかどうかを制御することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記入力欄は、ハイパーテキストマークアップランゲージ（ＨＴＭＬ）のＩｎｐｕｔ要素で表され、前記ウェブブラウザーは、前記Ｉｎｐｕｔ要素のタイプがｓｅａｒｃｈである場合に、前記Ｅｎｔｅｒキーの押下イベントを発生させることを特徴とする情報処理装置。
【請求項３】
請求項１または２に記載の情報処理装置であって、
前記入力欄は、ＨＴＭＬのＩｎｐｕｔ要素で表され、前記ウェブブラウザーは、前記ウェブコンテンツに含まれた前記Ｉｎｐｕｔ要素が一つである場合に、前記Ｅｎｔｅｒキーの押下イベントを発生させることを特徴とする情報処理装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の情報処理装置であって、
前記入力欄は、ＨＴＭＬのＩｎｐｕｔ要素で表され、前記ウェブブラウザーは、前記ソフトウェアキーボードにより文字列が入力された前記Ｉｎｐｕｔ要素が、前記ウェブコンテンツに含まれた複数のＩｎｐｕｔ要素のうち、入力が済んでいない最後のＩｎｐｕｔ要素であり、かつ、前記ウェブコンテンツに送信ボタンが含まれていない場合に、前記Ｅｎｔｅｒキーの押下イベントを発生させることを特徴とする情報処理装置。
【請求項５】
請求項１乃至４のいずれか一項に記載の情報処理装置であって、
前記ウェブブラウザーは、前記Ｅｎｔｅｒキーの押下イベントを発生すると、前記Ｉｎｐｕｔ要素に入力された文字列を前記ウェブコンテンツの送信元へと送信することを特徴とする情報処理装置。
【請求項６】
請求項５に記載の情報処理装置であって、
前記ウェブブラウザーは、前記Ｅｎｔｅｒキーの押下イベントが発生すると、所定時間待機してから前記Ｉｎｐｕｔ要素に入力された文字列を前記ウェブコンテンツの送信元へと送信することを特徴とする情報処理装置。
【請求項７】
請求項１乃至６のいずれか一項に記載の情報処理装置であって、
前記ウェブコンテンツは、前記Ｅｎｔｅｒキーの押下イベントをトリガとして実行される処理の記述を含むことを特徴とする情報処理装置。
【請求項８】
ウェブブラウザーと、
前記ウェブブラウザーで表示されるウェブコンテンツへ文字列を入力するためのソフトウェアキーボードとしてコンピュータを機能させるためのプログラムであって、
前記ウェブブラウザーは、表示しているウェブコンテンツの入力欄の指示に応じて前記ソフトウェアキーボードを起動し、前記ソフトウェアキーボードにより入力された文字列の後に、前記入力欄のタイプに基づいてＥｎｔｅｒキーの押下イベントを発生させるかどうかを制御することを特徴とするプログラム。
【請求項９】
ウェブブラウザーと、
前記ウェブブラウザーで表示されるウェブコンテンツへ文字列を入力するためのソフトウェアキーボードとを有する情報処理装置の制御方法であって、
前記ウェブブラウザーは、表示しているウェブコンテンツの入力欄の指示に応じて前記ソフトウェアキーボードを起動し、前記ソフトウェアキーボードにより入力された文字列の後に、前記入力欄のタイプに基づいてＥｎｔｅｒキーの押下イベントを発生させるかどうかを制御することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばソフトウェアキーボード機能を有する情報処理装置、情報処理装置の制御方法、プログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）などの情報処理装置をネットワーク上のＷｅｂサーバーに接続し、Ｗｅｂサーバー上のＷｅｂアプリケーションにより提供される操作画面を、情報処理装置が備えるＷｅｂブラウザー上に表示することが知られている。この場合、まず情報処理装置のＷｅｂブラウザーが、Ｗｅｂサーバー上のＷｅｂアプリケーションに対して操作画面を要求（リクエスト）する。そして、Ｗｅｂアプリケーションが情報処理装置からの要求に応えて、Ｗｅｂブラウザーに操作画面を表示させるためのＨＴＭＬデータを情報処理装置に応答（レスポンス）する。情報処理装置のＷｅｂブラウザーは、受信したＨＴＭＬデータを解析し、ＨＴＭＬデータの記述に基づいた操作画面を表示することができる。
【０００３】
更に、Ｗｅｂブラウザーに表示された操作画面を介してユーザーが文字列等で指示を入力すると、入力された指示をＷｅｂブラウザーがＷｅｂサーバーに対して通知する。そして、この通知を受けたＷｅｂサーバー上のＷｅｂアプリケーションは、入力された指示に従って処理を実行する。
【０００４】
近年、スキャナやプリンタを備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：多機能周辺装置または複合機）と呼ばれる画像処理装置の中にも、上述したようなＷｅｂブラウザーを備えているものがある。そのようなＭＦＰ上のＷｅｂブラウザーでは、ソフトウェアキーボードを用いて文字列の入力が可能である。ユーザーがタッチ操作によってＷｅｂブラウザー上に表示された入力欄を選択すると、ソフトウェアキーボードが表示され、任意の文字列を入力することができる。ＭＦＰに搭載されるソフトウェアキーボードは、視認性や操作性を考慮して、操作画面全体を覆って表示する全画面のソフトウェアキーボードであることが多い。この場合、ユーザーがソフトウェアキーボード上で任意の文字列を入力したあと、ソフトウェアキーボード上に存在する入力完了を指示するためのボタンを押下することで入力を完了し、ソフトウェアキーボードを閉じる。そして、キーボードを閉じる際に、Ｗｅｂブラウザーの入力欄にユーザーが入力した文字列が挿入されるようになっている。さらに、特許文献１では、ハードウェアキーボード連携時にハードウェアキーボードの操作によってソフトウェアキーボードを閉じる手段が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５８４０２６９号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述のような全画面のソフトウェアキーボードでは、ユーザーの入力が完了した後にＷｅｂコンテンツ上に文字列を挿入するため、Ｗｅｂブラウザー上でキーボードのボタン押下イベントが発生しない。例えば、Ｗｅｂコンテンツ上で実行ボタンの付随しない検索窓（ｔｙｐｅ＝ｓｅａｒｃｈのＩｎｐｕｔ要素）では、検索を開始するためにキーボードのＥｎｔｅｒキー押下が必要な場合がある。前述のような全画面で文字列挿入型のソフトウェアキーボードでは、Ｅｎｔｅｒキー押下のイベントが発生せず、検索が実行できないという課題がある。
【０００７】
本発明は上記従来例に鑑みてなされたもので、Ｗｅｂコンテンツ上の文字列の入力に対応したソフトウェアキーボードを有する情報処理装置及びその制御方法とプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明は以下の構成を有する。すなわち、本発明の一側面によれば、ウェブブラウザーと、
前記ウェブブラウザーで表示されるウェブコンテンツへ文字列を入力するためのソフトウェアキーボードとを有し、
前記ウェブブラウザーは、表示しているウェブコンテンツの入力欄の指示に応じて前記ソフトウェアキーボードを起動し、前記ソフトウェアキーボードにより入力された文字列の後に、前記入力欄のタイプに基づいてＥｎｔｅｒキーの押下イベントを発生させるかどうかを制御することを特徴とする情報処理装置が提供される。
【発明の効果】
【０００９】
本発明によれば、Ｗｅｂコンテンツ上の文字列の入力に対応したソフトウェアキーボードを有する情報処理装置及びその制御方法とプログラムを提供できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態におけるＭＦＰの接続されるシステムの全体図である。
【図２】本発明の実施形態におけるＭＦＰのハードウェア構成を示すブロック図である。
【図３】本発明の実施形態におけるＭＦＰのソフトウェア構成を示す図である。
【図４】本発明の実施形態におけるソフトウェアキーボードの画面を示す図である。
【図５】本発明の実施形態におけるＩｎｐｕｔ要素を含むＷｅｂコンテンツの画面の例を示す図である。
【図６】本発明の実施形態におけるＩｎｐｕｔ要素を含むＷｅｂコンテンツのＨＴＭＬの例を示す図である。
【図７】本発明の実施形態における文字列挿入とイベント発生のシーケンス示す図である。
【図８】本発明の実施形態におけるブラウザーの判断処理フローを示す図である。
【図９】本発明の実施形態における複数のＩｎｐｕｔ要素の種類を許容する場合のブラウザーの判断処理フローを示す図である。
【図１０】本発明の実施形態における実行ボタンが存在する場合を考慮したブラウザーの判断処理フローを示す図である。
【図１１】本発明の実施形態における文字列挿入と待機処理を含むイベント発生のシーケンス示す図である。
【図１２】本発明の実施形態におけるＩｎｐｕｔ要素がひとつだけ存在し、そのＩｎｐｕｔ要素のｔｙｐｅがｓｅａｒｃｈ以外である場合のＷｅｂコンテンツのＨＴＭＬの例を示す図である。
【図１３】本発明の実施形態における複数のＩｎｐｕｔ要素を含むＷｅｂコンテンツの画面の例を示す図である。
【図１４】本発明の実施形態における複数のＩｎｐｕｔ要素を含むＷｅｂコンテンツのＨＴＭＬの例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。
［実施形態１］
●システム構成
図１は、本実施形態における画像処理装置を用いたシステムの構成例である。なおこの画像処理装置は例えばいわゆる多機能周辺装置（ＭＦＰ）であり、特にそのＷｅｂブラウザーとして機能に着目した場合には、情報処理装置ということもできる。本システムはネットワーク１００を介して接続される画像処理装置であるＭＦＰ１０１と、Ｗｅｂサーバー１０２から構成される。ネットワーク１００は各装置間で通信を行うための基盤であって、インターネットに接続されていても良い。ＭＦＰ１０１はＷｅｂブラウザー（ウェブブラウザー）機能を有すれば、ＭＦＰ（Ｍｕｌｔｉｐｌｅ Ｆｕｎｃｔｉｏｎ Ｐｅｒｉｐｈｅｒａｌ）に限定されるものではない。Ｗｅｂサーバー１０２は、ネットワーク経由でＭＦＰ１０１と接続されており、Ｗｅｂコンテンツ（ウェブコンテンツ）を、ネットワークを介して配信する機能を持っており、ＭＦＰ１０１からのリクエストに応じてＷｅｂコンテンツを提供する。各装置はローカルネットワーク上に存在しても良いし、インターネットを越えて接続されていても良い。また、Ｗｅｂサーバー１０２はＭＦＰ１０１の機能としてＭＦＰ１０１の中に存在してもよい。
【００１２】
図２は本実施例のＭＦＰ１０１、Ｗｅｂサーバー１０２のハードウェア構成の一例である。本発明を制御するＣＰＵ２０１、ＣＰＵ２０１のワークエリアを提供するＲＡＭ２０２、本発明のプログラムや様々な設定を記憶する記憶装置２０３（ＨＤＤやＮＶＲＡＭ等でもよい）が存在する。さらに、ユーザーがコマンドの入力を行うユーザー入力装置２０４、画面表示を行うＵＩ表示装置２０５、他機器とネットワークによる通信を行うネットワーク装置２０６、メインバス２００により構成されている。尚、本実施例は特に断らない限り、ＭＦＰ１０１、Ｗｅｂサーバー１０２は、ＣＰＵ２０１がメインバス２００を介してＲＡＭ２０２、記憶装置２０３、ユーザー入力装置２０４、ＵＩ表示装置２０５、ネットワーク装置２０６を制御する。また、タッチパネルディスプレイのようにＵＩ表示装置２０５がユーザー入力装置２０４を兼ねても良い。ただし、Ｗｅｂサーバー１０２は、ユーザー入力装置２０４とＵＩ表示装置２０５を有していなくても良い。また、ＭＦＰ１０１はその他にも画像読取装置や画像印刷装置がメインバス２００に接続されていても良い。
【００１３】
●ソフトウェアキーボード
図３は本実施例におけるＭＦＰ１０１のソフトウェア構成を説明するための図である。図３に示す各機能部は、ＭＦＰ１０１が有しているＣＰＵ２０１が制御プログラムを実行することにより実現される。ＭＦＰ１０１は、Ｗｅｂブラウザー３０１、Ｗｅｂブラウザー３０１の入力受付部３０２、Ｗｅｂブラウザー３０１のコンテンツ操作部３０３、ソフトウェアキーボード３０４を有する。
【００１４】
Ｗｅｂブラウザー３０１は、任意のサーバーと通信を行うことによってＷｅｂコンテンツを取得し、Ｗｅｂコンテンツを画面に表示するといった機能を有する。入力受付部３０２は、画面に表示されたＷｅｂコンテンツの入力欄に対する操作指示を受け付ける。例えば、文字列を入力するためのＩｎｐｕｔ要素（ＨＴＭＬ（ハイパーテキストマークアップランゲージ）によって記述されている入力要素）がユーザーによってタッチされた場合、入力受付部３０２は文字列を入力するためソフトウェアキーボード３０４を起動する。
【００１５】
ソフトウェアキーボード３０４の画面例を図４に示す。ソフトウェアキーボード３０４は、入力文字列表示部４０１と、入力完了ボタン４０２を含む。入力文字列表示部４０１は、ユーザーが入力した文字列を表示する領域であり、入力完了ボタン４０２が押下されるまで文字列を保持する。入力完了ボタン４０２が押下されると、入力文字列表示部４０１はクリアされ、ソフトウェアキーボード４０３を呼び出したモジュール（本例では入力受付部３０２）に対して、ユーザーによって入力された文字列を返す。そしてソフトウェアキーボード３０４は、ソフトウェアキーボードの画面を閉じる。
【００１６】
入力受付部３０２は、ソフトウェアキーボード３０４から文字列を受け取ると、コンテンツ操作部３０３に対してその文字列をＷｅｂコンテンツに挿入するように指示する。その際に、イベントの発生が必要かどうかを判断し、イベントの発生が必要と判断した場合には、コンテンツ操作部３０３に対して、Ｅｎｔｅｒキーの押下イベント発生の指示をする。コンテンツ操作部３０３は、入力受付部３０２で受け付けた操作指示に従って、Ｗｅｂコンテンツを操作する。例えば、ソフトウェアキーボード３０４を介して文字列が入力された場合、入力受付部３０２から文字列挿入の指示を受け、入力受付部３０２で操作を受け付けたＩｎｐｕｔ要素に対して、文字列を挿入する。また、入力受付部３０２からＥｎｔｅｒキー押下イベントの発生指示を受けている場合には、文字列挿入後にＥｎｔｅｒキー押下イベントを発生する。
【００１７】
●ウェブコンテンツの例
図５は、Ｗｅｂブラウザー３０１によって表示される、Ｉｎｐｕｔ要素を含むＷｅｂコンテンツの画面の例を示す図である。このＷｅｂコンテンツには文字列を入力するためのＩｎｐｕｔ要素５０１と、検索結果５０２を含む。Ｉｎｐｕｔ要素５０１は、ユーザーが文字列を入力するためのＵＩ部品であり、ユーザーによってタッチされると、前述の通りＷｅｂブラウザーによってソフトウェアキーボードが起動される。また、Ｉｎｐｕｔタグのｏｎｋｅｙｄｏｗｎ属性「ｏｎｋｅｙｄｏｗｎ＝"ｉｆ（ｗｉｎｄｏｗ．ｅｖｅｎｔ．ｋｅｙＣｏｄｅ＝＝１３）ｒｅｆｒｅｓｈＣｏｎｔｅｎｔｓ（）；"」は、発生したキーイベントがＥｎｔｅｒキー押下イベントであった場合に、スクリプトを実行してコンテンツを更新することを示す。すなわち文字列が入力された後、Ｅｎｔｅｒキーが押下されると、検索結果５０２に結果が表示される仕組みとなっている。検索結果５０２は、Ｉｎｐｕｔ要素５０１によって入力された文字列に連動して表示内容が変更されるコンテンツである。この例では、入力要素５０１で入力した文字列を、Ｗｅｂ上の検索エンジンで検索した結果が表示されている。
【００１８】
図６は、図５のＷｅｂコンテンツのＨＴＭＬによる記述を示す図であり、Ｉｎｐｕｔ要素５０１を示すＩｎｐｕｔタグ６０１が記述されている。Ｉｎｐｕｔタグ６０１はｔｙｐｅ属性にｓｅａｒｃｈが指定されており、検索キーワードを入力する入力欄であることを示している。入力受付部３０２は、この入力欄がタッチされた場合には、ソフトウェアキーボードを起動する。また、Ｉｎｐｕｔタグ６０１のｏｎｋｅｙｄｏｗｎ属性に、Ｅｎｔｅｒキーが押下された場合にコンテンツを更新する内容のＪａｖａＳｃｒｉｐｔが設定されている。これにより、Ｅｎｔｅｒキー押下イベントが発生すると、入力された文字列で検索が行われてその検索結果によって検索結果５０２が更新される。
【００１９】
●文字列挿入処理
図７は本実施例における文字列挿入のシーケンスを示す図である。
ステップＳ７０１では、ユーザーがＭＦＰ１０１のメニューを操作することで、Ｗｅｂブラウザー３０１を起動する。
ステップＳ７０２では、Ｗｅｂブラウザー３０１は、指定された宛先であるＷｅｂサーバー１０２上のＷｅｂアプリケーションにＷｅｂコンテンツを取得するためのリクエストを送信する。
ステップＳ７０３では、Ｗｅｂサーバー１０２上のＷｅｂアプリケーションは、前記ステップＳ７０２のリクエストに応じてＷｅｂコンテンツ（ＨＴＭＬ）を返す。Ｗｅｂブラウザー３０１は、受信したＷｅｂコンテンツを表示する。
ステップＳ７０４では、ユーザーは、Ｗｅｂコンテンツ上に表示されているＩｎｐｕｔ要素５０１をタッチする。
ステップＳ７０５では、Ｗｅｂブラウザー３０１の入力受付部３０２は、ソフトウェアキーボード３０４を起動する。
【００２０】
ステップＳ７０６では、ユーザーがソフトウェアキーボード３０４上で文字列を入力する。ソフトウェアキーボード３０４で入力された文字列はソフトウェアキーボード３０４上で蓄えられ、この時点ではＷｅｂブラウザー３０１に通知されない。ユーザーは、入力が完了すると、入力完了ボタン４０２を押下する。
ステップＳ７０７では、ソフトウェアキーボード３０４は、入力完了ボタン４０２の押下に応じてソフトウェアキーボード３０４の画面を閉じ、ステップＳ７０６で入力された文字列を、入力受付部３０２に返す。また、ソフトウェアキーボード３０４は前記ステップＳ７０６で蓄えていた文字列を破棄する。入力受付部３０２は、返ってきた文字列を前記ステップＳ７０４でタッチされたＩｎｐｕｔ要素に挿入する。
【００２１】
ステップＳ７０８では、入力受付部３０２は、Ｅｎｔｅｒキー押下イベントの発生が必要かどうかを判断する。具体的には、前記ステップＳ７０４でタッチされたＩｎｐｕｔ要素のｔｙｐｅがｓｅａｒｃｈかどうかを判定し、ｓｅａｒｃｈであればＥｎｔｅｒキー押下イベントの発生が必要と判断する。Ｅｎｔｅｒキー押下イベントの発生が必要と判断した場合は、ステップＳ７０９に進む。
ステップＳ７０９では、コンテンツ操作部３０３は、Ｅｎｔｅｒキー押下イベントを発生させる。
ステップＳ７１０では、Ｅｎｔｅｒキー押下イベントの発生を受けてＪａｖａＳｃｒｉｐｔが動作することにより、Ｉｎｐｕｔ要素に入力された文字列がサーバー１０２上のＷｅｂアプリケーションに通知される。
ステップＳ７１１では、サーバー１０２上のＷｅｂアプリケーションは、前記ステップＳ７１０のリクエストに応じて、更新された結果画面の情報を返す。Ｗｅｂブラウザー３０１は、受信した結果画面の情報を表示する。
【００２２】
図８は、本実施例におけるＷｅｂブラウザーの判断処理のフローを示す図である。この処理はＭＦＰ１０１のＣＰＵ２０１により実行されるが、以下の説明では図３に示したソフトウェアモジュールを主体として説明する。
ステップＳ８０１では、Ｗｅｂブラウザー３０１の入力受付部３０２は、ユーザーによるＩｎｐｕｔ要素に対するタッチ操作を受け付ける。
ステップＳ８０２では、Ｗｅｂブラウザー３０１の入力受付部３０２は、ソフトウェアキーボード３０４を起動する。
ステップＳ８０３では、Ｗｅｂブラウザー３０１の入力受付部３０２は、ソフトウェアキーボードからユーザーが入力した文字列を受信し、コンテンツ操作部３０３を介してＷｅｂコンテンツに文字列を挿入する。
ステップＳ８０４では、Ｗｅｂブラウザー３０１の入力受付部３０２は、ステップＳ８０１でユーザーによってタッチされたＩｎｐｕｔ要素のｔｙｐｅがｓｅａｒｃｈかどうかを判断する。ｔｙｐｅがｓｅａｒｃｈである場合はステップＳ８０５に進む。そうでない場合は終了する。
ステップＳ８０５では、Ｗｅｂブラウザー３０１の入力受付部３０２は、コンテンツ操作部３０３を介して、Ｅｎｔｅｒキー押下イベントを発生させる。
【００２３】
以上に示す構成により、Ｗｅｂブラウザー３０１は、ソフトウェアキーボード３０４から文字列が挿入された際に、Ｅｎｔｅｒキー押下が必要かどうかを判断し、必要と判断した場合にはＥｎｔｅｒキー押下イベントを発生させる。これにより、全画面の文字列挿入型ソフトウェアキーボードを利用した場合であっても、必要に応じてキーイベント、本例ではＥｎｔｅｒキー押下イベントを発生させることができる。これによりＷｅｂコンテンツ上の文字列入力を完了し、Ｅｎｔｅｒキー押下イベントをきっかけとする次の処理、たとえば入力された文字列をウェブアプリケーションに送信する処理等を実行することが可能となる。
【００２４】
［実施形態２］
次に、本発明に係る第２の実施形態について図９を用いて説明する。図９は、本実施例におけるＷｅｂブラウザーの判断処理のフローを示す図である。図９は第１実施形態の図８に代わって本実施形態で実行される手順である。図９の判断処理のフロー以外については図１〜図７と同様である。
【００２５】
ステップＳ９０１〜Ｓ９０５は、前記ステップＳ８０１〜８０５と同じである。ステップＳ９０４においてＩｎｐｕｔ要素のタイプがｓｅａｒｃｈではないと判定した場合にステップＳ９０６が実行される。ステップＳ９０６では、Ｗｅｂブラウザー３０１の入力受付部３０２は、表示しているＷｅｂコンテンツに他のＩｎｐｕｔ要素が存在するかどうかを判断する。具体的にはＨＴＭＬの記述を元に構築されたＤＯＭ（ＤｏｃｕｍｅｎｔＯｂｊｅｃｔＭｏｄｅｌ）に、ステップＳ９０１でタッチされたＩｎｐｕｔ要素以外のＩｎｐｕｔ要素が存在するかどうかを確認する。存在する場合はステップＳ９０５に進む。存在しない場合は終了する。
【００２６】
この処理によって、ｔｙｐｅがｓｅａｒｃｈ以外のＩｎｐｕｔ要素であっても、Ｅｎｔｅｒキーの押下が必要な状況において、Ｗｅｂブラウザーが自動でＥｎｔｅｒキー押下イベントを発生させ、次の処理を実行することが可能となる。例えば、図５におけるＩｎｐｕｔ要素５０１のｔｙｐｅがｔｅｘｔである場合が考えられる。
【００２７】
図１２はＩｎｐｕｔ要素がひとつだけ存在し、そのＩｎｐｕｔ要素のｔｙｐｅがｓｅａｒｃｈ以外である場合のＷｅｂコンテンツの例である。Ｗｅｂコンテンツ内に、ｔｙｐｅ＝ｔｅｘｔのＩｎｐｕｔタグ１２０１が含まれる。Ｉｎｐｕｔタグ１２０１は、ｔｙｐｅがｔｅｘｔに設定されており、文字列を入力するための要素であることが示されている。Ｉｎｐｕｔタグ１２０１には、図６で示されるＷｅｂコンテンツと同様に、ｏｎｋｅｙｄｏｗｎ属性に、Ｅｎｔｅｒキーが押下された場合にコンテンツを更新する内容のＪａｖａＳｃｒｉｐｔが設定されている。図９の手順で図１２のウェブコンテンツを表示した場合、入力欄に文字列が入力されてＯＫボタン４０２が押下されると、ステップＳ９０６での判定の結果他のＩｎｐｕｔ要素がないと判定され、Ｅｎｔｅｒキー押下イベントが発生する。その結果、検索結果５０２が更新される。
【００２８】
このようの本実施形態では、タイプがｓｅａｒｃｈでなくとも、Ｉｎｐｕｔ要素がただ一つしか含まれていないウェブコンテンツについては、Ｉｎｐｕｔ要素の指示に応じて起動されたソフトウェアキーボードによる入力完了後にキー押下イベント、たとえばＥｎｔｅｒキー押下イベントを発生させる。これは、Ｉｎｐｕｔ要素が唯一の場合には、その入力欄に対する入力がされたなら、それを入力としてウェブアプリケーションへ返すなど後の処理へと移行してもよいのに対して、Ｉｎｐｕｔ要素が複数ある場合には、さらなる入力を待たなければならないためである。
【００２９】
［実施形態３］
次に、本発明に係る第３の実施形態について図１０を用いて説明する。図１０は、本実施例におけるＷｅｂブラウザーの判断処理のフローを示す図である。判断処理のフロー以外については図１〜図７と同様である。
【００３０】
ステップＳ１００１〜Ｓ１００６は、前記ステップＳ９０１〜９０６と同じである。ステップＳ１００６で、他のＩｎｐｕｔ要素があると判定された場合にはステップＳ１００７に分岐する。ステップＳ１００７では、Ｗｅｂブラウザー３０１の入力受付部３０２は、表示しているＷｅｂコンテンツにＳｕｂｍｉｔボタン（ｔｙｐｅ＝ｓｕｂｍｉｔのＩｎｐｕｔ要素）が存在するかどうかを判断する。存在する場合はステップＳ１００５に進む。存在しない場合はステップＳ１００８に進む。ステップ１００８では、Ｗｅｂブラウザー３０１の入力受付部３０２は、タッチされたＩｎｐｕｔ要素が、表示しているＷｅｂコンテンツに含まれるＩｎｐｕｔ要素のうち、最後の要素で、且つ、他のＩｎｐｕｔ要素には値が入力済みかどうかを判断する。最後の要素、且つ、他のＩｎｐｕｔ要素に値が入力済みである場合は、ステップＳ１００５に進む。そうでない場合は終了する。
【００３１】
図１０の処理によって、複数のＩｎｐｕｔ要素がある場合において、ユーザーが入力フォームに入力を完了したこと、および実行するためのＳｕｂｍｉｔボタンがないことを検知する。そして複数のＩｎｐｕｔ要素があり、ユーザーがそれらの入力フォームに入力を完了しており、かつ、Ｓｕｂｍｉｔボタンがないと判定した場合には、自動でＥｎｔｅｒキー押下イベントを発生させ、次の処理を実行することが可能となる。
【００３２】
図１３は、複数のＩｎｐｕｔ要素を含むＷｅｂコンテンツの画面例である。Ｗｅｂコンテンツには、最後の入力要素１３０１と、Ｓｕｂｍｉｔボタン１３０２が含まれる。最後の入力要素１３０１は、テキストや、選択肢、チェックボックスなどのユーザーが設定可能な複数の入力要素（Ｓｕｂｍｉｔボタン１３０２などのボタンは除く）のうち、最後に存在する。図１３では送信ボタン（Ｓｕｂｍｉｔボタン）１３０２がウェブコンテンツに含まれているため、図１０のステップＳ１００７ではＹｅｓと判定され、ステップＳ１００５に分岐する。一方、図１０においてもしもＳｕｂｍｉｔボタンが含まれていなければ、ステップＳ１００７からステップＳ１００８に分岐することになる。
【００３３】
図１４は、図１３のＷｅｂコンテンツのＨＴＭＬによる記述を示す図であり、最後の入力要素１３０１を示すＩｎｐｕｔタグ１４０１と、Ｓｕｂｍｉｔボタン１３０２を示すＩｎｐｕｔタグ１４０２が記述されている。Ｉｎｐｕｔタグ１４０１で示される入力要素は、ユーザーが値を入力する要素の中で最後に存在しており、この要素への入力が完了し、且つ、他の入力要素に値が入力済みであれば、このＷｅｂコンテンツにおけるユーザーの入力が完了したと判断できる。Ｉｎｐｕｔタグ１４０１には、Ｉｎｐｕｔタグ６０１のようなｏｎｋｅｙｄｏｗｎ属性にＪａｖａＳｃｒｉｐｔが記載されていない。しかし、Ｉｎｐｕｔタグ１４０２によりＳｕｂｍｉｔボタンが定義されているため、Ｅｎｔｅｒキーの押下イベントが発生すると、Ｓｕｂｍｉｔボタンが押下されたことになり、Ｗｅｂコンテンツが更新される。
【００３４】
一方、Ｓｕｂｍｉｔボタンを表すＩｎｐｕｔ要素が含まれていなければ、たとえばそのほかのＩｎｐｕｔ要素すべてに、図１２のＩｎｐｕｔ要素１２０１のようにｏｎｋｅｙｄｏｗｎ属性を記述しておく。こうすることで、ウェブブラウザー３０１は図１０の手順でＥｎｔｅｒキー押下イベントを発生させることで、それをトリガとして次の処理、たとえばスクリプトを実行させることができる。そしてそのスクリプトにより入力された文字列をウェブコンテンツの送信元のウェブアプリケーションあるいはウェブサーバーへと送信することができる。
【００３５】
［実施形態４］
次に、本発明に係る第４の実施形態について図１１を用いて説明する。図１１は、本実施例における待機処理を含むイベント発生のシーケンス示す図である。
【００３６】
ステップＳ１１０１〜Ｓ１１０８及びＳ１１１０〜Ｓ１１１２は、前記ステップＳ７０１〜７１１と同じである。本実施形態に特有のステップＳ１１０９では、所定時間待機する。ここでは例えば１秒待機する。ただし待機時間は１秒に限られるものではなく、ユーザーにＷｅｂブラウザーの画面を認識してもらうために必要な任意の時間でよい。
【００３７】
実施例１〜実施例４では、ソフトキーボードが閉じた瞬間にＥｎｔｅｒキー押下イベントが発行されるため、その際にページ遷移が起こると、ユーザーは元のＷｅｂアプリではなく、異なるＷｅｂアプリに遷移したように錯覚してしまう恐れがある。そのため実施例４では、Ｅｎｔｅｒキー押下の前に待機時間を設け、ユーザーに更新される前の画面を認識させている。また、ユーザーに更新前画面を認識させることができれば、待機以外の手段でも良い。たとえば、文字列の挿入を視認できる速度でゆっくり行ったり、画面遷移が発生する場合にはアニメーションで徐々に遷移させたりすることが考えられる。  以上の各実施形態のように、ソフトウェアキーボードから文字列の入力が完了した場合に、ウェブコンテンツの内容に応じてＥｎｔｅｒキー押下イベントを発生することで、Ｗｅｂコンテンツの文字列の入力に対応したソフトウェアキーボード及びそれを有するＭＦＰを提供できる。
【００３８】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００３９】
１０１  ＭＦＰ、１０２  ウェブサーバー、３０１  ウェブブラウザー、３０２  入力受付部、３０３  コンテンツ操作部、３０４  ソフトウェアキーボード
【図１】
2020009023.tif 000003
【図２】
2020009023.tif 000004
【図３】
2020009023.tif 000005
【図４】
2020009023.tif 000006
【図５】
2020009023.tif 000007
【図６】
2020009023.tif 000008
【図７】
2020009023.tif 000009
【図８】
2020009023.tif 000010
【図９】
2020009023.tif 000011
【図１０】
2020009023.tif 000012
【図１１】
2020009023.tif 000013
【図１２】
2020009023.tif 000014
【図１３】
2020009023.tif 000015
【図１４】
2020009023.tif 000016