(57)【要約】【課題】カスタム・インプットメソッドおよびデフォルト・インプットメソッドの切り替えを、システムが一元して実施することができるようにする。【解決手段】デフォルト・インプットメソッド以外に、アプリケーションプログラムが目的に合わせて独自に使用するカスタム・インプットメソッドを登録する手段と、前記カスタム・インプットメソッドを削除する手段と、前記アプリケーションプログラムと前記カスタム・インプットメソッドとを対応付けて管理する手段と、ユーザーから入力要求があった場合、選択されているアプリケーションプログラムを取得する手段と、前記アプリケーションプログラムが登録したカスタム・インプットメソッドを提供する手段と、インプットメソッドを登録していない場合、前記デフォルト・インプットメソッドを提供する手段とを有することを特徴とするインプットメソッド切替システム等、を提供する。【選択図】図５
2007140980.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアで構成されたインプットメソッドによってユーザー入力を取得し、前記ユーザー入力をアプリケーションプログラムに提供するとともに、複数のアプリケーションプログラムが同時に動作するインプットメソッド切替システムであって、
前記インプットメソッドであるデフォルト・インプットメソッド以外に、前記アプリケーションプログラムが目的に合わせて独自に使用するカスタム・インプットメソッドを登録するインプットメソッド登録手段と、
前記カスタム・インプットメソッドを削除するインプットメソッド削除手段と、
前記アプリケーションプログラムと前記アプリケーションプログラムが使用するカスタム・インプットメソッドとを対応付けて管理するインプットメソッド管理手段と、
ユーザーから入力要求があった場合、選択されているアプリケーションプログラムを取得するフォーカス・アプリケーションプログラム取得手段と、
前記フォーカス・アプリケーションプログラム取得手段によって取得されたアプリケーションプログラムについて、前記アプリケーションプログラムが登録したカスタム・インプットメソッドを提供するインプットメソッド提供手段と、
前記アプリケーションプログラムがインプットメソッドを登録していない場合、前記デフォルト・インプットメソッドを提供するデフォルト・インプットメソッド提供手段とを有することを特徴とするインプットメソッド切替システム。
【請求項２】
前記インプットメソッド登録手段は、前記カスタム・インプットメソッドを登録したアプリケーションのオブジェクトを取得するオブジェクト取得手段と、前記オブジェクト取得手段によって取得されたオブジェクト及び前記カスタム・インプットメソッドを登録するオブジェクトキー登録手段とを有することを特徴とする請求項１に記載のインプットメソッド切替システム。
【請求項３】
前記インプットメソッド登録手段は、前記アプリケーションが一意に有するＩＤであるアプリケーションＩＤを取得するＩＤ取得手段と、前記カスタム・インプットメソッドを登録したアプリケーションのアプリケーションＩＤ及び前記カスタム・インプットメソッドを登録するアプリケーションＩＤキー登録手段とを有することを特徴とする請求項１に記載のインプットメソッド切替システム。
【請求項４】
前記インプットメソッド登録手段は、入力フィールドごとに前記カスタム・インプットメソッドを指定する場合、前記入力フィールド及び前記入力フィールドが指定するカスタム・インプットメソッドを登録する入力フィールドキー登録手段を有することを特徴とする請求項１に記載のインプットメソッド切替システム。
【請求項５】
前記インプットメソッド管理手段は、前記オブジェクトキー登録手段によって登録されたカスタム・インプットメソッドを、オブジェクトキーとして管理することを特徴とする請求項２に記載のインプットメソッド切替システム。
【請求項６】
前記インプットメソッド管理手段は、前記アプリケーションＩＤキー登録手段によって登録されたカスタム・インプットメソッドを、アプリケーションＩＤキーとして管理することを特徴とする請求項３に記載のインプットメソッド切替システム。
【請求項７】
前記インプットメソッド管理手段は、前記入力フィールドキー登録手段によって登録されたカスタム・インプットメソッドを、入力フィールドキーとして管理することを特徴とする請求項４に記載のインプットメソッド切替システム。
【請求項８】
前記インプットメソッド提供手段は、ユーザーから入力要求があった場合、前記フォーカス・アプリケーションプログラム取得手段によって、前記アプリケーションプログラムを取得し、前記インプットメソッド管理手段によって前記アプリケーションプログラムが登録したカスタム・インプットメソッドを取得し、ユーザーに前記カスタム・インプットメソッドを提供することを特徴とする請求項１に記載のインプットメソッド切替システム。
【請求項９】
前記インプットメソッド提供手段は、任意の入力フィールドから入力要求があった場合、前記インプットメソッド管理手段によって、前記入力フィールドが指定するカスタム・インプットメソッドを取得し、ユーザーに前記カスタム・インプットメソッドを提供することを特徴とする請求項１に記載のインプットメソッド切替システム。
【請求項１０】
前記インプットメソッド削除手段は、インタフェースを介して、前記アプリケーションのオブジェクトに対応したインプットメソッドを削除することを特徴とする請求項１に記載のインプットメソッド切替システム。
【請求項１１】
前記インプットメソッド削除手段は、インタフェースを介して、前記アプリケーションのＩＤに対応したインプットメソッドを削除することを特徴とする請求項１に記載のインプットメソッド切替システム。
【請求項１２】
前記インプットメソッド削除手段は、インタフェースを介して、前記入力フィールドに対応したインプットメソッドを削除することを特徴とする請求項１に記載のインプットメソッド切替システム。
【請求項１３】
前記インプットメソッド削除手段は、前記アプリケーションプログラムがアンインストールされた場合、前記インプットメソッド管理手段から前記アプリケーションプログラムに対応したインプットメソッドを削除することを特徴とする請求項１に記載のインプットメソッド切替システム。
【請求項１４】
前記インプットメソッド削除手段によって前記カスタム・インプットメソッドが削除され、前記アプリケーションプログラムが登録したカスタム・インプットメソッドがない場合、ユーザーに前記デフォルト・インプットメソッドを提供するデフォルト・インプットメソッド切替手段を有することを特徴とする請求項１に記載のインプットメソッド切替システム。
【請求項１５】
物理的なインプットメソッドを接続した場合、ソフトウェアで構成されたインプットメソッドを提供しないインプットメソッド切替手段を有することを特徴とする請求項１に記載のインプットメソッド切替システム。
【請求項１６】
前記インプットメソッド登録手段によって登録されたカスタム・インプットメソッドを、登録したアプリケーションプログラム以外のアプリケーションプログラムが使用することを可能にするインプットメソッド共用手段と、
前記インプットメソッド共用手段によって、前記カスタム・インプットメソッドを他のアプリケーションプログラムが使用することを拒否するインプットメソッド専用手段とを有することを特徴とする請求項１に記載のインプットメソッド切替システム。
【請求項１７】
前記インプットメソッド削除手段は、前記インプットメソッド共用手段によって、前記インプットメソッドを共用している場合、前記インプットメソッドを使用するアプリケーションがすべて、停止またはアンインストールされた場合、前記インプットメソッドを削除することを特徴とする請求項１６に記載のインプットメソッド切替システム。
【請求項１８】
ソフトウェアで構成されたインプットメソッドによってユーザー入力を取得し、前記ユーザー入力をアプリケーションプログラムに提供するとともに、複数のアプリケーションプログラムが同時に動作するインプットメソッド切替方法であって、
前記インプットメソッドであるデフォルト・インプットメソッド以外に、前記アプリケーションプログラムが目的に合わせて独自に使用するカスタム・インプットメソッドを登録するインプットメソッド登録工程と、
前記カスタム・インプットメソッドを削除するインプットメソッド削除工程と、
前記アプリケーションプログラムと前記アプリケーションプログラムが使用するカスタム・インプットメソッドとを対応付けて管理するインプットメソッド管理工程と、
ユーザーから入力要求があった場合、選択されているアプリケーションプログラムを取得するフォーカス・アプリケーションプログラム取得工程と、
前記フォーカス・アプリケーションプログラム取得工程によって取得されたアプリケーションプログラムについて、前記アプリケーションプログラムが登録したカスタム・インプットメソッドを提供するインプットメソッド提供工程と、
前記アプリケーションプログラムがインプットメソッドを登録していない場合、前記デフォルト・インプットメソッドを提供するデフォルト・インプットメソッド提供工程とを有することを特徴とするインプットメソッド切替方法。
【請求項１９】
前記請求項１８に記載の方法の各工程をコンピュータにて実施させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はインプットメソッド切替システム、インプットメソッド切替方法及びコンピュータプログラムに関し、特に、ソフトウェアで構成されたインプットメソッドを提供するシステムに用いて好適な技術に関する。
【背景技術】
【０００２】
アプリケーションが、システムの有するデフォルト・インプットメソッド以外に、アプリケーションの目的に合わせた独自のインプットメソッドであるカスタム・インプットメソッドを使用するシステムについて、従来技術を説明する。
【０００３】
第１の従来技術として、まず、アプリケーションはデフォルトのインプットメソッドがシステムから提供されないように、システムに対してデフォルト・インプットメソッドの提供を拒否する依頼を出す。次に、アプリケーションはカスタム・インプットメソッドを提供する。アプリケーションが他のアプリケーションに切り替った場合、アプリケーションが停止した場合、または、アプリケーションがアンインストールされた場合、アプリケーションは自分が提供しているカスタム・インプットメソッドを閉じる。これら一連の手順をシステムではなくアプリケーションがおこなうような技術が知られている。
【０００４】
また、第２の従来技術として、下記提案書に開示されているアプリケーションプログラムの状態に基づく自動的なソフトウェア入力パネル選択がある。この発明は、アプリケーションプログラムにユーザー入力を提供するように構成されたシステムであって、前記アプリケーションプログラムから独立しており、その各々が、ユーザーとの対話に基づいてユーザー入力を受け取るように構成された入力パネルを有する複数のソフトウェア入力メソッドと、前記アプリケーションプログラムの状態に基づいて前記入力メソッドの１つを選択して、前記アプリケーションプログラムに入力を提供するために前記入力メソッドの入力パネルとユーザーとの対話を可能にするように構成されたソフトウェア入力メソッドマネジャとを備えたことを特徴とする（特許文献１参照）。
【０００５】
【特許文献１】特開２００３−１８６６１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
第１の従来技術のシステムでは、前記一連の手順をアプリケーションがおこなうため、もし、これら一連の手順に従わないアプリケーションがあった場合、システムに対して影響を与える可能性がある。例えば、デフォルト・インプットメソッドの提供を拒否せずに、カスタム・インプットメソッドを提供してしまった場合がある。この場合、システムはデフォルト・インプットを提供し、アプリケーションがカスタム・インプットメソッドを提供するといった二重にインプットメソッドを提供してしまう状態に陥る。また、アプリケーションが切り替ったにも関わらず、カスタム・インプットメソッドを閉じなかった場合、切り替る前と後のアプリケーションで二重にカスタム・インプットメソッドを提供することが考えられる。
また、第２の従来技術のシステムでは、提供されるインプットメソッドは予めシステムのリソースとして組み込まれている。このため、アプリケーションが動的にインプットメソッドをシステムに組み込んだり、削除したりすることができない。
【０００７】
本発明は前述の問題点に鑑み、カスタム・インプットメソッドおよびデフォルト・インプットメソッドの切り替えを、システムが一元して実施することができるようにすることを第１の目的としている。
また、アプリケーションが動的にインプットメソッドをシステムに組み込んだり、削除したりすることができるようにすることを第２の目的とする。
さらに、インプットメソッドが追加・削除された場合、システムに予め組み込まれているデフォルト・インプットメソッドとの切替をシステムが行うことができるようにすることを第３の目的とする。
【課題を解決するための手段】
【０００８】
前記目的を達成するために本発明は、ソフトウェアで構成されたインプットメソッドによってユーザー入力を取得し、前記ユーザー入力をアプリケーションプログラムに提供するとともに、複数のアプリケーションプログラムが同時に動作するインプットメソッド切替システムであって、前記インプットメソッドであるデフォルト・インプットメソッド以外に、前記アプリケーションプログラムが目的に合わせて独自に使用するカスタム・インプットメソッドを登録するインプットメソッド登録手段と、前記カスタム・インプットメソッドを削除するインプットメソッド削除手段と、前記アプリケーションプログラムと前記アプリケーションプログラムが使用するカスタム・インプットメソッドとを対応付けて管理するインプットメソッド管理手段と、ユーザーから入力要求があった場合、選択されているアプリケーションプログラムを取得するフォーカス・アプリケーションプログラム取得手段と、前記フォーカス・アプリケーションプログラム取得手段によって取得されたアプリケーションプログラムについて、前記アプリケーションプログラムが登録したカスタム・インプットメソッドを提供するインプットメソッド提供手段と、前記アプリケーションプログラムがインプットメソッドを登録していない場合、前記デフォルト・インプットメソッドを提供するデフォルト・インプットメソッド提供手段とを有することを特徴とするインプットメソッド切替システム等、を提供する。
【発明の効果】
【０００９】
本発明によれば、アプリケーションは、システムの有するデフォルト・インプットメソッド以外に、アプリケーションの目的に合わせた独自のインプットメソッドであるカスタム・インプットメソッドを、ユーザーに提供することが可能となる。また、カスタム・インプットメソッドおよびデフォルト・インプットメソッドの切り替えを、システムが一元して実施することが可能となる。
【００１０】
さらに、テキストフィールドごとに異なるカスタム・インプットメソッドを指定することが可能となり、また、カスタム・インプットメソッドをアプリケーション間で共有することが可能となる。
【００１１】
また、カスタム・インプットメソッドと同時に共有を拒否する旨をシステムに通知することによって、他のアプリケーションからカスタム・インプットメソッドを利用できないようにすることが可能となる。
【００１２】
さらに、カスタム・インプットメソッドの利用に権限を設けることで、権限を与えられたアプリケーションしか前記カスタム・インプットメソッドを利用できないようにすることが可能となる。
【発明を実施するための最良の形態】
【００１３】
（第１の実施形態）
以下、本発明の実施形態を、図面を参照しながら説明する。
図１は、本実施形態におけるシステムの構成を示す図である。
図１において、デジタル複合機１０１は、インプットメソッド切替システムであり、ネットワークを介してＰＣ１０２からアプリケーションをダウンロード・起動・停止・アンインストールすることが可能である。また、アプリケーションを操作するためのタッチパネル式のＬＣＤを有する。ＰＣ１０２は、ネットワークを介してアプリケーションをデジタル複合機１０１にインストール・起動・停止・アンインストールするためのホストコンピュータである。
【００１４】
図２は、本実施形態のデジタル複合機１０１の機能的構成の一例を示すブロック図である。
図２において、デジタル複合機１０１は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、外部記憶手段２０４、入力手段２０５、表示手段２０６、通信手段２０７で構成される。
【００１５】
ＣＰＵ２０１は、デジタル複合機の制御、各種プログラムの制御および通信手段２０７の制御を行う。ＲＯＭ２０２は、読み出し専用記憶装置であり、ＣＰＵ２０１によって実行されるデジタル複合機を制御するプログラムおよび各種プログラム群が記憶されている。ＲＡＭ２０３は、デジタル複合機において、ＣＰＵ２０１が各種プログラムを実行するためのワークエリアとして使用される。
【００１６】
外部記憶手段２０４は、プログラムファイルおよびデータファイルを格納する手段である。入力手段２０５は、各種データおよびコマンドの入力をおこなうための手段である。表示手段２０６は、各種データの表示および入力手段２０５の操作をおこなうためのカーソルを表示する手段である。通信手段２０７は、デジタル複合機１０１とＰＣ１０２間でデータの送受信をおこなうための手段である。
【００１７】
図３は、本実施形態におけるアプリケーションの一例を示す図である。
３０１は、システム画面である。メールアプリケーション、表計算アプリケーションおよび音声入力アプリケーションがシステム上において別々のプロセスで動作している。画面上部のアプリ切替タブを押すことによってアプリケーションの切替を行う。各アプリケーションはインプットメソッドを必要とする入力フィールドを有する。
【００１８】
メールアプリケーションのインプットメソッドは、キーボードである。表計算アプリケーションのインプットメソッドは、電卓型のテンキーである。音声入力アプリケーションのインプットメソッドは、音声入力を取得するソフトウェアである。尚、システムが有するデフォルトのインプットメソッドは、ソフトウェアで構成された仮想キーボードである。
【００１９】
図４は、本実施形態におけるシステムにおいて、各アプリケーションのインプットメソッドの一例を示す図である。
４０１は、メールアプリケーションが使用するシステムが有するデフォルト・インプットメソッドである。４０２は、表計算アプリケーションのカスタム・インプットメソッドである。入力キーはテンキーのみである。４０３は、音声入力アプリケーションのカスタム・インプットメソッドである。音声データを備え付けのマイクから取得し、画面のパネル上には音声入力を指示するメッセージを表示する。
【００２０】
図５は、本実施形態におけるシステムの詳細な構成を示す図である。
アプリケーション５０１、５０２、５０３は、アプリケーションプログラムを示し、システム上において別々のプロセスで動作している。
【００２１】
カスタム・インプットメソッド５０４は、前記アプリケーション５０１、５０２のカスタム・インプットメソッドである。アプリケーション５０３は、デフォルト・インプットメソッドを使用する。
【００２２】
画面制御プログラム５０５は、アプリケーション５０１〜５０３の描画を行う機能を有する。また、画面上部にアプリケーションタブを表示する。ユーザーはこのアプリケーションタブを押すことによってアプリケーション５０１〜５０３を切り替えることができる。画面に表示されるアプリケーションはひとつである。よって、ユーザーに提供するインプットメソッドはひとつに限られる。
【００２３】
アプリケーション・オブジェクト取得手段５０６は、アプリケーション５０１〜５０３からカスタム・インプットメソッドを取得する手段である。また、アプリケーション５０１〜５０３のオブジェクトを取得する手段を有する。アプリケーション・オブジェクト取得手段５０６は、オブジェクトとカスタム・インプットメソッド５０４とを対にしてシステムに通知する。
【００２４】
フォーカスされているアプリケーションを通知するフォーカス・アプリケーション取得手段５０７は、現在、画面に表示されているアプリケーションをシステムに通知する手段である。インプットメソッド表示手段５０８は、システムから提供されるインプットメソッドを表示する手段である。システム５０９は、本実施形態のインプットメソッド切替システムである。
【００２５】
インプットメソッド登録手段５１０は、アプリケーション５０１からカスタム・インプットメソッド５０４を取得し、アプリケーション５０１のオブジェクトをキーに、カスタム・インプットメソッド５０４をシステム５０９に登録する手段である。インプットメソッド管理手段５１１は、アプリケーション５０１のオブジェクトをキーにカスタム・インプットメソッド５０４を格納する手段である。
【００２６】
ユーザー入力要求認識手段５１２は、ユーザーから入力要求があったことを認識する手段である。インプットメソッド提供手段５１３は、ユーザーにインプットメソッドを提供する手段である。入力データ通知手段５１４は、インプットメソッドによって入力された文字情報をアプリケーション５０１に通知する手段である。
【００２７】
インプットメソッド格納領域５１５は、アプリケーション５０１が登録したカスタム・インプットメソッド５０４を格納する手段である。デフォルト・インプットメソッド５１６は、システムが有するデフォルト・インプットメソッドである。
【００２８】
図６は、本実施形態のインプットメソッド切替システムにおけるカスタム・インプットメソッドの登録からインプットメソッドの提供までのプロセスを示すフローチャートである。
アプリケーション５０１は、カスタム・インプットメソッド５０４を実装する（ステップＳ６０１）。カスタム・インプットメソッド５０４は、システム５０９からインプットメソッドの起動・停止・ロケールの切替などの制御を行うために、下記インタフェースを実装する必要がある。
【００２９】
public interface InputMethodManager [
public void activate();      /* インプットメソッドを有効にする */
public void deactivate();    /* インプットメソッドを無効にする */
public void changeLocale();  /* ロケールの切替を通知される */
public void setInputData();     /* 入力データを通知する */
public void getInputData();     /* 入力データを得る */
public void endInputMethod();   /* インプットメソッドを終了し、
入力データをシステムに通知する */
]
【００３０】
上記インタフェースにおいて、activate()は、システムがインプットメソッドの入力を有効にする場合に呼ばれる。deactivate()は、システムがインプットメソッドの入力を無効にする場合に呼ばれる。changeLocale()は、インプットメソッドがシステムからロケールが切り替ったことを通知される。setInputData()は、システムがインプットメソッドに入力データを通知する場合に呼ばれる。getInputData()は、システムがインプットメソッドから入力データを取得する場合に呼ばれる。endInputMethod()は、システムがインプットメソッドを終了する場合に呼ばれる。
【００３１】
アプリケーション５０１は、画面制御プログラム５０５が提供するインタフェースを介して、カスタム・インプットメソッド５０４を画面制御プログラム５０５に通知する（ステップＳ６０２）。前記インタフェースを以下に示す。
【００３２】
public interface GUIManger [
/*
* インプットメソッドの登録
* @param
* im   - インプットメソッド
*/
public void addInputMethod(InputMethodManager im);
/* インプットメソッドの削除 */
public void removeInputMethod();
]
【００３３】
画面制御プログラム５０５は、カスタム・インプットメソッド５０４を受け取った場合、カスタム・インプットメソッド５０４を登録したアプリケーション５０１のオブジェクトを取得する（ステップＳ６０３）。画面制御プログラム５０５は、システム５０９が提供するインタフェースを介して、アプリケーション５０１のオブジェクトをキーに、カスタム・インプットメソッド５０４を、システム５０９に登録する（ステップＳ６０４）。前記インタフェースを以下に示す。
【００３４】
public interface SystemManager [
/* インプットメソッドの登録
* @param
* appObj - アプリケーションのオブジェクト
* im     - インプットメソッド
*/
public void addInputMethod(Object appObj, InputMethodManager im);
/* インプットメソッドの削除*/
public void removeInputMethod(Object appObj);
]
【００３５】
システム５０９は、アプリケーション５０１のオブジェクトをキーに、カスタム・インプットメソッド５０４をインプットメソッド格納領域５１５に追加する（ステップＳ６０５）。
【００３６】
次に、ユーザーの操作に応じてアプリケーション５０１を切り替える（ステップＳ６０６）。画面制御プログラム５０５は、フォーカスされているアプリケーション５０１を通知するフォーカス・アプリケーション取得手段５０７によって、現在フォーカスされているアプリケーションのオブジェクトをシステム５０９に通知する（ステップＳ６０７）。システム５０９は、画面制御プログラム５０５から受け取ったフォーカスされているアプリケーション５０１のオブジェクトを記憶する（ステップＳ６０８）。
【００３７】
次に、ユーザーの操作に応じて、テキストフィールドをタップする（ステップＳ６０９）。システム５０９は、ユーザー入力要求認識手段５１２によって、ユーザーから入力の要求があったことを認識する（ステップＳ６１０）。
【００３８】
システム５０９は、インプットメソッド管理手段５１１によって、現在フォーカスされているアプリケーション５０１のオブジェクトをキーに、アプリケーション５０１が登録したカスタム・インプットメソッド５０４を取得する（ステップＳ６１１）。
【００３９】
アプリケーション５０１が登録したカスタム・インプットメソッド５０４が存在した場合（ステップＳ６１２）、インプットメソッド提供手段５１３によって、カスタム・インプットメソッド５０４を提供する（ステップＳ６１３）。
【００４０】
アプリケーション５０１が登録したカスタム・インプットメソッド５０４が存在しなかった場合（ステップＳ６１２）、インプットメソッド提供手段５１３によって、デフォルト・インプットメソッド５１６を提供する（ステップＳ６１４）。画面制御プログラム５０５はインプットメソッドを表示する（ステップＳ６１５）。インプットメソッドからユーザー入力を取得し、アプリケーション５０１に通知する（ステップＳ６１６）。
【００４１】
以上説明したように、本実施形態のインプットメソッド切替システムによれば、アプリケーションは、システムの有するデフォルト・インプットメソッド以外に、アプリケーションの目的に合わせた独自のインプットメソッドであるカスタム・インプットメソッドを、ユーザーに提供することが可能である。
また、カスタム・インプットメソッドおよびデフォルト・インプットメソッドの切り替えを、システムが一元して実施することが可能である。
【００４２】
（第２の実施形態）
以下、本実施形態では、テキストフィールドごとに指定したインプットメソッドを提供するシステムについて説明する。なお、機能構成については第１の実施形態と同様であるため、説明を省略する。
アプリケーション５０１は、第１の実施形態と同様に、カスタム・インプットメソッド５０４を実装する。アプリケーション５０１は、画面制御プログラムが提供するインタフェースを介して、テキストフィールドおよびテキストフィールドが指定するカスタム・インプットメソッド５０４を、画面制御プログラムに通知する。前記インタフェースを以下に示す。
【００４３】
public interface GUIManager [
/* インプットメソッドの登録
* @param
* im   - インプットメソッド
* text - インプットメソッドを指定するテキストオブジェクト
*/
public void addInputMethod(InputMethodManager im, TextObject text);
/* インプットメソッドの削除 */
public void removeInputMethod(TextObject text);
]
【００４４】
画面制御プログラム５０５は、アプリケーション５０１から通知されたテキストフィールド及びカスタム・インプットメソッド５０４を、システム５０９に通知する。システム５０９は、テキストフィールドをキーに、カスタム・インプットメソッド５０４をカスタム・インプットメソッド格納領域５１５に追加する。ユーザーがテキストフィールドをタップする。
【００４５】
前記テキストフィールドはシステム５０９に通知され、インプットメソッド管理手段５１１によって、該テキストフィールドをキーにカスタム・インプットメソッド５０４を取得し、インプットメソッド提供手段５１３によって、カスタム・インプットメソッド５０４を提供する。
以上説明したように、本実施形態のインプットメソッド切替システムによれば、テキストフィールドごとに異なるカスタム・インプットメソッドを指定することが可能である。
【００４６】
（第３の実施形態）
以下、本実施形態を、図７を参照しながら説明する。なお、機能構成については第１の実施形態と同様であるため、説明を省略する。
図７は、本実施例のインプットメソッド切替システムにおける、アプリケーションが明示的にインプットメソッドの切替をおこなうプロセスを示すフローチャートである。
【００４７】
本実施形態では、アプリケーション５０１が、数字入力を主体とする表計算モードと文字入力を主体とする通常モードとを有する。表計算モードでは、テンキー仕様のカスタム・インプットメソッド、通常モードでは、デフォルト・インプットメソッドをユーザーに提供する。
【００４８】
ユーザーが表計算パネルを選択することによって、表計算モードに移行する（ステップＳ７０１）。アプリケーション５０１は、システム５０９が提供するインタフェースを介して、テンキー仕様のカスタム・インプットメソッド５０４をシステム５０９に登録する（ステップＳ７０２）。
【００４９】
ユーザーの操作に応じてテキストフィールドをタップする（ステップＳ７０３）。システム５０９は、アプリケーション５０１が登録したテンキー仕様のカスタム・インプットメソッド５０４をユーザーに提供する（ステップＳ７０４）。
【００５０】
ユーザーが入力を終え、表計算パネルをクローズし、表計算モードから通常モードに移行する（ステップＳ７０５）。アプリケーション５０１は、システム５０９が提供するインタフェースを介して、テンキー仕様のカスタム・インプットメソッド５０４をシステム５０９から削除する（ステップＳ７０６）。
【００５１】
ユーザーの操作に応じてテキストフィールドをタップする（ステップＳ７０７）。システム５０９は、カスタム・インプットメソッド５０４が何も登録されていないことを認識し、デフォルト・インプットメソッド５１６をユーザーに提供する（ステップＳ７０８）。
【００５２】
以上説明したように、本実施形態のインプットメソッド切替システムによれば、アプリケーションが明示的にインプットメソッドの切替をおこなうことが可能である。
【００５３】
（第４の実施形態）
以下、本実施形態を、図８を参照しながら説明する。なお、機能構成については第１の実施形態と同様であるため、説明を省略する。
図８は、本実施例のインプットメソッド切替システムにおけるカスタム・インプットメソッドを共用する手段のプロセスを示すフローチャートである。
アプリケーション５０１は、カスタム・インプットメソッド５０４を構成するクラスをインポートする（ステップＳ８０１）。アプリケーション５０１は、システム５０９が提供するインタフェースを介して、カスタム・インプットメソッド５０４を構成するクラス名をシステム５０９に登録する（ステップＳ８０２）。前記インタフェースを以下に示す。
【００５４】
public interface GUIManager [
/*
* インプットメソッドの登録
* @param
* imName - インプットメソッドのクラス名
*/
public void addInputMethod(String imName);
/* インプットメソッドの削除 */
public void removeInputMethod();
]
【００５５】
システム５０９は、前記クラス名からインプットメソッドのインスタンスを作成する（ステップＳ８０３）。アプリケーション５０２は、システムが提供するインタフェースを介して、アプリケーション５０１が登録したカスタム・インプットメソッド５０４のクラス名をシステム５０９に登録する（ステップＳ８０４）。ユーザーの操作に応じてアプリケーション５０２を選択する（ステップＳ８０５）。
【００５６】
画面制御プログラム５０５は、現在フォーカスされているアプリケーションであるアプリケーション５０２をシステム５０９に通知する（ステップＳ８０６）。ユーザーの操作に応じてアプリケーション５０２上のテキストフィールドをタップする（ステップＳ８０７）。
【００５７】
システム５０９は、インプットメソッド管理手段５１１によって、アプリケーション５０２が登録したインプットメソッドのクラス名を取得する。そして、該クラス名を有するインプットメソッドのコンポーネントであるアプリケーション５０１が登録したインプットメソッドをユーザーに提供する（ステップＳ８０８）。
【００５８】
以上説明したように、本実施形態のインプットメソッド切替システムによれば、カスタム・インプットメソッドをアプリケーション間で共有することが可能である。また、カスタム・インプットメソッドと同時に共有を拒否する旨をシステムに通知することによって、他のアプリケーションからカスタム・インプットメソッドを利用できないようにすることが可能である。また、カスタム・インプットメソッドの利用に権限を設けることで、権限を与えられたアプリケーションしか該カスタム・インプットメソッドを利用できないようにすることが可能である。
【００５９】
（本発明に係る他の実施形態）
前述した本発明の実施形態におけるインプットメソッド切替システムを構成する各手段、並びにインプットメソッド切替方法の各工程は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００６０】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００６１】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図６〜８に示すフローチャートに対応したプログラム）を、システムまたは装置に直接、または遠隔から供給する。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００６２】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００６３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００６４】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【００６５】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００６６】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００６７】
また、その他の方法として、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００６９】
さらに、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００７０】
【図１】本発明の第１の実施形態におけるシステムの構成を示す図である。
【図２】本発明の第１の実施形態におけるデジタル複合機の機能的構成の一例を示すブロック図である。
【図３】本発明の第１の実施形態におけるアプリケーションの一例を示す図である。
【図４】本発明の第１の実施形態におけるシステムにおいて、各アプリケーション各アプリケーションのインプットメソッドの一例を示す図である。
【図５】本発明の第１の実施形態におけるシステムの詳細な構成を示す図である。
【図６】本発明の第１の実施形態のインプットメソッド切替システムにおけるカスタム・インプットメソッドの登録からインプットメソッドの提供までのプロセスを示すフローチャートである。
【図７】本発明の第３の実施形態のインプットメソッド切替システムにおけるアプリケーションが明示的にインプットメソッドの切替をおこなうプロセスを示すフローチャートである。
【図８】本発明の第４の実施形態のインプットメソッド切替システムにおけるカスタム・インプットメソッドを共用する手段のプロセスを示すフローチャートである。
【符号の説明】
【００７１】
１０１  デジタル複合機
１０２  ＰＣ
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  外部記憶手段
２０５  入力手段
２０６  表示手段
２０７  通信手段
３０１  システム画面
４０１  メールアプリケーションが使用するシステムが有するデフォルト・インプットメソッド
４０２  表計算アプリケーションのカスタム・インプットメソッド
４０３  音声入力アプリケーションのカスタム・インプットメソッド
５０１  アプリケーション
５０２  アプリケーション
５０３  アプリケーション
５０４  カスタム・インプットメソッド
５０５  画面制御プログラム
５０６  アプリケーション・オブジェクト取得手段
５０７  フォーカス・アプリケーション取得手段
５０８  インプットメソッド表示手段
５０９  システム
５１０  インプットメソッド登録手段
５１１  インプットメソッド管理手段
５１２  ユーザー入力要求認識手段
５１３  インプットメソッド提供手段
５１４  入力データ通知手段
５１５  インプットメソッド格納領域
５１６  デフォルト・インプットメソッド
【図１】
2007140980.tif 000003
【図２】
2007140980.tif 000004
【図３】
2007140980.tif 000005
【図４】
2007140980.tif 000006
【図５】
2007140980.tif 000007
【図６】
2007140980.tif 000008
【図７】
2007140980.tif 000009
【図８】
2007140980.tif 000010