(57)【要約】【課題】  操作感ならびに入力画面の視認性を損なわないような仮想キーボードを提供すること。【解決手段】  文字列データ、またはオブジェクトの少なくともいずれか一方が配置された入力画面に表示された仮想キーボードからの入力を受け付け、前記入力画面に配置された前記文字列データ、およびオブジェクトと重なることなく前記管理手段で管理する前記第１の仮想キーボードを配置可能な領域が当該入力画面上にあるかを判定し、前記第１の仮想キーボードを配置可能な領域があると判定された場合に、前記第１の仮想キーボードを表示するように制御し、前記第１の仮想キーボードを配置可能な領域がないと判定された場合に、前記管理手段で管理する前記第２の仮想キーボードを表示するように制御する。【選択図】図３
2018067858.tif 000002
【特許請求の範囲】
【請求項１】
文字列データ、またはオブジェクトの少なくともいずれか一方が配置された入力画面に表示された仮想キーボードからの入力を受け付け可能な情報処理装置であって、
所定のサイズの第１の仮想キーボードと、当該所定のサイズよりも小さい第２の仮想キーボードとを管理する管理手段と、
前記入力画面に配置された前記文字列データ、およびオブジェクトと重なることなく前記管理手段で管理する前記第１の仮想キーボードを配置可能な領域が当該入力画面上にあるかを判定する判定手段と、
前記判定手段により、前記第１の仮想キーボードを配置可能な領域があると判定された場合に、前記第１の仮想キーボードを表示するように制御し、前記第１の仮想キーボードを配置可能な領域がないと判定された場合に、前記管理手段で管理する前記第２の仮想キーボードを表示するように制御する表示制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記入力画面が複数ある場合には、当該入力画面ごとに前記判定手段による判定を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段により、前記第１の仮想キーボードを配置可能な領域がないと判定された場合に、当該判定された領域に前記第２の仮想キーボードを配置可能な領域があるかを判定する第二の判定手段と、
前記第二の判定手段により、前記第２の仮想キーボードを配置可能な領域があると判定された場合に、前記表示制御手段により当該第２の仮想キーボードを表示するように表示制御し、前記第２の仮想キーボードを配置可能な領域がないと判定された場合に、決められた領域に当該第２の仮想キーボードを表示するように表示制御することを特徴とする請求項１乃至２のいずれか１項に記載の情報処理装置。
【請求項４】
前記第２の仮想キーボードとは、ユーザによるフリック操作で入力が可能な仮想キーボードであることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
文字列データ、またはオブジェクトの少なくともいずれか一方が配置された入力画面に表示された仮想キーボードからの入力を受け付け可能であり、所定のサイズの第１の仮想キーボードと、当該所定のサイズよりも小さい第２の仮想キーボードとを管理する管理手段を備える情報処理装置の制御方法であって、
情報処理装置の判定手段が、前記入力画面に配置された前記文字列データ、およびオブジェクトと重なることなく前記管理手段で管理する前記第１の仮想キーボードを配置可能な領域が当該入力画面上にあるかを判定する判定工程と、
情報処理装置の表示制御手段が、前記判定工程により、前記第１の仮想キーボードを配置可能な領域があると判定された場合に、前記第１の仮想キーボードを表示するように制御し、前記第１の仮想キーボードを配置可能な領域がないと判定された場合に、前記管理手段で管理する前記第２の仮想キーボードを表示するように制御する表示制御工程と、
を備えることを特徴とする制御方法。
【請求項６】
文字列データ、またはオブジェクトの少なくともいずれか一方が配置された入力画面に表示された仮想キーボードからの入力を受け付け可能であり、所定のサイズの第１の仮想キーボードと、当該所定のサイズよりも小さい第２の仮想キーボードとを管理する管理手段を備える情報処理装置で読み取り実行可能なプログラムであって、
前記入力画面に配置された前記文字列データ、およびオブジェクトと重なることなく前記管理手段で管理する前記第１の仮想キーボードを配置可能な領域が当該入力画面上にあるかを判定する判定手段と、
前記判定手段により、前記第１の仮想キーボードを配置可能な領域があると判定された場合に、前記第１の仮想キーボードを表示するように制御し、前記第１の仮想キーボードを配置可能な領域がないと判定された場合に、前記管理手段で管理する前記第２の仮想キーボードを表示するように制御する表示制御手段と、
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法およびプログラムに関し、特に、操作感ならびに入力画面の視認性を損なわないような仮想キーボードを提供する技術に関する。
【背景技術】
【０００２】
情報処理装置に対して情報を入力するために、多くの場合はキーボード入力が用いられている。キーボード入力においては、物理的なボタンをユーザが押下することで、それに対応する情報が情報処理装置に入力される。
【０００３】
また、近年はタブレット端末が広く普及しており、タブレット端末は画面上に画像としてソフトウェアキーボードなどと呼ばれるキーボード（以下、仮想キーボードともいう）を表示し入力をソフトウェアで処理する。
【０００４】
特許文献１には、入力文字列表示領域とソフトウェアキーボードを重ねて表示し、入力文字列表示領域が視認可能となるようソフトウェアキーボードの表示位置を変更する技術が公開されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２８８８７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術では、入力画面が切り替わるたびにユーザが手動でソフトウェアキーボードの表示位置を調整する必要があり、ユーザにとって非常に手間がかかるものであった。
【０００７】
本発明は、操作感ならびに入力画面の視認性を損なわないような仮想キーボードを提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明は、文字列データ、またはオブジェクトの少なくともいずれか一方が配置された入力画面に表示された仮想キーボードからの入力を受け付け可能な情報処理装置であって、
所定のサイズの第１の仮想キーボードと、当該所定のサイズよりも小さい第２の仮想キーボードとを管理する管理手段と、前記入力画面に配置された前記文字列データ、およびオブジェクトと重なることなく前記管理手段で管理する前記第１の仮想キーボードを配置可能な領域が当該入力画面上にあるかを判定する判定手段と、前記判定手段により、前記第１の仮想キーボードを配置可能な領域があると判定された場合に、前記第１の仮想キーボードを表示するように制御し、前記第１の仮想キーボードを配置可能な領域がないと判定された場合に、前記管理手段で管理する前記第２の仮想キーボードを表示するように制御する表示制御手段と、を備えることを特徴とする。
【０００９】
また、本発明は、文字列データ、またはオブジェクトの少なくともいずれか一方が配置された入力画面に表示された仮想キーボードからの入力を受け付け可能であり、所定のサイズの第１の仮想キーボードと、当該所定のサイズよりも小さい第２の仮想キーボードとを管理する管理手段を備える情報処理装置の制御方法であって、情報処理装置の判定手段が、前記入力画面に配置された前記文字列データ、およびオブジェクトと重なることなく前記管理手段で管理する前記第１の仮想キーボードを配置可能な領域が当該入力画面上にあるかを判定する判定工程と、情報処理装置の表示制御手段が、前記判定工程により、前記第１の仮想キーボードを配置可能な領域があると判定された場合に、前記第１の仮想キーボードを表示するように制御し、前記第１の仮想キーボードを配置可能な領域がないと判定された場合に、前記管理手段で管理する前記第２の仮想キーボードを表示するように制御する表示制御工程と、を備えることを特徴とする。
【００１０】
また、本発明は、文字列データ、またはオブジェクトの少なくともいずれか一方が配置された入力画面に表示された仮想キーボードからの入力を受け付け可能であり、所定のサイズの第１の仮想キーボードと、当該所定のサイズよりも小さい第２の仮想キーボードとを管理する管理手段を備える情報処理装置で読み取り実行可能なプログラムであって、前記入力画面に配置された前記文字列データ、およびオブジェクトと重なることなく前記管理手段で管理する前記第１の仮想キーボードを配置可能な領域が当該入力画面上にあるかを判定する判定手段と、前記判定手段により、前記第１の仮想キーボードを配置可能な領域があると判定された場合に、前記第１の仮想キーボードを表示するように制御し、前記第１の仮想キーボードを配置可能な領域がないと判定された場合に、前記管理手段で管理する前記第２の仮想キーボードを表示するように制御する表示制御手段と、して機能させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、操作感ならびに入力画面の視認性を損なわないような仮想キーボードを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態における画像形成装置の機能構成を説明するブロック図の一例を示す図である。
【図２】本発明の実施形態における画像形成装置のハードウェア構成図である。
【図３】本発明の実施形態における文字入力方法を決定する処理の一例を示すフローチャートである。
【図４】本発明の実施形態におけるフリック入力する処理の一例を示すフローチャートである。
【図５】本発明の実施形態における文字入力を行う際の画面の一例を示す図である。
【図６】本発明の実施形態における仮想キーボードを表示する際の一例を示す図である。
【図７】本発明の実施形態におけるフリック入力ボタンを表示する際の一例を示す図である。
【図８】本発明の実施形態におけるフリック入力ボタンの切り替えを行う際の一例を示す図である。
【図９】本発明の実施形態におけるフリック入力ボタンを移動させる際の一例を示す図である。
【図１０】本発明の実施形態におけるフリック入力ボタンを終了する際の一例を示す図である。
【図１１】本発明の実施形態におけるフリック入力ボタン情報テーブルの一例を示す図である。
【図１２】本発明の実施形態におけるフリック入力ボタン情報テーブルの入力可能文字項目の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１４】
図１は、本発明の実施形態における画像形成装置（複合機ともいう）１０１の機能構成を説明するブロック図の一例を示す図である。
【００１５】
タッチパネル部１０２にある画面表示部１０４では画面（入力画面）の描画を行う。そして、押下座標検出部１０３でユーザのタッチパネル押下位置を検出する。
【００１６】
制御部１０５にある文字列検出部１０６では、表示している画面（入力画面）のどの位置に文字列（文字データ、文字列データ、またはオブジェクト）が描画されているかの検出を行う。
【００１７】
制御部１０５にある仮想キーボード制御部１０７では、仮想キーボードの表示、及びキーボードからの文字入力結果のテキスト入力エリアへの反映を行う。
【００１８】
制御部１０５にあるフリック入力制御部１０８では、フリック入力ボタンの表示、及びフリックによる文字入力結果のテキスト入力エリアへの反映を行う。
【００１９】
管理部１０９では、仮想キーボードとフリック入力ボタンを管理する。
管理部１０９は、本発明における、所定のサイズの第１の仮想キーボードと、当該所定のサイズよりも小さい第２の仮想キーボードとを管理する管理手段の適用例である。
【００２０】
判定部１１０では、管理部１０９で管理されている仮想キーボードが配置可能な領域が入力画面上にあるかを判定する。
【００２１】
なお、本実施形態において「タッチ」とは、タッチパネルの画面で指またはペンを用いて押すこと（接触させること）をいう。「タップ」とは、タッチパネルの画面を軽くたたくようにして、画面に触れる操作をいう。特に、タッチパネルの画面を指で軽く２回たたくことをダブルタップという。「フリック」とは、タッチパネルの画面を指で押してから（接触させてから）、動かしたり弾いたりするスライド操作全般のことをいう。
【００２２】
本願発明に用いることができる画像を表示可能な表示部として用いられるディスプレイ（入力画面とも称する）を設けられていればよく、タッチパネルが設けられたタブレット端末（情報処理装置）でもよい。例えば、タッチパネルが設けられたタブレット端末（情報処理装置）としては、スマートフォン、ＰＤＡ、ＰＣ等が挙げられる。
【００２３】
次に、図２を参照して、本発明の実施形態における、画像形成装置のハードウェア構成の一例について説明する。
【００２４】
図２において、２１６はコントローラユニットで、画像入力デバイスとして機能するスキャナ２１４や、画像出力デバイスとして機能するプリンタ２１２と接続する一方、ＬＡＮや公衆回線（ＷＡＮ）（例えば、ＰＳＴＮまたはＩＳＤＮ等）と接続することで、画像データやデバイス情報の入出力を行なう。
【００２５】
コントローラユニット２１６において、２０１はＣＰＵで、システム全体を制御するプロセッサである。２０２はＲＡＭで、ＣＰＵ２０１が動作するためのシステムネットワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。
【００２６】
２０３はＲＯＭで、システムのブートプログラムや各種制御プログラムが格納されている。２０４はハードディスクドライブ（ＨＤＤ）で、システムを制御するための各種プログラム、画像データ等を格納する。
【００２７】
２０７は操作部インタフェース（操作部Ｉ／Ｆ）で、操作部（ＵＩ）２０８とのインタフェース部であり、操作部２０８に表示する画像データを操作部２０８に対して出力する。また、操作部Ｉ／Ｆ２０７は、操作部２０８から本システム使用者が入力した情報（例えば、ユーザ情報等）をＣＰＵ２０１に伝える役割をする。なお、操作部２０８はタッチパネルを有する表示部を備え、該表示部に表示されたボタンを、ユーザが押下（指等でタッチ）することにより、各種指示を行うことができる。
【００２８】
２０５はネットワークインタフェース（Ｎｅｔｗｏｒｋ    Ｉ／Ｆ）で、ネットワーク（ＬＡＮ）に接続し、データの入出力を行う。２０６はモデム（ＭＯＤＥＭ）で、公衆回線に接続し、ＦＡＸの送受信等のデータの入出力を行う。
【００２９】
２１８は外部インタフェース（外部Ｉ／Ｆ）で、ＵＳＢ、ＩＥＥＥ１３９４，プリンタポート，ＲＳ−２３２Ｃ等の外部入力を受け付けるＩ／Ｆ部であり、本実施形態においては認証で必要となるＩＣカードの読み取り用のカードリーダ２１９が外部Ｉ／Ｆ２１８に接続されている。そして、ＣＰＵ２０１は、この外部Ｉ／Ｆ２１８を介してカードリーダ２１９によるＩＣカードからの情報読み取りを制御し、該ＩＣカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス２０９上に配置される。
【００３０】
２２０はイメージバスインタフェース（ＩＭＡＧＥ    ＢＵＳ    Ｉ／Ｆ）であり、システムバス２０９と画像データを高速で転送する画像バス２１５とを接続し、データ構造を変換するバスブリッジである。
【００３１】
画像バス２１５は、ＰＣＩバスまたはＩＥＥＥ１３９４で構成される。画像バス２１５上には以下のデバイスが配置される。
【００３２】
２１０はラスタイメージプロセッサ（ＲＩＰ）で、例えば、ＰＤＬコード等のベクトルデータをビットマップイメージに展開する。２１１はプリンタインタフェース（プリンタＩ／Ｆ）で、プリンタ２１２とコントローラユニット２１６を接続し、画像データの同期系／非同期系の変換を行う。また、２１３はスキャナインタフェース（スキャナＩ／Ｆ）で、スキャナ２１４とコントローラユニット２１６を接続し、画像データの同期系／非同期系の変換を行う。
【００３３】
２１７は画像処理部で、入力画像データに対し補正、加工、編集を行ったり、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部２１７は、画像データの回転や、多値画像データに対してはＪＰＥＧ、２値画像データはＪＢＩＧ、ＭＭＲ、ＭＨ等の圧縮伸張処理を行う。
【００３４】
スキャナ部２１３は、原稿となる紙上の画像を照明し、ＣＣＤラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットし、装置使用者が操作部２０８から読み取り起動指示することにより、ＣＰＵ２０１がスキャナ２１４に指示を与え、フィーダは原稿用紙を１枚ずつフィードし原稿画像の読み取り動作を行う。
【００３５】
プリンタ２１２は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、ＣＰＵ２０１からの指示によって開始する。なお、プリンタ２１２には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。
【００３６】
操作部２０８は、ＬＣＤ表示部を有し、ＬＣＤ上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部Ｉ／Ｆ２０７を介してＣＰＵ２０１に伝える。また、操作部２０８は、各種操作キーとして、例えば、スタートキー、ストップキー、ＩＤキー、リセットキー等を備える。
【００３７】
ここで、操作部２０８のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の２色ＬＥＤがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部２０８のストップキーは、稼働中の動作を止める働きをする。また、操作部２０８のＩＤキーは、使用者のユーザＩＤを入力する時に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。
【００３８】
カードリーダ２１９は、ＣＰＵ２０１からの制御により、ＩＣカード（例えば、フェリカ（ＦｅｌｉＣａ）（登録商標））内に記憶されている情報を読み取り、該読み取った情報を外部Ｉ／Ｆ２１８を介してＣＰＵ２０１へ通知する。
【００３９】
以上のような構成によって、プリンタ２１２は、スキャナ２１４から読み込んだ画像データをＬＡＮ１２０上に送信したり、ＬＡＮから受信した印刷データをプリンタ２１２により印刷出力することができる。
【００４０】
また、スキャナ２１４から読み込んだ画像データをモデム２０６により、公衆回線上にＦＡＸ送信したり、公衆回線からＦＡＸ受信した画像データをプリンタ２１２により出力することできる。
【００４１】
次に図３〜図４のフローチャートを用いて、本発明の実施形態における仮想キーボード表示処理、及びフリック入力時の処理について説明する。図３〜図４に示す各処理は、各装置のＣＰＵが各装置の機能部の機能を用いて実行するものとする。
【００４２】
図３は、文字入力方法を決定する処理の一例を示すフローチャートである。つまりは、仮想キーボードを表示するかフリック入力ボタンを表示するか否かを判定する際のフローチャートである。
【００４３】
ステップＳ３０１では、複合機１０１（以下、画像形成装置ともいう）の文字列検出部１０６は、タッチパネル部１０２に表示される画面（入力画面）に配置された文字列（文字データ、文字列データ、またはオブジェクト）が表示されている位置を確認する。
【００４４】
なお、画面（入力画面）が複数存在する場合は、入力画面ごとに位置を確認する。
【００４５】
ステップＳ３０２では、複合機１０１の判定部１１０は、仮想キーボード表示エリアに文字が表示されているか否かを判定する。
ステップＳ３０２は、本発明の判定手段の適用例であり、前記入力画面に配置された前記文字列データ、およびオブジェクトと重なることなく前記管理手段で管理する前記第１の仮想キーボードを配置可能な領域が当該入力画面上にあるかを判定する。
【００４６】
つまり、ステップＳ３０２では入力画面に配置された文字列データ、およびオブジェクトと重なることなく仮想キーボードを配置可能な領域が入力画面上にあるか否かを判定する。
【００４７】
複合機１０１は、文字が表示されていないと判定された場合は（ステップＳ３０２：ＮＯ）、ステップＳ３０３へ処理を移行する。
【００４８】
複合機１０１は、文字が表示されていると判定された場合は（ステップＳ３０２：ＹＥＳ）、ステップＳ３０４へ処理を移行する。
【００４９】
ステップＳ３０３では、複合機１０１の仮想キーボード制御部１０７は仮想キーボードを表示（図５の５０５、図６）する。
【００５０】
ステップＳ３０４では、複合機１０１の判定部１１０は、仮想キーボード表示エリアにフリック入力ボタンを表示できるエリアがあるか否かを判定する。
【００５１】
ステップＳ３０４は、本発明の第二の判定手段の適用例であり、前記判定手段により、前記第１の仮想キーボードを配置可能な領域がないと判定された場合に、当該判定された領域に前記第２の仮想キーボードを配置可能な領域があるかを判定する。
【００５２】
複合機１０１は、ステップＳ３０４で表示出来るエリアがあると判定された場合は（ステップＳ３０４：ＹＥＳ）、ステップＳ３０５へ処理を移行する。
【００５３】
複合機１０１は、ステップＳ３０４で表示出来るエリアがないと判定された場合は（ステップＳ３０４：ＮＯ）、ステップＳ３０６へ処理を移行する。
【００５４】
ステップＳ３０５では、複合機１０１のフリック入力制御部１０８は空きエリアにフリック入力ボタンを表示（図５の５０６）する。そして、フリック入力ボタン情報テーブル１１０１の現在表示位置１１０５を、ステップＳ３０５でフリック入力ボタンを表示した座標に更新する。
【００５５】
ステップＳ３０６では、複合機１０１は、フリック入力制御部１０８は予め決められた空きエリアが無い場合にフリック入力ボタン情報テーブル１１０１のデフォルト表示位置１１０４にフリック入力ボタンを表示する。
【００５６】
以上で、図３の説明を終了する。
【００５７】
図４は、フリック入力する処理の一例を示すフローチャートである。
【００５８】
ステップＳ４０１では、複合機１０１の押下座標検出部１０３は、タッチパネルが押下されるのを待つ。押下されたらステップＳ４０２の処理を実行する。
【００５９】
ステップＳ４０２では、複合機１０１のフリック入力制御部１０８は、フリック入力ボタンの状態（フリック入力ボタン情報テーブル１１０１の状態１１０２）を確認する。
【００６０】
複合機１０１は、フリック入力ボタンが移動モードの場合（フリック入力ボタン情報テーブル１１０１の状態１１０２が１の場合）（ステップＳ４０２：移動モード）は、Ｓ４０３の処理へ移行する。
【００６１】
複合機１０１は、フリック入力ボタンが入力モードの場合（フリック入力ボタン情報テーブル１１０１の状態１１０２が０の場合）（ステップＳ４０２：入力モード）は、ステップＳ４０６の処理へ移行する。
【００６２】
ステップＳ４０３では、複合機１０１の押下座標検出部１０３は、タッチパネル操作の状態を検出する。タッチパネルからムーブイベントを検出した場合は（ステップＳ４０３：ムーブ）、ステップＳ４０４の処理へ移行する。ムーブイベントとは、タッチパネルをユーザが操作した時、タッチパネルから送信されるイベントの一つであり、タッチしたまま指をタッチパネル上で動かす度に送信されるイベントである。
【００６３】
複合機１０１は、タッチパネルからリリースイベントを検出した場合は（ステップＳ４０３：リリース）、ステップＳ４０５の処理へ移行する。リリースイベントとは、タッチパネルをユーザが操作した時、タッチパネルから送信されるイベントの一つであり、タッチパネルから指を離した瞬間に送信されるイベントである。
【００６４】
ステップＳ４０４では、複合機１０１のフリック入力制御部１０８は、ムーブイベントが終了した位置（座標位置）にフリック入力ボタンを移動させて、タッチパネルからの入力を待つ。そして、フリック入力ボタン情報テーブル１１０１の現在表示位置１１０５をステップＳ４０４でフリック入力ボタンを移動させた座標に更新する。
【００６５】
ステップＳ４０５では、複合機１０１のフリック入力制御部１０８は、リリースイベントの座標位置にフリック入力ボタンを移動させて、フリック入力ボタンの状態を入力モードへ切り替えて、タッチパネルからの入力を待つ。そして、フリック入力ボタン情報テーブル１１０１の現在表示位置１１０５をステップＳ４０５でフリック入力ボタンを移動させた座標に更新すると共に、フリック入力ボタン情報テーブル１１０１の状態１１０２を０に更新する。
【００６６】
ステップＳ４０６では、複合機１０１の押下座標検出部１０３は、タッチパネル操作の状態を検出する。
【００６７】
複合機１０１は、タッチパネルからフリック入力ボタン外でダブルタップを検出した場合は（ステップＳ４０６：フリック入力ボタン外でダブルタップ）、ステップＳ４０７の処理を移行する。
【００６８】
複合機１０１は、タッチパネルからフリック入力ボタン上でフリックを検出した場合は（ステップＳ４０６：フリック入力ボタン上でフリック操作）、ステップＳ４０８へ処理を移行する。
【００６９】
複合機１０１は、タッチパネルからフリック入力ボタン上で長押しを検出した場合は（ステップＳ４０６：フリック入力ボタン上で長押し）、ステップＳ４０９へ処理を移行する。
【００７０】
複合機１０１は、タッチパネルからフリック入力ボタン外でタップを検出した場合は（ステップＳ４０６：フリック入力ボタン外でタップ）、ステップＳ４１０へ処理を移行する。
【００７１】
ステップＳ４０７では、複合機１０１のフリック入力制御部１０８は、フリック入力の終了と判定して、フリック入力ボタンを非表示にして文字入力を完了する。
【００７２】
ステップＳ４０８では、複合機１０１のフリック入力制御部１０８は、フリック入力と判定して、フリック方向に対応する文字をテキスト入力エリアに入力する。文字はフリック入力ボタン情報テーブル１１０１の入力可能文字１１０３を使用して決定する。入力後はタッチパネルからの入力を待つ。
【００７３】
ステップＳ４０９では、複合機１０１のフリック入力制御部１０８は、移動モードへの切り替えと判定して、フリック入力ボタンの状態を移動モードへ変更する。フリック入力ボタン情報テーブル１１０１の状態１１０２を１に更新する。変更後はタッチパネルからの入力を待つ。
【００７４】
ステップＳ４１０では、複合機１０１のフリック入力制御部１０８は、フリック入力ボタンの入力可能文字の切り替えと判定して、フリック入力ボタンで入力可能な文字を変更して、フリック入力ボタンの表示状態を更新する。この時に、フリック入力ボタン情報テーブル１１０１の入力可能文字１１０３を更新する。変更後はタッチパネルからの入力を待つ。
【００７５】
以上で、図４の説明を終了する。
【００７６】
図５は、ステップＳ３０３やステップＳ３０５で文字入力を行う際の画面の一例を示す図である。
【００７７】
５０１はテキスト入力エリアで仮想キーボード、又はフリック入力ボタンで入力された文字を表示する。
【００７８】
５０２は仮想キーボードが表示されるエリアを示す。
【００７９】
５０３は仮想キーボード（第１の仮想キーボード）である。５０２の仮想キーボード表示エリアに文字が無かった場合はこの仮想キーボードが表示される。つまり、仮想キーボードを配置可能な領域があった場合は、仮想キーボードが表示される。
【００８０】
５０３はステップＳ３０３で表示される図である。
【００８１】
５０４はフリック入力ボタン（第２の仮想キーボード）である。５０２の仮想キーボード表示エリアに文字があった場合はこのフリック入力ボタンが表示される。つまり、仮想キーボードを配置可能な領域がなかった場合は、フリック入力ボタン（第２の仮想キーボード）が表示される。
【００８２】
５０４はステップＳ３０５で表示される図である。
【００８３】
以上、図５は、本発明の表示制御手段の適用例であり、前記判定手段により、前記第１の仮想キーボードを配置可能な領域があると判定された場合に、前記第１の仮想キーボードを表示するように制御し、前記第１の仮想キーボードを配置可能な領域がないと判定された場合に、前記管理手段で管理する前記第２の仮想キーボードを表示するように制御する。
【００８４】
図６は、ステップＳ３０３で仮想キーボードを表示する際の一例を示す図である。
【００８５】
図６は、６０１は、ユーザによりテキスト入力エリアをタッチ（押下）された場合の図である。そして、６０２では、５０２の仮想キーボード表示エリアに文字が無かった場合に、５０３の仮想キーボードを表示する。
【００８６】
以上で、図６の説明を終了する。
【００８７】
図７は、ステップＳ４０８でフリック入力ボタンを表示する際の一例を示す図である。
【００８８】
図７は、５０２の仮想キーボード表示エリアに文字があった場合に、５０４のフリック入力ボタンを表示し、フリック入力を受け付ける際の図である。
【００８９】
７０１は、ユーザによりテキスト入力エリアをタッチ（押下）された場合の図である。
【００９０】
そして、７０２では、５０２の仮想キーボード表示エリアに文字があるので、５０４のフリック入力ボタンを表示する。
【００９１】
次に、７０３では、フリック入力ボタン情報テーブル１１０１の入力可能文字１１０３に格納されている文字で各方向のボタンを表示する。
【００９２】
そして、７０４では、フリックされた方向（図７では「Ａ」の方向にフリックされている）に表示されている文字を入力する。
【００９３】
以上で、図７の説明を終了する。
【００９４】
図８は、ステップＳ４１０でフリック入力ボタンの切り替えを行う際の一例を示す図である。
【００９５】
図８は、５０４のフリック入力ボタンを表示後に、フリック入力ボタンの左右をユーザによりタップされると、フリック入力ボタンで入力できる文字を切り替える。
【００９６】
８０１では、「ＡＢＣ」と別の文字を入力したい場合は「ＡＢＣ」ボタンの左右をタップする図である。
【００９７】
８０２では、右側をタップすると昇順に入力できる文字を切り替える。具体的には、右側をタップしたら昇順（「ＡＢＣ」から「ＤＥＦ」）にボタンが切り替わる。そして、フリック入力ボタン情報テーブル１１０１の入力可能文字１１０３を更新する（「ＡＢＣ」から「ＤＥＦ」に更新する）。
【００９８】
８０３では、左側をタップすると降順に入力できる文字を切り替える。具体的には、左側をタップしたら降順（「ＡＢＣ」⇒「ＷＸＹＺ」）にボタンが切り替わる。そして、フリック入力ボタン情報テーブル１１０１の入力可能文字１１０３を更新する（「ＡＢＣ」から「ＷＸＹＺ」に更新する）。
【００９９】
ここで図１１を用いて、複合機１０１のＲＡＭ２０２に記憶されるフリック入力ボタン情報テーブルの一例を示す図に関して説明する。
【０１００】
図１１のフリック入力ボタン情報テーブル１１０１は、フリック入力ボタンを管理するテーブルであり、状態１１０２、入力可能文字１１０３、デフォルト表示位置１１０４、現在表示位置１１０５の項目からなる。
【０１０１】
状態１１０２には、５０４のフリック入力ボタンの状態が登録される。０（入力モード）、１（移動モード）のどちらかが格納される。
【０１０２】
０（入力モード）は、フリック入力できる状態（初期値）である。
【０１０３】
１（移動モード）は、５０４のフリック入力ボタンの位置を変更できる状態である。
【０１０４】
入力モード時に５０４のフリック入力ボタン上で長押しを行うと移動モードに切り替わる。
【０１０５】
移動モード中に移動させたい場所に指を動かすとボタンが移動、指をタッチパネルから離すと移動位置が確定して、入力モードに切り替わる。
【０１０６】
入力可能文字１１０３には、５０４のフリック入力ボタンの上下左右各方向にフリックしたら入力される文字の情報が登録される。
【０１０７】
各方向で表示する文字の情報は、４方向（上、左、右、下）の情報を持つ。そして、各方向で表示する文字の情報は上方向文字１１０３１、左方向文字１１０３２、右方向文字１１０３３、下方向文字１１０３４に格納する。
【０１０８】
５０４のフリック入力ボタンの左右をタップすると各方向で表示する文字の情報が切り替わる。
【０１０９】
デフォルト表示位置１１０４には、５０２の仮想キーボード表示エリアが文字（文字列データ、オブジェクト）で埋め尽くされていて、５０４のフリック入力ボタンを表示する空き領域が無い場合、デフォルト表示位置１１０４に格納されている座標位置に５０４のフリック入力ボタンを表示する。そして、Ｘ座標は１１０４１、Ｙ座標は１１０４２に格納する。
【０１１０】
現在表示位置１１０５には、５０４のフリック入力ボタンを現在表示している座標が格納される。移動モードで５０４のフリック入力ボタンを移動させると、現在表示位置１１０５が更新される。そして、Ｘ座標は１１０５１、Ｙ座標は１１０５２に格納する。
【０１１１】
以上で、図１１の説明を終了する。
【０１１２】
次に、図１２を用いて８０２と８０３のとき（ユーザからフリック入力ボタンの左右がタップされたとき）の入力可能文字１１０３のデータテーブルに関して説明する。
【０１１３】
図１２は、フリック入力ボタン情報テーブルの入力可能文字項目の一例を示す図である。
【０１１４】
８０２では、１２０１のように、フリック入力ボタン「ＡＢＣ」を表示する場合は、１２０２のデータテーブルのように入力可能文字１１０３に次の値が格納される。入力可能文字１１０３の上方向文字１１０３１には「Ａ」、左方向文字１１０３２には「Ｂ」、右方向文字１１０３３には「Ｃ」、下方向文字１１０３４にはＮＵＬＬ（何もデータが含まれていない状態、あるいは長さ０の空文字列）が格納される。
【０１１５】
８０３では、１２０３は、フリック入力ボタン「ＷＸＹＺ」を表示する場合は以下の値が格納される。１２０４のデータテーブルのように入力可能文字１１０３に次の値が格納される。入力可能文字１１０３の上方向文字１１０３１には「Ｗ」、左方向文字１１０３２には「Ｘ」、右方向文字１１０３３には「Ｙ」、下方向文字１１０３４には「Ｚ」が格納されている。
【０１１６】
以上で、図１２の説明を終了する。
【０１１７】
図９は、５０２の仮想キーボード表示エリアに文字があり、５０４のフリック入力ボタンを表示する空きエリアが無い場合の５０４のフリック入力ボタンの表示、表示後にフリック入力ボタンの表示位置を移動させる際の図である。
【０１１８】
９０１は、ユーザによりテキスト入力エリアをタッチ（押下）された時に、仮想キーボード表示エリア９０２が文字（文字列データ、オブジェクト）で埋め尽くされてフリック入力ボタンを表示する空きエリアが無い図である。
【０１１９】
９０３では、仮想キーボード表示エリアが文字（文字列データ、オブジェクト）で埋め尽くされてフリック入力ボタンを表示する空きエリアが無い場合は、デフォルトで決まっているエリア（デフォルト表示位置）にフリック入力ボタンを表示する。具体的には、フリック入力ボタン情報テーブル１１０１のデフォルト表示位置１１０４にボタンを表示する。
【０１２０】
９０４では、フリック入力ボタン上で長押しすると移動モードに切り替わる。移動モードになるとボタンの色が変わる。本実施例ではボタンの色が変わることで識別できるが、数字、記号、字、図柄等で識別したり、ボタンの点滅をしたり、移動モードになったことを識別できれば良い。そして、フリック入力ボタン情報テーブル１１０１の状態１１０２を１に更新する。
【０１２１】
９０５では、フリック入力ボタンが移動モードに変わると、そのままユーザが指を動かした位置まででボタンが移動する。そして、フリック入力ボタン情報テーブル１１０１の現在表示位置１１０５をムーブ座標に更新する。
【０１２２】
９０６では、ユーザの指が離されるとボタンの移動が完了してフリック入力モードに切り替わる。そして、フリック入力ボタン情報テーブル１１０１の状態１１０２を０に更新し、現在表示位置１１０５をリリースされた座標に更新する。
【０１２３】
以上で、図９の説明を終了する。
【０１２４】
図１０は５０４のフリック入力ボタンでの文字入力を終了させる際（ステップＳ４０７）のイメージ図である。
【０１２５】
１００１に示すように、ユーザによりフリック入力ボタン外でダブルタップされると、１００２のようにフリック入力ボタンが消えて、入力モードを終了する。
【０１２６】
また、本実施例ではフリック入力ボタンを１つ表示する例を記載しているが、フリック入力ボタンは複数表示してもよい。
【０１２７】
本発明の実施形態においては、画像形成装置において実行する構成として説明したが、タッチパネルが設けられたタブレット端末（情報処理装置）で実行するよう構成してもよい。
【０１２８】
以上、本発明によると、操作感ならびに入力画面の視認性を損なわないような仮想キーボードを提供することが可能となる。
【０１２９】
以上、実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１３０】
また、本発明におけるプログラムは、各フローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は各フローチャートの処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは各装置の処理方法ごとのプログラムであってもよい。
【０１３１】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【０１３２】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【０１３３】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【０１３４】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３６】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１３７】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１３８】
１０１  複合機（画像形成装置）
１０２  タッチパネル
【図１】
2018067858.tif 000003
【図２】
2018067858.tif 000004
【図３】
2018067858.tif 000005
【図４】
2018067858.tif 000006
【図５】
2018067858.tif 000007
【図６】
2018067858.tif 000008
【図７】
2018067858.tif 000009
【図８】
2018067858.tif 000010
【図９】
2018067858.tif 000011
【図１０】
2018067858.tif 000012
【図１１】
2018067858.tif 000013
【図１２】
2018067858.tif 000014