(57)【要約】【課題】  スクリーンキーボードによっては、入力に不要なキーが表示されたり、必要なキーの表示が小さくなって指示しにくかったり、指示したキーを見つけづらかったりする等の問題があった。【解決手段】  入力用キーボードとして表示されるコントロールに対応する入力属性を保持し、その保持されている入力属性が使用可能を示しているコントロールのそれぞれの表示位置を決定する（Ｓ６）。こうして決定された表示位置に各コントロールを配置したキーボードを表示する（Ｓ７）。【選択図】  図１０
2007257068.tif 000002
【特許請求の範囲】
【請求項１】
入力用キーボードとして表示されるコントロールに対応する入力属性を保持する入力属性保持手段と、
前記入力属性保持手段に保持されている入力属性が使用可能を示しているコントロールのそれぞれの表示位置を決定する位置決定手段と、
前記位置決定手段により決定された表示位置に各コントロールを配置したキーボードを表示するキーボード表示手段と、
を有することを特徴とするキーボード表示装置。
【請求項２】
前記入力属性は、文字種及び機能名を含むことを特徴とする請求項１に記載のキーボード表示装置。
【請求項３】
前記入力属性は、半角及び全角の区別情報を更に含むことを特徴とする請求項２に記載のキーボード表示装置。
【請求項４】
前記入力属性保持手段に保持されている入力属性が使用不可を示しているコントロールを、前記使用可能なコントロールと識別可能に表示する手段を更に有することを特徴とする請求項１に記載のキーボード表示装置。
【請求項５】
前記位置決定手段は、前記キーボードの全体のサイズと、前記入力属性が使用可能を示しているコントロールの数とに応じて、各コントロールの間隔及びサイズのすくなくともいずれかを変更することを特徴とする請求項１乃至４のいずれか１項に記載のキーボード表示装置。
【請求項６】
前記位置決定手段は、前記各コントロールの位置を、実際のキーボードの各キーの配置に応じて変更することを特徴とする請求項５に記載のキーボード表示装置。
【請求項７】
請求項１乃至６のいずれか１項に記載のキーボード表示装置と、
前記キーボード表示装置に表示されたキーボード上で指示された位置を検出する位置検出手段と、
前記位置検出手段により検出された位置に対応するコントロールを判別する判別手段と、
前記判別手段により判別された前記コントロールに対応するキーコードを発生するコード発生手段と、
を有することを特徴とする入力装置。
【請求項８】
キーボードを表示し、当該表示されたキーボードに従って指示されたキーに対応するコードを発生するキーボード表示装置における制御方法であって、
入力用キーボードとして表示されるコントロールに対応する入力属性を保持する入力属性保持部に保持されている入力属性が使用可能を示しているコントロールのそれぞれの表示位置を決定する位置決定工程と、
前記位置決定工程で決定された表示位置に各コントロールを配置したキーボードを表示するキーボード表示工程と、
を有することを特徴とする制御方法。
【請求項９】
前記入力属性は、文字種及び機能名を含むことを特徴とする請求項８に記載の制御方法。
【請求項１０】
前記入力属性は、半角及び全角の区別情報を更に含むことを特徴とする請求項９に記載の制御方法。
【請求項１１】
前記入力属性保持部に保持されている入力属性が使用不可を示しているコントロールを、前記使用可能なコントロールと識別可能に表示する工程を更に有することを特徴とする請求項８に記載の制御方法。
【請求項１２】
前記位置決定工程は、前記キーボードの全体のサイズと、前記入力属性が使用可能を示しているコントロールの数とに応じて、各コントロールの間隔及びサイズのすくなくともいずれかを変更することを特徴とする請求項８乃至１１のいずれか１項に記載の制御方法。
【請求項１３】
前記位置決定項工程では、前記各コントロールの位置を、実際のキーボードの各キーの配置に応じて変更することを特徴とする請求項１２に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キーボードクリーンを表示してデータを入力するキーボードの表示装置及びその制御方法と、それを使用した入力装置に関するのものである。
【背景技術】
【０００２】
タッチスクリーン式のデータ入力装置が知られており、このようなデータ入力装置ではスクリーンキーボードを使用し、そのキーボード上でタッチされた文字や数値等を入力できる。このようなデータ入力装置では従来は、単一なスクリーンキーボードが用いられていた。また或は、予め用意された数パターンの中からユーザがその都度スクリーンキーボードを選択的に切替えて表示するものが一般的である（特許文献１）。また、入力フィールド毎に入力ツールを用意し、それらを切替えて使用するものもある（特許文献２）。また、スクリーンキーボードの形状、配列、サイズを指定して、キーボードをカスタマイズする技術も存在する（特許文献３）。
【特許文献１】特開平０７−１４１０９０号公報
【特許文献２】特公平０５−０２２２５３号公報
【特許文献３】特開２００２−３２８７７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このように従来は、タッチスクリーンを使用して文字や数値等を入力するのに使用されるスクリーンキーボードは、単一、或は数パターンに限定され、文字入力の際にこれらが使用される。このためスクリーンキーボードによっては、入力に不要なキーが表示されたり、必要なキーの表示が小さくなって指示しにくかったり、指示したキーを見つけづらかったりする等の問題があった。
【０００４】
本発明の目的は、上述の従来技術の問題点を解決することにある。
【０００５】
本願発明の特徴は、
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明の一態様に係るキーボード表示装置は以下のような構成を備える。即ち、
入力用キーボードとして表示されるコントロールに対応する入力属性を保持する入力属性保持手段と、
前記入力属性保持手段に保持されている入力属性が使用可能を示しているコントロールのそれぞれの表示位置を決定する位置決定手段と、
前記位置決定手段により決定された表示位置に各コントロールを配置したキーボードを表示するキーボード表示手段と、
を有することを特徴とする。
【０００７】
上記目的を達成するために本発明の一態様に係るキーボード表示装置の制御方法は以下のような構成を備える。即ち、
キーボードを表示し、当該表示されたキーボードに従って指示されたキーに対応するコードを発生するキーボード表示装置における制御方法であって、
入力用キーボードとして表示されるコントロールに対応する入力属性を保持する入力属性保持部に保持されている入力属性が使用可能を示しているコントロールのそれぞれの表示位置を決定する位置決定工程と、
前記位置決定工程で決定された表示位置に各コントロールを配置したキーボードを表示するキーボード表示工程と、
を有することを特徴とする。
【０００８】
尚、この課題を解決するための手段は、本願発明の特徴の全てを列挙しているものではなく、特許請求の範囲に記載された他の請求項及びそれら特徴群の組み合わせも発明になり得る。
【発明の効果】
【０００９】
本発明によれば、入力操作で使用するキーボードを自動的にカスタマイズして表示できる。
【発明を実施するための最良の形態】
【００１０】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１１】
以下、本実施の形態に係るスクリーンキーボード制御装置について図面を参照して説明する。
【００１２】
図１は、本発明の実施の形態に係るスクリーンキーボード制御装置のハードウェア構成を説明するブロック図である。
【００１３】
この装置は、ＣＰＵ１０１、メモリ１０２、ハードディスク１０３、ディスプレイ１０４、タッチスクリーン１０５、ディスプレイアダプタ１０６、タッチスクリーンアダプタ１０７、バス１０８を含んでいる。ここでスクリーンキーボードとは、ディスプレイ１０４にキーボードのイメージを表示している状態で、タッチスクリーン１０５によりクリックが検出されと、その指示された位置に対応するキーボードのキーが指示されたものとして処理する。即ち、キーボードのパターンを表示している状態で、ユーザがそのキーボード上の所望の位置を指やペン等でタッチして指示することにより、その指示されたキーのキーコードを発生してキー入力を行うものである。
【００１４】
ＣＰＵ１０１は、メモリ１０２に記憶されたプログラムを実行して各部を制御する。このプログラムは、ハードディスク１０３にインストールされており、実行時にメモリ１０２にロードされる形態でも良い。尚、このプログラムには、オペレーティングシステム、各種アプリケーション、スクリーンキーボード制御プログラム、タッチスクリーン制御プログラムなどが含まれる。これらのプログラムは、メモリカードやＣＤ−ＲＯＭ等の記憶媒体に記録されており、各記憶媒体に対応するドライブ装置を用いて読み取られ、ハードディスク１０３にインストールされている。また、通信回線等を利用して、これらのプログラムをメモリ１０２にダウンロードするようにしてもよい。
【００１５】
ディスプレイアダプタ１０６は、ディスプレイ１０４を接続し、それへの表示を制御している。タッチスクリーンアダプタ１０７は、タッチスクリーン１０５を接続して制御するためのユニットである。タッチスクリーン１０５は、ディスプレイ１０４と組合せて設置され、ディスプレイ１０４に表示された画像を透過してユーザが視認できる。そして、このディスプレイ１０４に表示されたグラフィカルユーザインタフェース（ＧＵＩ）等の位置を、指やスタイラスペン等で画面に触れることで、タッチスクリーン１０５がこれを検知して座標情報に変換する。これにより、マウスカーソルでディスプレイ１０４上のＧＵＩをクリックする場合と同等の操作を行なうことができる。尚、このタッチスクリーン１０５において、画面への接触を感知する方式には、圧力の変化を感知する感圧式や静電気による電気信号を感知する静電式等がある。
【００１６】
尚、当業者には明らかなように、このスクリーンキーボード制御装置のハードウェアは適宜変更できる。他の内部ハードウェア及び周辺装置、例えばフラッシュＲＯＭ（又は等価な不揮発性メモリ）または光ディスクドライブなどが、図１に示されるハードウェアに追加して、またはそれらの代わりに使用されてもよい。
【００１７】
図２は、本実施の形態に係るスクリーンキーボード制御装置の機能を説明する機能ブロック図で、前述の図１と共通する部分は同じ記号で示し、それらの説明を省略する。
【００１８】
ディスプレイ制御部２０１は、ＧＵＩ制御部２０３より描画命令を受けてディスプレイ１０４にＧＵＩを表示する。タッチスクリーン制御部２０２は、タッチスクリーン１０５上でユーザが指やスタイラスペン等で画面に触れたことを検知すると、その位置情報を座標情報に変換し、ＧＵＩ制御部２０３にクリック通知として通知する。ＧＵＩコントロール属性記憶部２０４は、ＧＵＩ制御部２０３により管理されるＧＵＩコントロールに関連付けられた属性情報を保存する。この属性情報は入力属性を含む。スクリーンキーボード制御部２０５は、ＧＵＩ制御部２０３より、入力属性と共にスクリーンキーボード生成命令を入力する。これにより、その入力属性に応じて、スクリーンキーボードとしてディスプレイ１０４に表示するキー、キーの配置、キーの大きさなどを決定し、ＧＵＩコントロールとして作成し、ＧＵＩ制御部２０３に指示する。アプリケーション部２０６は、ＧＵＩを表示するためにＧＵＩ制御部２０３にＧＵＩコントロールの追加及び表示を指示する。またＧＵＩが操作された場合には、ＧＵＩ制御部２０３よりの通知を受けて、その指示されたキーなどに応じた処理を行う。
【００１９】
ＧＵＩ制御部２０３は、アプリケーション部２０６からのＧＵＩコントロールの追加や表示命令を受け、ディスプレイ制御部２０１へＧＵＩコントロールを描画するための描画命令を送る。更に、ＧＵＩコントロールを表示している座標情報を管理する。また、タッチスクリーン制御部２０２からクリック通知を受取ると、ユーザが触れた座標に存在するＧＵＩコントロールがクリックされたものと判定する。そして、その指示されたＧＵＩコントロールの種類に応じた処理を行う。このとき、エディットボックスなどの文字入力フィールドコントロールがクリックされた場合には、そのクリックされた文字入力フィールドコントロールを操作対象コントロールとする。更に、その文字入力フィールドコントロールの入力属性をＧＵＩコントロール属性記憶部２０４より取得し、スクリーンキーボード制御部２０５に対して、スクリーンキーボードの生成命令を送る。またスクリーンキーボード上のキーが指示（クリック）されたと判定した場合には、スクリーンキーボード制御部２０５にその指示されたキーを通知する。スクリーンキーボード制御部２０５は、クリックされたキーに対応する文字を判定し、ＧＵＩ制御部２０３に文字入力命令を送る。ＧＵＩ制御部２０３は、この文字入力命令を受けると、現在操作対象コントロールとなっているＧＵＩコントロールに対して、文字入力がされたことを通知する。また、現在操作対象となっているコントロール又はスクリーンキーボード以外のＧＵＩコントロールがクリックされた場合には、現在表示されているスクリーンキーボードを破棄する。
【００２０】
図３は、本実施の形態に係るＧＵＩコントロール属性記憶部２０４に記憶されているＧＵＩコントロールに関連付けられた属性情報を説明する図である。
【００２１】
コントロールＩＤ３０１は、コントロールを一意に識別するためのＩＤを格納している。このコントロールＩＤは、制御対象のコントロールを識別するために使用される。コントロール名３０２は、コントロールに付けられた名前を格納している。コントロール種３０３は、コントロールの種類を格納している。ここでコントロール種としては、文字を入力するコントロールであるエディットコントロール、固定文字列を表示するテキストコントロール、ボタンを表示するボタンコントロール等様々なものがある。表示位置３０４は、ＧＵＩコントロールを表示するＸＹ座標を格納している。サイズ３０５は、ＧＵＩコントロールの縦横の表示サイズを格納している。入力属性３０６は、コントロール種がエディットコントロール（文字の入力）である場合のみに使用される。この入力属性３０６には、使用可能文字リスト３０７、使用可能文字種リスト３０８、使用可能機能キーリスト３０９が含まれる。以下、それぞれを説明する。
【００２２】
使用可能文字リスト３０７は、エディットコントロールに入力可能な文字の文字コードをリストで格納する。使用可能文字種リスト３０８は、エディットコントロールに入力可能な文字の種別をリストで格納する。ここで使用可能文字種として、半角英小文字、半角英大文字、半角数字、半角記号、全角文字が指定可能である。ここでは、半角英小文字、半角英大文字を区別するが、これらをまとめて半角英字とし、半角英小文字、半角英大文字を含む使用可能文字種として扱うことも可能である。使用可能機能キーリスト３０９は、エディットコントロールに文字を入力する際に、使用可能な機能キーをリストで格納する。機能キーとしては、「Shift」「Tab」「Space」「Back Space」「Lock」「Ctrl」「Alt」「Enter」、入力切替えキー、変換キーが指定可能である。
【００２３】
これらコントロールＩＤ３０１、コントロール名３０２、コントロール種３０３、及び入力属性３０６は、アプリケーション部２０６がＧＵＩ制御部２０３にＧＵＩコントロールを追加する際に指定する。これによりＧＵＩ制御部２０３は、ＧＵＩコントロール属性記憶部２０４に、その指定されたコントロール属性情報を保存し、必要な時に参照する。その他のＧＵＩコントロールの属性情報を格納することも当然考えられるが、ここでは省略する。
【００２４】
以下、スクリーンキーボード制御部２０５により入力属性に応じて生成されるスクリーンキーボードについて説明する。
【００２５】
図４は、本実施の形態に係るスクリーンキーボードの表示例を示す図である。
【００２６】
このスクリーンキーボードでは、キーボードの全てのキーがキー入力可能な形態で表示されている。これは入力属性が反映されていない基本となるスクリーンキーボードである。
【００２７】
図５〜図７は、入力属性３０６の使用可能文字リスト３０７が、「a」から「ｚ」，「A」から「Z」、「1」から「0」及び空白文字が指定されている。また使用可能機能キーリスト３０９には、「Shift」「Back Space」「Lock」「Enter」が指定された場合に生成されるスクリーンキーボードの一例を示している。もしくは、使用可能文字種リスト３０７に、半角英小文字、半角英大文字、半角数字が指定され、使用可能機能キーリスト３０９に「Shift」「Back Space」「Lock」「Enter」が指定された場合も同様になる。ここでは、上述したように半角英小文字、半角英大文字を区別しているが、これらをまとめて半角英字とし、半角英小文字、半角英大文字を含む使用可能文字種として扱うことも可能である。この場合には、半角英字、半角数字が指定され、使用可能機能キーリスト３０９に「Shift」「Back Space」「Lock」「Enter」が指定された場合に、これら図５〜図７のスクリーンキーボードが表示される。
【００２８】
また使用可能機能キー３０９を指定せず、固定で「Shift」「Tab」「Space」「Back Space」「Lock」「Ctrl」「Alt」「Enter」、入力切替えキー、変換キーの機能キーを常に有効とする。或は使用可能文字種リスト３０８、使用可能機能キーリスト３０９に指定された文字や文字種に応じて、必要とされる機能キーを表示することも可能である。例えば、全角文字が設定されている場合には、入力切替キー（半角／全角切替えキー、漢字キー）、変換キーを使用可能とする。また半角英大文字又は半角英字が設定されている場合には、「Shift」キー、「Lock」キーを使用可能とする。
【００２９】
図５及び図７では、使用可能文字リスト３０７、使用可能文字種リスト３０８で指定された文字を入力するために必要なキーと、使用可能機能キーリスト３０９で指定された機能キーとを使用可能キーとし、これら使用可能キーのみを表示している。
【００３０】
また図６に示すキーボードの配列は、図４に示す基本となるスクリーンキーボードとキー配列が同じである。しかし図６では、使用可能キー以外を使用不可状態としてグレイ表示している。また別の制御方法として、図６で使用不可状態として表示したキーを非表示にすることも可能である。これにより、入力不可である文字や記号等をユーザが誤って入力するのを防止できる。
【００３１】
また図５では、使用可能キーのみを表示し、更にスクリーンキーボードを表示しているウィンドウ内で、有効なキーのみを拡大して表示している。また図７は使用可能キーのみを表示し、更に、スクリーンキーボードを表示しているウィンドウ内で、有効な各キーのサイズは同じで、その間隔を広げて表示している。
【００３２】
次に図５に示すスクリーンキーボードのキーの大きさやキーの配置を決定するためのロジックを説明する。上述した方法により、使用可能なキーが決定されると、各キーの表示サイズを決定する。
【００３３】
そして図１０は、このキー配列の決定処理を説明するフローチャートで、この処理を実行するプログラムは実行時にメモリ１０２に記憶されており、ＣＰＵ１０１の制御の下に実行される。
【００３４】
この処理の開始前には、ＧＵＩコントロール属性記憶部２０４に記憶されている使用可能文字リスト３０７、使用可能文字種リスト３０８及び使用可能機能キーリスト３０９に基づいて、スクリーンキーボードに表示する文字キー、機能キーを決定する。まずステップＳ１で、スクリーンキーボードの表示ウインドウの表示サイズを横方向をＷx，縦方向をＷyとする。これらサイズ情報は、ユーザが任意に指定できるようにしても良い。次にステップＳ２で、使用可能キーのスクリーンキーボードにおける各キーの横方向の長さをＸn、横方向の間隔をＢxとする。ここでは文字や記号キーと、機能キーとのサイズをそれぞれ別々に設定可能にしても良い。次にステップＳ３で、各キーの配列行（ｍ：ｍ＝１〜Ｒ）（Ｒは、このキーボードのキー配列の行数を示す）における横方向の長さの合計Ｘmを求める。ここでｍ行における使用可能キーの個数をＮmとすると、ｍ行における横方向のキー配列の長さの合計長さＸm（ｍ＝１〜Ｒ）は、
Ｘm＝Ｘn×Ｎm＋（Ｎm−１）×Ｂx      …式（１）
となる。
【００３５】
例えば、図４において、５行目の横方向の長さの合計Ｘ5は、「Shift（左）」，「z」，「x」，「c」，「v」，「b」，「n」，「m」，「Shift（左）」の各キーの横方向の長さの合計となる。またこの行の使用可能キーの個数Ｎ5は「９」である。尚、「Enter」キーは、３行目と４行目に跨っているため、両方の行に含めて考える。
【００３６】
こうして求めた１〜ｍ行のそれぞれキー配列の長さの合計Ｘmの内、最大長である行の長さをＸmaxとする。
【００３７】
そして、次の式（２）を満たす最小の拡大率Ｚm（minＺm）を求める。
【００３８】
Ｚm＝Ｗx／Ｘmax        …式（２）
次にステップＳ４で、縦方向のキーの配列高さＹrを求める。ここではスクリーンキーボードにおける各キーの縦方向の長さをＸyとする。ここで、「Enter」キーは３行目と４行目に跨っているため、この「Enter」キーの縦方向の長さは考慮しない。
【００３９】
これら条件の下で、Ｒ行からなるキー配列の縦方向の合計長さＹrは、
Ｙr＝Ｒ×Ｘy＋（Ｒ−１）×Ｂy          …式（３）
となる。
【００４０】
そして、この式（３）から、次の式（４）を満たす縦方向の拡大率Ｚyを求める。
【００４１】
Ｚy＝Ｗy／Ｙr            …式（４）
次にステップＳ５で、これら式（２）と式（４）から得られた拡大率minＺxmとＺyの内、小さい方の拡大率を表示拡大率Ｚとする。これにより、各キーは横方向の長さは（ｘn×Ｚ）、縦方向の長さは（Ｙr×Ｚ）に拡大されて表示される。
【００４２】
次にステップＳ６で、こうして拡大表示される各キーの表示位置を求め、ステップＳ７で、その求めた表示位置に各キーを配列して表示する。
【００４３】
次にステップＳ６の、各キーを配置する座標位置を決定する処理について説明する。
【００４４】
まず、スクリーンキーボードのウィンドウの左上を原点（0,0）とする。そして、使用可能キーが存在しないキー行を省いたｍ行目のキーの表示縦座標ＳＹmは、以下の式（５）により求められる。
【００４５】
ＳＹm＝（ｍ−１）×（Ｙr×Ｚ）＋（ｍ−１）×Ｂy    …式（５）
続いて、各キーを配置する横方向の座標ＳＸmn（ｍ行、ｎ列）を決定する。なお、ここで機能キー「ESC」、「漢字」、「Tab」、「Lock」、「Shift（左）」、「Ctrl（左）」は、スクリーンキーボードの表示ウィンドウ左端に配置されるため、これらキーのＳＸmnは「０」である。また「BS（Back Space）」、「Enter」、「SHift（右）」、「Ctrl（右）」は、スクリーンキーボードの表示ウィンドウの右端に位置しているため、これらキーのＳＸmnは、
ＳＸmn＝Ｗx−（ｘn×Ｚ）        …式（６）
となる。
【００４６】
次に、これら右端、左端に位置しているキー以外のキーの横座標を決定する。
【００４７】
各キー（対象キー）の配置可能範囲な横座標ＳＸmnの範囲は以下のように表される。
［対象キーより左にあるキーの横幅の合計］＋［対象キーより左にあるキーの個数］×Ｂx≦ＳＸmn≦［対象キーより右にあるキーの横幅の合計］＋［対象キーより右にあるキーの個数］×Ｂx
ここで、一番単純な方法としては、以下の式（７）に従って求めてもよい。
【００４８】
ＳＸmn＝［対象キーより左にあるキーの横幅の合計］＋［対象キーより左にあるキーの個数］×Ｂx            …式（７）
図８は、こうして求めたＳＸmnを用いてキーを配置したスクリーンキーボードの配列例を示す図である。
【００４９】
しかし、図４に示す元のキーボードでは、各行のキー配列は、隣接する行と比較すると少しキー位置が横方向にずれて配置されている。よって、この横方向のずれをできるだけ真似ることにより、元のキーボードに対して違和感のないキー配列とすることができる。このようなキー位置のズレを考慮したキー配列の例を図５に示す。この図５では、図４における各行のキーの横方向の位置ずれを反映したキー配列に変更されている。
【００５０】
このようなキー位置の修正処理を図１１のフローチャートで示す。この処理は、必要に応じて図１０のステップＳ６で実行される。
【００５１】
ここでは、上記の方法で決まった、ｍ行、ｎ番目のキーの横方向の位置ＳＸmnを基に、各キーの位置を調整をする。
【００５２】
図１１のステップＳ１１で、このような位置補正を行うかどうかを判定し、位置補正を実行しないときは、そのまま処理を終了する。位置補正を行う場合はステップＳ１２に進み、各行毎のキーの位置ズレ量を求める。
【００５３】
即ち、図４で示した基本のスクリーンキーボードの「1」「q」「a」「z」「Alt（左）」のキーの横位置のずれを、「1」キーを基準に、Ｄq，Ｄa，Ｄz，Ｄaltとする。これら値を基に、ｍ行における補正値Ｃmを以下の計算式で仮決めする。
【００５４】
Ｃm＝Ｄm×Ｚ
ここで、Ｄmは、ｍ行目におけるズレ量を示す。例えば、図４の３行目では、Ｄ3＝Ｄqとなり、４行目では、Ｄ4＝（Ｄq＋Ｄa）となる。
【００５５】
次にステップＳ１３で、各行のキーの位置ズレの調整を行う。ここではまず、各列の左端に表示される機能キーがあるかを調べる。例えば、２行目のキー「1」の補正後の横方向の位置ｘ2,1は、
ｘ2,1＝Ｃ2＋（「漢字」キーのｘn）×Ｚ＋Ｂx＝（「漢字」キーの表示幅）＋Ｂx
また３行目のキー「q」では、補正後の横方向の位置ｘ3,1は、
ｘ3,1＝Ｃ3＋（「Tab」キーのｘn）×Ｚ＋Ｂx＝Ｄq＋（「Tab」キーの表示幅）＋Ｂx
となる。
【００５６】
更に、４行目のキー「a」では、補正後の横方向の位置ｘ4,1は、
ｘ4,1＝Ｃ4＋（「Lock」キーのｘn）×Ｚ＋Ｂx
＝Ｄq＋Ｄa＋（「Lockb」キーの表示幅）＋Ｂx
となる。
【００５７】
次に、各行について、以下の計算式を満たすかどうかを判断する。
【００５８】
Ｗx≧［左端機能キーを除いたキーの横サイズと間隔の合計］＋Ｃm
もし、上記条件を満たさない行があれば、以下の様にＣmを再度調整して最終的な補正値Ｃm'を決定する。
【００５９】
Ｃm'＝Ｗx−［左端機能キーを除いたキーの横サイズと間隔の合計］
このようにして求めた最終的なＣm'により、その行の各キーの位置ＳＸmnを更に修正する。
【００６０】
ＳＸmn＝ＳＸmn＋Ｃm'
とする。
【００６１】
このようにして決定したｍ行目の各キーの横方向の座標ＳＸmnと、縦方向の座標ＳＹm（＝ｍ×Ｘy＋Ｂy）とを基に、各キーを配置する位置を決定する。
【００６２】
こうしてステップＳ１３における各キーの位置調整を実行することにより、できるだけ通常のキーボードの配置に近いキー配列を実現したスクリーンキーボードの表示ウインドウを生成できる。
【００６３】
また使用可能キーが、「1」から「0」，「+」，「-」，「*」，「/」，「=」，「.」だけの場合は、図９で示すようなテンキー形式のスクリーンキーボードを生成して表示しても良い。
【００６４】
この場合も、有効なキーだけを取り出し、それらのキーを所望のサイズのウインドウ内に配置することにより、前述の処理と同様にして実現できる。
【００６５】
尚、本発明は、このようなスクリーンキーボード表示装置を備える入力装置にも適用できる。このような入力装置において、表示されたキーボード上の位置が前述のタッチスクリーン１０５上でタッチされて指示されると、その指示された位置に対応する表示キーに応じて、そのキーコードが入力される。このようなキーコードの発生処理は周知の入力装置における処理と共通しているため、ここでは、その処理及び構成の説明は省略している。
【００６６】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
【００６７】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【００６８】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６９】
プログラムを供給するための記録媒体としては、様々なものが使用できる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００７０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００７１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
【００７２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００７３】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００７４】
【図１】本発明の実施の形態に係るスクリーンキーボード制御装置のハードウェア構成を説明するブロック図である。
【図２】本実施の形態に係るスクリーンキーボード制御装置の機能を説明する機能ブロック図である。
【図３】本実施の形態に係るＧＵＩコントロール属性記憶部に記憶されているＧＵＩコントロールに関連付けられた属性情報を説明する図である。
【図４】本実施の形態に係るスクリーンキーボードの表示例を示す図である。
【図５】本実施の形態において、使用可能文字リスト、使用可能文字種リストで指定された文字を入力するために必要なキーと、使用可能機能キーリストで指定された機能キーとを使用可能としたスクリーンキーボードの表示例を示す図である。
【図６】本実施の形態におけるスクリーンキーボードの表示例を示す図である。
【図７】本実施の形態においてキー間隔を空けたスクリーンキーボードの表示例を示す図である。
【図８】本実施の形態に係る位置補正を行う前のスクリーンキーボードの表示例を示す図である。
【図９】本実施の形態に係るテンキー形式のスクリーンキーボードの表示例を示す図である。
【図１０】本実施の形態に係るキー配列の決定処理を説明するフローチャートである。
【図１１】本実施の形態に係るキー位置の修正処理を示すフローチャートである。
【図１】
2007257068.tif 000003
【図２】
2007257068.tif 000004
【図３】
2007257068.tif 000005
【図４】
2007257068.tif 000006
【図５】
2007257068.tif 000007
【図６】
2007257068.tif 000008
【図７】
2007257068.tif 000009
【図８】
2007257068.tif 000010
【図９】
2007257068.tif 000011
【図１０】
2007257068.tif 000012
【図１１】
2007257068.tif 000013