情報処理装置
【課題】階層化された複数の項目データを順次接触入力する場合に、接触入力された項目データの下位の階層の項目データを容易に入力できるようにすること。
【解決手段】実行可能な機能を特定するための複数の項目データを、階層的に対応付けて記憶した記憶部と、記憶された項目データを入力順の階層ごとに表示させる表示部と、画面上を接触入力された場合にその接触入力された位置を特定する情報を生成する入力部と、表示された複数の項目データのうち、第1項目データの表示領域が接触入力された場合に、その接触位置と、接触入力された項目データが第1項目データであることを検出する項目検出部と、第1項目データに対応付けられた下位の階層に属する複数の項目データを前記記憶部から抽出し、第1項目データの表示位置を中心位置とした円の半円周上に、前記抽出された複数の項目データを表示させる項目選択部とを備えることを特徴とする。
【解決手段】実行可能な機能を特定するための複数の項目データを、階層的に対応付けて記憶した記憶部と、記憶された項目データを入力順の階層ごとに表示させる表示部と、画面上を接触入力された場合にその接触入力された位置を特定する情報を生成する入力部と、表示された複数の項目データのうち、第1項目データの表示領域が接触入力された場合に、その接触位置と、接触入力された項目データが第1項目データであることを検出する項目検出部と、第1項目データに対応付けられた下位の階層に属する複数の項目データを前記記憶部から抽出し、第1項目データの表示位置を中心位置とした円の半円周上に、前記抽出された複数の項目データを表示させる項目選択部とを備えることを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報処理装置に関し、特に、タッチパネルを有し、利用者の指やペン等を用いて、情報や機能の選択入力が可能な端末等の情報処理装置に関する。
【背景技術】
【0002】
今日、パソコンや携帯端末等の情報処理装置において、利用されるアプリケーションプログラムはますます高機能化し、多数の機能を有している。利用者が、ある特定の機能を利用するためには、たとえば多数の機能を一覧表示したメニュー項目の中から、自己の要求する機能項目を選択して、その機能項目が表示されている部分を入力することが行われている。
しかし、選択可能な機能が増加すると、選択用メニューに表示する項目が増加し、メニューの表示構造も複雑化する。1画面に表示する項目が増加すると、一覧性が悪くなり、利用者が所望の項目を選択するのに時間がかかり、操作性が悪くなる。
【0003】
そこで、視認性や操作性を改善するために、多くのアプリケーションプログラムでは、類似するいくつかの機能項目を1つのグループにまとめて、メニュー項目を階層化することが行われている。
この階層化により項目の選択がし易くなったが、機能が増加し、階層がより複雑かつ深くなると、利用者が目的の選択項目に行き着くまでに、時間と手間がかかっていた。
【0004】
たとえば、最上層の第1メニュー項目を、マウスやタッチパネルを使って選択する操作をすると、その操作位置の横あるいは下に、下位の階層の第2メニュー項目がリスト状に表示され、第2メニュー項目の中のいずれかの項目を選択する操作をすると、さらにその下の階層の第3メニュー項目がリスト状に表示され、目的の項目が表示されるまで同様の操作を行う必要があった。
【0005】
また、特許文献1には、タッチパネルが配設された表示画面で入力操作を行う場合に、タッチパネルの接触位置を中心にして、複数のメニュー項目を放射状に配置した放射状メニューを表示させて、接触したままスライド操作をした後、ユーザの指等のリリース操作をすることによって、表示画面を注視することなく所望の操作を行うことが可能なコンテンツ再生装置が、記載されている。
【0006】
さらに、特許文献2には、予め用意されたM個のグラフィック項目からなるグラフィックメニューバーにおいて、N個(N<M)のグラフィック項目しか表示画面に表示されない場合、所定の位置にタッチしたまま左方向あるいは右方向に摺動操作をすることにより、表示されていなかったグラフィック項目をグラフィックメニューバーに表示するようにしたバーの操作方法が記載されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2011−13990号公報
【特許文献2】特開2009−266220号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、上記のような階層構造のメニュー項目を階層順に表示してタッチパネル上の所定の位置を指で接触することにより下位の項目を選択する場合は、下位層のメニュー画面をリスト状に順次表示させるために、指の移動距離が大きくなり、項目数が増加するほど操作性が悪くなり、また、どの階層の中に目的の項目があるのか分からない場合は、目的の項目を探し出すのに時間がかかっていた。
【0009】
また、特許文献1のように、タッチした位置の周囲に放射状に項目を表示する場合においても同様に、項目数が増加するにつれて、一度に表示される項目が増加するので、目的の項目を探すのに時間がかかることになる。
【0010】
さらに特許文献2のように、画面上に表示させる項目の数を限定し、摺動操作によって目的の項目を探し出す場合においても同様に、項目数が増加するにつれて、目的の項目を探し出すのに手間と時間がかかることになる。
また、これらの特許文献で利用されるメニュー項目やグラフィック項目の表示は、階層的に行われるものではない。
【0011】
そこで、この発明は、以上のような事情を考慮してなされたものであり、利用者の指を用いてタッチパネルに対して容易な操作をするだけで、階層構造のメニューデータに属する項目データの表示を順次行い、目的の項目データを容易かつ迅速に選択することが可能な情報処理装置を提供することを課題とする。
【課題を解決するための手段】
【0012】
この発明は、実行可能な機能を特定するための複数の項目データを、階層的に対応付けて記憶した記憶部と、前記記憶された項目データを入力順の階層ごとに表示させる表示部と、前記表示部の画面上に対向配置され、画面上を接触入力された場合に、その接触入力された位置を特定する情報を生成する入力部と、前記表示部に表示された複数の項目データのうち、第1項目データの表示領域が接触入力された場合に、その接触位置と、接触入力された項目データが前記第1項目データであることを検出する項目検出部と、前記検出された第1項目データに対応付けられた下位の階層に属する複数の項目データを前記記憶部から抽出し、前記検出された第1項目データの表示位置を中心位置とした円の半円周上に、前記抽出された複数の項目データを表示させる項目選択部とを備えることを特徴とする情報処理装置を提供するものである。
これによれば、接触入力された第1項目データに、対応付けられた下位の階層に属する複数の項目データを、第1項目データの表示位置を中心位置とした円の半円周上に表示するので、所望の機能を選択するための項目データを入力すべき階層順に容易に入力することができ、利用者の操作性を向上させることができる。
【0013】
また、前記項目選択部によって抽出された複数の項目データのうち、第2項目データが前記入力部により接触入力された場合、前記第2項目データの表示位置を中心位置とした円の半円周上に、前記第2項目データに対応付けられたさらに下位の階層に属する複数の項目データを表示させることを特徴とする。
これによれば、対応付けられた複数の項目データを、上位から下位の階層の順に表示させていくので、利用者は、単純で分かりやすい操作をするだけで、所望の機能を容易かつ迅速に選択することができる。
【0014】
また、前記接触入力された項目データの表示位置と比較して、前記項目データに対応付けられた下位の階層に属する複数の項目データの表示位置は、前記接触入力された項目データの表示位置を中心位置とする円の左側半分の円周上、あるいはその円の右側半分の円周上に配置されていることを特徴とする。
また、所定の上位の階層に属する第1項目データの表示位置とその階層よりも1つ下位の階層に属する第2項目データの表示位置との位置関係と、前記第2項目データの表示位置とその1つ下位の階層に属する第3項目データの表示位置との位置関係は、それぞれの円の中心位置から見て、左右が反対側となっていることを特徴とする。
これによれば、所定の上位下層の項目データの表示位置と、その階層よりも1つ下位の階層の項目データの表示位置を、円の中心から見て反対側である左側と右側に配置しているので、利用者の2本の指を交互に接触入力させる操作をするだけで、階層的な項目データの入力を容易にすることができる。
【0015】
また、前記入力部によって接触入力された項目データの表示位置と、前記表示部の画面の端部との距離が所定値よりも短い場合、その項目データに対応付けられた下位の階層に属する複数の項目データを表示させる位置の基準となる円の中心位置を、前記表示部の中央方向に調整することを特徴とする。
【0016】
また、前記入力部による画面上への接触入力は、利用者の2本の指を用いて行われ、一方の指を用いて前記表示部に表示された項目データの接触入力が行われた後に、他方の指を用いて前記接触入力された項目データに対応付けられた下位の階層に属する複数の項目データのうちいずれかの項目データが接触入力されることを特徴とする。
【発明の効果】
【0017】
この発明によれば、複数の項目データを階層的に対応付けて記憶しておき、表示部に対向配置された入力部によって、画面上に表示された第1項目データの表示領域が接触入力された場合に、接触入力された第1項目データに対応付けられた下位の階層に属する複数の項目データを、第1項目データの表示位置を中心位置とした円の半円周上に表示させるようにしているので、複数の項目データを順次選択しながら所望の機能を選択する場合において、利用者にとって単純で分かりやすい操作をするだけで、目的の項目データを容易かつ迅速に選択することができ、操作性を向上させることができる。
【図面の簡単な説明】
【0018】
【図1】この発明の情報処理装置の一実施例の構成ブロック図である。
【図2】この発明の画面表示内容と指による接触入力操作の一実施例の説明図である。
【図3】この発明の画面表示内容と指による接触入力操作の一実施例の説明図である。
【図4】この発明の画面表示内容と指による接触入力操作の一実施例の説明図である。
【図5】この発明の画面表示内容と指による接触入力操作の一実施例の説明図である。
【図6】この発明の画面表示内容と指による接触入力操作の一実施例の説明図である。
【図7】この発明において、表示される項目データ数が奇数の場合に、項目データの表示位置の一実施例の説明図である。
【図8】この発明において、表示される項目データ数が偶数の場合に、項目データの表示位置の一実施例の説明図である。
【図9】この発明のメニューデータテーブルの一実施例の説明図である。
【図10】この発明のメニュー座標テーブルの一実施例の説明図である。
【図11】この発明の主要な変数データの一実施例の説明図である。
【図12】この発明の情報処理装置における項目選択と表示処理の一実施例のフローチャートである。
【図13】この発明の情報処理装置における項目選択と表示処理の一実施例のフローチャートである。
【図14】この発明の情報処理装置における項目選択と表示処理の一実施例のフローチャートである。
【図15】この発明の情報処理装置における項目選択と表示処理の一実施例のフローチャートである。
【図16】この発明の情報処理装置における項目選択と表示処理の一実施例のフローチャートである。
【図17】この発明の情報処理装置における項目選択と表示処理の一実施例のフローチャートである。
【図18】この発明の情報処理装置における項目選択と表示処理の一実施例のフローチャートである。
【発明を実施するための形態】
【0019】
以下、図に示す実施例に基づいて、この発明を説明する。
なお、これによって、この発明が限定されるものではない。
<この発明の情報処理装置の構成>
図1に、この発明の情報処理装置の一実施例の構成ブロック図を示す。
この発明の情報処理装置は、図1に示すように、主として、制御部1,表示制御部2,表示部3,入力制御部4,入力部5,カウンタ6,記憶部10とから構成される。
【0020】
ここで、制御部1は、この発明の情報処理装置が有する各種機能を実現するために、各種ハードウェアを動作させるものであり、主として、CPU,ROM,RAM,I/Oコントローラ、タイマー等を備えたマイクロコンピュータから構成される。
【0021】
カウンタ6は、指等がタッチパネルに接触している時間(入力継続時間)の経過をカウントするレジスタであり、例えば、初期値としてカウンタ値CT(秒)が設定された後、1秒ごとにカウントダウンし、制御部1がそのカウント値CTがゼロとなるまでの時間を計測するためのものである。
【0022】
表示部3は、機能を選択するためのメニューなどの所定の情報を表示するものであり、LCD,CRT,PDPなどの表示装置に相当する。特に、この発明では、記憶部10に記憶された項目データを、入力部5によって入力された順で階層ごとに表示させる。
表示制御部2は、表示ドライバ回路に相当し、図示しないVRAM(ビデオメモリ)に展開された表示用データを、表示部3に与えるものである。VRAMは、制御部1が表示すべき一画面分のデータを、表示部3に表示できる形式で記憶する書き換え可能な表示専用のメモリである。
【0023】
入力部5は、利用者が文字、図形、記号などの情報の入力、メニューの選択あるいは機能選択などの入力を行う部分であり、キーボード、マウス、タッチパネルなどの種々の入力装置が用いられる。
この発明では、特にタッチパネルを用いて、機能等を特定する項目データを選択入力する操作方法に特徴があるので、以下の実施例では、主として、入力部5としてはタッチパネルを用いるものとして説明する。また、タッチパネルに対する入力は、指、ペンなどを用いることができるが、以下の実施例では、利用者の指を用いるものとして説明する。
【0024】
入力制御部4は、入力部5であるタッチパネルから入力された情報、すなわち、利用者の指やペンによって接触されたタッチパネルの位置を特定する情報(入力座標)を生成して、制御部1へ与える部分である。
タッチパネル5は、表示部3の画面上に対向配置され、画面上の押された位置座標を検出できるようにマトリクス状に接触検出点を設けたものであり、接触入力された画面上の位置を特定する情報が生成される。入力制御部4は、この接触検出点の位置を特定する信号を受けて、接触した位置の座標値(x、y)を生成し、制御部1へ与える。表示部3の画面の水平方向をX軸とし、垂直方向をY軸とすると、接触入力された位置は、X座標とY座標で表わされる。
【0025】
記憶部10は、この発明の情報処理装置で利用される情報を記憶した部分であり、例えば、ROM,RAM,フラッシュメモリ、ハードディスクなどの記憶媒体が用いられる。
後述するように、例えば、メニューデータテーブル101,メニュー座標テーブル102のように、あらかじめその内容が固定的に設定され、消去されないように記憶されるべき情報は、ROMやハードディスクに記憶される。
ただし、メニューデータテーブル101やメニュー座標テーブル102は、後に更新や新たなユーザ定義ができるように、書き換え可能なように記憶してもよい。
【0026】
また、情報処理装置の設定入力や所定の機能を実行しているときに、その都度書き換える必要のある情報は、RAM又はハードディスクなどの書き換え可能なメモリに記憶される。例えば、後述するように、各種変数や、現在注目している項目の表示内容テーブル111,表示座標テーブル112,タッチパネル5に現在接触している位置の入力座標(第1入力座標(P1)113,第2入力座標(P2)114)、現在表示しているメニューの中心座標115,表示すべき情報の位置を示す表示座標116などは、RAMやハードディスクに記憶される。
さらに、記憶部10には、図示していないが、この発明の情報処理装置の種々の機能を実行させるためのプログラムが記憶される。
【0027】
制御部1のCPUは、ROM等にあらかじめ記憶されたプログラムに基づいて、各種ハードウェアを有機的に動作させることによって、この発明の機能を実現させる。なお、プログラムは、ROM等にあらかじめ固定的に格納しておいてもよいが、その後の仕様変更や機能更新などに容易に対応できるようにするために、フラッシュメモリ、CD−ROM、ハードディスク等に格納して提供し、あるいは、ネットワークを介して外部サーバから必要に応じてダウンロードしてハードディスク等に格納するようにしてもよい。
【0028】
また、制御部1は、主として、項目検出部と、項目選択部とを有する。
項目検出部は、表示部に表示された複数の項目データのうち、第1項目データの表示領域が接触入力された場合に、その接触位置と、接触入力された項目データが第1項目データであることを検出する部分である。すなわち、タッチパネルに対して接触入力された位置に表示されている項目データが何であるかを検出する部分であり、メニュー座標テーブル102,表示内容テーブル111,表示座標テーブル112などが用いられる。
【0029】
項目選択部は、検出された第1項目データに対応付けられた下位の階層に属する複数の項目データを記憶部10から抽出し、検出された第1項目データの表示位置を中心位置とした円の半円周上に、抽出された複数の項目データを表示させる部分である。
すなわち、接触入力された第1項目データに階層的に対応付けられた1つ下位のレベルの複数の項目データを、第1項目データの表示位置の近くに表示させる部分であり、メニューデータテーブル101,メニュー座標テーブル102,メニュー中心座標115などが用いられる。
【0030】
また、項目選択部によって抽出された複数の項目データが表示されている場合において、その複数の項目データのうち、1つの項目データ(第2項目データと呼ぶ)が入力部により接触入力された場合、その第2項目データの表示位置を中心位置とした円の半円周上に、第2項目データに対応付けられたさらに下位の階層に属する複数の項目データを表示させるようにする。
【0031】
このように、上位の階層の項目データを先に選択入力し、その後にその下位の階層の項目データを選択入力するようにする。さらに選択入力操作を容易に行えるようにするために、上位の階層の項目データの表示位置を円の中心位置とし、その1つ下の階層の項目データは、その円の半円周上に表示させる。
【0032】
また、利用者の2本の指を交互に用いて接触入力する場合を考慮して、その入力操作を容易にするために、下位の階層に属する複数の項目データの表示位置は、接触入力された項目データの表示位置を円の中心位置として、その円の左側半分の円周上か、あるいはその円の右側半分の円周上に、一定間隔に配置することが好ましい。
【0033】
さらに、2本の指を交互に用いた接触入力を容易にするために、上位の階層の第1項目データの表示位置を円の中心位置として、その円の右側の半円周上に、1つ下の階層の第2項目データを表示させている場合において、第2項目データの中の接触入力された項目データの表示位置を円の中心位置として、さらに1つ下の階層の第3項目データを表示させる場合は、第3項目データは、円の左側の半円周上に表示させるようにする。
すなわち、より下位の階層の項目データの表示位置は、円の中心位置から見て、交互に左右が反対側となる半円周上であることが好ましい。
【0034】
また、利用者の一方の手の2本の指を用いて接触入力を行う場合、上記円の半径は、2本の指を開いた距離よりも小さくして、一方の指を用いて項目データの接触入力が行われた後に、他方の指を用いて、前記接触入力された項目データに対応付けられた下位の階層に属する複数の項目データのうちいずれかの項目データを接触入力できるようにすることが好ましい。
【0035】
<タッチパネルを利用した機能選択方法>
ここでは、この発明の特徴となるタッチパネルを利用した機能選択方法の概略を説明する。
図2から図6に、表示部3の画面に表示される内容と、指による接触入力操作の一実施例の説明図を示す。
以下の説明では、タッチパネルの操作入力は、利用者の指、特に、右手の人差指と中指の2本の指を用いて行うものとする。ただし、2本の指を用いればよく、どの指を用いるかは利用者の操作のしやすさに依存する。
例えば、一方の手の親指と人差指、左手の人差指と右手の人差指など、2本の指の組み合わせは、種々の組合せが考えられ、特に限定されるものではないが、利用者の良好な操作性の観点からは、一方の手の人差指と中指の2本の指を用いるのが好ましいと考えられる。
【0036】
図2において、まず、表示部3の画面上に、「メニュー」という項目のみが表示されている表示状態において、利用者が、その「メニュー」が表示されている領域(M0)を、右手の中指で、一定時間(例えば、3秒以上)接触し続けたとする。以下、接触を、タッチとも呼ぶ。
ここで、「メニュー」の表示領域(M0)とは、「メニュー」の文字が実際に表示されている部分のみではなく、その文字を含む一定の広さを有する四角形領域をいい、例えば、図2では、「メニュー」の文字を囲んだ長方形が表示された領域をいうものとする。
【0037】
このとき、制御部1は、3秒以上、タッチパネルを接触し続けたことを検出すると、メニューの第1階層のメニューデータに属する各項目データを、図2のように表示させる。
すなわち、「メニュー」の表示位置を中心位置とした円の半円周上で、左側の半円部分に所定の項目データを表示させる。図2においては、第1階層のメニューデータとして、あらかじめ設定されていた5つの項目のデータ(切り貼り、レイアウト、挿入、数式、データ)を、左側の半円周上に表示させた状態を示している。
【0038】
この5つの項目データは、一実施例として図9に示すメニューデータテーブル(MD)101の階層1(R=0)のメニューデータMD0に記憶されている5つのデータである。
ここで、5つの項目データは、図7に示すように、「メニュー」の表示位置を円の中心位置として、その円の左側の半円周上に、一定の中心角(36度)だけずらして表示している。項目のデータ数が、図2や図7のように5つの場合は、3番目の項目(挿入)を、円の中心位置(メニュー)の水平方向左側に表示し、水平線から上下方向に±36度だけ開いた位置に、それぞれ2番目の項目(レイアウト)と4番目の項目(数式)とを表示し、さらに、上下方向に±72度だけ開いた位置に、それぞれ1番目の項目(切り貼り)と5番目の項目(データ)とを表示している。
【0039】
このように、表示すべき項目データのデータ数が奇数の場合は、上下方向に±36度ずつの間隔で、円周上に各項目データを配置すればよい。例えば、表示すべき項目データが3個の場合は、図7の表示位置番号2,3,4の位置に各項目データを表示すればよい。また、表示すべき項目データが1個の場合は、表示位置番号3の位置にその1つの項目データを表示すればよい。
図2のようなメニューの第1階層に属する5つの項目データを表示させることにより、利用者は、次に5つの項目のうちいずれかが選択できることが理解できる。
【0040】
また、1つのメニューデータの中に4つの項目があらかじめ設定されている場合は、図8に示すように、円の中心位置に「メニュー」を表示して、「メニュー」の表示位置の水平線から上下方向に±22.5度だけ開いた位置に、それぞれ2番目と3番目の項目を表示し、さらに、上下方向に±67.5度だけ開いた位置に、それぞれ1番目と4番目の項目を表示すればよい。
すなわち、表示すべき項目データのデータ数が偶数の場合は、円の中心を通る水平線を基準として上下方向に対称的な位置に表示すべき項目データを配置し、それぞれ45度ずつの間隔で、円周上に各項目データを配置すればよい。
【0041】
また、右手でタッチパネルに対して入力操作をする場合、図2のように、右手の中指で接触した「メニュー」の位置の左側方向に、5つの項目データを配置しているのは、この5つの項目データのうちいずれかの選択が右手の人差指で選択しやすいようにするためである。
すなわち、右手の中指で画面にタッチしている状態のままで、次に、右手の人差指で5つの項目データのいずれかの表示領域を選択できるようにするためには、中指と人差指とを開くことが可能な距離以内に、「メニュー」と5つの各項目データの表示位置を設定することが好ましい。表示するデータの文字サイズや利用者の手の大きさなどによってどのような距離が最も好ましいかは一義的に決定することは難しいが、良好な操作性の観点からは、各項目データを配置する円の半径は、使用する2本の指を開いた距離よりも小さいことが好ましく、例えば、3cmから5cm程度の大きさが好ましいと考えられる。
【0042】
また、この円の半径は、一定値ではなく、利用者の手の大きさに応じて変更できるようにしてもよい。
なお、もし利用者が左手でタッチパネルの操作をする場合は、中指と人差指の位置関係は右手と逆なので、左手あるいは右手のどちらでタッチパネルを操作するかを、あらかじめ利用者に設定してもらうようにしてもよい。
【0043】
左手の中指で「メニュー」の位置をタッチした場合、第1階層の5つの項目データの選択を左手の人差指で行うようにするためには、5つの項目データは、図2に示すような左側の半円周上ではなく、右側の半円周上に表示させるようにする。
また、「メニュー」の表示位置を、円の中心位置とするが、さらに詳細には、例えば「メニュー」という文字を囲んだ長方形の中心(対角線の交点)の座標(x、y)を、円の中心位置の座標(cx、cy)としてもよい。
【0044】
また、上記説明では、図2において、「メニュー」の文字が、すでに表示されていることを前提として、この「メニュー」の表示位置をタッチするタッチパネルの入力操作の説明をしたが、最初に「メニュー」が表示されていなくてもよい。
【0045】
すなわち、表示画面上に、「メニュー」の文字が表示されていない状態で、利用者が、表示画面の任意の位置に接触した場合、その接触が一定時間(例えば、3秒以上)継続されたとすると、その接触位置に、「メニュー」という文字を表示させ、その「メニュー」の表示位置を円の中心位置に設定した後、図2に示すように、第1階層の5つの項目データを円周上に表示するようにしてもよい。
この場合は、項目データの表示位置は一定の位置に固定されることなく、利用者がタッチパネルに接触した最初の位置を基準として、以後の項目データの表示が行われることになるので、利用者の操作性を向上させることができる。
【0046】
次に、図2の表示状態において、利用者が、右手の中指を画面上の「メニュー」の位置をタッチしたまま、右手の人差指で、項目データの「挿入」の表示位置をタッチしたとする。図3は、右手の中指で「メニュー」をタッチしたままの状態で、右手の人差指で「挿入」をタッチした状態を示している。
ここで、「メニュー」をタッチすることは、「メニュー」という文字を囲んだ長方形領域(M0)の内部の任意の位置に接触することを意味し、「挿入」をタッチすることは、「挿入」という文字を囲んだ長方形領域(MD0−3)の内部の任意の位置に接触することを意味する。
【0047】
制御部1が、このような2本の指が接触状態になったことを検出した場合、第1階層において、5つの項目データのうち、「挿入」が選択される可能性があると判断し、「挿入」の表示領域(MD0−3)を反転表示させる。あるいは、強調表示やカラー表示をさせる。
このような反転表示をすることにより、利用者は、「挿入」が選択できる状態にあることを理解することができる。また、利用者が、「挿入」を選択する意図はなく、例えば「レイアウト」を選択したいと考える場合は、右手の中指をタッチした状態のままで、右手の人差指を移動させて「レイアウト」の表示領域(MD0−2)をタッチすればよい。この場合、「挿入」の反転表示がもとの表示に戻り、「レイアウト」の表示領域が反転表示される。
【0048】
次に、図3の表示および操作の状態で、利用者が、右手の人差指を「挿入」の表示領域にタッチしたまま、右手の中指を画面上から離したとする。
このとき、制御部1は、人差指によってタッチされている項目データの「挿入」が選択されたと判断する。すなわち、今までタッチしていた中指の接触が解除されたことを検出することにより、他方の人差指でタッチしている項目データの選択を確定する。
逆に、メニューの選択を中止する場合には、両方の指を離す事によって、メニューの選択処理が中止される。
例えば、図3の状態で、人差し指で「挿入」等のメニュー項目をどれも選らばない状態で、中指を画面上から離した場合には、メニュー選択を中止したと判断され、メニュー表示が初期状態に戻る。
また、実施例では、中指を移動させ、「メニュー」の表示領域の外側をタッチした場合もメニュー選択を中止したとしているが、本動作を行った場合には、「人差し指で押さえている項目を選択した」、若しくは、「中指が元の位置に戻るまで、メニュー選択待ち状態を保持」する様にしても良い。
【0049】
この項目データ「挿入」の選択が確定すると、第2階層のメニューデータテーブルとしてあらかじめ記憶されているメニューデータの中から、第1階層の「挿入」に関係づけられたメニューデータが読み出される。
例えば、図9に示すように、階層2のメニューデータとして3つのメニューデータ(MD01,MD02,MD03)があらかじめ設定されており、それぞれのメニューデータが、それぞれ、階層1のメニューデータ(MD0)の中の3つの項目データ(切り貼り、レイアウト、挿入)に関係づけられていたとする。
この場合、3つのメニューデータのうち、選択が確定した「挿入」に関係づけられたメニューデータ(MD03)が読み出される。
【0050】
読み出された第2階層のメニューデータ(MD03)には、5つの項目データがあらかじめ設定されているので、この5つの項目(図、図形、グラフ、テーブル、リンク)の文字を、画面上に表示させる。この新たな5つの各項目データは、「挿入」の表示位置を円の中心位置として右側半分の円周上に表示される。
【0051】
図4には、「挿入」の選択が確定した後、この第2階層のメニューデータMD03に属する5つの項目データを表示し、さらに、右手の中指が、新たに表示された項目データのうち「図形」の表示領域の内部にタッチしている状態を示している。
すなわち、図4は、右手の人差指が「挿入」(MD0−3)をタッチし、同時に右手の中指が「図形」(MD03−2)をタッチしている場合の表示状態を示している。
第1階層の項目データである「挿入」の表示位置に対して、第2階層の5つの項目データは、右側方向の円周上に表示されているので、「挿入」を右手の人差指でタッチしている場合には、5つの項目データは右手の中指で選択しやすい位置にある。
【0052】
従って、図4の表示状態において、右手の人差指をタッチさせたままで、右手の中指のタッチ位置を上下方向に移動させることにより、「図形」以外のほかの項目データも、容易に選択できるようになる。
図4において、「図形」(MD03−2)が反転表示されているが、右手の人差指によって「挿入」がタッチされている状態が継続している場合には、「図形」の選択はまだ確定しておらず、他の項目のいずれかを選択できる状態である。
【0053】
次に、図4の表示および操作状態から、右手の人差指を画面上から離したとする。あるいは、右手の人差指を移動させ、「挿入」の表示領域の外側をタッチしたとする。このとき、図4に示した項目データの「図形」の選択が確定される。
さらに、右手の中指でタッチしている「図形」にあらかじめ関係づけられた下の階層(第3階層)のメニューデータ(図9のMD032)に属する項目データが表示される。
【0054】
図5に、上記のように右手の人差指を画面上から離した後の表示状態を示す。ここでは、右手の中指でタッチしている「図形」の表示位置を円の中心位置として、その円の左側半分の円周上に、図9のメニューデータ(MD032)に属する5つの項目データ(線、四角、円、半円、文字枠)を表示している。
【0055】
このような表示を行うことにより、利用者は、「図形」に属している下位の5つの項目データのうちいずれかが選択できる状態となったことが容易に理解できる。また、右手の中指で「図形」の表示領域をタッチしている状態において、「図形」の表示位置よりも左側方向に、1つ下位の階層(第3階層)の項目データを表示しているので、右手の人差指を移動させることにより、その項目データのうちいずれかを容易に選択することができる。
【0056】
次に、図6は、図5の表示および操作状態から、右手の中指を「図形」の表示領域にタッチしたまま、右手の人差指を移動させて「四角」の表示領域の内部をタッチした状態を示している。
ここでは、「四角」が次の選択候補として選択可能な状態にあることを示すために、「四角」を囲む長方形の領域内を反転表示させる。また、「図形」の反転表示は元の表示に戻す。
右手の中指が「図形」をタッチしている状態では、また「四角」の選択は確定していないので、他の項目データを選択したい場合は、人差指を所望の項目データの表示領域まで移動させればよい。
【0057】
次に、図6の表示および操作状態において、人差指を「四角」にタッチしたままの状態で、右手の中指を画面上から離したとする。また、現在選択可能な「四角」が属するメニューデータMD032が最下位の階層であり、これより下の階層のメニューデータは設定されていないとする。すなわち、「四角」に関連づけられた下位の階層のメニューデータはないとする。
【0058】
この場合、制御部1は、右手の中指が画面上から離れたことを検出すると、人差指が現在タッチしている「四角」の選択を確定する。
「四角」に関係づけられた下位の階層のメニューデータがないとした場合、「四角」の選択が確定したことにより、図2から図6の一連の操作によって、「四角を挿入する」という機能が選択されたと判断される。
すなわち、利用者が右手の中指を画面上から離すという操作をすることにより、図6の表示内容を消去し、現在動作中のアプリケーションプログラムにおいて、「四角を挿入する」という機能が実行できる状態となる。
【0059】
この後、アプリケーションプログラムの一つの機能としてあらかじめ設けられている「四角を挿入する」という機能が実行され、利用者は、例えば所望の表示位置に所望の形状の四角形を入力することができるようになる。
【0060】
図2から図6に示すように、利用者は、右手の中指と人差指の2本の指を交互に移動とタッチの操作をすることにより、あらかじめ階層化されたメニューの項目データを順次選択することができる。
例えば、2本の指を用いて、画面上への接触操作と離す操作を交互にすることにより、次に選択することが可能な項目データが表示されるので、利用者は、次に選択可能な項目データにはどのようなものがあるかを容易に理解でき、また、離した指が存在する側の下方の表示領域に、選択可能な項目データが円周上に一定間隔を開けて表示されるので、利用者は、手を大きく移動させる必要はなく、離した指をわずかに移動させるだけで、容易に所望の項目を選択することができる。
【0061】
図2から図6を用いた説明では、2本の指として、中指と人差指とを用いるものとしたが、2本の指の組合せは、これに限る必要はなく、例えば、一方の手の親指と中指の組み合わせ、親指と人差指の組み合わせを用いてもよく、利用者の操作性に問題なければ、一方の手の5本の指のうち、任意の2本の指を用いて操作してもよい。
また、2本の指は一方の手だけに限る必要はなく、利用者の操作がやりやすい指を用いてすればよいので、例えば、右手の人差指と左手の人差指を用いてもよく、利用者の10本の指のうち、任意の2本の指を用いてもよい。
【0062】
さらに、図2において、利用する2本の指を右手の中指と人差指とし、最初に画面に接触する指を右手の中指と考えて、「メニュー」の左側に第1階層のメニューデータに属する5つの項目データを表示させたが、これに限るものではない。
最初に接触する指が、右手の中指ではなく、右手の人差指である場合もあり、あるいは左手の親指である場合もあり、利用する2本の指の組み合わせによって、第1階層の項目データを「メニュー」の表示位置から見て、その左右のどちら側に表示させるのが好ましいかが決まると考えられる。
【0063】
例えば、右手の人差指が最初に接触する指として用いられ、次に右手の中指を用いる場合は、右手の中指での操作性を考慮すると、図2とは異なり、第1階層の5つの項目データは、「メニュー」の右側に表示させた方が好ましい。
従って、初期設定項目として、利用者が利用する2本の指、最初に接触する指、利用者の利用する手(右手か左手か)をあらかじめ設定できるようにして、その設定内容に基づいて項目データを表示する位置を決定するようにしてもよい。
【0064】
また、そのような設定をしたとしても、利用者が設定と異なる指を用いてタッチ操作をしてしまう場合もあり得る。例えば、利用者が右手の人差指を最初に接触する指として用いたが、図2のように、「メニュー」の左側に5つの項目データが表示されてしまった場合、利用者は、右手の中指ではなく、右手の親指を用いて、5つの項目データのうちいずれかをタッチするようにすればよい。
【0065】
あるいは、最初のタッチ操作をする前に、表示画面上のどこかに、最初に使用すべき指の名称を表示するようにしてもよい。例えば、「最初にタッチする指は、右手の中指を用いて下さい」とか、「右手の中指と人差指を用い、最初にタッチする指として右手の中指を用いて下さい」というような表示をあらかじめしておけば、その後のタッチ操作と、項目データの表示位置とが不整合となることはない。
【0066】
<記憶部に記憶される情報>
図9,図10および図11に、この発明で用いられる情報の一実施例の説明図を示す。
図9には、メニューデータテーブル(MD)101の一実施例の内容を示している。
メニューデータテーブル101は、複数個のメニューデータから構成され、情報処理装置の出荷時など使用前の段階で、あらかじめ記憶部10に固定的に記憶される。
また、メニューデータテーブル101は、実行可能な機能を特定するための複数の項目データを階層的に対応付けて記憶したものである。
【0067】
ここで、メニューデータに属する選択可能な項目データは、階層1,2および3の3つの階層に分割され、上位の階層のメニューデータに属する項目データのそれぞれに、1つ下の階層のメニューデータが関係づけられて記憶される。
【0068】
図9では、第1の階層(階層1)は、1つのメニューデータMD0からなり、そのメニューデータMD0には、5つの項目データ(切り貼り、レイアウト、挿入、数式、データ)があらかじめ設定されている。1つの項目データは、利用者がこれから実行しようとしている機能を特定するための内容を示している。
また、第2の階層(階層2)は、第1階層の5つの項目データのそれぞれに関連づけられたメニューデータ(MD01〜MD05)があらかじめ設定されている。図9では、2つのメニューデータ(MD01,MD03)について、その具体的な項目データを示し、他のメニューデータの項目データは省略している。
【0069】
図9のメニューデータMD03には、5つの項目データ(図、図形、グラフ、テーブル、リンク)があらかじめ設定されている。例えば、利用者によるメニューデータの項目の選択操作により、まず「挿入」が選択され、次に「グラフ」が選択されたとすると、「グラフを挿入する」という機能が選択入力され得ることを意味する。
【0070】
さらに、第3の階層(階層3)は、第2階層の5つのメニューデータ(MD01〜MD05)に属する項目データのそれぞれに関係づけられたメニューデータ(MD011,MD031など)が予め設定される。
例えば、図9に示すメニューデータMD032は、第2階層のメニューデータMD03の項目データ「図形」に関係づけられたメニューデータであり、この中には5つの項目データ(線、四角、円、半円、文字枠)が、予め設定されている。
【0071】
例えば、後述するような2本の指による選択入力操作をすることにより、3つの階層それぞれに対して、順に「挿入」と、「図形」と、「円」とが選択されたとすると、「円という図形を挿入する」という機能が選択入力されたことになる。
なお、Rは、後述するように、階層を意味する変数であり、例えば、R=0は第1階層を意味している。
【0072】
図10は、メニュー座標テーブル102の一実施例の説明図を示している。
図10において、4つのテーブルを示しているが、これらは予め記憶部10に固定的に記憶される。各テーブル(1〜4)は、1つのメニューデータに属する各項目データを、画面上に表示させる位置の座標(x、y)から構成される。ここでは、円の中心位置を原点座標(0、0)とした相対的な座標を示している。
【0073】
テーブル1と3は、1つのメニューデータに属する項目データの数(データ数Q)が奇数個の場合の座標値の具体例を示したものであり、テーブル2と4は、上記データ数Qが偶数個の場合の座標値の具体例を示したものである。
また、テーブル1と2は、それぞれ図7および図8に示すように、円の中心位置から見て円の左側の円周上に、項目データを表示する場合の表示座標の例を示している。
テーブル3と4は、円の中心位置から見て円の右側の円周上に、項目データを表示する場合の表示座標の例を示している。
【0074】
さらに、テーブル1と3は、項目データ数が奇数の場合の代表例として、データ数が5つの場合の表示座標を示しており、テーブル2と4は、偶数の場合の代表例として、データ数が4つの場合の表示座標を示している。
例えば、テーブル1は、図7に示すように5つの項目データを表示する場合の表示座標であり、テーブル1のNo.1の座標(−9,−29)の位置に、1つの項目データを表示させることを意味する。
【0075】
この座標値(x、y)は、1つの項目データを表示させる領域の代表点を示したものであり、例えば、項目データの文字列を囲む長方形の対角線の交点を座標値(x、y)として、その項目データを表示させる。
テーブル1のNoの1〜5までの表示座標によって示される各位置に、5つの項目データのそれぞれが表示される。このテーブル1の場合は、図7に示すように、「メニュー」の表示位置を円の中心位置を原点座標(0,0)として、その円の左半分の円周上であって各座標の位置に、5つの項目データがそれぞれ表示される。
【0076】
同様に、表示すべき項目データが4つの場合において、テーブル2に示す表示座標に各項目データを表示させる場合は、図8に示すような位置に4つの項目データが表示される。
テーブルは、これらの4つの限られるものではなく、表示すべき項目データの数が、2,3,6あるいは7などの場合の表示座標を予め設定して、記憶部10に記憶しておいてもよい。
【0077】
図11に、この発明の項目データの選択および表示処理に用いる主要な変数の具体例を示す。これらの変数は、RAMやハードディスクなどの書き換え可能なメモリに、一時的に記憶される。
【0078】
第1入力座標P1と第2入力座標P2とは、指によって接触した位置のタッチパネル上の入力座標であり、入力制御部4によって検出されたタッチパネルの入力位置の信号から生成されるデータである。
第1入力座標P1は、タッチパネルに最初に接触した位置の入力座標を記憶したものであり、その後タッチ操作が繰り返される場合は、主として、奇数回目にタッチされた位置の入力座標を示す。
【0079】
第2入力座標P2は、タッチパネルの1つの位置が接触されたままの状態のときにさらに2つ目の位置が接触された場合に、その2つ目のタッチされた位置の入力座標を記憶したものであり、タッチ操作が繰り返される場合は、偶数回目にタッチされた位置の入力座標を示すものである。
【0080】
メニュー中心座標C0(cx、cy)は、例えば、図7に示す「メニュー」の文字を表示させる位置を示すものであり、1つ下の階層の項目データを円周上に表示させるための円の中心位置を示す座標である。このメニュー中心座標C0は、円周上に表示される項目データよりも1つ上位の階層の項目データのうち、選択された項目データが表示されていた位置の座標に相当する。
【0081】
表示座標S0(sx、sy)は、現在注目している項目データを表示させる位置を設定したものであり、表示させる項目データごとに、図11に示した表示座標テーブル112の中のいずれかの座標値(x、y)が設定される。
この表示座標S0に基づいて、VRAM上に現在注目している項目データの表示データを展開し、その項目データを表示させる。
【0082】
表示内容テーブル111は、現在画面上に表示しているメニューデータの項目データの内容(文字列)を一時記憶したものである。ここに記憶される項目データが、図7に示すように、円の半円周上に表示されるデータである。
図11の表示内容テーブル111では、第1階層のメニューデータMD0に属する5つの項目データを表示させる場合の記憶内容を示している。
【0083】
表示座標テーブル112は、表示内容テーブル111に記憶された項目データを、それぞれ表示させる画面上の位置座標(x、y)を記憶したものである。このテーブル112に一時記憶された各位置座標に基づいて、表示内容テーブル111の対応する番号の項目データが表示されることになる。
【0084】
表示座標テーブル112の座標値には、図10に示すように予め設定された表示座標テーブル102の中から、表示する項目データのデータ数と表示位置に対応したテーブルが選択され、そのテーブルの中の座標値が設定される。
図11の表示座標テーブル112では、メニューデータMD0に属する5つの項目データを、図7に示すように左側の半円周上に表示する場合の座標値(テーブル1の座標値)を設定した場合を示している。
【0085】
表示項目MTは、表示されているメニューの名称であり、初期値としては、例えば「メニュー」という文字列が記憶される。また、「挿入」という項目を選択した場合には、表示項目MTに「挿入」を記憶させる。
表示メニュー階層Rは、現在円周上に表示している項目データの階層の番号を示したものである。なお、変数Rは、図9の階層番号から1を引いた数値で示し、たとえば第2階層のRは1とする。
【0086】
表示メニュー番号RNは、現在円周上に表示しているメニューデータのテーブル番号を示したものである。例えば、第1階層のメニューテーブルを表示している場合は、メニューデータMD0なので、RN=0である。
あるメニューデータのある項目を選択された場合は、現在のメニューデータのテーブル番号RNと選択された項目番号Nを用いて、数式RN=RN×10+Nに基づいて、選択されたメニューデータのテーブル番号(新しいRN)が計算される。
例えば、メニューデータMD03の2番目の項目"図形"を選択された場合は、03×10+2=32となり、新しいRNは32、すなわちメニューデータMD032の項目が表示される。
従って、表示メニュー番号を示す変数RNによって、現在表示しているメニューデータが一意的に特定される。
【0087】
反転表示番号PNは、通常の表示形態とは異なる表示を行う項目データの番号(No)を設定したものであり、例えば、白黒のドットの表示を通常とは逆にさせた反転表示を行わせる項目データの番号を特定するものである。
この他にも使用される変数があるが、後述するフローチャートの中で説明する。
【0088】
<この発明の項目選択と表示処理のフローチャート>
以下に、この発明の情報処理装置において、階層化されたメニューデータを順に表示及び選択しながら、利用者に所望の機能項目を選択させる処理について説明する。
図12から図18に、この発明の項目選択と表示処理の一実施例のフローチャートを示す。
まず、図12のステップS1からS8において、タッチパネルに対する最初のタッチ入力の検出処理を行う。次に、図12のステップS9から図13のステップS21において、2本の指による選択入力処理を実行するために必要な主要な変数の初期化を行う。
さらに、図13のステップS22以降においては、図2から図6を用いて説明した選択入力操作を行わせるための一連の選択表示処理を示している。
【0089】
<最初のタッチ入力の検出処理>
図12のステップS1において、制御部1が、タッチパネル(入力部)5から、タッチ入力があるか否か確認する。この入力の有無は、入力制御部4がタッチパネル上に指を接触したときに生じる電流信号から、その接触位置を特定する入力座標情報を生成した後、その情報を含む検出信号が受信されたことを制御部1が確認することにより行えばよい。
1つの検出信号には、例えば、タッチパネルをマトリクス状に細分化した領域であって接触した1つの位置を示す入力座標情報(x、y)が含まれる。
【0090】
ステップS2において、制御部1が、上記検出信号の入力を検出した場合、ステップS3へ進み、そうでない場合はステップS1へ戻る。
ステップS3において、タッチパネルの入力数をチェックする。すなわち、タッチパネル上で接触された位置の数(入力数)が1ヶ所かあるいは2ヶ所以上あるかをチェックする。異なる検出信号が2つ以上検出された場合、タッチパネルで同時に入力された位置が2ヶ所以上あると判断し、どちらの入力位置が正しい位置か不明であるので、誤入力と考えて、ステップS1へ戻る。
【0091】
ステップS3において、受信された検出信号が1つであった場合、その検出信号に含まれる入力座標情報が示す位置がタッチ入力されたと判断され、ステップS4へ進む。
ステップS4において、受信した検出信号から、タッチパネルの入力位置の座標情報(x、y)を取得し、記憶部10に、第1入力座標P1(t1x,t1y)として記憶する。
ステップS5において、制御部1は、接触状態が継続している時間、すなわち入力継続時間を計測するために、カウンタ6に所定のカウンタ値(CT)を設定し、カウンタ動作を開始させる。
カウンタ6は、ダウンカウンタであり、カウンタ値(CT)を設定してからCTがゼロになるまでの時間(例えば、3秒)が経過することをチェックする。
【0092】
ステップS6において、制御部1は、検出信号が受信されているか否かをチェックし、タッチパネルに対する入力状態がまだ継続しているかどうか判断する。検出信号が検出されなくなった場合は、タッチ入力操作が解除されたと考え、ステップS1へ戻る。
一方、タッチパネルに対する入力状態が継続中の場合は、ステップS7へ進む。
ステップS7において、現在のカウンタ値(CT)をチェックし、ステップS5でセットしたカウンタ値(CT)に相当する時間が経過したか否かチェックする。ダウンカウンタの場合、現在のカウント値(CT)がゼロになっていた場合は、設定時間が経過したと判断し、ステップS8へ進む。一方、まだ設定時間が経過していない場合は、ステップS6へ戻る。
【0093】
ステップS8において、現在受信されている検出信号に含まれている入力座標情報(x、y)の値と、ステップS4において記憶された第1入力座標P1の座標値(t1x,t1y)とを比較し、変化していないかどうか確認する。
座標値が一致せず入力位置が変化している場合は、ステップS1へ戻り、再度タッチパネルに対する最初のタッチ入力を確認する処理をやり直す。一方、2つの座標値が一致しタッチ入力位置に変化がない場合は、ステップS9へ進む。
以上により、タッチパネルに対する最初のタッチ入力が検出され、その入力位置が特定される。
【0094】
<変数の初期化>
次に、ステップS9からS21において、ステップS22以降の処理で用いられる変数を初期化する。
ステップS9において、表示するメニューデータの階層を示す変数(表示メニュー階層)Rをゼロに設定し、表示メニュー番号変数RNを、ゼロに設定する。
また、後述する処理で用いる変数N,M,P,PNを、1に設定する。
ここで、変数Nは、表示しようとする項目データの番号を示すものであり、変数Mは現在注目しているメニューデータの項目データの番号を示すものであり、変数Pは、メニュー座標テーブル102に含まれるテーブルの番号を示すものであり、変数PNは反転表示をする項目データの番号を意味する変数である。
【0095】
ステップS10において、表示内容テーブル111の内容を消去して、初期化する。
ステップS11において、表示座標テーブル112の内容(座標値)を消去して、初期化する。例えば、全ての座標値を、(X,Y)=(0,0)に設定する。
図13のステップS12において、文字変数MTに、「メニュー」の文字を初期値として格納する。
ステップS13において、メニュー中心座標C0(cx、cy)に、第1入力座標P1にセットされた座標値(t1x,t1y)を格納する。これにより、最初にタッチされた入力位置が、円の中心位置として設定される。
【0096】
ステップS14からS21において、メニュー中心座標C0を調整している。
すなわち、最初に接触入力された位置(第1入力座標P1)と、表示部の画面の端部との距離が所定値よりも短い場合は、下位の階層に属する複数の項目データを表示させる位置の基準となる円の中心位置C0(cx、cy)を、表示部の中央方向に調整する。
これは、最初にタッチ入力された位置がタッチパネルの端部に近い位置であった場合、1つ下の階層の項目データを円周上に表示できない場合もあるからであり、実際に入力された位置から表示部の中央方向に少しずらした位置を、メニュー中心位置C0に設定する。
ステップS14からS21の設定処理は、LCD(表示部)3の解像度が480×240(dpi)の場合の調整例を示している。従って解像度が異なるLCDの場合は、中心座標(cx、cy)の設定値は異なる。
【0097】
ステップS14において、ステップS13で設定された中心位置C0のx座標cxが、30以下の場合、実際の入力位置が端部に近づきすぎていると判断し、ステップS15において、強制的に、x座標cxに30を設定する。すなわち、円の中心のx座標cxを、表示部の中央方向に設定し直す。
【0098】
また、ステップS16において、中心座標C0のx座標cxが450以上の場合、入力位置が逆方向の端部に近づきすぎていると判断し、ステップS17において、強制的に、x座標cxに450を設定する。
同様に、ステップS18において、中心座標C0のy座標cyが30以下の場合は、ステップS19において、y座標cyを強制的に30に設定する。
【0099】
また、ステップS20において、中心座標C0のy座標cyが240以上の場合は、ステップS21において、y座標cyを強制的に240に設定する。
以上により、最初にタッチされた入力位置が、あまりにもタッチパネルの端部に近づきすぎている場合は、実際の入力位置よりも表示部の画面の中央方向に、メニュー中心座標C0が調整される。
【0100】
<メニュー項目データの選択表示処理>
上記のように変数の初期化処理を行った後、ステップS22において、メニューデータテーブル101に含まれるメニューデータのうち、表示メニュー番号変数RNによって特定されるメニューデータについて、そのメニューデータの中に属する項目データの個数をチェックして、データ数の変数Qに設定する。
最初のタッチ入力がされ第1階層のメニューデータMD0の項目データを表示しようとする場合は、変数RNは初期値のままであるので、メニューデータMD0に属する項目データの個数がチェックされ、例えば、図9の場合は、メニューデータMD0の項目データの個数は5なので、データ数変数Qに、5が設定される。
【0101】
ステップS23において、設定されたデータ数変数Qの値が奇数あるいは偶数のどちらであるかをチェックする。奇数の場合は、ステップS24へ進み、偶数の場合は、ステップS25へ進む。
ステップS24において、(5−Q)/2+1を計算し、変数Mに設定する。この数式は、表示するメニュー項目の個数が少ない場合に中央側に寄せて配置する事を意味するものである。例えば、変数Q=5の場合、M=1となり、変数Q=3の場合、M=2となる。
表示項目が、5項目の場合は、通常通り一番上から表示するが、項目が3項目しかない場合は、一番上の項目の位置には表示せず、2番目の表示位置からメニュー項目を表示する。これにより、項目が少ない場合に中央に寄せて表示する事ができる。
また、項目数が偶数の場合は、ステップS25において、(4−Q)/2+1を計算し、変数Mを設定することによって、同じ様に中央に寄せて表示する。例えば、変数Q=2の場合、M=2となり、変数Q=4の場合、M=1となる。
【0102】
ステップS26において、現在注目している階層を示す変数Rが奇数あるいは偶数のどちらかであるかをチェックする。変数Rが奇数の場合はステップS28に進み、変数Pに1を設定する。変数Rが偶数の場合はステップS29に進み、変数Pに3を設定する。
ここで、変数Pは、図10に示すメニュー座標テーブル102のテーブル番号を意味する。例えば、データ数の変数Qが奇数(=5)で、階層Rが奇数(=1)の場合は、ステップS28において、図10のテーブル1が選択されることになる。
また、ステップS27において、階層を示す変数Rが奇数あるいは偶数のどちらであるかをチェックする。変数Rが奇数の場合はステップS30へ進み、変数Pに2を設定し、変数Rが偶数の場合はステップS31へ進み、変数Pに4を設定する。
変数Pの設定の後、ステップS32へ進む。
【0103】
ステップS32において、表示座標テーブル112のN番目の座標(x、y)の中に、メニュー座標テーブル102のうちテーブルPのM番目の欄に記憶されている座標(x、y)の値を、格納する。
例えば、N=1,M=1,P=1であったとすると、図10に示すメニュー座標テーブル102のうち、テーブル1の中のNo=1の欄に予め記憶されているx座標(−9)と、y座標(−29)とを、それぞれ、表示座標テーブル112のNo=1の欄のx座標とy座標に設定する。
【0104】
図14のステップS33において、表示座標テーブル112のN番目のx座標に、メニュー中心座標C0のx座標cxの値を加算して、N番目の項目データを表示させる実際の表示位置のx座標を設定する。
すなわち、x=x+cxを計算する。
【0105】
ステップS34において、表示座標テーブル112のN番目のy座標に、メニュー中心座標C0のy座標cyの値を加算して、N番目の項目データを表示させる実際の表示位置のy座標を設定する。
すなわち、y=y+cyを計算する。
【0106】
ステップS35において、表示内容テーブル111のN番目のデータの中に、RN番のメニューデータのN番目に予め設定されている項目データを格納する。
【0107】
ステップS36において、表示座標S0(sx、sy)に、表示座標テーブル112のN番目の欄に記憶された座標(x、y)の値を格納する。
ステップS37において、VRAMを用いて、表示座標S0(sx、sy)に設定された表示位置に、表示内容テーブル111のN番目の欄に記憶されたデータ内容(項目データ)を表示させる。
例えば、変数N=1、cx=100,cy=60の場合、図11の表示内容テーブル111の1番目の欄に記憶されたデータ(切り貼り)を、表示座標テーブル112の1番目の欄に記憶された(X,Y)座標の位置(91 ,31)に、表示させる(x座標100-9、y座標60-29)。
ステップS38において、次の項目データを表示させるために、変数N,Mに次の番号を設定する。すなわち、N=N+1,M=M+1を設定する。
【0108】
ステップS39において、変数Nが、データ数Qよりも大きいか否かチェックする。
N>Qの場合、ステップS40へ進み、そうでない場合ステップS32へ戻る。
N>Qの場合は、1つのメニューデータに属している項目データを全て表示し終わったことを意味する。
一方、N≦Qの場合は、表示するべき項目データがまだ残っていることを意味するので、ステップS32へ戻り、ステップS32からS38の処理を繰り返し行い、次の項目データを表示させる。
【0109】
ステップS40において、VRAMを用いて、メニュー中心座標C0(cx、cy)が示す表示位置に、文字変数MTに格納されている文字列の内容を表示させる。例えば、図2に示すように、円の中心位置に、「メニュー」の文字を表示させる。
【0110】
図15のステップS41において、メニュー表示後にタッチパネルにタッチ入力があるか否か確認する。この確認は、ステップS1と同様に行えばよい。
ステップS41からS49においては、最初のタッチ入力とは異なり、2つ目のタッチ入力があったかどうかまで確認するものである。
【0111】
ステップS42において、ステップS2と同様に、入力の有無をチェックする。タッチ入力がなければステップS41へ戻り、タッチ入力があれば、ステップS43へ進む。
ステップS43において、タッチパネルへの現在のタッチ入力数をチェックする。同時に2箇所押さえられていればあれば、タッチ入力数は2つとなる。
【0112】
ステップS44において、タッチ入力数が1つの場合は、ステップS62へ進み、タッチパネル上の1点のみがタッチされている場合の処理を行う。
ステップS45において、タッチ入力数が2つの場合は、ステップS46へ進む。
それ以外の場合、すなわちタッチ入力数がゼロ又は3つ以上の場合は、入力操作ミスあるいはタッチ入力がなくなったと判断し、ステップS1へ戻る。
【0113】
ステップS46において、タッチ入力数が2つであるので、2つのタッチ入力のうちどちらか一方のタッチ入力の位置座標を読み出し、その一方のタッチ入力の入力座標が、既に記憶部に格納した第1の入力座標P1(t1x、t1y)に一致するか否かチェックする。
一致する場合はステップS47へ進み、一致しない場合は、ステップS48へ進む。
ステップS47において、一方の入力位置が第1の入力座標P1であるので、他方のタッチ入力の位置座標(x、y)を、第2の入力座標P2(t2x、t2y)として記憶部に記憶する。その後、ステップS50へ進む。
【0114】
ステップS48において、一方のタッチ入力の位置座標は第1の入力座標と異なっていたので、この一方のタッチ入力の位置座標を、第2の入力座標P2(t2x、t2y)として記憶部に記憶する。この場合、2つのタッチ入力のうち、一方のタッチ入力の位置座標は第1の入力座標と異なっていたので、メニュー選択中であれば、他方のタッチ入力の位置座標の方は、既にタッチ入力をしていた位置と同じ第1の入力座標と一致するはずである。すなわち、タッチ入力に利用する2本の指を交互に利用することを前提としている場合、他方の指のタッチ操作が行われる場合、一方の指は、同じ位置にタッチ入力した状態のままである。
【0115】
ステップS48において、一方のタッチ入力の入力位置を第2の入力座標P2として設定したので、他方のタッチ入力の入力位置は、すでに入力されている第1の入力座標のはずであるが、移動している場合もあり得る。
そこで、ステップS49において、他方のタッチ入力の入力位置が、第1の入力座標P1(t1x、t1y)に一致するか否かチェックする。
一致する場合はステップS50へ進み、一致しない場合は、メニュー選択がキャンセルされたとして、ステップS1へ戻る。
ステップS50において、変数Nを1に初期化する。
【0116】
以下、ステップS51からS59において、2つ目のタッチ入力の位置座標として設定された第2の入力座標が、現在表示されている項目データのうち、どの項目データの表示領域の内部にあるかをチェックし、第2の入力座標が含まれる項目データの表示領域の部分を反転表示させる。
例えば、図3に示すように、右手の中指を「メニュー」にタッチしたままで、右手の人差指で「挿入」の表示領域にタッチした場合、「挿入」の表示領域の部分を反転表示させる。
【0117】
ステップS51において、現在の表示座標テーブル112に記憶されているN番目の欄のx座標が、第2入力座標のx座標(t2x)と比較して、その差が0から−20までの範囲内にあるかどうかチェックする。すなわち、t2x−20≦x座標≦t2x+0であるかどうか、チェックする。ただし、この「−20」の値は、一実施例であって、解像度や表示メニューの大きさ等によって異なる。
ステップS52において、x座標が上記不等式の範囲内にある場合は、ステップS53へ進み、その範囲外である場合は、ステップS55へ進む。
範囲外である場合、2番目のタッチ入力位置は、現在注目しているN番目の項目データの表示領域外であると判断される。
【0118】
ステップS55において、変数Nに1を加算する。
ステップS56において、変数Nが、項目データのデータ数Qよりも大きいか否かチェックし、N>Qの場合はステップS41に戻る。N≦Qの場合は、ステップS51に戻り、新たな変数Nについて、ステップS51からS54までの処理を繰り返す。
【0119】
ステップS53において、現在の表示座標テーブル112に記憶されているN番目の欄のy座標が、第2入力座標のy座標(t2y)と比較して、その差が0から−5までの範囲内にあるか否かチェックする。すなわち、t2y−5≦y座標≦t2y+0であるかどうかチェックする。
ただし、この「−5」の値は、一実施例であって、この値に限定されるものではなく、表示部3の解像度や表示メニューの大きさ等によって異なる。
【0120】
ステップS54において、y座標が上記不等式の範囲内にある場合は、ステップS57へ進み、範囲外である場合はステップS55へ進む。
ステップS57へ進む場合は、2番目のタッチ入力位置は、現在注目しているN番目の項目データの表示領域の内部であることを意味している。例えば、図3において、右手の人差指で、「挿入」の表示領域の内部をタッチ入力していることを意味する。
【0121】
ステップS57において、表示座標S0(sx、sy)に、現在の表示座標テーブル112に記憶されているPN番目の欄にある座標(x、y)の値を設定する。
ステップS58において、VRAMを用いて、表示座標S0(sx、sy)の位置に、現在の表示内容テーブル111のPN番目の欄に記憶されている項目データを通常表示させる。これにより、すでに反転表示していた項目を通常表示に戻す。最初にこのステップに来た際には、PN=1であるが、一番上の項目が通常表示で上書きされる為、ユーザーからは判別できない。
ステップS59において、反転表示をする項目データの番号を意味する変数PNに、現在注目している項目データの変数Nの値を設定する。
ステップS60において、表示座標S0(sx、sy)に、現在の表示座標テーブル112に記憶されているPN番目の欄にある座標(x、y)の値を設定する。
ステップS61において、VRAMを用いて、表示座標S0(sx、sy)の位置に、現在の表示内容テーブル111のPN番目の欄に記憶されている項目データを反転表示させる。
ステップS61の後、ステップS41へ戻り、次のタッチ入力の有無と項目データの選択表示処理を行う。
【0122】
現在のタッチ入力の数が1つである場合は、図17のステップS62において、そのタッチ入力の入力位置の座標が、第1入力座標P1(t1x、t1y)に一致するかどうか、チェックする。一致する場合は、タッチ入力の位置は、最初のタッチ入力位置から移動していないので、ステップS41へ戻る。
一致しない場合は、現在タッチ入力されている位置は、最初の第1入力座標と異なるので、ステップS63へ進み、現在のタッチ入力位置の座標を、第2入力座標P2(t2x、t2y)に設定する。この場合、例えば、図5に示すように、右手の人差指が離されて、右手の中指のみがタッチ入力されているような状態である。
【0123】
ステップS64において、変数Nを1に設定する。
ステップS65及びS66において、ステップS51及びS52と同じ処理を行う。
すなわち、表示座標テーブル112に記憶されているN番目の欄のx座標と、第2入力座標P2のx座標(t2x)とを比較し、N番目の欄のx座標が、t2x−20≦x座標≦t2x+0の範囲内にあるかどうかチェックする。範囲内であれば、ステップS67へ進み、範囲外であれば、ステップS69へ進む。
【0124】
また、ステップS67及びS68において、ステップS53及びS54と同じ処理を行う。すなわち、表示座標テーブル112に記憶されているN番目の欄のy座標と、第2入力座標P2のy座標(t2y)とを比較し、N番目の欄のy座標が、t2y−5≦y座標≦t2y+0の範囲内にあるかどうかチェックする。範囲内であれば、ステップS71へ進み、範囲外であれば、ステップS69へ進む。
【0125】
ステップS69においては、ステップS55と同様に、変数Nに1を加算する。
ステップS70において、ステップS56と同様に変数Nと変数Qとを比較し、N≦Qの場合はステップS65へ戻り、ステップS65からS68までの一連の処理を繰り返す。
一方N>Qの場合は、表示座標テーブルの中の全ての項目データを調べたが、現在タッチ入力されている位置は、現在表示されている全ての項目データの表示領域の内部ではなかったことになるので、項目データの選択を中止したと判断し、ステップS1へ戻る。
【0126】
ステップS71において、変数RNに、RN×10+Nの値を設定する。前述の様に、本計算によって、選択されたメニューデータのテーブル番号を生成する。
例えば、図3の様に「挿入」が選択された場合、RN=0、N=3である為、新しいRNは03となり、メニューデータMD03が参照される様になる。
ステップS72において、現在の階層を示す変数Rに1を加算する。これにより、現在注目している階層Rが1つだけ下位に移動することになる。
【0127】
図18のステップS73において、上記ステップS71によって新たに設定された変数RN番のメニューデータが存在するか否かチェックする。
例えば、RNが03の場合、図9に示す様にMD03というメニューデータが存在する。
また、図6の様に、“四角”が選択された場合、メニューデータはMD032、項目2である為、計算されるRNの値は322となるが、このメニューデータは存在しない。
このように、メニューデータが存在する場合はステップS74へ進み、存在しない場合はステップS77へ進む。
【0128】
ステップS74へ進む場合は、さらに下位の階層のメニューデータについて、タッチ入力操作による項目データの選択と表示が行われることになる。
ステップS77へ進む場合は、既に最下位の階層メニューデータに属するメニューデータが選択されていることを意味し、その後、利用者による一連の選択入力操作によって所望の機能が実行されることになる。
【0129】
ステップS74において、文字変数MTに、表示内容テーブル111のN番目の欄に記憶されている項目データの内容を設定する。例えば、図4においては、右手の中指でタッチ入力されている「図形」という文字列が、文字変数MTに設定される。
ステップS75において、メニュー中心座標C0(cx、cy)に、表示座標テーブル112のN番目の欄に記憶されている座標値(x、y)を設定する。例えば、図4においては「図形」という項目データの表示位置の座標(x、y)が、新たなメニュー中心座標(cx、cy)に設定される。その後、「図形」の表示位置が円の中心位置となり、その下位の階層のメニューデータに属する項目データが、その円の円周上に表示されることになる。
図5では、この「図形」の表示位置が新たな円の中心位置となって、「図形」に対応した下位の5つの項目データが、左半分の円周上に表示された状態を示している。
ステップS75の後、ステップS76において、反転変数PNを1に初期化して、ステップS14へ戻り、上記したのと同様の処理が行われる。
【0130】
ステップS77において、ステップS74と同様に、変数MTに、表示内容テーブル111のN番目の欄に記憶されている項目データの内容を設定する。このように、変数MTに設定するのは、選択が確定されたメニュー項目をアプリケーションに伝えるためである。
ステップS78において、変数MTに設定された項目データの内容を、現在起動しているアプリケーションプログラムに通知する。すなわち、2本の指を利用した一連のタッチ入力操作によって選択された項目データに対応する機能が選択されたことを、アプリケーションプログラムに通知する。
アプリケーションプログラムは、この通知内容を確認して、選択された項目データに対応する機能を実行することになる。例えば、図6において、「四角」という項目データの選択入力が確定した場合は、「四角」という項目データがアプリケーションプログラムに通知され、この通知に基づいて、アプリケーションプログラムは「四角という図形を挿入する」という機能を実行する。
【符号の説明】
【0131】
1 制御部(CPU)
2 表示制御部
3 表示部(LCD)
4 入力制御部
5 入力部(タッチパネル)
6 カウンタ
10 記憶部
101 メニューデータテーブル
102 メニュー座標テーブル
111 表示内容テーブル
112 表示座標テーブル
113 第1入力座標
114 第2入力座標
115 メニュー中心座標
116 表示座標
【技術分野】
【0001】
この発明は、情報処理装置に関し、特に、タッチパネルを有し、利用者の指やペン等を用いて、情報や機能の選択入力が可能な端末等の情報処理装置に関する。
【背景技術】
【0002】
今日、パソコンや携帯端末等の情報処理装置において、利用されるアプリケーションプログラムはますます高機能化し、多数の機能を有している。利用者が、ある特定の機能を利用するためには、たとえば多数の機能を一覧表示したメニュー項目の中から、自己の要求する機能項目を選択して、その機能項目が表示されている部分を入力することが行われている。
しかし、選択可能な機能が増加すると、選択用メニューに表示する項目が増加し、メニューの表示構造も複雑化する。1画面に表示する項目が増加すると、一覧性が悪くなり、利用者が所望の項目を選択するのに時間がかかり、操作性が悪くなる。
【0003】
そこで、視認性や操作性を改善するために、多くのアプリケーションプログラムでは、類似するいくつかの機能項目を1つのグループにまとめて、メニュー項目を階層化することが行われている。
この階層化により項目の選択がし易くなったが、機能が増加し、階層がより複雑かつ深くなると、利用者が目的の選択項目に行き着くまでに、時間と手間がかかっていた。
【0004】
たとえば、最上層の第1メニュー項目を、マウスやタッチパネルを使って選択する操作をすると、その操作位置の横あるいは下に、下位の階層の第2メニュー項目がリスト状に表示され、第2メニュー項目の中のいずれかの項目を選択する操作をすると、さらにその下の階層の第3メニュー項目がリスト状に表示され、目的の項目が表示されるまで同様の操作を行う必要があった。
【0005】
また、特許文献1には、タッチパネルが配設された表示画面で入力操作を行う場合に、タッチパネルの接触位置を中心にして、複数のメニュー項目を放射状に配置した放射状メニューを表示させて、接触したままスライド操作をした後、ユーザの指等のリリース操作をすることによって、表示画面を注視することなく所望の操作を行うことが可能なコンテンツ再生装置が、記載されている。
【0006】
さらに、特許文献2には、予め用意されたM個のグラフィック項目からなるグラフィックメニューバーにおいて、N個(N<M)のグラフィック項目しか表示画面に表示されない場合、所定の位置にタッチしたまま左方向あるいは右方向に摺動操作をすることにより、表示されていなかったグラフィック項目をグラフィックメニューバーに表示するようにしたバーの操作方法が記載されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2011−13990号公報
【特許文献2】特開2009−266220号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、上記のような階層構造のメニュー項目を階層順に表示してタッチパネル上の所定の位置を指で接触することにより下位の項目を選択する場合は、下位層のメニュー画面をリスト状に順次表示させるために、指の移動距離が大きくなり、項目数が増加するほど操作性が悪くなり、また、どの階層の中に目的の項目があるのか分からない場合は、目的の項目を探し出すのに時間がかかっていた。
【0009】
また、特許文献1のように、タッチした位置の周囲に放射状に項目を表示する場合においても同様に、項目数が増加するにつれて、一度に表示される項目が増加するので、目的の項目を探すのに時間がかかることになる。
【0010】
さらに特許文献2のように、画面上に表示させる項目の数を限定し、摺動操作によって目的の項目を探し出す場合においても同様に、項目数が増加するにつれて、目的の項目を探し出すのに手間と時間がかかることになる。
また、これらの特許文献で利用されるメニュー項目やグラフィック項目の表示は、階層的に行われるものではない。
【0011】
そこで、この発明は、以上のような事情を考慮してなされたものであり、利用者の指を用いてタッチパネルに対して容易な操作をするだけで、階層構造のメニューデータに属する項目データの表示を順次行い、目的の項目データを容易かつ迅速に選択することが可能な情報処理装置を提供することを課題とする。
【課題を解決するための手段】
【0012】
この発明は、実行可能な機能を特定するための複数の項目データを、階層的に対応付けて記憶した記憶部と、前記記憶された項目データを入力順の階層ごとに表示させる表示部と、前記表示部の画面上に対向配置され、画面上を接触入力された場合に、その接触入力された位置を特定する情報を生成する入力部と、前記表示部に表示された複数の項目データのうち、第1項目データの表示領域が接触入力された場合に、その接触位置と、接触入力された項目データが前記第1項目データであることを検出する項目検出部と、前記検出された第1項目データに対応付けられた下位の階層に属する複数の項目データを前記記憶部から抽出し、前記検出された第1項目データの表示位置を中心位置とした円の半円周上に、前記抽出された複数の項目データを表示させる項目選択部とを備えることを特徴とする情報処理装置を提供するものである。
これによれば、接触入力された第1項目データに、対応付けられた下位の階層に属する複数の項目データを、第1項目データの表示位置を中心位置とした円の半円周上に表示するので、所望の機能を選択するための項目データを入力すべき階層順に容易に入力することができ、利用者の操作性を向上させることができる。
【0013】
また、前記項目選択部によって抽出された複数の項目データのうち、第2項目データが前記入力部により接触入力された場合、前記第2項目データの表示位置を中心位置とした円の半円周上に、前記第2項目データに対応付けられたさらに下位の階層に属する複数の項目データを表示させることを特徴とする。
これによれば、対応付けられた複数の項目データを、上位から下位の階層の順に表示させていくので、利用者は、単純で分かりやすい操作をするだけで、所望の機能を容易かつ迅速に選択することができる。
【0014】
また、前記接触入力された項目データの表示位置と比較して、前記項目データに対応付けられた下位の階層に属する複数の項目データの表示位置は、前記接触入力された項目データの表示位置を中心位置とする円の左側半分の円周上、あるいはその円の右側半分の円周上に配置されていることを特徴とする。
また、所定の上位の階層に属する第1項目データの表示位置とその階層よりも1つ下位の階層に属する第2項目データの表示位置との位置関係と、前記第2項目データの表示位置とその1つ下位の階層に属する第3項目データの表示位置との位置関係は、それぞれの円の中心位置から見て、左右が反対側となっていることを特徴とする。
これによれば、所定の上位下層の項目データの表示位置と、その階層よりも1つ下位の階層の項目データの表示位置を、円の中心から見て反対側である左側と右側に配置しているので、利用者の2本の指を交互に接触入力させる操作をするだけで、階層的な項目データの入力を容易にすることができる。
【0015】
また、前記入力部によって接触入力された項目データの表示位置と、前記表示部の画面の端部との距離が所定値よりも短い場合、その項目データに対応付けられた下位の階層に属する複数の項目データを表示させる位置の基準となる円の中心位置を、前記表示部の中央方向に調整することを特徴とする。
【0016】
また、前記入力部による画面上への接触入力は、利用者の2本の指を用いて行われ、一方の指を用いて前記表示部に表示された項目データの接触入力が行われた後に、他方の指を用いて前記接触入力された項目データに対応付けられた下位の階層に属する複数の項目データのうちいずれかの項目データが接触入力されることを特徴とする。
【発明の効果】
【0017】
この発明によれば、複数の項目データを階層的に対応付けて記憶しておき、表示部に対向配置された入力部によって、画面上に表示された第1項目データの表示領域が接触入力された場合に、接触入力された第1項目データに対応付けられた下位の階層に属する複数の項目データを、第1項目データの表示位置を中心位置とした円の半円周上に表示させるようにしているので、複数の項目データを順次選択しながら所望の機能を選択する場合において、利用者にとって単純で分かりやすい操作をするだけで、目的の項目データを容易かつ迅速に選択することができ、操作性を向上させることができる。
【図面の簡単な説明】
【0018】
【図1】この発明の情報処理装置の一実施例の構成ブロック図である。
【図2】この発明の画面表示内容と指による接触入力操作の一実施例の説明図である。
【図3】この発明の画面表示内容と指による接触入力操作の一実施例の説明図である。
【図4】この発明の画面表示内容と指による接触入力操作の一実施例の説明図である。
【図5】この発明の画面表示内容と指による接触入力操作の一実施例の説明図である。
【図6】この発明の画面表示内容と指による接触入力操作の一実施例の説明図である。
【図7】この発明において、表示される項目データ数が奇数の場合に、項目データの表示位置の一実施例の説明図である。
【図8】この発明において、表示される項目データ数が偶数の場合に、項目データの表示位置の一実施例の説明図である。
【図9】この発明のメニューデータテーブルの一実施例の説明図である。
【図10】この発明のメニュー座標テーブルの一実施例の説明図である。
【図11】この発明の主要な変数データの一実施例の説明図である。
【図12】この発明の情報処理装置における項目選択と表示処理の一実施例のフローチャートである。
【図13】この発明の情報処理装置における項目選択と表示処理の一実施例のフローチャートである。
【図14】この発明の情報処理装置における項目選択と表示処理の一実施例のフローチャートである。
【図15】この発明の情報処理装置における項目選択と表示処理の一実施例のフローチャートである。
【図16】この発明の情報処理装置における項目選択と表示処理の一実施例のフローチャートである。
【図17】この発明の情報処理装置における項目選択と表示処理の一実施例のフローチャートである。
【図18】この発明の情報処理装置における項目選択と表示処理の一実施例のフローチャートである。
【発明を実施するための形態】
【0019】
以下、図に示す実施例に基づいて、この発明を説明する。
なお、これによって、この発明が限定されるものではない。
<この発明の情報処理装置の構成>
図1に、この発明の情報処理装置の一実施例の構成ブロック図を示す。
この発明の情報処理装置は、図1に示すように、主として、制御部1,表示制御部2,表示部3,入力制御部4,入力部5,カウンタ6,記憶部10とから構成される。
【0020】
ここで、制御部1は、この発明の情報処理装置が有する各種機能を実現するために、各種ハードウェアを動作させるものであり、主として、CPU,ROM,RAM,I/Oコントローラ、タイマー等を備えたマイクロコンピュータから構成される。
【0021】
カウンタ6は、指等がタッチパネルに接触している時間(入力継続時間)の経過をカウントするレジスタであり、例えば、初期値としてカウンタ値CT(秒)が設定された後、1秒ごとにカウントダウンし、制御部1がそのカウント値CTがゼロとなるまでの時間を計測するためのものである。
【0022】
表示部3は、機能を選択するためのメニューなどの所定の情報を表示するものであり、LCD,CRT,PDPなどの表示装置に相当する。特に、この発明では、記憶部10に記憶された項目データを、入力部5によって入力された順で階層ごとに表示させる。
表示制御部2は、表示ドライバ回路に相当し、図示しないVRAM(ビデオメモリ)に展開された表示用データを、表示部3に与えるものである。VRAMは、制御部1が表示すべき一画面分のデータを、表示部3に表示できる形式で記憶する書き換え可能な表示専用のメモリである。
【0023】
入力部5は、利用者が文字、図形、記号などの情報の入力、メニューの選択あるいは機能選択などの入力を行う部分であり、キーボード、マウス、タッチパネルなどの種々の入力装置が用いられる。
この発明では、特にタッチパネルを用いて、機能等を特定する項目データを選択入力する操作方法に特徴があるので、以下の実施例では、主として、入力部5としてはタッチパネルを用いるものとして説明する。また、タッチパネルに対する入力は、指、ペンなどを用いることができるが、以下の実施例では、利用者の指を用いるものとして説明する。
【0024】
入力制御部4は、入力部5であるタッチパネルから入力された情報、すなわち、利用者の指やペンによって接触されたタッチパネルの位置を特定する情報(入力座標)を生成して、制御部1へ与える部分である。
タッチパネル5は、表示部3の画面上に対向配置され、画面上の押された位置座標を検出できるようにマトリクス状に接触検出点を設けたものであり、接触入力された画面上の位置を特定する情報が生成される。入力制御部4は、この接触検出点の位置を特定する信号を受けて、接触した位置の座標値(x、y)を生成し、制御部1へ与える。表示部3の画面の水平方向をX軸とし、垂直方向をY軸とすると、接触入力された位置は、X座標とY座標で表わされる。
【0025】
記憶部10は、この発明の情報処理装置で利用される情報を記憶した部分であり、例えば、ROM,RAM,フラッシュメモリ、ハードディスクなどの記憶媒体が用いられる。
後述するように、例えば、メニューデータテーブル101,メニュー座標テーブル102のように、あらかじめその内容が固定的に設定され、消去されないように記憶されるべき情報は、ROMやハードディスクに記憶される。
ただし、メニューデータテーブル101やメニュー座標テーブル102は、後に更新や新たなユーザ定義ができるように、書き換え可能なように記憶してもよい。
【0026】
また、情報処理装置の設定入力や所定の機能を実行しているときに、その都度書き換える必要のある情報は、RAM又はハードディスクなどの書き換え可能なメモリに記憶される。例えば、後述するように、各種変数や、現在注目している項目の表示内容テーブル111,表示座標テーブル112,タッチパネル5に現在接触している位置の入力座標(第1入力座標(P1)113,第2入力座標(P2)114)、現在表示しているメニューの中心座標115,表示すべき情報の位置を示す表示座標116などは、RAMやハードディスクに記憶される。
さらに、記憶部10には、図示していないが、この発明の情報処理装置の種々の機能を実行させるためのプログラムが記憶される。
【0027】
制御部1のCPUは、ROM等にあらかじめ記憶されたプログラムに基づいて、各種ハードウェアを有機的に動作させることによって、この発明の機能を実現させる。なお、プログラムは、ROM等にあらかじめ固定的に格納しておいてもよいが、その後の仕様変更や機能更新などに容易に対応できるようにするために、フラッシュメモリ、CD−ROM、ハードディスク等に格納して提供し、あるいは、ネットワークを介して外部サーバから必要に応じてダウンロードしてハードディスク等に格納するようにしてもよい。
【0028】
また、制御部1は、主として、項目検出部と、項目選択部とを有する。
項目検出部は、表示部に表示された複数の項目データのうち、第1項目データの表示領域が接触入力された場合に、その接触位置と、接触入力された項目データが第1項目データであることを検出する部分である。すなわち、タッチパネルに対して接触入力された位置に表示されている項目データが何であるかを検出する部分であり、メニュー座標テーブル102,表示内容テーブル111,表示座標テーブル112などが用いられる。
【0029】
項目選択部は、検出された第1項目データに対応付けられた下位の階層に属する複数の項目データを記憶部10から抽出し、検出された第1項目データの表示位置を中心位置とした円の半円周上に、抽出された複数の項目データを表示させる部分である。
すなわち、接触入力された第1項目データに階層的に対応付けられた1つ下位のレベルの複数の項目データを、第1項目データの表示位置の近くに表示させる部分であり、メニューデータテーブル101,メニュー座標テーブル102,メニュー中心座標115などが用いられる。
【0030】
また、項目選択部によって抽出された複数の項目データが表示されている場合において、その複数の項目データのうち、1つの項目データ(第2項目データと呼ぶ)が入力部により接触入力された場合、その第2項目データの表示位置を中心位置とした円の半円周上に、第2項目データに対応付けられたさらに下位の階層に属する複数の項目データを表示させるようにする。
【0031】
このように、上位の階層の項目データを先に選択入力し、その後にその下位の階層の項目データを選択入力するようにする。さらに選択入力操作を容易に行えるようにするために、上位の階層の項目データの表示位置を円の中心位置とし、その1つ下の階層の項目データは、その円の半円周上に表示させる。
【0032】
また、利用者の2本の指を交互に用いて接触入力する場合を考慮して、その入力操作を容易にするために、下位の階層に属する複数の項目データの表示位置は、接触入力された項目データの表示位置を円の中心位置として、その円の左側半分の円周上か、あるいはその円の右側半分の円周上に、一定間隔に配置することが好ましい。
【0033】
さらに、2本の指を交互に用いた接触入力を容易にするために、上位の階層の第1項目データの表示位置を円の中心位置として、その円の右側の半円周上に、1つ下の階層の第2項目データを表示させている場合において、第2項目データの中の接触入力された項目データの表示位置を円の中心位置として、さらに1つ下の階層の第3項目データを表示させる場合は、第3項目データは、円の左側の半円周上に表示させるようにする。
すなわち、より下位の階層の項目データの表示位置は、円の中心位置から見て、交互に左右が反対側となる半円周上であることが好ましい。
【0034】
また、利用者の一方の手の2本の指を用いて接触入力を行う場合、上記円の半径は、2本の指を開いた距離よりも小さくして、一方の指を用いて項目データの接触入力が行われた後に、他方の指を用いて、前記接触入力された項目データに対応付けられた下位の階層に属する複数の項目データのうちいずれかの項目データを接触入力できるようにすることが好ましい。
【0035】
<タッチパネルを利用した機能選択方法>
ここでは、この発明の特徴となるタッチパネルを利用した機能選択方法の概略を説明する。
図2から図6に、表示部3の画面に表示される内容と、指による接触入力操作の一実施例の説明図を示す。
以下の説明では、タッチパネルの操作入力は、利用者の指、特に、右手の人差指と中指の2本の指を用いて行うものとする。ただし、2本の指を用いればよく、どの指を用いるかは利用者の操作のしやすさに依存する。
例えば、一方の手の親指と人差指、左手の人差指と右手の人差指など、2本の指の組み合わせは、種々の組合せが考えられ、特に限定されるものではないが、利用者の良好な操作性の観点からは、一方の手の人差指と中指の2本の指を用いるのが好ましいと考えられる。
【0036】
図2において、まず、表示部3の画面上に、「メニュー」という項目のみが表示されている表示状態において、利用者が、その「メニュー」が表示されている領域(M0)を、右手の中指で、一定時間(例えば、3秒以上)接触し続けたとする。以下、接触を、タッチとも呼ぶ。
ここで、「メニュー」の表示領域(M0)とは、「メニュー」の文字が実際に表示されている部分のみではなく、その文字を含む一定の広さを有する四角形領域をいい、例えば、図2では、「メニュー」の文字を囲んだ長方形が表示された領域をいうものとする。
【0037】
このとき、制御部1は、3秒以上、タッチパネルを接触し続けたことを検出すると、メニューの第1階層のメニューデータに属する各項目データを、図2のように表示させる。
すなわち、「メニュー」の表示位置を中心位置とした円の半円周上で、左側の半円部分に所定の項目データを表示させる。図2においては、第1階層のメニューデータとして、あらかじめ設定されていた5つの項目のデータ(切り貼り、レイアウト、挿入、数式、データ)を、左側の半円周上に表示させた状態を示している。
【0038】
この5つの項目データは、一実施例として図9に示すメニューデータテーブル(MD)101の階層1(R=0)のメニューデータMD0に記憶されている5つのデータである。
ここで、5つの項目データは、図7に示すように、「メニュー」の表示位置を円の中心位置として、その円の左側の半円周上に、一定の中心角(36度)だけずらして表示している。項目のデータ数が、図2や図7のように5つの場合は、3番目の項目(挿入)を、円の中心位置(メニュー)の水平方向左側に表示し、水平線から上下方向に±36度だけ開いた位置に、それぞれ2番目の項目(レイアウト)と4番目の項目(数式)とを表示し、さらに、上下方向に±72度だけ開いた位置に、それぞれ1番目の項目(切り貼り)と5番目の項目(データ)とを表示している。
【0039】
このように、表示すべき項目データのデータ数が奇数の場合は、上下方向に±36度ずつの間隔で、円周上に各項目データを配置すればよい。例えば、表示すべき項目データが3個の場合は、図7の表示位置番号2,3,4の位置に各項目データを表示すればよい。また、表示すべき項目データが1個の場合は、表示位置番号3の位置にその1つの項目データを表示すればよい。
図2のようなメニューの第1階層に属する5つの項目データを表示させることにより、利用者は、次に5つの項目のうちいずれかが選択できることが理解できる。
【0040】
また、1つのメニューデータの中に4つの項目があらかじめ設定されている場合は、図8に示すように、円の中心位置に「メニュー」を表示して、「メニュー」の表示位置の水平線から上下方向に±22.5度だけ開いた位置に、それぞれ2番目と3番目の項目を表示し、さらに、上下方向に±67.5度だけ開いた位置に、それぞれ1番目と4番目の項目を表示すればよい。
すなわち、表示すべき項目データのデータ数が偶数の場合は、円の中心を通る水平線を基準として上下方向に対称的な位置に表示すべき項目データを配置し、それぞれ45度ずつの間隔で、円周上に各項目データを配置すればよい。
【0041】
また、右手でタッチパネルに対して入力操作をする場合、図2のように、右手の中指で接触した「メニュー」の位置の左側方向に、5つの項目データを配置しているのは、この5つの項目データのうちいずれかの選択が右手の人差指で選択しやすいようにするためである。
すなわち、右手の中指で画面にタッチしている状態のままで、次に、右手の人差指で5つの項目データのいずれかの表示領域を選択できるようにするためには、中指と人差指とを開くことが可能な距離以内に、「メニュー」と5つの各項目データの表示位置を設定することが好ましい。表示するデータの文字サイズや利用者の手の大きさなどによってどのような距離が最も好ましいかは一義的に決定することは難しいが、良好な操作性の観点からは、各項目データを配置する円の半径は、使用する2本の指を開いた距離よりも小さいことが好ましく、例えば、3cmから5cm程度の大きさが好ましいと考えられる。
【0042】
また、この円の半径は、一定値ではなく、利用者の手の大きさに応じて変更できるようにしてもよい。
なお、もし利用者が左手でタッチパネルの操作をする場合は、中指と人差指の位置関係は右手と逆なので、左手あるいは右手のどちらでタッチパネルを操作するかを、あらかじめ利用者に設定してもらうようにしてもよい。
【0043】
左手の中指で「メニュー」の位置をタッチした場合、第1階層の5つの項目データの選択を左手の人差指で行うようにするためには、5つの項目データは、図2に示すような左側の半円周上ではなく、右側の半円周上に表示させるようにする。
また、「メニュー」の表示位置を、円の中心位置とするが、さらに詳細には、例えば「メニュー」という文字を囲んだ長方形の中心(対角線の交点)の座標(x、y)を、円の中心位置の座標(cx、cy)としてもよい。
【0044】
また、上記説明では、図2において、「メニュー」の文字が、すでに表示されていることを前提として、この「メニュー」の表示位置をタッチするタッチパネルの入力操作の説明をしたが、最初に「メニュー」が表示されていなくてもよい。
【0045】
すなわち、表示画面上に、「メニュー」の文字が表示されていない状態で、利用者が、表示画面の任意の位置に接触した場合、その接触が一定時間(例えば、3秒以上)継続されたとすると、その接触位置に、「メニュー」という文字を表示させ、その「メニュー」の表示位置を円の中心位置に設定した後、図2に示すように、第1階層の5つの項目データを円周上に表示するようにしてもよい。
この場合は、項目データの表示位置は一定の位置に固定されることなく、利用者がタッチパネルに接触した最初の位置を基準として、以後の項目データの表示が行われることになるので、利用者の操作性を向上させることができる。
【0046】
次に、図2の表示状態において、利用者が、右手の中指を画面上の「メニュー」の位置をタッチしたまま、右手の人差指で、項目データの「挿入」の表示位置をタッチしたとする。図3は、右手の中指で「メニュー」をタッチしたままの状態で、右手の人差指で「挿入」をタッチした状態を示している。
ここで、「メニュー」をタッチすることは、「メニュー」という文字を囲んだ長方形領域(M0)の内部の任意の位置に接触することを意味し、「挿入」をタッチすることは、「挿入」という文字を囲んだ長方形領域(MD0−3)の内部の任意の位置に接触することを意味する。
【0047】
制御部1が、このような2本の指が接触状態になったことを検出した場合、第1階層において、5つの項目データのうち、「挿入」が選択される可能性があると判断し、「挿入」の表示領域(MD0−3)を反転表示させる。あるいは、強調表示やカラー表示をさせる。
このような反転表示をすることにより、利用者は、「挿入」が選択できる状態にあることを理解することができる。また、利用者が、「挿入」を選択する意図はなく、例えば「レイアウト」を選択したいと考える場合は、右手の中指をタッチした状態のままで、右手の人差指を移動させて「レイアウト」の表示領域(MD0−2)をタッチすればよい。この場合、「挿入」の反転表示がもとの表示に戻り、「レイアウト」の表示領域が反転表示される。
【0048】
次に、図3の表示および操作の状態で、利用者が、右手の人差指を「挿入」の表示領域にタッチしたまま、右手の中指を画面上から離したとする。
このとき、制御部1は、人差指によってタッチされている項目データの「挿入」が選択されたと判断する。すなわち、今までタッチしていた中指の接触が解除されたことを検出することにより、他方の人差指でタッチしている項目データの選択を確定する。
逆に、メニューの選択を中止する場合には、両方の指を離す事によって、メニューの選択処理が中止される。
例えば、図3の状態で、人差し指で「挿入」等のメニュー項目をどれも選らばない状態で、中指を画面上から離した場合には、メニュー選択を中止したと判断され、メニュー表示が初期状態に戻る。
また、実施例では、中指を移動させ、「メニュー」の表示領域の外側をタッチした場合もメニュー選択を中止したとしているが、本動作を行った場合には、「人差し指で押さえている項目を選択した」、若しくは、「中指が元の位置に戻るまで、メニュー選択待ち状態を保持」する様にしても良い。
【0049】
この項目データ「挿入」の選択が確定すると、第2階層のメニューデータテーブルとしてあらかじめ記憶されているメニューデータの中から、第1階層の「挿入」に関係づけられたメニューデータが読み出される。
例えば、図9に示すように、階層2のメニューデータとして3つのメニューデータ(MD01,MD02,MD03)があらかじめ設定されており、それぞれのメニューデータが、それぞれ、階層1のメニューデータ(MD0)の中の3つの項目データ(切り貼り、レイアウト、挿入)に関係づけられていたとする。
この場合、3つのメニューデータのうち、選択が確定した「挿入」に関係づけられたメニューデータ(MD03)が読み出される。
【0050】
読み出された第2階層のメニューデータ(MD03)には、5つの項目データがあらかじめ設定されているので、この5つの項目(図、図形、グラフ、テーブル、リンク)の文字を、画面上に表示させる。この新たな5つの各項目データは、「挿入」の表示位置を円の中心位置として右側半分の円周上に表示される。
【0051】
図4には、「挿入」の選択が確定した後、この第2階層のメニューデータMD03に属する5つの項目データを表示し、さらに、右手の中指が、新たに表示された項目データのうち「図形」の表示領域の内部にタッチしている状態を示している。
すなわち、図4は、右手の人差指が「挿入」(MD0−3)をタッチし、同時に右手の中指が「図形」(MD03−2)をタッチしている場合の表示状態を示している。
第1階層の項目データである「挿入」の表示位置に対して、第2階層の5つの項目データは、右側方向の円周上に表示されているので、「挿入」を右手の人差指でタッチしている場合には、5つの項目データは右手の中指で選択しやすい位置にある。
【0052】
従って、図4の表示状態において、右手の人差指をタッチさせたままで、右手の中指のタッチ位置を上下方向に移動させることにより、「図形」以外のほかの項目データも、容易に選択できるようになる。
図4において、「図形」(MD03−2)が反転表示されているが、右手の人差指によって「挿入」がタッチされている状態が継続している場合には、「図形」の選択はまだ確定しておらず、他の項目のいずれかを選択できる状態である。
【0053】
次に、図4の表示および操作状態から、右手の人差指を画面上から離したとする。あるいは、右手の人差指を移動させ、「挿入」の表示領域の外側をタッチしたとする。このとき、図4に示した項目データの「図形」の選択が確定される。
さらに、右手の中指でタッチしている「図形」にあらかじめ関係づけられた下の階層(第3階層)のメニューデータ(図9のMD032)に属する項目データが表示される。
【0054】
図5に、上記のように右手の人差指を画面上から離した後の表示状態を示す。ここでは、右手の中指でタッチしている「図形」の表示位置を円の中心位置として、その円の左側半分の円周上に、図9のメニューデータ(MD032)に属する5つの項目データ(線、四角、円、半円、文字枠)を表示している。
【0055】
このような表示を行うことにより、利用者は、「図形」に属している下位の5つの項目データのうちいずれかが選択できる状態となったことが容易に理解できる。また、右手の中指で「図形」の表示領域をタッチしている状態において、「図形」の表示位置よりも左側方向に、1つ下位の階層(第3階層)の項目データを表示しているので、右手の人差指を移動させることにより、その項目データのうちいずれかを容易に選択することができる。
【0056】
次に、図6は、図5の表示および操作状態から、右手の中指を「図形」の表示領域にタッチしたまま、右手の人差指を移動させて「四角」の表示領域の内部をタッチした状態を示している。
ここでは、「四角」が次の選択候補として選択可能な状態にあることを示すために、「四角」を囲む長方形の領域内を反転表示させる。また、「図形」の反転表示は元の表示に戻す。
右手の中指が「図形」をタッチしている状態では、また「四角」の選択は確定していないので、他の項目データを選択したい場合は、人差指を所望の項目データの表示領域まで移動させればよい。
【0057】
次に、図6の表示および操作状態において、人差指を「四角」にタッチしたままの状態で、右手の中指を画面上から離したとする。また、現在選択可能な「四角」が属するメニューデータMD032が最下位の階層であり、これより下の階層のメニューデータは設定されていないとする。すなわち、「四角」に関連づけられた下位の階層のメニューデータはないとする。
【0058】
この場合、制御部1は、右手の中指が画面上から離れたことを検出すると、人差指が現在タッチしている「四角」の選択を確定する。
「四角」に関係づけられた下位の階層のメニューデータがないとした場合、「四角」の選択が確定したことにより、図2から図6の一連の操作によって、「四角を挿入する」という機能が選択されたと判断される。
すなわち、利用者が右手の中指を画面上から離すという操作をすることにより、図6の表示内容を消去し、現在動作中のアプリケーションプログラムにおいて、「四角を挿入する」という機能が実行できる状態となる。
【0059】
この後、アプリケーションプログラムの一つの機能としてあらかじめ設けられている「四角を挿入する」という機能が実行され、利用者は、例えば所望の表示位置に所望の形状の四角形を入力することができるようになる。
【0060】
図2から図6に示すように、利用者は、右手の中指と人差指の2本の指を交互に移動とタッチの操作をすることにより、あらかじめ階層化されたメニューの項目データを順次選択することができる。
例えば、2本の指を用いて、画面上への接触操作と離す操作を交互にすることにより、次に選択することが可能な項目データが表示されるので、利用者は、次に選択可能な項目データにはどのようなものがあるかを容易に理解でき、また、離した指が存在する側の下方の表示領域に、選択可能な項目データが円周上に一定間隔を開けて表示されるので、利用者は、手を大きく移動させる必要はなく、離した指をわずかに移動させるだけで、容易に所望の項目を選択することができる。
【0061】
図2から図6を用いた説明では、2本の指として、中指と人差指とを用いるものとしたが、2本の指の組合せは、これに限る必要はなく、例えば、一方の手の親指と中指の組み合わせ、親指と人差指の組み合わせを用いてもよく、利用者の操作性に問題なければ、一方の手の5本の指のうち、任意の2本の指を用いて操作してもよい。
また、2本の指は一方の手だけに限る必要はなく、利用者の操作がやりやすい指を用いてすればよいので、例えば、右手の人差指と左手の人差指を用いてもよく、利用者の10本の指のうち、任意の2本の指を用いてもよい。
【0062】
さらに、図2において、利用する2本の指を右手の中指と人差指とし、最初に画面に接触する指を右手の中指と考えて、「メニュー」の左側に第1階層のメニューデータに属する5つの項目データを表示させたが、これに限るものではない。
最初に接触する指が、右手の中指ではなく、右手の人差指である場合もあり、あるいは左手の親指である場合もあり、利用する2本の指の組み合わせによって、第1階層の項目データを「メニュー」の表示位置から見て、その左右のどちら側に表示させるのが好ましいかが決まると考えられる。
【0063】
例えば、右手の人差指が最初に接触する指として用いられ、次に右手の中指を用いる場合は、右手の中指での操作性を考慮すると、図2とは異なり、第1階層の5つの項目データは、「メニュー」の右側に表示させた方が好ましい。
従って、初期設定項目として、利用者が利用する2本の指、最初に接触する指、利用者の利用する手(右手か左手か)をあらかじめ設定できるようにして、その設定内容に基づいて項目データを表示する位置を決定するようにしてもよい。
【0064】
また、そのような設定をしたとしても、利用者が設定と異なる指を用いてタッチ操作をしてしまう場合もあり得る。例えば、利用者が右手の人差指を最初に接触する指として用いたが、図2のように、「メニュー」の左側に5つの項目データが表示されてしまった場合、利用者は、右手の中指ではなく、右手の親指を用いて、5つの項目データのうちいずれかをタッチするようにすればよい。
【0065】
あるいは、最初のタッチ操作をする前に、表示画面上のどこかに、最初に使用すべき指の名称を表示するようにしてもよい。例えば、「最初にタッチする指は、右手の中指を用いて下さい」とか、「右手の中指と人差指を用い、最初にタッチする指として右手の中指を用いて下さい」というような表示をあらかじめしておけば、その後のタッチ操作と、項目データの表示位置とが不整合となることはない。
【0066】
<記憶部に記憶される情報>
図9,図10および図11に、この発明で用いられる情報の一実施例の説明図を示す。
図9には、メニューデータテーブル(MD)101の一実施例の内容を示している。
メニューデータテーブル101は、複数個のメニューデータから構成され、情報処理装置の出荷時など使用前の段階で、あらかじめ記憶部10に固定的に記憶される。
また、メニューデータテーブル101は、実行可能な機能を特定するための複数の項目データを階層的に対応付けて記憶したものである。
【0067】
ここで、メニューデータに属する選択可能な項目データは、階層1,2および3の3つの階層に分割され、上位の階層のメニューデータに属する項目データのそれぞれに、1つ下の階層のメニューデータが関係づけられて記憶される。
【0068】
図9では、第1の階層(階層1)は、1つのメニューデータMD0からなり、そのメニューデータMD0には、5つの項目データ(切り貼り、レイアウト、挿入、数式、データ)があらかじめ設定されている。1つの項目データは、利用者がこれから実行しようとしている機能を特定するための内容を示している。
また、第2の階層(階層2)は、第1階層の5つの項目データのそれぞれに関連づけられたメニューデータ(MD01〜MD05)があらかじめ設定されている。図9では、2つのメニューデータ(MD01,MD03)について、その具体的な項目データを示し、他のメニューデータの項目データは省略している。
【0069】
図9のメニューデータMD03には、5つの項目データ(図、図形、グラフ、テーブル、リンク)があらかじめ設定されている。例えば、利用者によるメニューデータの項目の選択操作により、まず「挿入」が選択され、次に「グラフ」が選択されたとすると、「グラフを挿入する」という機能が選択入力され得ることを意味する。
【0070】
さらに、第3の階層(階層3)は、第2階層の5つのメニューデータ(MD01〜MD05)に属する項目データのそれぞれに関係づけられたメニューデータ(MD011,MD031など)が予め設定される。
例えば、図9に示すメニューデータMD032は、第2階層のメニューデータMD03の項目データ「図形」に関係づけられたメニューデータであり、この中には5つの項目データ(線、四角、円、半円、文字枠)が、予め設定されている。
【0071】
例えば、後述するような2本の指による選択入力操作をすることにより、3つの階層それぞれに対して、順に「挿入」と、「図形」と、「円」とが選択されたとすると、「円という図形を挿入する」という機能が選択入力されたことになる。
なお、Rは、後述するように、階層を意味する変数であり、例えば、R=0は第1階層を意味している。
【0072】
図10は、メニュー座標テーブル102の一実施例の説明図を示している。
図10において、4つのテーブルを示しているが、これらは予め記憶部10に固定的に記憶される。各テーブル(1〜4)は、1つのメニューデータに属する各項目データを、画面上に表示させる位置の座標(x、y)から構成される。ここでは、円の中心位置を原点座標(0、0)とした相対的な座標を示している。
【0073】
テーブル1と3は、1つのメニューデータに属する項目データの数(データ数Q)が奇数個の場合の座標値の具体例を示したものであり、テーブル2と4は、上記データ数Qが偶数個の場合の座標値の具体例を示したものである。
また、テーブル1と2は、それぞれ図7および図8に示すように、円の中心位置から見て円の左側の円周上に、項目データを表示する場合の表示座標の例を示している。
テーブル3と4は、円の中心位置から見て円の右側の円周上に、項目データを表示する場合の表示座標の例を示している。
【0074】
さらに、テーブル1と3は、項目データ数が奇数の場合の代表例として、データ数が5つの場合の表示座標を示しており、テーブル2と4は、偶数の場合の代表例として、データ数が4つの場合の表示座標を示している。
例えば、テーブル1は、図7に示すように5つの項目データを表示する場合の表示座標であり、テーブル1のNo.1の座標(−9,−29)の位置に、1つの項目データを表示させることを意味する。
【0075】
この座標値(x、y)は、1つの項目データを表示させる領域の代表点を示したものであり、例えば、項目データの文字列を囲む長方形の対角線の交点を座標値(x、y)として、その項目データを表示させる。
テーブル1のNoの1〜5までの表示座標によって示される各位置に、5つの項目データのそれぞれが表示される。このテーブル1の場合は、図7に示すように、「メニュー」の表示位置を円の中心位置を原点座標(0,0)として、その円の左半分の円周上であって各座標の位置に、5つの項目データがそれぞれ表示される。
【0076】
同様に、表示すべき項目データが4つの場合において、テーブル2に示す表示座標に各項目データを表示させる場合は、図8に示すような位置に4つの項目データが表示される。
テーブルは、これらの4つの限られるものではなく、表示すべき項目データの数が、2,3,6あるいは7などの場合の表示座標を予め設定して、記憶部10に記憶しておいてもよい。
【0077】
図11に、この発明の項目データの選択および表示処理に用いる主要な変数の具体例を示す。これらの変数は、RAMやハードディスクなどの書き換え可能なメモリに、一時的に記憶される。
【0078】
第1入力座標P1と第2入力座標P2とは、指によって接触した位置のタッチパネル上の入力座標であり、入力制御部4によって検出されたタッチパネルの入力位置の信号から生成されるデータである。
第1入力座標P1は、タッチパネルに最初に接触した位置の入力座標を記憶したものであり、その後タッチ操作が繰り返される場合は、主として、奇数回目にタッチされた位置の入力座標を示す。
【0079】
第2入力座標P2は、タッチパネルの1つの位置が接触されたままの状態のときにさらに2つ目の位置が接触された場合に、その2つ目のタッチされた位置の入力座標を記憶したものであり、タッチ操作が繰り返される場合は、偶数回目にタッチされた位置の入力座標を示すものである。
【0080】
メニュー中心座標C0(cx、cy)は、例えば、図7に示す「メニュー」の文字を表示させる位置を示すものであり、1つ下の階層の項目データを円周上に表示させるための円の中心位置を示す座標である。このメニュー中心座標C0は、円周上に表示される項目データよりも1つ上位の階層の項目データのうち、選択された項目データが表示されていた位置の座標に相当する。
【0081】
表示座標S0(sx、sy)は、現在注目している項目データを表示させる位置を設定したものであり、表示させる項目データごとに、図11に示した表示座標テーブル112の中のいずれかの座標値(x、y)が設定される。
この表示座標S0に基づいて、VRAM上に現在注目している項目データの表示データを展開し、その項目データを表示させる。
【0082】
表示内容テーブル111は、現在画面上に表示しているメニューデータの項目データの内容(文字列)を一時記憶したものである。ここに記憶される項目データが、図7に示すように、円の半円周上に表示されるデータである。
図11の表示内容テーブル111では、第1階層のメニューデータMD0に属する5つの項目データを表示させる場合の記憶内容を示している。
【0083】
表示座標テーブル112は、表示内容テーブル111に記憶された項目データを、それぞれ表示させる画面上の位置座標(x、y)を記憶したものである。このテーブル112に一時記憶された各位置座標に基づいて、表示内容テーブル111の対応する番号の項目データが表示されることになる。
【0084】
表示座標テーブル112の座標値には、図10に示すように予め設定された表示座標テーブル102の中から、表示する項目データのデータ数と表示位置に対応したテーブルが選択され、そのテーブルの中の座標値が設定される。
図11の表示座標テーブル112では、メニューデータMD0に属する5つの項目データを、図7に示すように左側の半円周上に表示する場合の座標値(テーブル1の座標値)を設定した場合を示している。
【0085】
表示項目MTは、表示されているメニューの名称であり、初期値としては、例えば「メニュー」という文字列が記憶される。また、「挿入」という項目を選択した場合には、表示項目MTに「挿入」を記憶させる。
表示メニュー階層Rは、現在円周上に表示している項目データの階層の番号を示したものである。なお、変数Rは、図9の階層番号から1を引いた数値で示し、たとえば第2階層のRは1とする。
【0086】
表示メニュー番号RNは、現在円周上に表示しているメニューデータのテーブル番号を示したものである。例えば、第1階層のメニューテーブルを表示している場合は、メニューデータMD0なので、RN=0である。
あるメニューデータのある項目を選択された場合は、現在のメニューデータのテーブル番号RNと選択された項目番号Nを用いて、数式RN=RN×10+Nに基づいて、選択されたメニューデータのテーブル番号(新しいRN)が計算される。
例えば、メニューデータMD03の2番目の項目"図形"を選択された場合は、03×10+2=32となり、新しいRNは32、すなわちメニューデータMD032の項目が表示される。
従って、表示メニュー番号を示す変数RNによって、現在表示しているメニューデータが一意的に特定される。
【0087】
反転表示番号PNは、通常の表示形態とは異なる表示を行う項目データの番号(No)を設定したものであり、例えば、白黒のドットの表示を通常とは逆にさせた反転表示を行わせる項目データの番号を特定するものである。
この他にも使用される変数があるが、後述するフローチャートの中で説明する。
【0088】
<この発明の項目選択と表示処理のフローチャート>
以下に、この発明の情報処理装置において、階層化されたメニューデータを順に表示及び選択しながら、利用者に所望の機能項目を選択させる処理について説明する。
図12から図18に、この発明の項目選択と表示処理の一実施例のフローチャートを示す。
まず、図12のステップS1からS8において、タッチパネルに対する最初のタッチ入力の検出処理を行う。次に、図12のステップS9から図13のステップS21において、2本の指による選択入力処理を実行するために必要な主要な変数の初期化を行う。
さらに、図13のステップS22以降においては、図2から図6を用いて説明した選択入力操作を行わせるための一連の選択表示処理を示している。
【0089】
<最初のタッチ入力の検出処理>
図12のステップS1において、制御部1が、タッチパネル(入力部)5から、タッチ入力があるか否か確認する。この入力の有無は、入力制御部4がタッチパネル上に指を接触したときに生じる電流信号から、その接触位置を特定する入力座標情報を生成した後、その情報を含む検出信号が受信されたことを制御部1が確認することにより行えばよい。
1つの検出信号には、例えば、タッチパネルをマトリクス状に細分化した領域であって接触した1つの位置を示す入力座標情報(x、y)が含まれる。
【0090】
ステップS2において、制御部1が、上記検出信号の入力を検出した場合、ステップS3へ進み、そうでない場合はステップS1へ戻る。
ステップS3において、タッチパネルの入力数をチェックする。すなわち、タッチパネル上で接触された位置の数(入力数)が1ヶ所かあるいは2ヶ所以上あるかをチェックする。異なる検出信号が2つ以上検出された場合、タッチパネルで同時に入力された位置が2ヶ所以上あると判断し、どちらの入力位置が正しい位置か不明であるので、誤入力と考えて、ステップS1へ戻る。
【0091】
ステップS3において、受信された検出信号が1つであった場合、その検出信号に含まれる入力座標情報が示す位置がタッチ入力されたと判断され、ステップS4へ進む。
ステップS4において、受信した検出信号から、タッチパネルの入力位置の座標情報(x、y)を取得し、記憶部10に、第1入力座標P1(t1x,t1y)として記憶する。
ステップS5において、制御部1は、接触状態が継続している時間、すなわち入力継続時間を計測するために、カウンタ6に所定のカウンタ値(CT)を設定し、カウンタ動作を開始させる。
カウンタ6は、ダウンカウンタであり、カウンタ値(CT)を設定してからCTがゼロになるまでの時間(例えば、3秒)が経過することをチェックする。
【0092】
ステップS6において、制御部1は、検出信号が受信されているか否かをチェックし、タッチパネルに対する入力状態がまだ継続しているかどうか判断する。検出信号が検出されなくなった場合は、タッチ入力操作が解除されたと考え、ステップS1へ戻る。
一方、タッチパネルに対する入力状態が継続中の場合は、ステップS7へ進む。
ステップS7において、現在のカウンタ値(CT)をチェックし、ステップS5でセットしたカウンタ値(CT)に相当する時間が経過したか否かチェックする。ダウンカウンタの場合、現在のカウント値(CT)がゼロになっていた場合は、設定時間が経過したと判断し、ステップS8へ進む。一方、まだ設定時間が経過していない場合は、ステップS6へ戻る。
【0093】
ステップS8において、現在受信されている検出信号に含まれている入力座標情報(x、y)の値と、ステップS4において記憶された第1入力座標P1の座標値(t1x,t1y)とを比較し、変化していないかどうか確認する。
座標値が一致せず入力位置が変化している場合は、ステップS1へ戻り、再度タッチパネルに対する最初のタッチ入力を確認する処理をやり直す。一方、2つの座標値が一致しタッチ入力位置に変化がない場合は、ステップS9へ進む。
以上により、タッチパネルに対する最初のタッチ入力が検出され、その入力位置が特定される。
【0094】
<変数の初期化>
次に、ステップS9からS21において、ステップS22以降の処理で用いられる変数を初期化する。
ステップS9において、表示するメニューデータの階層を示す変数(表示メニュー階層)Rをゼロに設定し、表示メニュー番号変数RNを、ゼロに設定する。
また、後述する処理で用いる変数N,M,P,PNを、1に設定する。
ここで、変数Nは、表示しようとする項目データの番号を示すものであり、変数Mは現在注目しているメニューデータの項目データの番号を示すものであり、変数Pは、メニュー座標テーブル102に含まれるテーブルの番号を示すものであり、変数PNは反転表示をする項目データの番号を意味する変数である。
【0095】
ステップS10において、表示内容テーブル111の内容を消去して、初期化する。
ステップS11において、表示座標テーブル112の内容(座標値)を消去して、初期化する。例えば、全ての座標値を、(X,Y)=(0,0)に設定する。
図13のステップS12において、文字変数MTに、「メニュー」の文字を初期値として格納する。
ステップS13において、メニュー中心座標C0(cx、cy)に、第1入力座標P1にセットされた座標値(t1x,t1y)を格納する。これにより、最初にタッチされた入力位置が、円の中心位置として設定される。
【0096】
ステップS14からS21において、メニュー中心座標C0を調整している。
すなわち、最初に接触入力された位置(第1入力座標P1)と、表示部の画面の端部との距離が所定値よりも短い場合は、下位の階層に属する複数の項目データを表示させる位置の基準となる円の中心位置C0(cx、cy)を、表示部の中央方向に調整する。
これは、最初にタッチ入力された位置がタッチパネルの端部に近い位置であった場合、1つ下の階層の項目データを円周上に表示できない場合もあるからであり、実際に入力された位置から表示部の中央方向に少しずらした位置を、メニュー中心位置C0に設定する。
ステップS14からS21の設定処理は、LCD(表示部)3の解像度が480×240(dpi)の場合の調整例を示している。従って解像度が異なるLCDの場合は、中心座標(cx、cy)の設定値は異なる。
【0097】
ステップS14において、ステップS13で設定された中心位置C0のx座標cxが、30以下の場合、実際の入力位置が端部に近づきすぎていると判断し、ステップS15において、強制的に、x座標cxに30を設定する。すなわち、円の中心のx座標cxを、表示部の中央方向に設定し直す。
【0098】
また、ステップS16において、中心座標C0のx座標cxが450以上の場合、入力位置が逆方向の端部に近づきすぎていると判断し、ステップS17において、強制的に、x座標cxに450を設定する。
同様に、ステップS18において、中心座標C0のy座標cyが30以下の場合は、ステップS19において、y座標cyを強制的に30に設定する。
【0099】
また、ステップS20において、中心座標C0のy座標cyが240以上の場合は、ステップS21において、y座標cyを強制的に240に設定する。
以上により、最初にタッチされた入力位置が、あまりにもタッチパネルの端部に近づきすぎている場合は、実際の入力位置よりも表示部の画面の中央方向に、メニュー中心座標C0が調整される。
【0100】
<メニュー項目データの選択表示処理>
上記のように変数の初期化処理を行った後、ステップS22において、メニューデータテーブル101に含まれるメニューデータのうち、表示メニュー番号変数RNによって特定されるメニューデータについて、そのメニューデータの中に属する項目データの個数をチェックして、データ数の変数Qに設定する。
最初のタッチ入力がされ第1階層のメニューデータMD0の項目データを表示しようとする場合は、変数RNは初期値のままであるので、メニューデータMD0に属する項目データの個数がチェックされ、例えば、図9の場合は、メニューデータMD0の項目データの個数は5なので、データ数変数Qに、5が設定される。
【0101】
ステップS23において、設定されたデータ数変数Qの値が奇数あるいは偶数のどちらであるかをチェックする。奇数の場合は、ステップS24へ進み、偶数の場合は、ステップS25へ進む。
ステップS24において、(5−Q)/2+1を計算し、変数Mに設定する。この数式は、表示するメニュー項目の個数が少ない場合に中央側に寄せて配置する事を意味するものである。例えば、変数Q=5の場合、M=1となり、変数Q=3の場合、M=2となる。
表示項目が、5項目の場合は、通常通り一番上から表示するが、項目が3項目しかない場合は、一番上の項目の位置には表示せず、2番目の表示位置からメニュー項目を表示する。これにより、項目が少ない場合に中央に寄せて表示する事ができる。
また、項目数が偶数の場合は、ステップS25において、(4−Q)/2+1を計算し、変数Mを設定することによって、同じ様に中央に寄せて表示する。例えば、変数Q=2の場合、M=2となり、変数Q=4の場合、M=1となる。
【0102】
ステップS26において、現在注目している階層を示す変数Rが奇数あるいは偶数のどちらかであるかをチェックする。変数Rが奇数の場合はステップS28に進み、変数Pに1を設定する。変数Rが偶数の場合はステップS29に進み、変数Pに3を設定する。
ここで、変数Pは、図10に示すメニュー座標テーブル102のテーブル番号を意味する。例えば、データ数の変数Qが奇数(=5)で、階層Rが奇数(=1)の場合は、ステップS28において、図10のテーブル1が選択されることになる。
また、ステップS27において、階層を示す変数Rが奇数あるいは偶数のどちらであるかをチェックする。変数Rが奇数の場合はステップS30へ進み、変数Pに2を設定し、変数Rが偶数の場合はステップS31へ進み、変数Pに4を設定する。
変数Pの設定の後、ステップS32へ進む。
【0103】
ステップS32において、表示座標テーブル112のN番目の座標(x、y)の中に、メニュー座標テーブル102のうちテーブルPのM番目の欄に記憶されている座標(x、y)の値を、格納する。
例えば、N=1,M=1,P=1であったとすると、図10に示すメニュー座標テーブル102のうち、テーブル1の中のNo=1の欄に予め記憶されているx座標(−9)と、y座標(−29)とを、それぞれ、表示座標テーブル112のNo=1の欄のx座標とy座標に設定する。
【0104】
図14のステップS33において、表示座標テーブル112のN番目のx座標に、メニュー中心座標C0のx座標cxの値を加算して、N番目の項目データを表示させる実際の表示位置のx座標を設定する。
すなわち、x=x+cxを計算する。
【0105】
ステップS34において、表示座標テーブル112のN番目のy座標に、メニュー中心座標C0のy座標cyの値を加算して、N番目の項目データを表示させる実際の表示位置のy座標を設定する。
すなわち、y=y+cyを計算する。
【0106】
ステップS35において、表示内容テーブル111のN番目のデータの中に、RN番のメニューデータのN番目に予め設定されている項目データを格納する。
【0107】
ステップS36において、表示座標S0(sx、sy)に、表示座標テーブル112のN番目の欄に記憶された座標(x、y)の値を格納する。
ステップS37において、VRAMを用いて、表示座標S0(sx、sy)に設定された表示位置に、表示内容テーブル111のN番目の欄に記憶されたデータ内容(項目データ)を表示させる。
例えば、変数N=1、cx=100,cy=60の場合、図11の表示内容テーブル111の1番目の欄に記憶されたデータ(切り貼り)を、表示座標テーブル112の1番目の欄に記憶された(X,Y)座標の位置(91 ,31)に、表示させる(x座標100-9、y座標60-29)。
ステップS38において、次の項目データを表示させるために、変数N,Mに次の番号を設定する。すなわち、N=N+1,M=M+1を設定する。
【0108】
ステップS39において、変数Nが、データ数Qよりも大きいか否かチェックする。
N>Qの場合、ステップS40へ進み、そうでない場合ステップS32へ戻る。
N>Qの場合は、1つのメニューデータに属している項目データを全て表示し終わったことを意味する。
一方、N≦Qの場合は、表示するべき項目データがまだ残っていることを意味するので、ステップS32へ戻り、ステップS32からS38の処理を繰り返し行い、次の項目データを表示させる。
【0109】
ステップS40において、VRAMを用いて、メニュー中心座標C0(cx、cy)が示す表示位置に、文字変数MTに格納されている文字列の内容を表示させる。例えば、図2に示すように、円の中心位置に、「メニュー」の文字を表示させる。
【0110】
図15のステップS41において、メニュー表示後にタッチパネルにタッチ入力があるか否か確認する。この確認は、ステップS1と同様に行えばよい。
ステップS41からS49においては、最初のタッチ入力とは異なり、2つ目のタッチ入力があったかどうかまで確認するものである。
【0111】
ステップS42において、ステップS2と同様に、入力の有無をチェックする。タッチ入力がなければステップS41へ戻り、タッチ入力があれば、ステップS43へ進む。
ステップS43において、タッチパネルへの現在のタッチ入力数をチェックする。同時に2箇所押さえられていればあれば、タッチ入力数は2つとなる。
【0112】
ステップS44において、タッチ入力数が1つの場合は、ステップS62へ進み、タッチパネル上の1点のみがタッチされている場合の処理を行う。
ステップS45において、タッチ入力数が2つの場合は、ステップS46へ進む。
それ以外の場合、すなわちタッチ入力数がゼロ又は3つ以上の場合は、入力操作ミスあるいはタッチ入力がなくなったと判断し、ステップS1へ戻る。
【0113】
ステップS46において、タッチ入力数が2つであるので、2つのタッチ入力のうちどちらか一方のタッチ入力の位置座標を読み出し、その一方のタッチ入力の入力座標が、既に記憶部に格納した第1の入力座標P1(t1x、t1y)に一致するか否かチェックする。
一致する場合はステップS47へ進み、一致しない場合は、ステップS48へ進む。
ステップS47において、一方の入力位置が第1の入力座標P1であるので、他方のタッチ入力の位置座標(x、y)を、第2の入力座標P2(t2x、t2y)として記憶部に記憶する。その後、ステップS50へ進む。
【0114】
ステップS48において、一方のタッチ入力の位置座標は第1の入力座標と異なっていたので、この一方のタッチ入力の位置座標を、第2の入力座標P2(t2x、t2y)として記憶部に記憶する。この場合、2つのタッチ入力のうち、一方のタッチ入力の位置座標は第1の入力座標と異なっていたので、メニュー選択中であれば、他方のタッチ入力の位置座標の方は、既にタッチ入力をしていた位置と同じ第1の入力座標と一致するはずである。すなわち、タッチ入力に利用する2本の指を交互に利用することを前提としている場合、他方の指のタッチ操作が行われる場合、一方の指は、同じ位置にタッチ入力した状態のままである。
【0115】
ステップS48において、一方のタッチ入力の入力位置を第2の入力座標P2として設定したので、他方のタッチ入力の入力位置は、すでに入力されている第1の入力座標のはずであるが、移動している場合もあり得る。
そこで、ステップS49において、他方のタッチ入力の入力位置が、第1の入力座標P1(t1x、t1y)に一致するか否かチェックする。
一致する場合はステップS50へ進み、一致しない場合は、メニュー選択がキャンセルされたとして、ステップS1へ戻る。
ステップS50において、変数Nを1に初期化する。
【0116】
以下、ステップS51からS59において、2つ目のタッチ入力の位置座標として設定された第2の入力座標が、現在表示されている項目データのうち、どの項目データの表示領域の内部にあるかをチェックし、第2の入力座標が含まれる項目データの表示領域の部分を反転表示させる。
例えば、図3に示すように、右手の中指を「メニュー」にタッチしたままで、右手の人差指で「挿入」の表示領域にタッチした場合、「挿入」の表示領域の部分を反転表示させる。
【0117】
ステップS51において、現在の表示座標テーブル112に記憶されているN番目の欄のx座標が、第2入力座標のx座標(t2x)と比較して、その差が0から−20までの範囲内にあるかどうかチェックする。すなわち、t2x−20≦x座標≦t2x+0であるかどうか、チェックする。ただし、この「−20」の値は、一実施例であって、解像度や表示メニューの大きさ等によって異なる。
ステップS52において、x座標が上記不等式の範囲内にある場合は、ステップS53へ進み、その範囲外である場合は、ステップS55へ進む。
範囲外である場合、2番目のタッチ入力位置は、現在注目しているN番目の項目データの表示領域外であると判断される。
【0118】
ステップS55において、変数Nに1を加算する。
ステップS56において、変数Nが、項目データのデータ数Qよりも大きいか否かチェックし、N>Qの場合はステップS41に戻る。N≦Qの場合は、ステップS51に戻り、新たな変数Nについて、ステップS51からS54までの処理を繰り返す。
【0119】
ステップS53において、現在の表示座標テーブル112に記憶されているN番目の欄のy座標が、第2入力座標のy座標(t2y)と比較して、その差が0から−5までの範囲内にあるか否かチェックする。すなわち、t2y−5≦y座標≦t2y+0であるかどうかチェックする。
ただし、この「−5」の値は、一実施例であって、この値に限定されるものではなく、表示部3の解像度や表示メニューの大きさ等によって異なる。
【0120】
ステップS54において、y座標が上記不等式の範囲内にある場合は、ステップS57へ進み、範囲外である場合はステップS55へ進む。
ステップS57へ進む場合は、2番目のタッチ入力位置は、現在注目しているN番目の項目データの表示領域の内部であることを意味している。例えば、図3において、右手の人差指で、「挿入」の表示領域の内部をタッチ入力していることを意味する。
【0121】
ステップS57において、表示座標S0(sx、sy)に、現在の表示座標テーブル112に記憶されているPN番目の欄にある座標(x、y)の値を設定する。
ステップS58において、VRAMを用いて、表示座標S0(sx、sy)の位置に、現在の表示内容テーブル111のPN番目の欄に記憶されている項目データを通常表示させる。これにより、すでに反転表示していた項目を通常表示に戻す。最初にこのステップに来た際には、PN=1であるが、一番上の項目が通常表示で上書きされる為、ユーザーからは判別できない。
ステップS59において、反転表示をする項目データの番号を意味する変数PNに、現在注目している項目データの変数Nの値を設定する。
ステップS60において、表示座標S0(sx、sy)に、現在の表示座標テーブル112に記憶されているPN番目の欄にある座標(x、y)の値を設定する。
ステップS61において、VRAMを用いて、表示座標S0(sx、sy)の位置に、現在の表示内容テーブル111のPN番目の欄に記憶されている項目データを反転表示させる。
ステップS61の後、ステップS41へ戻り、次のタッチ入力の有無と項目データの選択表示処理を行う。
【0122】
現在のタッチ入力の数が1つである場合は、図17のステップS62において、そのタッチ入力の入力位置の座標が、第1入力座標P1(t1x、t1y)に一致するかどうか、チェックする。一致する場合は、タッチ入力の位置は、最初のタッチ入力位置から移動していないので、ステップS41へ戻る。
一致しない場合は、現在タッチ入力されている位置は、最初の第1入力座標と異なるので、ステップS63へ進み、現在のタッチ入力位置の座標を、第2入力座標P2(t2x、t2y)に設定する。この場合、例えば、図5に示すように、右手の人差指が離されて、右手の中指のみがタッチ入力されているような状態である。
【0123】
ステップS64において、変数Nを1に設定する。
ステップS65及びS66において、ステップS51及びS52と同じ処理を行う。
すなわち、表示座標テーブル112に記憶されているN番目の欄のx座標と、第2入力座標P2のx座標(t2x)とを比較し、N番目の欄のx座標が、t2x−20≦x座標≦t2x+0の範囲内にあるかどうかチェックする。範囲内であれば、ステップS67へ進み、範囲外であれば、ステップS69へ進む。
【0124】
また、ステップS67及びS68において、ステップS53及びS54と同じ処理を行う。すなわち、表示座標テーブル112に記憶されているN番目の欄のy座標と、第2入力座標P2のy座標(t2y)とを比較し、N番目の欄のy座標が、t2y−5≦y座標≦t2y+0の範囲内にあるかどうかチェックする。範囲内であれば、ステップS71へ進み、範囲外であれば、ステップS69へ進む。
【0125】
ステップS69においては、ステップS55と同様に、変数Nに1を加算する。
ステップS70において、ステップS56と同様に変数Nと変数Qとを比較し、N≦Qの場合はステップS65へ戻り、ステップS65からS68までの一連の処理を繰り返す。
一方N>Qの場合は、表示座標テーブルの中の全ての項目データを調べたが、現在タッチ入力されている位置は、現在表示されている全ての項目データの表示領域の内部ではなかったことになるので、項目データの選択を中止したと判断し、ステップS1へ戻る。
【0126】
ステップS71において、変数RNに、RN×10+Nの値を設定する。前述の様に、本計算によって、選択されたメニューデータのテーブル番号を生成する。
例えば、図3の様に「挿入」が選択された場合、RN=0、N=3である為、新しいRNは03となり、メニューデータMD03が参照される様になる。
ステップS72において、現在の階層を示す変数Rに1を加算する。これにより、現在注目している階層Rが1つだけ下位に移動することになる。
【0127】
図18のステップS73において、上記ステップS71によって新たに設定された変数RN番のメニューデータが存在するか否かチェックする。
例えば、RNが03の場合、図9に示す様にMD03というメニューデータが存在する。
また、図6の様に、“四角”が選択された場合、メニューデータはMD032、項目2である為、計算されるRNの値は322となるが、このメニューデータは存在しない。
このように、メニューデータが存在する場合はステップS74へ進み、存在しない場合はステップS77へ進む。
【0128】
ステップS74へ進む場合は、さらに下位の階層のメニューデータについて、タッチ入力操作による項目データの選択と表示が行われることになる。
ステップS77へ進む場合は、既に最下位の階層メニューデータに属するメニューデータが選択されていることを意味し、その後、利用者による一連の選択入力操作によって所望の機能が実行されることになる。
【0129】
ステップS74において、文字変数MTに、表示内容テーブル111のN番目の欄に記憶されている項目データの内容を設定する。例えば、図4においては、右手の中指でタッチ入力されている「図形」という文字列が、文字変数MTに設定される。
ステップS75において、メニュー中心座標C0(cx、cy)に、表示座標テーブル112のN番目の欄に記憶されている座標値(x、y)を設定する。例えば、図4においては「図形」という項目データの表示位置の座標(x、y)が、新たなメニュー中心座標(cx、cy)に設定される。その後、「図形」の表示位置が円の中心位置となり、その下位の階層のメニューデータに属する項目データが、その円の円周上に表示されることになる。
図5では、この「図形」の表示位置が新たな円の中心位置となって、「図形」に対応した下位の5つの項目データが、左半分の円周上に表示された状態を示している。
ステップS75の後、ステップS76において、反転変数PNを1に初期化して、ステップS14へ戻り、上記したのと同様の処理が行われる。
【0130】
ステップS77において、ステップS74と同様に、変数MTに、表示内容テーブル111のN番目の欄に記憶されている項目データの内容を設定する。このように、変数MTに設定するのは、選択が確定されたメニュー項目をアプリケーションに伝えるためである。
ステップS78において、変数MTに設定された項目データの内容を、現在起動しているアプリケーションプログラムに通知する。すなわち、2本の指を利用した一連のタッチ入力操作によって選択された項目データに対応する機能が選択されたことを、アプリケーションプログラムに通知する。
アプリケーションプログラムは、この通知内容を確認して、選択された項目データに対応する機能を実行することになる。例えば、図6において、「四角」という項目データの選択入力が確定した場合は、「四角」という項目データがアプリケーションプログラムに通知され、この通知に基づいて、アプリケーションプログラムは「四角という図形を挿入する」という機能を実行する。
【符号の説明】
【0131】
1 制御部(CPU)
2 表示制御部
3 表示部(LCD)
4 入力制御部
5 入力部(タッチパネル)
6 カウンタ
10 記憶部
101 メニューデータテーブル
102 メニュー座標テーブル
111 表示内容テーブル
112 表示座標テーブル
113 第1入力座標
114 第2入力座標
115 メニュー中心座標
116 表示座標
【特許請求の範囲】
【請求項1】
実行可能な機能を特定するための複数の項目データを、階層的に対応付けて記憶した記憶部と、
前記記憶された項目データを入力順の階層ごとに表示させる表示部と、
前記表示部の画面上に対向配置され、画面上を接触入力された場合に、その接触入力された位置を特定する情報を生成する入力部と、
前記表示部に表示された複数の項目データのうち、第1項目データの表示領域が接触入力された場合に、その接触位置と、接触入力された項目データが前記第1項目データであることを検出する項目検出部と、
前記検出された第1項目データに対応付けられた下位の階層に属する複数の項目データを前記記憶部から抽出し、前記検出された第1項目データの表示位置を中心位置とした円の半円周上に、前記抽出された複数の項目データを表示させる項目選択部とを備えることを特徴とする情報処理装置。
【請求項2】
前記項目選択部によって抽出された複数の項目データのうち、第2項目データが前記入力部により接触入力された場合、前記第2項目データの表示位置を中心位置とした円の半円周上に、前記第2項目データに対応付けられたさらに下位の階層に属する複数の項目データを表示させることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記接触入力された項目データの表示位置と比較して、前記項目データに対応付けられた下位の階層に属する複数の項目データの表示位置は、
前記接触入力された項目データの表示位置を中心位置とする円の左側半分の円周上、あるいはその円の右側半分の円周上に配置されていることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
所定の上位の階層に属する第1項目データの表示位置とその階層よりも1つ下位の階層に属する第2項目データの表示位置との位置関係と、前記第2項目データの表示位置とその1つ下位の階層に属する第3項目データの表示位置との位置関係は、それぞれの円の中心位置から見て、左右が反対側となっていることを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記入力部によって接触入力された項目データの表示位置と、前記表示部の画面の端部との距離が所定値よりも短い場合、その項目データに対応付けられた下位の階層に属する複数の項目データを表示させる位置の基準となる円の中心位置を、前記表示部の中央方向に調整することを特徴とする請求項1ないし4のいずれかに記載の情報処理装置。
【請求項6】
前記入力部による画面上への接触入力は、利用者の2本の指を用いて行われ、一方の指を用いて前記表示部に表示された項目データの接触入力が行われた後に、他方の指を用いて前記接触入力された項目データに対応付けられた下位の階層に属する複数の項目データのうちいずれかの項目データが接触入力されることを特徴とする請求項1ないし5のいずれかに記載の情報処理装置。
【請求項1】
実行可能な機能を特定するための複数の項目データを、階層的に対応付けて記憶した記憶部と、
前記記憶された項目データを入力順の階層ごとに表示させる表示部と、
前記表示部の画面上に対向配置され、画面上を接触入力された場合に、その接触入力された位置を特定する情報を生成する入力部と、
前記表示部に表示された複数の項目データのうち、第1項目データの表示領域が接触入力された場合に、その接触位置と、接触入力された項目データが前記第1項目データであることを検出する項目検出部と、
前記検出された第1項目データに対応付けられた下位の階層に属する複数の項目データを前記記憶部から抽出し、前記検出された第1項目データの表示位置を中心位置とした円の半円周上に、前記抽出された複数の項目データを表示させる項目選択部とを備えることを特徴とする情報処理装置。
【請求項2】
前記項目選択部によって抽出された複数の項目データのうち、第2項目データが前記入力部により接触入力された場合、前記第2項目データの表示位置を中心位置とした円の半円周上に、前記第2項目データに対応付けられたさらに下位の階層に属する複数の項目データを表示させることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記接触入力された項目データの表示位置と比較して、前記項目データに対応付けられた下位の階層に属する複数の項目データの表示位置は、
前記接触入力された項目データの表示位置を中心位置とする円の左側半分の円周上、あるいはその円の右側半分の円周上に配置されていることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
所定の上位の階層に属する第1項目データの表示位置とその階層よりも1つ下位の階層に属する第2項目データの表示位置との位置関係と、前記第2項目データの表示位置とその1つ下位の階層に属する第3項目データの表示位置との位置関係は、それぞれの円の中心位置から見て、左右が反対側となっていることを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記入力部によって接触入力された項目データの表示位置と、前記表示部の画面の端部との距離が所定値よりも短い場合、その項目データに対応付けられた下位の階層に属する複数の項目データを表示させる位置の基準となる円の中心位置を、前記表示部の中央方向に調整することを特徴とする請求項1ないし4のいずれかに記載の情報処理装置。
【請求項6】
前記入力部による画面上への接触入力は、利用者の2本の指を用いて行われ、一方の指を用いて前記表示部に表示された項目データの接触入力が行われた後に、他方の指を用いて前記接触入力された項目データに対応付けられた下位の階層に属する複数の項目データのうちいずれかの項目データが接触入力されることを特徴とする請求項1ないし5のいずれかに記載の情報処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2013−97604(P2013−97604A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−240409(P2011−240409)
【出願日】平成23年11月1日(2011.11.1)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願日】平成23年11月1日(2011.11.1)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
[ Back to top ]