以下、本発明のソフトウエアキーボードプログラムと、そのソフトウエアキーボードプログラムを実装した文字入力装置と、そのソフトウエアキーボードプログラムに関する文字入力方法との実施の形態について説明する。
<1.ソフトウエアキーボードプログラムを実装した文字入力装置の構成について>
図1は、本発明の一実施の形態に係る、文字入力装置(コンピュータの一例に対応)としての携帯情報端末1の外観形状を示す図である。なお、携帯情報端末1としては、たとえばスマートフォン、タブレット型情報端末等が挙げられる。そのスマートフォン、タブレット型情報端末は、後述するように、タッチパネルを備えている。ただし、文字入力装置(コンピュータ)としては、これら以外のものであっても良い。たとえば、ノート型パーソナルコンピュータ、タッチパネルを用いたATM装置等を始め、種々のものが該当する。
携帯情報端末1は、平面視したときの形状が矩形状の筐体10を有する。筐体10の正面側には、タッチパネルが配されている。タッチパネルは、ディスプレイ11と、ディスプレイ11に重ねられるタッチセンサ12とを備えている。
ディスプレイ11は、不図示の液晶パネルと、この液晶パネルを照明する不図示のバックライトとにより構成される液晶ディスプレイである(図2参照)。ディスプレイ11は、画像を表示すると共に外部から表示画像等を視認可能な表示面11aを有している。なお、ディスプレイ11は、液晶ディスプレイに限らず、有機ELディスプレイ等、他の表示装置であってもよい。
タッチセンサ12は、表示面11aの上に配されており、表示面11aに対する入力位置を検出する。タッチセンサ12は透明なシート状に形成されており、タッチセンサ12を透して表示面11aを見ることができる。タッチセンサ12は、静電容量式のタッチセンサであり、マトリクス状に配された第1透明電極、第2透明電極およびカバーを備えている。タッチセンサ12は、第1および第2透明電極間の静電容量の変化を検出することによって、ユーザが触れた表示面11a上の位置を入力位置として検出し、この入力位置に応じた位置信号を後述のCPU20へ出力する。
なお、ユーザは、自身の指またはタッチペンなどの押圧手段(簡単のため、以下、単に「指」と言う。)によってタッチセンサ12を触れることにより、タップ、スライド、フリック、スワイプ、ロングタップ等の各種操作を行うことができる。ここで、タッチセンサ12は、静電容量式のタッチセンサ12に限られず、超音波式、感圧式、抵抗膜式、光検知式等のタッチセンサ12であってもよい。
図1に示すように、タッチパネルの下方には、ホーム画面を表示面11aに表示させるホームボタン等を始めとするキー操作部13が設けられている。なお、キー操作部13は、ホームボタンのみ存在していても良く、その他のボタン(たとえば各種の設定を行う設定ボタン等)が設けられていても良い。
図2は、携帯情報端末1の全体構成を示すブロック図である。この携帯情報端末1は、CPU20、メモリ21、画像処理回路22、キー入力回路23、通信モジュール24を備える。
画像処理回路22は、CPU20から入力された制御信号に従って、ディスプレイ11に表示される画像を生成し、画像データを画像処理回路22に備えられているVRAM22aに記憶させる。この画像処理回路22は、不図示のLCDコントローラを備え、このLCDコントローラによりVRAM22aに記憶された画像データを含む画像信号を、ディスプレイ11へ出力する。
キー入力回路23は、キー操作部13の押下に応じた信号をCPU20へ出力する。
通信モジュール24は、通話や通信のための電波を送受信するアンテナを備える。通信モジュール24は、CPU20から入力される信号を無線信号に変換し、変換された無線信号を、アンテナを介して、基地局や他の通信装置等の通信先へ送信する。また、通信モジュール24は、アンテナを介して受信した無線信号をCPU20が利用できる形式の信号へ変換し、変換された信号をCPU20へ出力する。
メモリ21は、ROMおよびRAMを含む。メモリ21には、CPU20に制御機能を付与するための制御プログラムと、各種のアプリケーションが記憶されている。たとえば、メモリ21には、図3に示すようなキーボードの画面表示(以下、かかるキーボードの画面表示をキーボード表示30とする。)を表示面11aに表示させて、キー入力の受付を可能とするためのアプリケーションソフトウエア(文字入力プログラムに対応)も記憶されている。
なお、このアプリケーションソフトウエアは、キー入力された文字の変換入力候補を、表示面11aの後述する予測・変換候補表示部44に表示したり、キー入力された文字に基づいて単語やフレーズ等の予測入力候補を表示させる機能を有している。以下、この変換入力候補や予測入力候補を表示させる部分を、予測・変換部表示31とする。この予測・変換部表示31は、文字入力等を行わない状態では、表示されないものとしても良い。
なお、上述したアプリケーションソフトウエアは、予測・変換部表示31と、その下方側(キー表示33側)に、ボーダー表示32を表示しているが、ボーダー表示32はゼロドットでも良いので、このようなボーダー表示32を表示しなくても良い。また、以下の説明においては、変換入力候補や、予測入力候補を、単に入力候補と称呼する場合がある。かかる入力候補は、変換入力候補と予測入力候補の少なくとも一方を指すものとする。
上述のアプリケーションソフトウエアは、予め用意された辞書に基づいて入力候補を表示するものであっても良く、ユーザの過去の入力履歴に基づいて入力候補を表示するものであっても良い。予測・変換部表示31は、ユーザが文字を入力する前には表示されないものとしても良いが、ユーザが文字を入力する前であっても、予測・変換部表示31に対応するスペースが表示される構成であっても良い。
また、予測・変換部表示31は、メモリ21に記憶されているアプリケーションソフトウエアによって、入力候補を表示するものとしているが、インターネット等のネットワークを介して外部のサーバ等の間で情報の送受信を行い、外部のサーバ等から送信された入力候補を表示するものとしても良い。
また、メモリ21には、通話、電子メール、ウェブブラウザ等の各種のプログラムが記憶されているが、それらの各種のプログラムには、ソフトウエアキーボードに対応するソフトウエアキーボードプログラムがある。なお、ソフトウエアキーボードプログラムに基づいてCPU20にて処理することで、タッチパネルの文字表示部34への文字の出力を制御する出力制御手段が実現される。また、メモリ21は、アプリケーションの実行の際には、一時的に利用または生成される各種のデータを記憶するワーキングメモリとしても使用される。
なお、ソフトウエアキーボートに対応するアプリケーションソフトウエアは、CPU20での制御に基づいて、表示面11aに上述したキーボード表示30を表示させる。このとき、キーボード表示30には、複数のキー表示33が表示される。そのキー表示33の中には、仮名文字のあ行〜わ行が割り当てられている4段3列または3段4列の文字入力用のキー表示33も含まれている。ここで、仮名文字は、4段3列または3段4列の文字入力用のキー表示33のうち10個のキー表示33に割り当てられているが、それ以上のキー表示33に割り当てられていても良い。また、4段3列または3段4列の文字入力用のキー表示33は、仮名文字ではなく、アルファベット26文字が割り当てられているものとしても良い。
加えて、ソフトウエアキーボードに対応するアプリケーションソフトウエアは、表示の他に、CPU20での制御に基づいて、タッチセンサ12のうちキー表示33に重ねられている領域を指で触れた際に生成される位置信号に基づいて、対応する文字を表示面11aの文字表示部34に表示させる。
図3は、CPU20が、ソフトウエアキーボードのキーボード表示30を表示面11aに表示させて、キー入力の受付を可能とする状態を示す図である。それぞれのキー表示33には、図3で示すような1つの文字のみならず、複数の文字が割り当てられている。そして、あるキー表示33に重ねられている(対応する)タッチセンサ12上で、指を滑らす場合、滑らせた向きに文字が割り当てられている場合には、その割り当てられている文字が文字表示部34に表示される。このとき、文字表示部34には、入力された文字に対応する入力候補が予測・変換部表示31に表示される。
以上のように、ソフトウエアキーボードプログラムは、CPU20での制御に基づいて、タッチセンサ12における、キー表示33に対応するキー領域での入力を受け付ける機能と、タッチセンサ12におけるそれぞれのキー領域が押されたときに、その押されたキー領域に応じた出力制御を行う機能とを有している。また、その出力制御に基づいた文字・記号を文字表示部34に表示させる機能を有し、さらに予測・変換部表示31を文字表示部34に表示させる機能を有している。
以下の説明では、キー表示33からなるキーボード表示30と、タッチセンサ12を触れたときにその入力を受け付けてキー表示33に対応する文字・記号を文字表示部34に表示させる機能を有するものを、単にソフトウエアキーボード40とも表記し、そのソフトウエアキーボード40を構成する個々のキー表示33を、キー50とも表記する。このソフトウエアキーボード40は、入力候補を表示する予測・変換部表示31と、タッチセンサ12を触れたときに入力候補を伴って予測・変換部表示31に対応する表示を文字表示部34に表示させる機能を有するものも該当し、かかる文字表示部34に表示された予測・変換部表示31を、予測・変換候補表示部44とも表記し、この予測・変換候補表示部44と後述するキー配列部41とを区分するボーダー表示32についてはボーダーエリア46とも表記する。
CPU20は、制御プログラムに従って、不図示のマイク、通信モジュール24、ディスプレイ11、不図示のスピーカ等、各構成要素を制御することにより、各種のアプリケーションソフトウエアを実行する。
<2.ソフトウエアキーボード40のキー配列例について>
次に、ソフトウエアキーボード40のキー配列例について説明する。図4は、ソフトウエアキーボード40におけるキー配列の一例を示す図である。この図4に示すように、ソフトウエアキーボード40は、キー配列部41と、上述した予測・変換部表示31を表示するための予測・変換候補表示部44と、ボーダーエリア46とを有している。
キー配列部41は、各種のキーが配列されている部分である。このキー配列部41には、文字キー配列部42と、機能キー配列部43と、予測・変換候補表示部44と、ボーダーエリア46とが設けられている。文字キー配列部42は、文字を入力するためのキーが配列されている部分である。図4に示す構成例では、文字キー配列部42には、仮名文字を入力するためのキー50が合計10個設けられている。その他に、たとえば濁音または半濁音を選択するために割り当てられているキー524と、句読点を入力するためのキー544も設けられている。
ここで、仮名入力を行う場合、キー配列部41内のそれぞれのキー50には、複数の仮名文字が割り当てられていて(設定されていて)、フリック入力を行うことで、いずれかの仮名文字を選択可能となっている。
ところで、キー50には、フリック入力を行う際の文字等も割り当てられている。図5は、フリック入力のイメージを示す図であり、キー542においてフリック入力を行う場合を示すものである。なお、この図5で示すような、フリック入力を行うために表示される部分を、フリック入力部47とする。以下、このフリック入力部47が表示される状態において、キー50に指を押し当てつつ図5において上側にスライドさせる場合を「上フリック」、下側にスライドさせる場合を「下フリック」、左側にスライドさせる場合を「左フリック」、右側にスライドさせる場合を「右フリック」として説明する。なお、フリック入力における表示は、図5に示すものには限られず、別途の形態であっても良い。
また、上述したキー513を押して英語入力とした場合には、キー配列部41内のそれぞれのキー50には、1つまたは複数のアルファベット26文字が割り当てられている(設定されている)。また、キー50の中には、文字以外の記号(たとえば、「!」、「?」、「,」、「.」が割り当てられているものもある。
また、機能キー配列部43は、文字入力以外の各種の機能を実現するためのキー50が配列されている部分である。このような機能としては、たとえば、数字を入力するためのソフトウエアキーボードへの切り替え(キー511)、カーソル等を左側へ移動させるための矢印キー(キー512)、アルファベットを入力するためのソフトウエアキーボードへの切り替え(キー513)、記号を入力するためのソフトウエアキーボードへの切り替え(キー514)がある。さらに、上述の機能としては、カーソルの左側等で入力された文字や記号を削除するための削除キー(キー541)、カーソル等を右側へ移動させるための矢印キー(キー542)、空白を入力するためのスペースキー(キー543)、改行や確定等を行うためのリターンキー(キー544)等がある。
また、予測・変換候補表示部44は、キー入力された文字に基づいて、変換入力候補や予測入力候補といった入力候補を表示するための部分である。ここで、「文字」には、仮名文字、漢字、アルファベット以外に、数字や各種の記号が含まれるものとしても良い。また、ユーザが入力候補の表示部位を指等で触れた場合には、予測・変換候補表示部44は、触れた表示部位の入力候補を出力する機能を有している。なお、図4に示すように、予測・変換候補表示部44は、複数の入力候補を同時に表示しているが、1つのみの表示であっても良い。また、図4に示すものでは、予測・変換候補表示部44は2行に亘って入力候補が表示されているが、1行のみに入力候補が表示されても良く、3行以上に亘って入力候補が表示されても良い。
なお、予測・変換候補表示部44は、文字入力等を行わない状態では、表示されないものとしても良い。このように、予測・変換候補表示部44は、表示される場合もあれば、表示されない場合もある。しかしながら、この予測・変換候補表示部44が表示される予定のエリアは、後述するような指等のスライド動作の起点とすることによって、後述するような所定の切り替え操作が実行される。以下では、かかる予測・変換候補表示部44が出現可能なエリア(出現する場合もあれば、出現しない場合もあるエリア)を、出現可能エリア45とする。
この出現可能エリア45(予測・変換候補表示部44)は、後述するように、指等によるスライド操作の起点とされた場合には、入力される文字を変更したり、入力を行うためのキーボードを切り替える機能を有している。
また、ボーダーエリア46は、上述した予測・変換候補表示部44とキー配列部41とを区分するエリアである。図4に示す構成では、ボーダーエリア46は、所定の幅を有しているが、その幅がゼロドットであっても良い。なお、ボーダーエリア46は、文字入力等を行わない状態では、表示されないものとしても良い。後述するように、予測・変換候補表示部44に指が触れ、その指がボーダーエリア46を越えてキー配列部41に移動したときに、後述するような所定の切り替え操作が実行される。しかしながら、ボーダーエリア46を越えずに、そのボーダーエリア46上で指が停止した場合にも、後述するような所定の切り替え操作を実行するものとしても良い。
<3.文字入力の出力制御について>
次に、上述したソフトウエアキーボード40において文字入力を行う場合、ソフトウエアキーボードプログラムに基づいてCPU20にて処理を経ることで、以下のような出力制御を行うことが可能となっている。以下、その詳細について説明する。
(1)基本概念について
本実施の形態における文字入力の制御では、出現可能エリア45(予測・変換候補表示部44)を起点としたスライドを行うことで、文字入力や入力を行うためのキーボード(キー配列部41)を切り替えるものである。具体的には、以下のように(2)から(5)のような出力制御を行っている。
(2)濁音を入力する場合について
たとえば濁音の仮名文字を入力する場合、清音の仮名文字を入力するためのフリック入力を行う。図5(a)は、清音の仮名文字の「ふ」が入力され、未確定な状態となっている。このとき、予測・変換候補表示部44には、清音の仮名文字の「ふ」の入力に対応した入力候補が表示されている。
その後に、キー配列部41から一度指を離し、その後に、予測・変換候補表示部44に指を触れる。このとき、指が触れた部分に、入力候補が表示されている場合が多いが、触れた後に、キー配列部41に向かって指をスライドさせる。このようなスライド操作が介在しないで指を離した場合には、触れた部分に位置する入力候補が出力され、文字表示部34に出力(表示)される。しかしながら、図5(b)に示すように、予測・変換候補表示部44において、キー配列部41に向かって指をスライドさせ、ボーダーエリア46を越えるようにスライドさせる。
このような予測・変換候補表示部44からボーダーエリア46を越えるようなスライド動作をCPU20が検知すると、CPU20は、清音の仮名文字を濁音の仮名文字へと切り替えるためのトリガ動作であると判断する。そのため、未確定の状態の清音の仮名文字の「ふ」が、濁音の仮名文字の「ぶ」へと切り替えられて、文字表示部34に出力される。なお、かかる仮名文字の文字表示部34への出力は未確定の状態であり、その後は、予測・変換候補表示部44に表示される入力候補に触れることで、確定した状態の文字を文字表示部34に出力させることができる(他の文字や記号等の入力においても同様)。
このように、既に入力した清音の仮名文字について、フリック入力の近傍にある予測・変換候補表示部44でのスライドにより、清音の仮名文字から濁音の仮名文字へと容易に切り替えられる。特に、通常のスマートフォン等では、清音から濁音へ切り替えるためのキー50は、たとえばキー524といった特定のキー50に割り付けられていることが多い。そのため、たとえば「か」行の仮名文字、「さ」行の仮名文字では、キー524が遠いので、清音の仮名から濁音の仮名への切り替えが面倒となっている。しかしながら、予測・変換候補表示部44を利用したスライドによって、清音の仮名文字から濁音の仮名文字へと切り替えられる場合、予測・変換候補表示部44は濁音へ切り替え可能な仮名文字の近くにあるので、ユーザの利便性を向上させることができる。
ここで、半濁音を入力する場合には、濁音を入力する場合とは区別するための動作を行う必要がある。その区別するための動作としては、たとえば、上述した予測・変換候補表示部44に指が触れた際に、直ぐにボーダーエリア46(キー配列部41)に向かうのではなく、第1のスライド方向に指をスライドさせた後に、その第1のスライド方向とは異なる第2のスライド方向に指をスライドさせるようにしても良い。第1のスライド方向としては、具体的には、たとえばボーダーエリア46に対して平行か、またはボーダーエリア46から遠ざかる向きとしても良いが、第2のスライド方向と異なる向きであれば、どのような向きでも良い。なお、第1のスライド方向と第2のスライド方向の一例としては、たとえば数字の「7」の字を描くようなもの(「L」の字を180度回転させたようなもの)がある。
しかしながら、半濁音を入力するのは、上述した動作に限られるものではない。たとえば、指をスライドさせる際に最初に指を予測・変換候補表示部44にタッチさせる動作の前に、一度予測・変換候補表示部44で指をタップさせ、再び予測・変換候補表示部44に触れてボーダーエリア46に向かうように指をスライドさせることで、濁音の入力と区別するようにしても良い。
また、「あ」行の仮名文字については、たとえば予測・変換候補表示部44でのスライドにより、小文字の「ぁ」、「ぃ」、「ぅ」、「ぇ」、「ぉ」を入力可能としたり、「うぁ」、「うぃ」、「うぇ」、「うぉ」を入力可能としたり、「ヴぁ」、「ヴぃ」、「ヴ」、「ヴぇ」、「ヴぉ」を入力可能となるように出力制御しても良い。
(3)促音の入力について
次に、促音を入力する場合について述べる。最初に、現状のフリック入力を用いて、促音の「っ」を入力する場合について説明する。たとえば、「かった」等と、促音である「っ」を入力する場合、促音の前に位置する仮名文字(たとえば「か」)の入力後に、「つ」を入力し、その後、たとえばキー524等を押すことで、促音の「っ」を入力している。したがって、「っ」を入力する際には、「た」行の仮名文字が割り当てられているキー522において「つ」をフリック入力し、その後、キー524を押すことで、「っ」を入力している。
ここで、キー522において「つ」をフリック入力する場合、文字表示部34側にスライドさせるような入力を行う。このスライドの向きは、キー524に向かう向きとは逆となっている。したがって、促音の「っ」を入力するためには、フリック入力後に、そのフリックにおけるスライドとは逆向きに指を移動させて、キー524を押す必要がある。そのため、入力に時間がかかり、快適性が損なわれている。
これに対して、本実施の形態では、図6(a)に示すように、予測・変換候補表示部44を起点として指をスライドさせて指を離す。このようなスライド動作をCPU20が検知すると、CPU20は、仮名文字の「っ」の入力と判定する。なお、図6(a)は、仮名文字の「か」の入力の後、「か」に対応する予測変換候補が表示された状態で「っ」の入力を行うスライド操作を示している。すなわち、入力された文字と共に別の文字である促音の「っ」が追加される。
ここで、たとえば「か」等のような、濁点の付与によって濁音の仮名文字にもなり得る仮名文字を入力した後に、前記のようなスライドをした場合、「が」と入力される虞があり、そのような「が」と入力されるのと区別する必要がある。そのため、促音を入力させる場合には、たとえばボーダーエリア46を越える方向ではなく、図6(b)に示すように予測・変換候補表示部44から斜め右上方向などにスライドさせるようにしても良い。
またさらに、促音の「っ」の入力方法は、本実施の形態では、図7(a)に示すように促音の前の仮名文字(たとえば「か」)を入力する。その後に、図7(b)に示すように、予測・変換候補表示部44を起点として指をスライドさせ、ボーダーエリア46を越えた後に促音の後の仮名文字(たとえば「た」)で指を離す。このようなスライド動作をCPU20が検知すると、CPU20は、未確定の仮名文字の「か」と、同じく未確定の仮名文字の「た」の間に、促音の仮名文字の「っ」が存在すると判定する。したがって、文字表示部34には「かった」と出力される。
ここで、たとえば「か」等のような、濁点の付与によって濁音の仮名文字にもなり得る仮名文字を入力した後に、「た」に向かってスライドした場合、「がた」と入力されるのと区別する必要がある。そのため、促音を入力させる場合には、たとえば図8に示すように、数字の「7」の字を描くようなものの如く、第1のスライド方向に指をスライドさせた後に、その第1のスライド方向とは異なる第2のスライド方向に指をスライドさせるようにしても良い。
このようにすれば、図6(b)に基づいて説明したように、予測・変換候補表示部44を起点にやや斜め右上にスライドしてから、そこで指を離さず数字の「7」を描くようにして、ボーダーエリア46を越えた後の仮名文字(たとえば「た」)で指を離す。すると、「った」が入力できる。すなわち、第1のスライド方向だけの場合には促音「っ」が、第1のスライド方向のスライドに連続して第2のスライド方向にスライドすれば、促音の「っ」と、「スライド先の文字」が入力できる。このようにして、操作の単独/連続と、入力文字の単独/連続が適切に関連付けられることで、ユーザに分かり易く、操作性の良い入力方法を提供できる。
また、拗音かつ濁音の仮名文字を入力する場合、次のように出力制御しても良い。すなわち、たとえば濁音の仮名文字になり得る「か」、「さ」、「た」、「は」行の仮名文字について、「あ」段または「い」段の仮名文字をフリック入力する。その後に、予測・変換候補表示部44を起点として、「や」行の仮名文字のキー533まで、指を離さずに長くスライドし、キー533にて指を離す。その後にキー533におけるフリック入力を行う。それにより、たとえば「ぎゃ」、「ぎゅ」、「ぎょ」、「じゃ」、「じゅ」、「じょ」等のような、濁音の仮名文字のうち「い」段のものと、「や」行の小さい仮名文字である「ゃ」、「ゅ」、「ょ」を組み合わせたものを出力する。
なお、拗音かつ清音の仮名文字を入力する場合、次のように出力制御しても良い。すなわち、「か」行、「さ」行、「た」行、「な」行、「は」行、「ま」行、および「ら」行の仮名文字における「あ」段または「い」段の仮名文字をフリック入力する。その後に、フリック入力を行った最終部位から「や」行の仮名文字のキー533まで、指を離さずに長くスライドし、キー533にて指を離す。その後にキー533におけるフリック入力を行う。それにより、たとえば「きゃ」、「きゅ」、「きょ」、「しゃ」、「しゅ」、「しょ」等のような、清音の仮名文字のうち「い」段のものと、「や」行の小さい仮名文字である「ゃ」、「ゅ」、「ょ」を組み合わせたものを出力する。
(4)手書きにて数字を入力する場合について
続いて、手書きにて数字を入力する場合について述べる。現状、スマートフォン等において数字を入力する場合には、数字の入力のための専用キーボード(キー配列部)に切り替える等して、入力する必要がある。しかしながら、本実施の形態では、次のようにして、容易に数字を入力することができる。
具体的には、たとえば数字の「1」や「2」を入力する場合について、図9に基づいて説明する。この場合、出現可能エリア45(予測・変換候補表示部44)に指を触れ、その後は、手書き入力の要領にて、数字を描くようにソフトウエアキーボード40をスライドさせる。図9は、かかる手書き入力のイメージを示す図であり、図9(a)は数字の「1」を手書き入力するイメージ、図9(b)は数字の「2」を手書き入力するイメージを示している。この手書き入力の過程では、数字を入力するときの起点は、出現可能エリア45に位置させるようにする。そして、出現可能エリア45からボーダーエリア46を越えて、キー配列部41を指がスライドするようにする。このような出現可能エリア45からボーダーエリア46を越えるようなスライド動作をCPU20が検知すると、CPU20は、手書き入力に切り替えられたと判断する。
なお、手書き入力に切り替えられたと判断する前の段階においても、出現可能エリア45やボーダーエリア46におけるスライド動作の軌跡は、メモリ21に記憶させておく。また、スライド動作がボーダーエリア46を越えてキー配列部41に差し掛かってからも、それ以降のスライド動作をメモリ21に記憶させておく。そして、指をスライドさせて、数字を手書きで描く動作を終了させる。すると、CPU20は、メモリ21に記憶されている手書き入力による軌跡の中から、その軌跡が指し示す数字を出力し、文字表示部34に表示させる。
このように、最初に出現可能エリア45(予測・変換候補表示部44)に指が触れ、その後にボーダーエリア46を越える動作を介在させることで、CPU20は、キー配列部41を用いた入力から手書き入力にて入力を行うように、キーボードを切り替える。それにより、手書き入力で数字を入力することができる。
なお、このとき、キーボード自体を手書き用のキーボードに切り替えたと解釈しても良く、既に表示されているキーボードの受付状態を、手書きで入力可能なモードに切り替えたと解釈しても良い。
なお、数字を入力する場合には、未確定かつ濁音へ切り替え可能な仮名文字が存在すると、手書きにて数字を入力するのか、または濁音の仮名文字へ切り替えるのかが判然としない場合が多い。そのため、数字を入力する場合には、未確定かつ濁音へ切り替えるような、仮名文字が存在しないことが好ましい。また、数字を入力する際の指のストロークは、仮名文字を濁音へ切り替えるためのストロークよりも長いのが通常である。そのため、未確定かつ濁音へ切り替え可能な仮名文字が存在していても、一定の長さを越える長さだけ、指がスライドした場合には、手書きにて数字を入力するものと判別して、該当する数字を出力するようにしても良い。
ここで、数字の「5」や「4」を手書きにて入力する場合、ユーザによっては、縦方向の線を描いた後に、ソフトウエアキーボード40から一度指を離し、直ぐにソフトウエアキーボード40に触れて続きを描く場合がある。その場合、指をソフトウエアキーボード40から離した瞬間に、数字の認識を行うものとすると、本来は数字の「5」や「4」を入力したいのに、数字の「1」が出力されてしまう場合があり得る。このため、指をソフトウエアキーボード40から離しても、たとえば1秒といった短い時間内に、再び数字の続きとなり得る所定の範囲に指を触れた場合には、数字の「1」を出力せずに、CPU20が入力継続と判断して、描き終わるまで文字表示部34に出力しないものとしても良い。
ここで、手書き入力は、数字に限られるものではなく、数字以外について適用しても良い。たとえば、仮名文字や漢字、アルファベット、記号等についても、上述と同様にして手書き入力が行えるものとしても良い。
(5)数字入力のための専用キーボードを出現させつつ数字入力する場合について
続いて、数字入力のための専用キーボードを出現させつつ数字入力する場合について、以下に説明する。図10は、数字入力をするための専用キーボードを出現させつつ、数字入力するイメージを示す図である。この図10に示すように、数字入力を行う場合には、図9に示すような手書き入力に代えて、図10に示すような専用キーボードを用いて入力するものとしても良い。
具体的には、図10(a)に示すように、出現可能エリア45(予測・変換候補表示部44)に指が触れた後に、ボーダーエリア46を越えてキー配列部41に向かって指をスライドさせる。このような出現可能エリア45(予測・変換候補表示部44)からボーダーエリア46を越えるようなスライド動作をCPU20が検知すると、CPU20は、図10(b)に示すように、数字を入力するための専用キーボード(以下、数字入力部48と称呼する)を出現させるためのトリガ動作であると判断する。そして、CPU20は、数字入力部48を出現させる。この数字入力部48には、0から9までの数字キー56が設けられている。また、数字入力部48は、数字を入力し易いように、キー配列部41のうちボーダーエリア46に隣接する部位に出現しているが、別の部分に出現しても良い。そして、この数字キー56のうち、目的とする数字キー56にて指を離すと、その目的の数字キー56に対応する数字が文字表示部34に出力される。
ここで、図10(b)に示すような数字入力部48が表示されるまでは、ボーダーエリア46を越えるスライドが、目的とする数字キー56に向かっているか否かが不明である。したがって、図11(a)に示すように、数字入力部48が表示された後に、スライドする方向を修正して、目的とする数字キー56に向かうようにすることで、ユーザの利便性を向上させることができる。
なお、図11(b)に示すように、数字の入力後に指を離すと、数字入力部48は再び表示されない状態となる。しかしながら、数字入力部48は、数字の入力後に指を離しも、表示され続ける状態としても良い。このとき、たとえば出現可能エリア45(予測・変換候補表示部44)をタップする等、別途の復帰動作によって、仮名文字等の入力に復帰するようにしても良い。また、たとえば「10時」等と入力する場合、数字の「1」を入力した後に、直ぐに「0」を入力するが、このような場合に対応させて、指を離しても直ぐに数字入力部48が消えずに、たとえば1秒以内といった短い時間の間、出現を続けるようにしても良い。
また、数字入力部48は、図12に示すようなタイプであっても良い。詳述すると、図10に示すタイプの数字入力部48では、数字キー56が1段のみ存在している。しかしながら、数字キー56は、図12に示すように、2段に亘って存在する構成としても良い。
また、図13に示すように、数字入力部48は、数字キー56以外のキーを有していても良い。図13では、数字キー56以外に、「&」や「/」等の記号を入力可能な記号キー57が表示されている場合について説明している。これら記号キー57においても、目的とする記号キー57にて指を離すと、その目的の記号キー57に対応する記号が文字表示部34に出力される。
また、図14に示すように、数字入力部48は、数字キー56のみならず、アルファベット26文字を入力可能なアルファベットキー58を有していても良い。これらアルファベットキー58においても、目的とするアルファベットキー58にて指を離すと、その目的のアルファベットキー58に対応するアルファベットが文字表示部34に出力される。
(6)アルファベット入力のための専用キーボードを出現させつつアルファベットを入力する場合について
続いて、アルファベットを入力するための専用キーボードを出現させつつアルファベットを入力する場合について、以下に説明する。図15(a)は、アルファベットを入力するための専用キーボードを出現させつつ、アルファベットを入力するイメージを示す図である。この図15(a)に示すように、アルファベットの入力をする場合には、専用キーボード(キー配列部41)を用いて入力するものとしても良い。
すなわち、出現可能エリア45(予測・変換候補表示部44)に指が触れた後に、図15(b)に示すように、ボーダーエリア46を越えてキー配列部41に向かって指をスライドさせる。このような出現可能エリア45(予測・変換候補表示部44)からボーダーエリア46を越えるようなスライド動作をCPU20が検知すると、CPU20は、図15(a)に示すような、アルファベットを入力するための専用キーボード(以下、アルファベット入力部49と称呼する)を出現させるためのトリガ動作であると判断する。そして、CPU20は、アルファベット入力部49を出現させる。
このアルファベット入力部49には、AからZまでのアルファベット26文字のアルファベットキー58が設けられていて、図15(a)に示すものは、いわゆるQWERTY配列となっている。したがって、上段には10個のアルファベットキー58が存在し、中段には9個のアルファベットキー58が存在し、下段には7個のアルファベットキー58が存在している。
このアルファベット入力部49も、アルファベットを入力し易いように、キー配列部41のうちボーダーエリア46に隣接する部位に出現している。しかしながら、それよりも下の部位等、別の部分に出現しても良い。また、アルファベット入力部49には、入力のために必要最小限のキー50のみが設けられている。そのため、図15(a)に示すアルファベット入力部49では、アルファベットキー58以外には、シフトキーと削除キー以外のキー50は存在しておらず、その分だけ、アルファベットキー58等が大きくなるようにしている。しかしながら、たとえば図16に示すように、改行キーやスペースキー他、他の機能を有するキー50も有するものとしても良い。
また、図15(a)に示すようなアルファベット入力部49を用いて、アルファベットを入力する場合には、1文字のアルファベットを入力するのみならず、アルファベットを続けて何文字か入力したい場合が多い。そのため、アルファベット入力部49は、指を離した場合でも、表示され続ける状態とするのが好ましい。図15(c)は、このような入力の具体的なイメージを示す図である。図15(c)では、「BCG」と入力する場合について例示している。この図15(c)に示す例示では、一度アルファベットから指を離しても、アルファベット入力部49は表示され続けるので、続けてアルファベットを何文字も入力することができる。
なお、たとえば出現可能エリア45(予測・変換候補表示部44)等、ソフトウエアキーボード40の適当な位置に指を触れ、ごく短く指をスライドさせることで、仮名文字等の入力に復帰するようにしても良く、その他、たとえば出現可能エリア45(予測・変換候補表示部44)をタップする等、別途の復帰動作によって、仮名文字等の入力に復帰するようにしても良い。
ここで、図10に示すような数字入力部48を出現させて数字入力を行う一方で、数字入力とは別のタイミングでアルファベット入力部49を出現させてアルファベットの入力を行う場合には、指のスライドによる数字入力部48の出現とアルファベット入力部49の出現を、区別する必要がある。そのため、アルファベット入力部49を出現させる場合、たとえば数字の「7」の字を描くようなもの(「L」の字を180度回転させたようなもの)の如く、第1のスライド方向に指をスライドさせた後に、その第1のスライド方向とは異なる第2のスライド方向に指をスライドさせるようにしても良い。
また、図15(a)や図16に示すようなアルファベット入力部49を表示させている状態では、さらに図17に示すように、数字入力部48も重ねられた状態として表示するようにしても良い。この場合、既にアルファベット入力部49が出現している状態で、出現可能エリア45(予測・変換候補表示部44)に指が触れ、その後に、上述したような、たとえば数字の「7」の字を描くようなもの(「L」の字を180度回転させたようなもの)の如く、第1のスライド方向に指をスライドさせた後に、その第1のスライド方向とは異なる第2のスライド方向に指をスライドさせる。そして、この動作をCPU20が検知したときに、CPU20は、図17に示すような、重畳的に数字入力部48を出現させるためのトリガ動作であると判断する。そして、CPU20は、アルファベット入力部49に重畳させる状態で数字入力部48を出現させる。
なお、アルファベット入力部49に重畳させる状態で、数字入力部48を出現させる場合には、数字の入力後に指を離すと、数字入力部48は再び表示されない状態となる。したがって、数字入力部48の頂上によって隠れていたアルファベットキー58を押すことが可能となる。
<4.効果について>
以上のような構成のソフトウエアキーボードプログラム、そのソフトウエアキーボードプログラムを実装した文字入力装置、および文字入力方法によれば、キー配列部41、出力制御手段、および出現可能エリア45が機能的に実現される。これらのうち、キー配列部41は、仮名文字、アルファベット、数字の少なくともいずれかを入力可能なキー50を備えている。また、出力制御手段は、タッチパネルに表示されたキー配列部41のキー50に対する入力に応じて、文字表示部34への文字の出力を制御している。また、出現可能エリア45は、キー配列部41での文字の入力に基づいて、その文字に対する変換入力候補または予測入力候補を表示させる予測・変換候補表示部44を出現可能としている。
そして、予測・変換候補表示部44が出現するか否かに係らず、出現可能エリア45が指等の押圧手段で押圧された状態で、その出現可能エリア45を通過するスライドを行った場合に、出力制御手段は、そのスライド動作に応じて、入力された文字に基づく文字表示部34への文字出力を異なる文字へと変更するか、または入力された文字と共に別の文字を追加するか(たとえば促音の「っ」)、または異なる種類のキー配列部41に変更する。
このため、文字入力の利便性を向上させることができる。たとえば、キー524を押す等して面倒であった、清音の仮名文字から濁音の仮名文字に容易に切り替えることができる。また、現状では、促音の「っ」を入力する場合、同じ子音のキー50を二度押したり、「X」と「T」と「U」を押したり、または「L」と「T」と「U」を押すことで出現させているが、そのような子音のキー50の二度押しや、3つのキー50を押す等することなく、容易に入力することができる。また、キー511を押す等して面倒であった数字入力専用のキーボードへの切り替えをすることなく、出現可能エリア45でのスライド動作で数字入力を容易に行えるようなキー配列部41へと切り替えたり、出現可能エリア45でのスライド動作でアルファベットの入力を容易に行えるようなキー配列部41へと切り替えることができる。
また、本実施の形態では、出現可能エリア45とキー配列部41の間には、ボーダーエリア46が設けられている。そして、スライド動作では、ボーダーエリア46を越えたときに、入力された文字に基づく文字表示部34への文字出力を異なる文字へと変更する、または異なる種類のキー配列部に変更することができる。このようにする場合には、スライド動作が、文字出力やキー配列部を異なる種類のものに変更することを意図したものであるか否かを容易に区別することができる。そのため、意図せずに文字出力が異なる種類のものに変更されたり、異なる種類の文字出力部に変更されるのを防ぐことができる。たとえば、予測・変換候補表示部44に触れて入力候補を選択しようとした際に、若干指がスライドしても、ボーダーエリア46を越えなければ、意図した入力候補を選択することができる。また、ボーダーエリア46を越えるスライド動作があれば、入力候補の選択ではないと容易に判別することができる。
さらに、本実施の形態では、図5に基づいて説明したように、出力制御手段は、キー配列部41で入力された未確定の仮名が清音から濁音または半濁音へ切り替え可能である場合に、スライド動作に応じて、清音の仮名文字から濁音の仮名文字もしくは半濁音の仮名文字へと切り替えることができる。
ここで、濁音や半濁音を入力する場合には、たとえばスマートフォンの12キーボードでは、左下に割り付けられているキー524等を押す必要があるが、その場合、指を移動させる距離が長くなったり、キー524の大きさが小さい場合には押し間違えが生じる等、濁音や半濁音の仮名文字を入力するための操作性が悪くなっている。しかしながら、出現可能エリア45(予測・変換候補表示部44)からのスライド動作で、清音の仮名文字を、濁音や半濁音の仮名文字へと容易に切り替える場合、指を移動させる距離を短くすることができ、また比較的面積の広い出現可能エリア45(予測・変換候補表示部44)を押しながらスライドさせることで押し間違いを低減させることができる。したがって、操作性を向上させることができる。
また、本実施の形態では、図9に示すように、出力制御手段は、出現可能エリア45からキー配列部41に向かうスライド動作がなされたときに、そのスライド動作により描かれる軌跡の長さが規定の長さを越えた場合に、手書き入力により数字が入力されると判定し、そのスライド動作が終了したときにその軌跡に対応する数字を文字表示部34に出力するようにすることもできる。このように構成する場合には、数字の入力を容易にすることができ、操作性を向上させることができる。
換言すると、現状では、仮名文字を入力している場合に、たとえば「24個」や「11時55分」等と数字を入力する必要がある場合には、数字を入力するためのモード(キーボード)に切り替え、その切り替え後に数字を入力している。しかしながら、図9に示すように、出現可能エリア45からキー配列部41に向かうスライド動作を検出し、そのスライドの軌跡に対応する数字を出力する場合、わざわざ数字入力のためにモード(キーボード)を切り替える動作が不要となる。また、スライド動作という1アクションで数字入力が行えるので、モード(キーボード)切り替え後に数字を選ぶという、現状の2アクション以上が必要な場合と比較して、操作性を向上させることができる。
さらに、本実施の形態では、出力制御手段は、出現可能エリア45からキー配列部41に向かうスライド動作がなされたときに、そのスライド動作がなされる前まで実現されていたキー配列部41とは異なる種類のキー配列部41に変更する。また、出力制御手段は、キー配列部41から指等の押圧手段を離した場合に、その押圧手段を離した位置に存在するキー50に対する入力を受け付けて、文字表示部34へそのキー50に対応した文字の出力を制御することができる。
このようにする場合、スライド動作によって、たとえば図10から図17に示すような、各種のキー配列部41を出現させることができる。したがって、たとえばキー511、513、514のような、キー配列部41を押さずに済み、指の移動距離を短くすることができる。また、スライド動作後に、指を離さずに目的の文字や記号のところまで指を持っていき、指を離すことで、その離した位置のキー50に対応する入力がなされるので、1アクションで目的とする文字や数字、または記号等を入力することができる、したがって、ユーザが文字等を入力する際の利便性を向上させることができる。
また、本実施の形態では、出力制御手段は、キー配列部41から指等の押圧手段を離した場合に、その押圧手段を離した位置に存在するキー50に対する入力を受け付けると共に、変更前のキー配列部41に復帰させることができる。ここで、たとえば「10時」等のように、仮名文字とは異なる種類の文字(たとえば数字等)を入力した後に、再び元の種類に戻して入力を行うようにする場合が多いが、指をキー配列部41から離した場合に、即座に復帰させることで、その目的に合致させることができる。
さらに、本実施の形態では、出力制御手段は、キー配列部41から指等の押圧手段を離した場合に、その押圧手段を離した位置に存在するキー50に対する入力を受け付けると共に、変更後の文字出力部41の出現を継続するようにすることもできる。たとえば、「END」、「ON」、「OFF」等、指等の押圧手段を文字出力部41から離した場合でも、変更後の文字出力部41での入力を継続したい場合も多いが、変更後の文字出力部41の出現を継続する場合、その目的に合致させることができる。
また、本実施の形態では、出力制御手段は、出現可能エリア45からキー配列部41に向かうスライド動作がなされたときに、変更後のキー配列部を変更前のキー配列部41に復帰させるように制御することもできる。たとえば、図4に示すような仮名文字を入力するためのキー配列部41から、図15や図16に示すようなアルファベットを入力するためのキー配列部41に切り替えた後に、再び仮名文字を入力させたい場合、出現可能エリア45からキー配列部41に向かうように指等の押圧手段をスライドさせるだけで復帰させることができる。したがって、ユーザの利便性を向上させることができる。
<5.変形例>
以上、本発明の一実施の形態について説明したが、本発明はこれ以外にも種々変形可能となっている。以下、それについて述べる。
上述の実施の形態では、キー配列部41は、4段3列(または3段4列)のキー50を有するものとしている。しかしながら、キー配列部41は、掛かる構成には限られない。たとえば、3段3列以上の列や段が存在するものであっても良い。
また、上述の実施の形態では、出現可能エリア45(予測・変換候補表示部44)からボーダーエリア46を越えてキー配列部41に指等がスライドした場合に、出力制御手段は、そのスライド動作に応じて、入力された文字に基づく文字表示部34への文字出力を異なる文字へと変更するか、または異なる種類のキー配列部41に変更している。しかしながら、ボーダーエリア46を越えずに、出現可能エリア45(予測・変換候補表示部44)内で、所定の長さを越えるスライドを行った場合にも、上述と同様に、文字表示部34への文字出力を異なる文字へと変更するか、または異なる種類のキー配列部41に変更しても良い。
また、上述の実施の形態では、予測・変換候補表示部44が出現可能な出現可能エリア45は、文字キー配列部42の上側(奥側)に配置されている。しかしながら、出現可能エリア45は、文字キー配列部42の左側および/または右側に表示される構成であっても良い。
また、上述の実施の形態では、日本語を入力する日本語入力モードと、アルファベットを入力する英語入力モードについて説明している。しかしながら、日本語と英語を入力する以外に、アルファベットを用いる他の言語を入力する場合に、本発明を適用するようにしても良い。また、アルファベットを用いる言語においては、ドイツ語の「¨」(ウムラウト)や、スペイン語の逆感嘆符、チルダやアキュートアクセント、フランス語のサーカムフレックスやグレイブアクセント等のようなダイアクリティカルマーク、中国語のピンイン等のような発音表記文字、その他の特殊記号や特殊文字を入力する場合に、本発明を適用することが可能である。