(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-05
(45)【発行日】2023-04-13
(54)【発明の名称】タッチパネル用コントローラ及びプログラム
(51)【国際特許分類】
G06F 3/04886 20220101AFI20230406BHJP
G06F 3/041 20060101ALI20230406BHJP
【FI】
G06F3/04886
G06F3/041 520
(21)【出願番号】P 2019092918
(22)【出願日】2019-05-16
【審査請求日】2022-04-25
(73)【特許権者】
【識別番号】501398606
【氏名又は名称】富士通コンポーネント株式会社
(74)【代理人】
【識別番号】100087480
【氏名又は名称】片山 修平
(72)【発明者】
【氏名】一川 大輔
【審査官】木内 康裕
(56)【参考文献】
【文献】特開2008-033797(JP,A)
【文献】国際公開第2013/121649(WO,A1)
【文献】特開2020-149278(JP,A)
【文献】特開2015-170213(JP,A)
【文献】特開2015-166970(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/03
G06F 3/041 - 3/04895
(57)【特許請求の範囲】
【請求項1】
タッチ位置、タッチオン及びタッチオフを検出する検出手段と、
前記タッチ位置に対応するオブジェクトの操作レベルを取得する取得手段と、
前記取得手段で取得された今回の操作レベルと前回の操作レベルが所定の関係になると、当該所定の関係になった位置の座標情報を前記タッチオフの座標情報として外部装置に出力し、前記検出手段が前記タッチオフを検出するまで前記検出手段で検出されたタッチ位置の座標情報を前記外部装置に出力しない出力制御手段と
を備えることを特徴とするタッチパネル用コントローラ。
【請求項2】
前記今回の操作レベルと前記前回の操作レベルが前記所定の関係になっていない場合には、前記出力制御手段は前記検出手段で検出されたタッチ位置の座標情報を前記外部装置に出力することを特徴とする請求項1に記載のタッチパネル用コントローラ。
【請求項3】
オブジェクト毎に、前記オブジェクトと前記操作レベルと領域情報とが関連付けられたデータを記憶する記憶手段を備え、
前記取得手段は、前記検出手段で検出されたタッチ位置と前記データの前記領域情報とに基づいて、前記タッチ位置に対応するオブジェクトの操作レベルを取得することを特徴とする請求項1又は2に記載のタッチパネル用コントローラ。
【請求項4】
コンピュータを、
タッチ位置、タッチオン及びタッチオフを検出する検出手段、
前記タッチ位置に対応するオブジェクトの操作レベルを取得する取得手段、及び
前記取得手段で取得された今回の操作レベルと前回の操作レベルが所定の関係になると、当該所定の関係になった位置の座標情報を前記タッチオフの座標情報として外部装置に出力し、前記検出手段が前記タッチオフを検出するまで前記検出手段で検出されたタッチ位置の座標情報を前記外部装置に出力しない出力制御手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タッチパネル用コントローラ及びプログラムに関する。
【背景技術】
【0002】
従来より、タッチ操作の誤入力を防止することができる技術が知られている。例えば、特許文献1では、タッチパネルに表示されるボタン間に、誤入力防止のための低感度領域を設定している。特許文献2では、タッチされた位置に応じて同定のための境界を変動し、この変動した境界に基づいて次のタッチによる入力の同定を行うことによって、誤入力を防止する。特許文献3では、2つのアイコン領域の間に、アイコンの選択の状態の変化を反映しない中間帯が設置されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-138287号公報
【文献】国際公開第2003/027826号
【文献】特開平11-127399号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
キーボードのように複数のボタンが隣接して配置され、タッチパネルの操作時に指が滑ると、目的のボタン以外の隣接するボタンに移動してしまう場合がある。特に、ボタン間の領域が無い場合やボタン間の領域が小さい場合には、指が目的のボタン以外の隣接するボタンに移動してしまうことがあり、必ずしもタッチ操作の誤入力を防止することができない課題がある。
【0005】
本発明は、タッチ操作の誤入力を防止することができるタッチパネル用コントローラ及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、明細書に開示されたタッチパネル用コントローラは、タッチ位置、タッチオン及びタッチオフを検出する検出手段と、前記タッチ位置に対応するオブジェクトの操作レベルを取得する取得手段と、前記取得手段で取得された今回の操作レベルと前回の操作レベルが所定の関係になると、当該所定の関係になった位置の座標情報を前記タッチオフの座標情報として外部装置に出力し、前記検出手段が前記タッチオフを検出するまで前記検出手段で検出されたタッチ位置の座標情報を前記外部装置に出力しない出力制御手段とを備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、タッチ操作の誤入力を防止することができる。
【図面の簡単な説明】
【0008】
【
図1】タッチパネルとメイン装置とを備える情報処理装置の構成図である。
【
図2】
図1のタッチパネルに表示されるアプリケーションの一例を示す図である。
【
図3】オブジェクトと領域情報と操作レベルとの関係を示す図である。
【
図4】(A)はオブジェクト上でタッチ操作する第1の例を示す図であり、(B)は
図4(A)のオブジェクトに対して設定された操作レベルを示す図である。(C)はオブジェクト上でタッチ操作する第2の例を示す図であり、(D)は
図4(C)のオブジェクトに対して設定された操作レベルを示す図である。(E)はオブジェクト上でタッチ操作する第3の例を示す図であり、(F)は
図4(E)のオブジェクトに対して設定された操作レベルを示す図である。(G)はオブジェクト上でタッチ操作する第4の例を示す図であり、(H)は
図4(G)のオブジェクトに対して設定された操作レベルを示す図である。
【
図5】コントローラで実行されるタッチ入力処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照しながら本発明の実施の形態を説明する。
【0010】
図1は、タッチパネルとメイン装置とを備える情報処理装置の構成図である。
図1の情報処理装置10は、表示機能及びキー入力機能を有するタッチパネル1と、入力データを処理するメイン装置5とを備えている。情報処理装置10とは、タッチパネルを備える装置であり、例えば、パソコン、サーバ、スマホ、家電(冷蔵庫及び洗濯機などを含む)、キヨスク端末、又はATMなどである。
【0011】
タッチパネル1は、タッチ入力の位置を検出し、各種処理を実行するコントローラ2を備えている。コントローラ2は、各種処理を実行するためのプログラムやデータを記憶し、プログラムを実行するワーキングエリアとして機能するメモリ3を備えている。コントローラ2は、検出手段、取得手段及び出力制御手段として機能し、メモリ3は記憶手段として機能する。尚、図示しないが、タッチパネル1は、基板や透明導電膜などを備えている。コントローラ2は、タッチパネル1に取り外し可能に装着されていてもよいし、タッチパネル1に固定されていてもよい。
【0012】
メイン装置5は、タッチパネル1から各種のデータを入力し、様々な処理を実行する。メイン装置5は、コントローラ2にUSBケーブル8を介して接続されるCPU(Central Processing Unit)6と、プログラム、アプリケーション並びにデータを格納するメモリ7とを備えている。尚、メイン装置5は、CPU6に代えて、プロセッサ、専用の演算IC又はASIC(Application Specific Integrated Circuit)などを備えていてもよい。
【0013】
図2は、タッチパネル1に表示されるアプリケーションの一例を示す図である。アプリケーション11は、メモリ7に格納され、CPU6により実行される。アプリケーション11画面は、背景12、表示エリア13及び複数のボタン14を備えている。
図2のボタン14は数値キーなどである。背景12、表示エリア13及びボタン14は各々オブジェクトであり、各オブジェクトには操作レベルが設定されている。各オブジェクトに関連付けられている操作レベルは、例えば、アプリケーション11で変更可能である。アプリケーション11は、
図2のような電卓アプリケーションに限定されるものではない。
【0014】
図3は、オブジェクトと領域情報と操作レベルとの関係を示す図である。例えば、
図3に示すように、アプリケーション11は、各オブジェクトと領域情報と操作レベルとを関連付けたテーブルデータを備えている。領域情報はオブジェクトに対応する領域を示すデータであり、例えば、ボタン14に対応する領域のデータは、ボタン14の4隅に対応する座標(X1,Y1)(X2,Y1)(X1,Y2)(X2,Y2)として設定される。
【0015】
コントローラ2は、タッチ位置の座標情報を検出すると、タッチ位置に対応するオブジェクトの操作レベルをCPU6に問い合わせる。CPU6は、コントローラ2からタッチ位置の座標情報を受信すると、
図3のテーブルデータに基づいて、タッチ位置に該当するオブジェクトの操作レベルを特定し、コントローラ2に返信する。
【0016】
コントローラ2は、
図3のテーブルデータをCPU6から予め取得し、メモリ3に格納していてもよい。この場合、コントローラ2は、タッチ位置の座標情報を検出すると、CPU6に問い合わせることなく、メモリ3に格納されたテーブルデータを使ってタッチ位置に対応するオブジェクトの操作レベルを取得できる。
【0017】
図4(A)はオブジェクト上でタッチ操作する第1の例を示す図であり、
図4(B)は
図4(A)のオブジェクトに対して設定された操作レベルを示す図である。
図4(C)はオブジェクト上でタッチ操作する第2の例を示す図であり、
図4(D)は
図4(C)のオブジェクトに対して設定された操作レベルを示す図である。
図4(E)はオブジェクト上でタッチ操作する第3の例を示す図であり、
図4(F)は
図4(E)のオブジェクトに対して設定された操作レベルを示す図である。
図4(G)はオブジェクト上でタッチ操作する第4の例を示す図であり、
図4(H)は
図4(G)のオブジェクトに対して設定された操作レベルを示す図である。
【0018】
図4(A)、
図4(C)、
図4(E)及び
図4(G)では、操作者の指の動きが矢印で示されており、操作者の指がボタン14a、背景12及びボタン14bのオブジェクト上をスライドする。
【0019】
図4(A)及び
図4(B)では、ボタン14a、背景12及びボタン14bの全オブジェクトに対して同じ操作レベル1が設定されている。隣接するオブジェクト同士の操作レベルが同一である場合には、タッチ操作は制限されることなく、自由な操作が可能である。操作者の指がボタン14a、背景12及びボタン14bのオブジェクト上をスライドした場合、コントローラ2は、ボタン14a、背景12及びボタン14bの各タッチ位置の座標情報を順番にCPU6に出力し、ボタン14aおよびボタン14bに情報や機能が設定されている場合にはボタン14a、ボタン14bの入力が有効となる。操作レベルは、高レベル「5」から低レベル「0」まで設定可能であるが、これらの数値に限定されるものではない。
【0020】
図4(C)及び
図4(D)では、ボタン14a、背景12及びボタン14bのオブジェクトに対して操作レベル5,3,1がそれぞれ設定されている。オブジェクトの操作レベルが高レベルから低レベルへ移行する場合には、タッチ操作は制限されず、操作者の指がボタン14a、背景12及びボタン14bのオブジェクト上をスライドした場合に、コントローラ2は、ボタン14a、背景12及びボタン14bの各タッチ位置の座標情報を順番にCPU6に出力する。
【0021】
オブジェクトの操作レベルが低レベルから高レベルへ移行する場合には、タッチ操作が制限され、自由な操作ができない場合がある。
【0022】
図4(E)及び
図4(F)では、ボタン14a、背景12及びボタン14bのオブジェクトに対して操作レベル1,2,3がそれぞれ設定されている。隣接するオブジェクト同士の操作レベルの差が所定値(例えば1)以下である場合には、タッチ操作は制限されない。
図4(E)及び
図4(F)では、指がボタン14aから背景12へ移行しても、あるいは背景12からボタン14bへ移行しても、隣接するオブジェクト同士の操作レベルの差が1なので、タッチ操作は制限されない。
【0023】
一方、
図4(G)及び
図4(H)では、ボタン14a、背景12及びボタン14bのオブジェクトに対して操作レベル1,3,1がそれぞれ設定されている。指がボタン14aから背景12へ移動した場合には、指が低レベルのオブジェクトから高レベルのオブジェクトに移動し、且つボタン14aと背景12とに設定されている操作レベルの差が2なので、タッチ操作が制限される。具体的には、指がボタン14aの外側に移動したら、コントローラ2はボタン14aと背景12との境界である
図4(G)の点Pの座標をボタン14aのタッチオフ座標としてCPU6に出力する。以後、コントローラ2は背景12及びボタン14bのタッチ位置の座標情報をCPU6に出力しない。従って、ボタン14aの入力のみが有効となり、背景12、あるいはボタン14bへの入力は無効となる。このように、オブジェクトの操作レベルが低レベルから高レベルへ移行し、且つ隣接するオブジェクト同士の操作レベルの差が2以上の場合には、コントローラ2は、指が高レベルのオブジェクトに移動すると同時に操作レベルの差が所定値を超えた位置の座標情報をタッチオフ座標としてCPU6に出力し、それ以降は、例え指が同レベル又は低レベルのオブジェクトに移動したとしてもタッチ位置の座標情報をCPU6に出力しない。
【0024】
このように、本実施の形態では、オブジェクトの操作レベルが低レベルから高レベルへ移行した場合、あるいは隣接するオブジェクト同士の操作レベルの差が所定値以下である場合にはタッチ操作は制限されないが、オブジェクトの操作レベルが低レベルから高レベルへ移行し、且つ隣接するオブジェクト同士の操作レベルの差が所定値を超えればタッチ操作は制限され、指がタッチパネルから離れるタッチオフが検出されるまでタッチ入力の操作は無効になる。
【0025】
尚、本実施形態では、オブジェクトの操作レベルが低レベルから高レベルへ移行し、且つ隣接するオブジェクト同士の操作レベルの差が所定値を超えればタッチ操作を制限しているが、本実施形態はこれに制限されるものではない。例えば、オブジェクトの操作レベルが高レベルから低レベルへ移行し、且つ隣接するオブジェクト同士の操作レベルの差が所定値を超えたときにタッチ操作を制限してもよい。タッチ操作を制限する条件は、アプリケーション11の設定又は
図3のテーブルデータの設定などによって適宜変更可能である。
【0026】
図5は、コントローラ2で実行されるタッチ入力処理を示すフローチャートである。
【0027】
コントローラ2は、タッチパネル1にかかる電圧を監視することで、タッチオンが検出されたか否かを判別する(S1)。タッチオンが検出された場合には(S1でYES)、コントローラ2は後述するタッチオフの座標情報をCPU6に出力済みであるか否かを判別する(S2)。タッチオフの座標情報をCPU6に出力済みである場合には(S2でYES)、手順はS1に戻る。
【0028】
タッチオフの座標情報をCPU6に出力済みでない場合には(S2でNO)、コントローラ2は、タッチパネル1上のタッチ位置の座標を検出する(S3)。コントローラ2は、検出したタッチ位置の座標情報をCPU6に出力し、タッチ位置に対応するオブジェクトの操作レベルをCPU6から取得する(S4)。テーブルデータが予めメモリ3に格納されている場合には、コントローラ2はCPU6に問い合わせることなく、メモリ3内のテーブルデータを使ってタッチ位置に対応するオブジェクトの操作レベルを取得してもよい。
【0029】
コントローラ2は、前回判別した操作レベルが0であるか否かを判別する(S5)。タッチパネル1がタッチされていない状態では、操作レベルとして便宜上0が設定されている。一方、すでにタッチパネル1がタッチされている場合には、前回タッチしたオブジェクトの操作レベルが設定されている。前回の操作レベルが0である場合には(S5でYES)、コントローラ2は、今回のタッチ位置の座標情報をCPU6に出力する(S7)。メモリ3には、前回のタッチ位置の操作レベルと今回のタッチ位置の操作レベルが保持されるため、コントローラ2は、前回のタッチ位置の操作レベルと今回のタッチ位置の操作レベルを更新して、メモリ3に更新後の操作レベルを保持する(S8)。そして、手順はS1に戻る。
【0030】
一方、前回の操作レベルが0でない場合には(S5でNO)、コントローラ2は、前回のタッチ位置の操作レベルが今回のタッチ位置の操作レベル以上であるか否かを判別する(S6)。S6では、例えば、指があるオブジェクトから隣接するオブジェクトに移動したときに操作レベルが増加したのか又は減少したのかを判断している(
図4(A)~(H)参照)。前回のタッチ位置の操作レベルが今回のタッチ位置の操作レベル以上である場合には(S6でYES)、手順はS7に進み、タッチ入力が有効なものとして今回のタッチ位置の座標をCPU6に出力する。指があるオブジェクトから隣接するオブジェクトに移動したとき、今回と前回とのオブジェクトの操作レベルが一定であるか又は減少する場合、S6でYES→S7と処理され、タッチ操作は制限されない。
【0031】
一方、前回のタッチ位置の操作レベルが今回のタッチ位置の操作レベルよりも小さい場合には(S6でNO)、コントローラ2は、前回のタッチ位置の操作レベルと今回のタッチ位置の操作レベルとの差が所定値以下であるか否かを判別する(S9)。S6でNOと判断されたときには操作レベルが増加しているので、S9で操作レベルの増加量が
図4(F)のように所定値以下であるのか又は
図4(H)のように所定値を超えるのかを判断している。
【0032】
前回のタッチ位置の操作レベルと今回のタッチ位置の操作レベルとの差が所定値以下である場合には(S9でYES)、手順はS7に進む。例えば、指があるオブジェクトから隣接するオブジェクトに移動した場合、操作レベルが増加したけれどもS9でYES→S7の処理で操作レベルの差が所定値以下であると判断されればタッチ操作は制限されない。
【0033】
前回のタッチ位置の操作レベルと今回のタッチ位置の操作レベルとの差が所定値を超えた場合には(S9でNO)、コントローラ2はタッチ入力を無効なものとし、操作レベルの差が所定値を超えた位置の座標情報をタッチオフ座標としてCPU6に出力する(S10)。例えば、指があるオブジェクトから隣接するオブジェクトに移動した結果、操作レベルが所定値を超えて増加した場合、コントローラ2は、S9でNO→S10の処理で操作レベルが所定値を超えた位置の座標情報をタッチオフの座標情報としてCPU6に出力する。そして、コントローラ2は、メモリ3に保持された、前回のタッチ位置の操作レベル及び今回のタッチ位置の操作レベルを0にクリアする(S11)。そして、手順はS1に戻る。
【0034】
S1に戻り、タッチオン状態であることが検出され(S1でYES)たとき、S10でタッチオフの座標情報をCPU6に出力済みである場合には(S2でYES)手順は再度S1に戻る。S1でYES→S2でYES→S1のループ処理により、
図4(G)でコントローラ2がタッチオフの座標情報をCPU6に出力した後、操作者の指がタッチオン状態を継続してもタッチ位置の座標はCPU6に出力されない。
【0035】
S1でタッチオンが検出されない場合、言い換えれば指がタッチパネルから離れた、あるいは未だタッチパネルがタッチされていない場合には(S1でNO)、コントローラ2はS10でタッチオフの座標情報をCPU6に出力済みであるか否かを判別する(S12)。S10でタッチオフの座標情報をCPU6に出力済みである場合には(S12でYES)、コントローラ2はメモリ3内のタッチオン及びタッチオフの出力情報をクリアし(S14)、手順はS1に戻る。S14の処理では、新たなタッチ入力に備えるために、タッチオフの座標情報をCPU6に出力済みであることを示す情報などがメモリ3内からクリアされる。
【0036】
一方、タッチオフの座標情報をCPU6に出力済みでない場合には(S12でNO)、コントローラ2は、タッチ位置の座標情報をCPU6に出力済みであるか否かを判別する(S13)。タッチ位置の座標情報をCPU6に出力済みである場合には(S13でYES)、手順はS10に進み、S1でタッチオフと判断されたときのタッチ位置の座標をCPUに出力する。S13でYES→S10の処理により、例えば指がスライドせずにボタン14aから離れた場合に、指が離れた位置の座標情報をコントローラ2がタッチオフ座標としてCPU6に出力する。タッチ位置の座標情報をCPU6に出力していない場合には(S13でNO)、手順はS1に戻る。S13でNO→S1の処理がループする場合、未だタッチ入力がされていないことを示している。
【0037】
以上説明したように、本実施の形態によれば、コントローラ2は、タッチ位置、タッチオン及びタッチオフを検出し(S1,S3)、タッチ位置に対応するオブジェクトの操作レベルを取得する(S4)。そして、今回の操作レベルと前回の操作レベルが所定の関係になると、当該所定の関係になった位置の座標情報をタッチオフの座標情報としてCPU6に出力し(S10)、指がタッチパネル1から離れてタッチオフを検出するまで、S1でタッチオンが検出されたタッチ位置の座標情報をCPU6に出力しない(S1でYES→S2でYES→S1)。
【0038】
従って、操作者が目的のボタンの操作レベルとそれ以外の隣接するボタンの操作レベルとを適切に設定しておけば、たとえ、指が滑って目的のボタン以外のボタンに移動してしまっても、移動先のボタンのタッチ位置の座標情報はCPU6に出力されない。従って、タッチ操作の誤入力を防止することができる。また、今回の操作レベルと前回の操作レベルが所定の関係にならない場合には、タッチ操作は制限されることなく、自由な操作が可能である。
【0039】
また、本実施の形態では、単に誤入力を防止するだけではなく、入力を制限することができる。用途に合わせてオブジェクトに操作レベルを設定することで、誤入力防止の操作又は決まった順序でしか入力できない操作を実現できる。例えば、5つのボタン[0]~「4」が左から右に一列に配置され、5つのボタン[0]~「4」に操作レベル1~5がそれぞれ設定されているとする。操作レベル5が高レベルで、操作レベル1が低レベルであり、操作レベルが低レベルから高レベルへ移行する場合には、タッチ操作が制限され、自由な操作ができないとする。この場合、ユーザの指がボタン[0]をタッチしたまま右に動かしても、ボタン[1]~「4」の入力はできない。一方、ユーザの指がボタン[4]をタッチしたまま左に動かすと、ボタン[0]~「3」の入力は可能である。
【0040】
尚、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。
【符号の説明】
【0041】
1 タッチパネル
2 コントローラ
3 メモリ
5 メイン装置
6 CPU
7 メモリ
10 情報処理装置