JP6154690B2 - ソフトウェアキーボード型入力装置、入力方法、電子機器 - Google Patents

ソフトウェアキーボード型入力装置、入力方法、電子機器 Download PDF

Info

Publication number
JP6154690B2
JP6154690B2 JP2013152048A JP2013152048A JP6154690B2 JP 6154690 B2 JP6154690 B2 JP 6154690B2 JP 2013152048 A JP2013152048 A JP 2013152048A JP 2013152048 A JP2013152048 A JP 2013152048A JP 6154690 B2 JP6154690 B2 JP 6154690B2
Authority
JP
Japan
Prior art keywords
input
character
key
keyboard
input character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013152048A
Other languages
English (en)
Other versions
JP2015023513A (ja
Inventor
横山 淳
淳 横山
弘敏 臼井
弘敏 臼井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rohm Co Ltd
Original Assignee
Rohm Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rohm Co Ltd filed Critical Rohm Co Ltd
Priority to JP2013152048A priority Critical patent/JP6154690B2/ja
Priority to US14/336,030 priority patent/US20150026626A1/en
Publication of JP2015023513A publication Critical patent/JP2015023513A/ja
Application granted granted Critical
Publication of JP6154690B2 publication Critical patent/JP6154690B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Description

本発明は、ソフトウェアキーボードに関する。
タブレット端末、スマートホンなどの電子デバイスは、ハードウェアキーボードを持たないものが多く存在する。こうした電子デバイスは、タッチパネル上にソフトウェアキーボードを表示し、ユーザの操作入力を受け付けるようになっている。
QWERTY型のハードウェアキーボードでは、左右の人差し指に対応するキー、つまりFとKのキー、あるいは、左右の中指に対応するキー、つまりDとKのキーに、突起が設けられており、ユーザがホームポジションを確認しやすくなっている。一方でソフトウェアキーボードでは、液晶パネル上に突起を設けることはできないため、キーボードを目視せずにホームポジションを定めることが難しい。また、このような電子デバイスは、液晶パネルのサイズによってソフトウェアキーボードの領域が制約を受けるため、ハードウェアキーボードよりも小型なものが多くなる。かかる事情から、ソフトウェアキーボードを備える電子デバイスでは、ハードウェアキーボードと比べて遜色のない快適な入力環境が提供されているとは言い難い。
ソフトウェアキーボードを備える電子デバイスにおいて、より快適な入力環境を実現するために、いくつかの技術が提案されている(特許文献1,2参照)。
特開2013−84144号公報 特開2013−58081号公報
本発明はかかる状況においてなされたものであり、そのある態様の例示的な目的のひとつは、従来とは異なるアプローチで、快適な入力環境を実現可能な入力装置、入力方法の提供にある。
本発明のある態様は、ソフトウェアキーボードを用いた入力装置に関する。入力装置は、タッチパネルを有するディスプレイ装置と、ユーザが接触したタッチパネル上の座標を示す座標データを生成する座標検出部と、ディスプレイ装置にソフトウェアキーボードを表示するキーボード表示部と、現在、ディスプレイ装置に表示されているソフトウェアキーボードのレイアウト情報と、座標データと、にもとづいて、ユーザが接触したキーに応じたコードを生成する入力判定部と、コードを監視することにより、ソフトウェアキーボードを修正するキーボード修正部と、を備える。キーボード修正部は、コードを監視し、元の文字列の入力と、それに続く元の文字列の一部または全部の削除と、それに続く元の文字列に近似した新たな文字列の再入力と、を含むシーケンスを検出する再入力検出部と、元の文字列と新たな文字列の対比から、互いに対応する元の文字列に含まれる誤入力文字と新たな文字列に含まれる正入力文字の少なくとも一方を取得する誤入力文字推定部と、誤入力文字と正入力文字の少なくとも一方に応じて、ソフトウェアキーボードを修正する修正実行部と、を備える。
この態様によると、ユーザの誤入力を検出し、正誤の文字列に応じてソフトウェアキーボードを修正することで、ユーザの手のサイズや指の長さ、あるいはユーザのくせなどを学習し、適応的にキーボードの配置を最適化することができ、快適な入力環境を実現できる。
修正実行部は、少なくともひとつのキーのサイズを修正してもよい。
修正実行部は、正入力文字に対応するキーを拡大してもよい。
押しにくいキーのサイズを大きくすることで、修正後にはそのキーを押しやすくできる。
修正実行部は、誤入力された誤った文字に対応するキーを縮小してもよい。
間違って押されやすいキーのサイズを小さくすることで、修正後にはそのキーが誤って押されにくくできる。
修正実行部は、誤入力文字がヌル(Null)であり、正入力文字が非ヌルであるとき、正入力文字に対応するキーを拡大してもよい。
修正実行部は、誤入力文字が非ヌルであり、正入力文字がヌルであるとき、誤入力文字に対応するキーを縮小してもよい。
特に修正実行部は、元の文字列中の誤入力文字の前後いずれかの文字に対応するキーが、誤入力文字に対応するキーとキーボード上で隣接するとき、誤入力文字に対応するキーを縮小してもよい。
キーボード修正部は、誤入力文字に対応するキーと正入力文字に対応するキーがいずれも非ヌルであり、キーボード上で隣接するとき、ソフトウェアキーボードを修正してもよい。
キーボード修正部は、誤入力文字に対応するキーを縮小し、正入力文字に対応するキーを拡大してもよい。
修正実行部は、少なくともひとつのキーの位置を修正してもよい。
修正実行部は、正入力文字に対応するキーを、誤入力文字に対応するキー側にシフトさせてもよい。
キーボード修正部は、タイピングの成功率を算出する成功率算出部をさらに含んでもよい。修正実行部は、ソフトウェアキーボードの修正の結果、成功率が低下したときは、修正前のソフトウェアキーボードに戻してもよい。
修正により、必ずしもソフトウェアキーボードが改善されるとは限らない。この態様によれば、過剰なあるいは不適切な修正により成功率が低下することを防止できる。
ある態様の入力装置は、キーボードの初期設定を実行する初期設定部をさらに備えてもよい。初期設定部は、ユーザ入力にもとづき、左右それぞれの手について、キーボードの初期設定に使用する複数の指と、複数の指に対応する複数のキーを登録し、ディスプレイ装置のソフトウェアキーボードを表示すべき領域に指認識用フレームを表示し、ユーザに対して、ユーザ自身のホームポジションに手を位置合わせした状態で登録した複数の指を指認識用フレームに触れるように促し、ユーザが触れた複数の指の座標にもとづいて、ソフトウェアキーボードの初期配置を決定する。
ある態様の入力装置は、ユーザが指定した任意の2つのキーを入れ替えるカスタマイズ部をさらに備えてもよい。
ある態様の入力装置は、ユーザが指定した任意の文字列を、任意のキーに割り当てるマクロ部をさらに備えてもよい。
本発明の別の態様は電子機器に関する。電子機器は、上述のいずれかの入力装置を備えてもよい。
なお、以上の構成要素を任意に組み合わせたもの、あるいは本発明の表現を、方法、装置などの間で変換したものもまた、本発明の態様として有効である。
本発明のある態様によれば、快適な入力環境を実現できる。
実施の形態に係る入力装置のブロック図である。 図1の入力装置の再入力検出部および誤入力文字推定部の処理を示すフローチャートである。 修正実行部の処理を示すフローチャートである。 図4(a)〜(c)は、それぞれ、図3のステップS204、S210、S214において、キーが修正される様子を示す図である。 ソフトウェアキーボードの初期化シーケンスを示すフローチャートである。 図6(a)は、指認識用フレームを示す図であり、図6(b)は、ユーザが指認識用フレームをタッチした状態を示す図であり、図6(c)は、指の座標から計算されたソフトウェアキーボードを示す図である。
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
本明細書において、「部材Aが、部材Bと接続された状態」とは、部材Aと部材Bが物理的に直接的に接続される場合のほか、部材Aと部材Bが、電気的な接続状態に影響を及ぼさない他の部材を介して間接的に接続される場合も含む。
同様に、「部材Cが、部材Aと部材Bの間に設けられた状態」とは、部材Aと部材C、あるいは部材Bと部材Cが直接的に接続される場合のほか、電気的な接続状態に影響を及ぼさない他の部材を介して間接的に接続される場合も含む。
図1は、実施の形態に係る入力装置2のブロック図である。入力装置2は、ディスプレイ装置10、座標検出部30、キーボード表示部50、入力判定部70、キーボード修正部90を備える。
ディスプレイ装置10は、タッチパネル11と表示パネル12を有する。座標検出部30は、タッチパネル11と接続されており、ユーザが接触したタッチパネル11上の座標を示す座標データS1を生成する。
キーボード表示部50は、表示パネル12と接続されている。メモリ52には、ソフトウェアキーボード13を構成する各キーのレイアウトを示すレイアウトデータS2が格納される。レイアウトデータS2のデータ構造は特に限定されないが、たとえば各キーごとに、(i)矩形の4頂点の座標を含んでも良いし、(ii)キーの1つの頂点の座標、縦の長さ、横の長さを含んでもよい。キーボード表示部50は、レイアウトデータS2にもとづいて、ディスプレイ装置10の表示パネル12に、ソフトウェアキーボード13を表示する。
入力判定部70は、現在、ディスプレイ装置10の表示パネル12に表示されているソフトウェアキーボード13の配列であるレイアウトデータS2と、座標データS1にもとづいて、ユーザが接触したキーに応じたコードS3を生成する。
キーボード修正部90は、コードS3を監視し、監視結果にもとづいて、メモリ52に格納されたソフトウェアキーボード13のレイアウトデータS2を修正する。このコードS3は、各キーに割り当てられたキーコードであってもよいし、そのキーに割り当てられた文字コードであってもよい。以下では、説明の簡素化と理解の容易化のため、コードS3は文字コードであるとする。
キーボード修正部90は、再入力検出部91、誤入力文字推定部92、修正実行部93、を備える。
再入力検出部91は、コードS3を監視し、元の文字列str1の入力と、それに続く元の文字列str1の一部または全部の削除と、それに続く元の文字列str1に近似した新たな文字列str2の再入力と、を含む一連のシーケンスを検出する。誤入力文字推定部92は、元の文字列str1と新たな文字列str2の対比から、誤入力文字Lと正入力文字Lを推定する。
図2は、図1の入力装置2の再入力検出部91および誤入力文字推定部92の処理を示すフローチャートである。
再入力検出部91は、バッファに、コードS3のシーケンスである文字列strを格納する(S100)。そして文字列str1の消去、すなわち、「Deleteキー」もしくは「Backspaceキー」の押下が検出されない間は(S102のN)、文字列strを更新していく。そして文字列str1の一部、あるいは全部の消去が検出されると(S102のY)、消去した元の文字列str1と、消去した文字数N1を記憶する(S104)。
続いて、消去後に入力された文字数N2までを、新しい文字列str2として記憶する(S106)。
そして、元の文字列str1と新しい文字列str2を比較し、最初に入力された誤入力された可能性のある文字(誤入力文字)Lと、再入力後の正しく入力された可能性のある文字(正入力文字)Lを取得する(S108)。なお、誤入力文字L、正入力文字Lはそれぞれ、「ヌル(Null)」つまり無入力もありえる。たとえば、"Hello"と入力すべきところ、"Hllo"と入力された場合、誤入力文字Lは「ヌル」であり、正入力文字Lは「e」となる。あるいは、"Hello"と入力すべきところ、"Helljo"と入力された場合、誤入力文字Lは「j」であり、正入力文字Lは「ヌル」となる。
また文字列str1およびstr2の中には、誤って入力された文字が複数含まれる場合もありえる。そこで、誤入力文字Lを格納する配列(誤入力配列)Lと、正入力文字Lを格納する配列(正入力配列)Lと、を用意してもよい。この場合、あわせて誤入力文字Lの文字数N3も取得される(S109)。
たとえば誤入力文字Lの文字数N3が2である場合、誤入力配列Lの1、2番目の要素L[0]、L[1]に、2つの誤入力文字が格納され、正入力配列Lの1、2番目の要素L[0]、L[1]に、2つの正入力文字が格納される。
誤入力文字Lの文字数N3が、しきい値N4より多い場合(S110のN)は、タイプミスではなく、文章を変更したものと推定し、ソフトウェアキーボード13の修正を行わずにステップS100に戻る。
反対に、誤入力文字Lの文字数N3がしきい値N4より少ない場合(S110のY)、タイプミスである可能性が高いため、ソフトウェアキーボード13の修正を行う(S112)。
ここでしきい値N4は、元の文字列str1の文字数N1に、所定の係数kを乗じた値としてもよい。
N4=N1×k
たとえばk=0.5である。パラメータkを最適化することで、ソフトウェアキーボード13の修正の感度を調節できる。
図1に戻る。修正実行部93は、誤入力文字Lおよび正入力文字Lの少なくとも一方に応じて、ソフトウェアキーボード13を修正する。
修正実行部93は、少なくともひとつのキーのサイズを修正する。より具体的には、修正実行部93は、再入力された正入力文字Lに対応するキーKを拡大し、および/または、誤入力文字Lに対応するキーKを縮小する。
図3は、修正実行部93の処理を示すフローチャートである。
修正実行部93は、配列L、Lに含まれるN3個のすべての誤入力文字Lおよび正入力文字Lについて、変数iをインクリメントしながら順に処理を行う(S200)。
修正実行部93は、配列Lのi番目の要素L[i]がヌルであるとき(S202のY)、それに対応するL[i]のキーKを拡大する(S204)。
このとき、L[i]に隣接するキーKは縮小してもよい。たとえばキーKにM個のキーKが隣接する場合、それらM個のキーKのサイズを縮小してもよい。これにより、ソフトウェアキーボード13全体のサイズを維持できる。
修正実行部93は、誤入力文字L[i]が非ヌルであり(S202のN)、正入力文字L[i]がヌルであるとき(S206のY)、誤入力文字L[i]に対応するキーKを縮小する(S210)。より好ましくは、元の文字列str1中の誤入力文字L[i]の前後いずれかの文字に対応するキーKが、キーボード上において誤入力文字L[i]に対応するキーKと隣接するとき(S208のY)、誤入力文字L[i]に対応するキーKを縮小する。このとき、このキーK隣接する、誤入力文字L[i]の前または後ろの文字に対応するキーKを拡大してもよい。
ステップS208において、元の文字列str1中の誤入力文字L[i]の前後いずれかの文字に対応するキーKが、キーボード上において誤入力文字L[i]に対応するキーLと隣接しない場合(S208のN)、ソフトウェアキーボード13は修正されない。
誤入力文字L[i]および正入力文字L[i]がいずれも非ヌルであり、誤入力文字L[i]に対応するキーKと、正入力文字L[i]に対応するキーKがキーボード上で隣接する場合(S212のY)、ソフトウェアキーボード13が修正される(S214)。より具体的には、誤入力文字L[i]に対応するキーKを縮小し、正入力文字L[i]に対応するキーKを拡大する。
以上が修正実行部93の処理である。
以上が入力装置2の構成である。続いて、その動作を、いくつかのケースをもとに説明する。以下の例では、ユーザが文字列「hello」の入力を意図しているものとする。
(第1のケース)
ユーザが文字列「hello」を入力しようとして、誤って「helo」と入力した場合
この場合、str1="helo"、str2="hello"であり、N1=4、N2=5となる。また、L[0]="Null"、L[0]="l"となり、誤入力文字数N3は1である。図2のステップS110により、ソフトウェアキーボード13の修正の対象とされる。
[0]がヌルであるから、図3のステップS202において、ステップS204に進み、L[0]="l"に対応するキーKが拡大される。このとき、併せてその周囲のキーK、たとえば"k"、";"、"o"、","が縮小される。周囲は、縦、横方向に隣接するものであってもよいし、縦横斜めに隣接するものであってもよい。
つまり、このケースでは、L[0]に対応するキーK="l"が小さいことにより、打ち損じが発生した可能性が高いと推定される。そこでキーK="l"を拡大することにより、以降の打ち損じの発生確率を低下させることができる。
(第2のケース)
ユーザが文字列「hello」を入力しようとして、誤って「hjello」と入力した場合
この場合、str1="hjello"、str2="hello"であり、N1=6、N2=5となる。また、L[0]="j"、L[0]="Null"となり、誤入力文字数N3は1である。この場合も、図2のステップS110により、ソフトウェアキーボード13の修正の対象とされる。
[0]が非ヌル、L[0]がヌルであるから、図3のステップS206において、ステップS208に進む。ここで、元の文字列str1の、誤入力文字L[i]="j"の前の文字"h"に対応するキーKは、キーボード上において誤入力文字L[i]に対応するキーKと隣接する(S208のY)。したがって、誤入力文字L[i]="j"に対応するキーKを縮小する。このとき、このキーKと隣接する、誤入力文字L[i]の前の文字"h"に対応するキーKを拡大してもよい。
つまり、このケースでは、キー"h"を押したつもりが、それと隣接する"j"を誤って同時に入力した可能性が高い。つまりキーK="j"の感度が高すぎると判定される。そこで、キーK="j"を縮小することにより、以降の打ち損じの発生確率を低下させることができる。
(第3のケース)
ユーザが文字列「hello」を入力しようとして、誤って「hrllo」と入力した場合
この場合、str1="hrllo"、str2="hello"であり、N1=5、N2=5となる。また、L[0]="r"、L[0]="e"となり、誤入力文字数N3は1である。この場合も、図2のステップS110により、ソフトウェアキーボード13の修正の対象とされる。
この場合、誤入力文字L[i]および正入力文字L[i]がいずれも非ヌルであるから(S206のN)、ステップ212に進む。そして、誤入力文字L[i]="r"に対応するキーKと、正入力文字L[i]="e"に対応するキーKは、キーボード上で隣接する(S212のY)。その結果、誤入力文字L[i]に対応するキーKが縮小され、正入力文字L[i]に対応するキーKが拡大される(S214)。
つまりこのケースは、ユーザがキーK="e"を打鍵しようとして、キーK="r"を打鍵してしまった可能性が高い。そこでキーKのサイズを大きくしてその感度を高め、キーKのサイズを小さくしてその感度を低下させることで、それ以降の"e"と"r"の誤入力を抑制できる。
(第4のケース)
ユーザが文字列「hello」を入力しようとして、誤って「hella」と入力した場合
この場合、str1="hella"、str2="hello"であり、N1=5、N2=5となる。また、L[0]="a"、L[0]="o"となり、誤入力文字数N3は1である。この場合も、図2のステップS110により、ソフトウェアキーボード13の修正の対象とされる。
この場合、誤入力文字L[i]および正入力文字L[i]がいずれも非ヌルであるから(S206のN)、ステップ212に進む。そして、誤入力文字L[i]="r"に対応するキーKと、正入力文字L[i]="e"に対応するキーKは、キーボード上で隣接しない(S212のN)。その結果、キーボードは修正されない。
つまりこのケースでは、ユーザがキーK="e"を打鍵しようとして、キーK="a"を打鍵してしまったのであるが、これはキーボートのレイアウトとは無関係なヒューマンエラーである可能性が高い。したがって、ステップS212の処理により、ヒューマンエラーにもとづくソフトウェアキーボード13の修正を防止できる。
続いて、ソフトウェアキーボード13のキーのサイズの具体的な修正例を説明する。
図4(a)〜(c)は、それぞれ、図3のステップS204、S210、S214において、キーが修正される様子を示す図である。
図4(a)を参照する。ステップS204において、キーK="k"を拡大し、その周囲のキーK、たとえば"j"、"l"、"m"、"i"を縮小するとする。このときキーKは、縦方向および横方向に拡大される。一方、キーKcと縦方向に隣接するキーKA1は、縦方向に縮小され、キーKcと横方向に隣接するキーKA2は、横方向に縮小される。たとえば、Kをα%拡大した場合、Kをα%縮小してもよい。
図4(b)を参照する。ステップS210において、正入力文字L="j"に対応するキーKを拡大し、それと隣接するキーK="h"を縮小するとする。このときキーKは、キーKと隣接する方向、つまり横方向に拡大され、キーKは、キーKと隣接する方向、つまり横方向に縮小される。たとえば、Kをα%拡大した場合、Kをα%縮小してもよい。
図4(c)を参照する。ステップS214において、正入力文字Lに対応するキーK="e"を拡大し、誤入力文字Lに対応するキーK="r"を縮小するとする。このときキーKは、キーKと隣接する方向、つまり横方向に拡大され、キーKは、キーKと隣接する方向、つまり横方向に縮小される。たとえばKをα%拡大した場合、Kをα%縮小してもよい。
このように実施の形態に係る入力装置2によれば誤入力を検出し、正誤の文字列に応じてソフトウェアキーボードを修正することで、ユーザの手のサイズや指の長さ、あるいはユーザのくせなどを学習し、適応的にキーボードの配置を最適化することができ、快適な入力環境を実現できる。
図1に戻る。実施の形態に係る入力装置2のキーボード修正部90は、成功率算出部94をさらに含む。
成功率算出部94は、タイピングの成功率を算出する。たとえば成功率算出部94は、文字の総入力数N1(もしくはN2)と、誤入力された文字数N3を所定期間累積し、それらの累積値の比にもとづいて、成功率S5を算出してもよい。
修正実行部93は、ソフトウェアキーボード13の修正の前後の成功率S5を比較し、ソフトウェアキーボード13の修正により成功率S5が低下したときは、修正前のソフトウェアキーボード13に戻す。ソフトウェアキーボード13の修正前の成功率S5は過去に取得された成功率の平均値としてもよい。
入力装置2は、上述のソフトウェアキーボード13の修正機能に加えて、初期設定機能、カスタマイズ機能およびマクロ機能を備える。以下、順に説明する。
(初期設定機能)
図1に示すように、入力装置2は初期設定部100を備える。初期設定部100は、入力装置2の起動後と、あるいは任意のときに、図5に示す初期化シーケンスを実行し、ソフトウェアキーボード13の初期レイアウトを決定する。
図5は、ソフトウェアキーボードの初期化シーケンスを示すフローチャートである。
はじめに、ユーザ入力にもとづき、左右それぞれの手について、キーボードの初期設定に使用する複数の指と、複数の指に対応する複数のキーを登録する(S300)。
たとえば、左手に関して、ユーザは、親指、人差し指、中指の3本を設定し、またそれぞれに"F"、"E"、"W"のキーを割り当てる。右手に関してユーザは、親指、人差し指、中指、の3本を設定し、またそれぞれに"J"、"I"、"O"のキーを割り当てる。指の本数、割り当てるキーは任意である。
つづいて初期設定部100は、ディスプレイ装置10の表示パネル12のソフトウェアキーボードを表示すべき領域に指認識用フレーム102を表示する(S302)。
そしてユーザに対して、ユーザ自身のホームポジションに手を位置合わせした状態で複数の指を指認識用フレーム102に触れるように促す(S304)。初期設定部100は、左右それぞれの手について、ユーザが触れた複数の指の座標を取得する(S306)。そして、取得された複数の指の座標と、各指に割り当てられたキーの関係にもとづいて、各キーの間隔、サイズを計算し、ソフトウェアキーボードの初期配置を決定する(S308)。
図6(a)は、指認識用フレーム102を示す図であり、図6(b)は、ユーザが指認識用フレーム102をタッチした状態を示す図であり、図6(c)は、指の座標から計算されたソフトウェアキーボード13を示す図である。
図6(c)に示すように、ステップS308において、左右それぞれの手について、親指、人差し指、中指の座標が検出され、それらの値にもとづいて、キー"F"、"E"、"W"および"J"、"I"、"O"の位置およびサイズが計算される。それに加えて、これらの座標から、親指と人差し指の横方向の間隔d1、人差し指と中指の横方向の間隔d2、および親指と人差し指の縦方向の間隔d3を取得できる。左右それぞれの間隔d1、d2にもとづいて、各キーの横方向の長さおよび横方向に隣接するキーの間隔が計算される。また左右それぞれの間隔d3にもとづいて、各キーの縦方向の長さおよび縦方向に隣接するキーの間隔が計算される。これにより、ソフトウェアキーボード13を構成する全てのキーのサイズおよび配置が決定される。
この初期設定機能により、学習によるキーボードの修正に先立ち、ユーザごとに最適なソフトウェアキーボード13のレイアウトを決定することができる。キーボードをタイプするときに、何指をホームポジションの基準とすべきか、また何指でどのキーを打鍵するか等は、ユーザごとに好みが異なる。この初期設定機能では、ユーザが任意の指に任意のキーを割り当てることができ、そこから得られる情報にもとづいてソフトウェアキーボード13のレイアウトを決定するため、ユーザが特定のポジションに拘束されることない、快適な入力環境を提供できる。
(カスタマイズ機能)
図1に示すように、入力装置2はカスタマイズ部110を備える。カスタマイズ部110は、ユーザから任意の2つのキーの指定を受け、それらを入れ替える。具体的には、ある文字L1に割り当てられたキーK1と、別の文字L2に割り当てられたキーK2が指定されたとき、キーK1のコードC1を、文字L2に割り当て、キーK2のコードC2を、文字L1に割り当てる。
2つのキーの指定方法は特に限定されない。たとえば、ユーザによって、2つのキーK1、K2を順に打鍵させてもよいし、あるいは、ユーザによって、ひとつのキーK1を、別のキーK2の位置にドラッグさせてもよい。
キーK1とK2の入れ替えに関する情報により、メモリ52のレイアウトデータS2が更新される。キーボード表示部50は、更新されたレイアウトデータS2にもとづいて表示パネル12にソフトウェアキーボード13を表示する。たとえばユーザが、"Shift"に割り当てられたキーK1と、"Function"に割り当てられたキーを入れ替えた場合、表示パネル12に表示されるソフトウェアキーボード13は、キーK1に"Func"と表示し、キーK2に"Shift"と表示する。
2つのキーを入れ替える際には、"Shift"キーや"Numlock"が押されたときに入力される文字のみを対象としてもよい。
このカスタマイズ機能により、ユーザごとに好みのキーボードにカスタマイズできる。
(マクロ機能)
図1に示すように、入力装置2はマクロ部120を備える。マクロ部120は、ユーザから、指定した任意の文字列str3と、それに対応する任意のキーK1の組み合わせを含むマクロ情報を受け付ける。マクロ情報の入力方法も特に限定されない。そして、キーK1が打鍵されると、文字列str3が入力されたものとする。マクロ情報は、入力判定部70に与えられる。
キーK1は、好ましくは、ユーザの使用頻度が低いキー、たとえばファンクションキー"F1"〜"F10"や、その他のキー"/"、"-"、"="であることが想定されるが特に限定されない。たとえばキーK1"/"に文字列str3"000"が割り当てられた場合、ユーザがキー"/"を打鍵すると、入力判定部70は、"000"が入力されたものと判定する。
マクロ機能により、使用頻度が低いキーを有効活用できる。
以上、本発明について、実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、こうした変形例について説明する。
(変形例1)
実施の形態では、図3のフローチャートに示される3つの修正処理S204、S210、S214を例示したが、本発明はそれには限定されない。たとえば、3つの修正処理のうち、ひとつ、またはふたつのみを採用してもよい。あるいは、例示した3つの修正処理S204、S210、S214以外の修正処理を行ってもよい。
(変形例2)
修正実行部93は、上述のキーのサイズの修正に加えて、あるいはそれに代えて、キーの位置を修正してもよい。
より具体的には、修正実行部93は、正入力文字に対応するキーと誤入力文字に対応するキーが隣接するとき、正入力文字に対応するキーを誤入力文字に対応するキー側にシフトさせてもよい。
この変形例によっても、実施の形態と同様の効果を得ることができる。
実施の形態にもとづき、具体的な語句を用いて本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が認められる。
2…入力装置、10…ディスプレイ装置、11…タッチパネル、12…表示パネル、13…ソフトウェアキーボード、30…座標検出部、50…キーボード表示部、52…メモリ、70…入力判定部、90…キーボード修正部、91…再入力検出部、92…誤入力文字推定部、93…修正実行部、94…成功率算出部、100…初期設定部、102…指認識用フレーム、104…指、110…カスタマイズ部、120…マクロ部、S1…座標データ、S2…レイアウトデータ、S3…コード。

Claims (23)

  1. ソフトウェアキーボードを用いた入力方法であって、
    タッチパネルを有するディスプレイ装置に、前記ソフトウェアキーボードを表示するステップと、
    ユーザの入力を監視し、元の文字列の入力と、それに続く前記元の文字列の一部または全部の削除と、それに続く前記文字列に近似した新たな文字列の再入力と、を含むシーケンスを検出する誤入力検出ステップと、
    前記元の文字列と前記新たな文字列の対比から、互いに対応する前記元の文字列に含まれる誤入力文字および前記新たな文字列に含まれる正入力文字の少なくとも一方を取得するステップと、
    前記誤入力文字と前記正入力文字の少なくとも一方に応じて、前記ソフトウェアキーボードを修正する修正ステップと、
    を備え、
    前記修正ステップは、少なくともひとつのキーのサイズを修正するサイズ修正ステップを含み、
    前記サイズ修正ステップは、前記誤入力文字がヌルであり、前記正入力文字が非ヌルであるとき、前記正入力文字に対応するキーを拡大するステップを含むことを特徴とする入力方法。
  2. ソフトウェアキーボードを用いた入力方法であって、
    タッチパネルを有するディスプレイ装置に、前記ソフトウェアキーボードを表示するステップと、
    ユーザの入力を監視し、元の文字列の入力と、それに続く前記元の文字列の一部または全部の削除と、それに続く前記文字列に近似した新たな文字列の再入力と、を含むシーケンスを検出する誤入力検出ステップと、
    前記元の文字列と前記新たな文字列の対比から、互いに対応する前記元の文字列に含まれる誤入力文字および前記新たな文字列に含まれる正入力文字の少なくとも一方を取得するステップと、
    前記誤入力文字と前記正入力文字の少なくとも一方に応じて、前記ソフトウェアキーボードを修正する修正ステップと、
    を備え、
    前記修正ステップは、少なくともひとつのキーのサイズを修正するサイズ修正ステップを含み、
    前記サイズ修正ステップは、前記誤入力文字が非ヌルであり、前記正入力文字がヌルであるとき、前記誤入力文字に対応するキーを縮小するステップを含むことを特徴とする入力方法。
  3. 前記サイズ修正ステップは、前記元の文字列中の前記誤入力文字の前後いずれかの文字に対応するキーが、キーボード上において前記誤入力文字に対応するキーと隣接するとき、前記誤入力文字に対応するキーを縮小することを特徴とする請求項に記載の入力方法。
  4. 前記修正ステップは、前記誤入力文字に対応するキーと前記正入力文字に対応するキーがいずれも非ヌルであり、キーボード上で隣接するとき、前記ソフトウェアキーボードを修正することを特徴とする請求項1からのいずれかに記載の入力方法。
  5. 前記修正ステップは、前記誤入力文字に対応するキーを縮小し、前記正入力文字に対応するキーを拡大することを特徴とする請求項に記載の入力方法。
  6. 前記修正ステップは、少なくともひとつのキーの位置を修正する位置修正ステップを含むことを特徴とする請求項1からのいずれかに記載の入力方法。
  7. 前記位置修正ステップは、正入力文字に対応するキーを、誤入力文字に対応するキー側にシフトさせるステップを含むことを特徴とする請求項に記載の入力方法。
  8. タイピングの成功率を算出するステップと、
    前記修正ステップの結果、成功率が低下したときは、修正前の前記ソフトウェアキーボードに戻すステップと、
    をさらに備えることを特徴とする請求項1からのいずれかに記載の入力方法。
  9. ユーザ入力にもとづき、左右それぞれの手について、キーボードの初期設定に使用する複数の指と複数の指に対応する複数のキーを登録するステップと、
    前記ディスプレイ装置の前記ソフトウェアキーボードを表示すべき領域に指認識用フレームを表示するステップと、
    前記ユーザに対して、ユーザ自身のホームポジションに手を位置合わせした状態で前記複数の指を前記指認識用フレームに触れるように促し、ユーザが触れた前記複数の指の座標を検出するステップと、
    ユーザが触れた前記複数の指の座標にもとづいて、前記ソフトウェアキーボードの初期配置を決定するステップと、
    をさらに備えることを特徴とする請求項1からのいずれかに記載の入力方法。
  10. ユーザが指定した任意の2つのキーを入れ替えるカスタマイズステップをさらに備えることを特徴とする請求項1からのいずれかに記載の入力方法。
  11. ユーザが指定した任意の文字列を、任意のキーに割り当てるマクロステップをさらに備えることを特徴とする請求項1から10のいずれかに記載の入力方法。
  12. ソフトウェアキーボードを用いた入力装置であって、
    タッチパネルを有するディスプレイ装置と、
    ユーザが接触した前記タッチパネル上の座標を示す座標データを生成する座標検出部と、
    前記ディスプレイ装置に前記ソフトウェアキーボードを表示するキーボード表示部と、
    現在、ディスプレイ装置に表示されている前記ソフトウェアキーボードのレイアウト情報と前記座標データにもとづいて、ユーザが接触したキーに応じたコードを生成する入力判定部と、
    前記コードを監視することにより、前記ソフトウェアキーボードを修正するキーボード修正部と、
    を備え、
    前記キーボード修正部は、
    コードを監視し、元の文字列の入力と、それに続く前記元の文字列の一部または全部の削除と、それに続く前記文字列に近似した新たな文字列の再入力と、を含むシーケンスを検出する再入力検出部と、
    前記元の文字列と前記新たな文字列の対比から、互いに対応する前記元の文字列に含まれる誤入力文字と前記新たな文字列に含まれる正入力文字の少なくとも一方を取得する誤入力文字推定部と、
    前記誤入力文字および前記正入力文字の少なくとも一方に応じて、前記ソフトウェアキーボードを修正する修正実行部と、
    を備え、
    前記修正実行部は、少なくともひとつのキーのサイズを修正するサイズ修正実行部を含み、
    前記サイズ修正実行部は、前記誤入力文字がヌルであり、前記正入力文字が非ヌルであるとき、前記正入力文字に対応するキーを拡大することを特徴とする入力装置。
  13. ソフトウェアキーボードを用いた入力装置であって、
    タッチパネルを有するディスプレイ装置と、
    ユーザが接触した前記タッチパネル上の座標を示す座標データを生成する座標検出部と、
    前記ディスプレイ装置に前記ソフトウェアキーボードを表示するキーボード表示部と、
    現在、ディスプレイ装置に表示されている前記ソフトウェアキーボードのレイアウト情報と前記座標データにもとづいて、ユーザが接触したキーに応じたコードを生成する入力判定部と、
    前記コードを監視することにより、前記ソフトウェアキーボードを修正するキーボード修正部と、
    を備え、
    前記キーボード修正部は、
    コードを監視し、元の文字列の入力と、それに続く前記元の文字列の一部または全部の削除と、それに続く前記文字列に近似した新たな文字列の再入力と、を含むシーケンスを検出する再入力検出部と、
    前記元の文字列と前記新たな文字列の対比から、互いに対応する前記元の文字列に含まれる誤入力文字と前記新たな文字列に含まれる正入力文字の少なくとも一方を取得する誤入力文字推定部と、
    前記誤入力文字および前記正入力文字の少なくとも一方に応じて、前記ソフトウェアキーボードを修正する修正実行部と、
    を備え、
    前記修正実行部は、少なくともひとつのキーのサイズを修正するサイズ修正実行部を含み、
    前記サイズ修正実行部は、前記誤入力文字が非ヌルであり、前記正入力文字がヌルであるとき、前記誤入力文字に対応するキーを縮小することを特徴とする入力装置。
  14. 前記修正実行部は、前記元の文字列中の前記誤入力文字の前後いずれかの文字に対応するキーが、前記誤入力文字に対応するキーとキーボード上で隣接するとき、前記誤入力文字に対応するキーを縮小することを特徴とする請求項13に記載の入力装置。
  15. 前記キーボード修正部は、前記誤入力文字に対応するキーと前記正入力文字に対応するキーがいずれも非ヌルであり、キーボード上で隣接するとき、前記ソフトウェアキーボードを修正することを特徴とする請求項12から14のいずれかに記載の入力装置。
  16. 前記キーボード修正部は、前記誤入力文字に対応するキーを縮小し、前記正入力文字に対応するキーを拡大することを特徴とする請求項15に記載の入力装置。
  17. 前記修正実行部は、少なくともひとつのキーの位置を修正する位置修正実行部を含むことを特徴とする請求項12から16のいずれかに記載の入力装置。
  18. 前記位置修正実行部は、正入力文字に対応するキーを、誤入力文字に対応するキー側にシフトさせることを特徴とする請求項17に記載の入力装置。
  19. 前記キーボード修正部は、タイピングの成功率を算出する成功率算出部をさらに含み、
    前記修正実行部は、前記ソフトウェアキーボードの修正の結果、成功率が低下したときは、修正前の前記ソフトウェアキーボードに戻すことを特徴とする請求項12から18のいずれかに記載の入力装置。
  20. キーボードの初期設定を実行する初期設定部をさらに備え、
    前記初期設定部は、
    ユーザ入力にもとづき、左右それぞれの手について、キーボードの初期設定に使用する複数の指と、複数の指に対応する複数のキーを登録し、
    ディスプレイ装置の前記ソフトウェアキーボードを表示すべき領域に指認識用フレームを表示し、
    ユーザに対して、ユーザ自身のホームポジションに手を位置合わせした状態で登録した複数の指を指認識用フレームに触れるように促し、
    ユーザが触れた複数の指の座標にもとづいて、前記ソフトウェアキーボードの初期配置を決定する
    ことを特徴とする請求項12から19のいずれかに記載の入力装置。
  21. ユーザが指定した任意の2つのキーを入れ替えるカスタマイズ部をさらに備えることを特徴とする請求項12から20のいずれかに記載の入力装置。
  22. ユーザが指定した任意の文字列を、任意のキーに割り当てるマクロ部をさらに備えることを特徴とする請求項12から21のいずれかに記載の入力装置。
  23. 請求項12から22のいずれかに記載の入力装置を備えることを特徴とする電子機器。
JP2013152048A 2013-07-22 2013-07-22 ソフトウェアキーボード型入力装置、入力方法、電子機器 Expired - Fee Related JP6154690B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013152048A JP6154690B2 (ja) 2013-07-22 2013-07-22 ソフトウェアキーボード型入力装置、入力方法、電子機器
US14/336,030 US20150026626A1 (en) 2013-07-22 2014-07-21 Software keyboard input device, input method and electronic apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013152048A JP6154690B2 (ja) 2013-07-22 2013-07-22 ソフトウェアキーボード型入力装置、入力方法、電子機器

Publications (2)

Publication Number Publication Date
JP2015023513A JP2015023513A (ja) 2015-02-02
JP6154690B2 true JP6154690B2 (ja) 2017-06-28

Family

ID=52344665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013152048A Expired - Fee Related JP6154690B2 (ja) 2013-07-22 2013-07-22 ソフトウェアキーボード型入力装置、入力方法、電子機器

Country Status (2)

Country Link
US (1) US20150026626A1 (ja)
JP (1) JP6154690B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6450200B2 (ja) * 2015-01-22 2019-01-09 トヨタ紡織株式会社 ウレタン発泡成形品用補強基布
US10061943B2 (en) * 2015-12-02 2018-08-28 Gas Informatica Ltda Keyboard monitoring to protect confidential data
JP2019212086A (ja) * 2018-06-06 2019-12-12 京セラドキュメントソリューションズ株式会社 文字入力装置、及び電子機器
US11216182B2 (en) * 2020-03-03 2022-01-04 Intel Corporation Dynamic configuration of a virtual keyboard

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7477240B2 (en) * 2001-09-21 2009-01-13 Lenovo Singapore Pte. Ltd. Input apparatus, computer apparatus, method for identifying input object, method for identifying input object in keyboard, and computer program
JP2005267424A (ja) * 2004-03-19 2005-09-29 Fujitsu Ltd データ入力装置、情報処理装置、データ入力方法、データ入力プログラム
US9041660B2 (en) * 2008-12-09 2015-05-26 Microsoft Technology Licensing, Llc Soft keyboard control
US8812972B2 (en) * 2009-09-30 2014-08-19 At&T Intellectual Property I, L.P. Dynamic generation of soft keyboards for mobile devices
US20110267278A1 (en) * 2010-04-29 2011-11-03 Sony Ericsson Mobile Communications Ab Adaptive soft keyboard
KR101578769B1 (ko) * 2010-11-30 2015-12-21 애플 인크. 동적으로 위치되는 온스크린 키보드
JP5663427B2 (ja) * 2011-07-26 2015-02-04 京セラドキュメントソリューションズ株式会社 文字入力装置およびそれを備えた画像形成装置
JP2013073317A (ja) * 2011-09-27 2013-04-22 Nec Casio Mobile Communications Ltd 入力装置、入力方法及びプログラム
JP5520273B2 (ja) * 2011-10-11 2014-06-11 ヤフー株式会社 情報入力装置、方法及びプログラム
US20130222247A1 (en) * 2012-02-29 2013-08-29 Eric Liu Virtual keyboard adjustment based on user input offset
US20130263039A1 (en) * 2012-03-30 2013-10-03 Nokia Corporation Character string shortcut key
JP5910345B2 (ja) * 2012-06-21 2016-04-27 富士通株式会社 文字入力プログラム、情報処理装置および文字入力方法
US9164623B2 (en) * 2012-10-05 2015-10-20 Htc Corporation Portable device and key hit area adjustment method thereof
KR20150106397A (ko) * 2012-11-27 2015-09-21 톰슨 라이센싱 적응적 가상 키보드

Also Published As

Publication number Publication date
US20150026626A1 (en) 2015-01-22
JP2015023513A (ja) 2015-02-02

Similar Documents

Publication Publication Date Title
KR101345320B1 (ko) 예측 가상 키보드
US9891818B2 (en) Adaptive touch-sensitive displays and methods
KR100974986B1 (ko) 가상 gui 항목을 활성화하도록 터치 스크린을 작동시키기 위한 방법 및 컴퓨터 판독가능 기록 매체 및 가상 gui 항목을 활성화하도록 터치 스크린을 작동시킬 수 있는 장치
US8963832B2 (en) Mobile terminal
US9128610B2 (en) Virtual predictive keypad
KR101376286B1 (ko) 터치스크린 텍스트 입력
CN104423625A (zh) 字符输入装置及字符输入方法
JP6105818B2 (ja) タッチ入力パネルのレイアウトを適応的に調整する装置、方法及びモバイル端末
US9164623B2 (en) Portable device and key hit area adjustment method thereof
TWI442303B (zh) 電子裝置及其控制方法與電腦程式產品
JP6154690B2 (ja) ソフトウェアキーボード型入力装置、入力方法、電子機器
JP5495702B2 (ja) 入力装置
EP2410405A2 (en) Methods and apparatuses for statistically sorting characters for multi-tap keyboards
US20130021260A1 (en) Method for inputting korean character on touch screen
US8949731B1 (en) Input from a soft keyboard on a touchscreen display
CN105589570A (zh) 一种处理输入错误的方法和装置
JP5343386B2 (ja) タッチパネル入力方式及び入力キー決定方法、タッチパネル入力キー決定プログラム並びにプログラム媒体
US20200050314A1 (en) Touch sensing method, electronic device and non-transitory computer readable recording medium device
CN111367459B (zh) 利用压力触控板的文本输入方法和智能电子设备
JP6226057B2 (ja) 文字入力装置及びプログラム
CN105718766A (zh) 电子设备及其屏幕解锁方法
JP2008217643A (ja) 入力装置および入力方法
US20130249844A1 (en) System and method for input device layout
TWI598748B (zh) 電子設備及字元校正方法
JP5521643B2 (ja) 携帯端末装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170407

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170602

R150 Certificate of patent or registration of utility model

Ref document number: 6154690

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees