(57)【要約】【課題】アプリケーションを特殊キーボードから送出される特殊な入力キー情報に対応させる必要のないサーバ、キー情報変換方法、プログラムおよびシステムを提供することを目的とする。【解決手段】サーバの記憶部は、クライアントの入力部に対応した入力キー情報と、出力キー情報とを対応付けた設定情報２２１と、クライアントの記憶部に記憶された設定情報２２１を基に、クライアントの入力部を介して、クライアントへ入力された入力キー情報を、出力キー情報へ変換させる変換プログラムとを保持しており、サーバの通信部が、クライアントから、設定情報２２１の要求を受信すると、記憶部から取得した設定情報２２１と、変換プログラムとを当該クライアントに送信することを特徴とする。【選択図】図２
2009015561.tif 000002
【特許請求の範囲】
【請求項１】
クライアントと通信可能な通信部と、サーバ記憶部とを備えるサーバであって、
前記サーバ記憶部は、前記クライアントのクライアント入力部に対応した第１のキー情報と、第２のキー情報とを対応付けた設定情報と、前記クライアントのクライアント記憶部に記憶された前記設定情報を基に、前記クライアント入力部を介して、前記クライアントへ入力された前記第１のキー情報を、前記第２のキー情報へ変換させる変換プログラムとを保持しており、
前記通信部が、前記クライアントから、前記設定情報の要求を受信すると、前記サーバ記憶部から取得した前記設定情報と、前記変換プログラムとを当該クライアントに送信することを特徴とするサーバ。
【請求項２】
前記サーバは、
前記クライアントに接続される各種の入力部に対応した設定情報を前記サーバ記憶部に複数保持しており、
前記クライアントから送信された前記クライアント入力部に関する情報を基に、当該クライアント入力部に対応する設定情報を、前記複数の設定情報から選択し、
当該選択された設定情報を、当該クライアントへ送信することを特徴とする請求項１に記載のサーバ。
【請求項３】
前記サーバは、
前記クライアントに、前記クライアント入力部の種類を判別させる種別判定プログラムを、記憶部に格納しており、
前記クライアントへ、前記種別判定プログラムを送信することを特徴とする請求項２に記載のサーバ。
【請求項４】
前記クライアント入力部とは、キー情報が特殊である、特殊キーボードであることを特徴とする請求項１に記載のサーバ。
【請求項５】
クライアントと通信可能な通信部と、サーバ記憶部とを備えるサーバにおけるキー情報変換方法であって、
前記サーバ記憶部は、前記クライアントのクライアント入力部に対応した第１のキー情報と、第２のキー情報とを対応付けた設定情報と、前記クライアントのクライアント記憶部に記憶された前記設定情報を基に、前記クライアント入力部を介して、前記クライアントへ入力された前記第１のキー情報を、前記第２のキー情報へ変換させる変換プログラムとを保持しており、
前記通信部が、前記クライアントから、前記設定情報の要求を受信すると、前記サーバ記憶部から取得した前記設定情報と、前記変換プログラムとを当該クライアントに送信することを特徴とするキー情報変換方法。
【請求項６】
請求項５に記載のキー情報変換方法をコンピュータに実行させることを特徴とするプログラム。
【請求項７】
クライアント、および、前記クライアントと通信可能なサーバを有するシステムであって、
前記サーバ記憶部は、前記クライアントのクライアント入力部に対応した第１のキー情報と、第２のキー情報とを対応付けた設定情報と、前記クライアントのクライアント記憶部に記憶された前記設定情報を基に、前記クライアント入力部を介して、前記クライアントへ入力された前記第１のキー情報を、前記第２のキー情報へ変換させる変換プログラムとを保持しており、
前記通信部が、前記クライアントから、前記設定情報の要求を受信すると、前記サーバ記憶部から取得した前記設定情報と、前記変換プログラムとを当該クライアントに送信し、
前記クライアントは、前記クライアント記憶部に前記設定情報を記憶し、
前記クライアント入力部を介して、前記第１のキー情報が、前記クライアントへ入力されると、前記変換プログラムに従って、入力された前記第１のキー情報を、前記第２のキー情報へ変換することを特徴とするシステム。
【請求項８】
前記クライアントは、前記クライアント入力部の種類を判別させる種別判定プログラムを、記憶部に格納していることを特徴とする請求項７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ、キー情報変換方法、プログラムおよびシステムの技術に関するものである。
【背景技術】
【０００２】
一般に、ウェブアプリケーションなどでは、ブラウザ上でＨＴＭＬ（Hypertext Markup Language）や、Ｊａｖａｓｃｒｉｐｔ（登録商標）などで記述されたアプリケーションが動作する。このようなウェブアプリケーションでは、キー入力によって、入力された入力キー情報は、まずブラウザ上で解釈され、入力キー情報に対応するブラウザの機能がある場合は、その機能が実行されてしまう。すなわち、ウェブアプリケーションでキー入力を制御しようとしても、その前にブラウザによってキー入力が制御されてしまうという問題があった。ここで、入力キー情報とは、キーボードなどのキーが押下されたとき、キーボードなどからＰＣ（Personal Computer）本体へ送信される情報であり、後記する修飾キー情報や、キーコードや、スキャンコードなどが組み合わされた情報である。
【０００３】
このような問題を解決するため、ＡｃｔｉｖｅＸ（登録商標）などのモジュールを用いることによって、キー入力をインターセプトする方法および装置が開示されている（例えば、特許文献１参照）。この方法および装置によれば、特定の入力キー情報に対するブラウザ機能の無効化や、別の機能の実行などをウェブアプリケーションが、制御することを可能としている。
【０００４】
また、入力キー情報を、特定の機能へ変換する入力機能設定装置、入力機能管理装置、入力機能設定プログラムおよび入力機能管理プログラムが開示されている（例えば、特許文献２参照）。
【特許文献１】特表２００５−５０５０４７号公報
【特許文献２】特開２００４−３８６４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ＰＣなどに用いられるキーボードとして、特定の業務に対応し、業務専用のキーを有し、業務に不要なキーを省いた特殊なキーボード（以下、特殊キーボードと記載する）がある。
このような特殊キーボードでは、例えば「０００」（３つの「０」を同時に入力する）キーなど、一般的なキーボードとは異なる特殊なキーを有することが多い。
また、このような特殊キーボードでは、見た目には同一のキーのようでも、送出される入力キー情報が異なる場合がある。
【０００６】
特許文献１に記載の技術では、キーボードから送出された入力キー情報に基づいて制御を行うため、見た目には同一のキーのようでも、送出される入力キー情報が異なる場合には適用することができないという問題がある。また、特許文献２に記載の技術も、入力キー情報を基に、特定の機能に変換するため、同様の問題を有している。
すなわち、特許文献１および特許文献２では、入力キー情報の変換に対する考慮がなされていないため、特殊キーボードを使用した際には、この特殊キーボードに対応するよう、ウェブアプリケーションの設定を行う必要がある。
本発明は、このような問題を解決することを課題とする。
【課題を解決するための手段】
【０００７】
前記した課題を解決するため、本発明は、サーバのサーバ記憶部は、クライアントのクライアント入力部に対応した第１のキー情報と、第２のキー情報とを対応付けた設定情報と、クライアントのクライアント記憶部に記憶された設定情報を基に、クライアント入力部を介して、クライアントへ入力された第１のキー情報を、第２のキー情報へ変換させる変換プログラムとを保持しており、サーバの通信部が、クライアントから、設定情報の要求を受信すると、サーバ記憶部から取得した設定情報と、変換プログラムとを当該クライアントに送信することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、アプリケーションを特殊キーボードから送出される特殊な入力キー情報に対応させる必要のないサーバ、キー情報変換方法、プログラムおよびシステムを提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下に、図面を参照して本発明によるサーバ、キー情報変換方法、プログラムおよびシステムの実施形態について説明する。
【００１０】
図１は、本実施形態に係るシステムの構成例を示す図である。
システム１は、ＰＣなどのクライアント３と、サーバ２とがＬＡＮ（Local Area Network）や、ＷＡＮ（Wide Area Network）などのネットワーク４を介して接続するように構成されている。
【００１１】
サーバ２は、情報の処理を行う処理部２１と、情報を記憶する記憶部２２（サーバ記憶部）と、情報の送受信を行う送受信部２３（通信部）とを有してなる。
記憶部２２には、キーボード間のキー情報が対応付けられている設定情報２２１が、予め複数保持されている。例えば、ウェブアプリケーションが、キーボードＺのキー情報に基づくように、設定されているとすると、設定情報２２１ａには、キーボードＡと、キーボードＺとの対応情報が保持されており、設定情報２２１ｂには、キーボードＢと、キーボードＺとの対応情報が保持されている。そして、設定情報２２１ｃには、キーボードＣと、キーボードＺとの対応情報が保持されている。設定情報２２１に関しては、図２を参照して後記する。また、記憶部２２には、後記する方法によって、クライアント３の記憶部に記憶された設定情報２２１を基に、クライアント３の入力部３３を介して、クライアント３へ入力された入力キー情報を、出力キー情報へ変換させる変換プログラム２２３およびクライアント３の入力部３３の種別を判定する種別判定プログラム２２４も保持されている。
処理部２１は、対応するクライアント３の設定情報２２１（説明は後記）が記憶部２２にない場合、このクライアント３に対応した設定情報２２１を、記憶部２２に格納されている複数の設定情報２２１から選択する設定情報選択部２１１と、情報の判定を行う判定部２１２とを有してなる。
サーバ２における処理部２１と、処理部２１を構成する設定情報選択部２１１および判定部２１２とは、図示しないＨＤ（Hard Disk）などに格納されているプログラムが、図示しないＲＡＭ（Random Access Memory）に展開され、ＣＰＵ（central processing Unit）によって実行されることによって具現化する。
【００１２】
クライアント３は、情報の処理を行う処理部３１と、情報を記憶する記憶部３２（クライアント記憶部）と、キーボードなどの入力部３３（クライアント入力部）と、ディスプレイ等の表示部３４と、情報の送受信を行う送受信部３５とを有してなる。
処理部３１は、入力キー情報などの変換を行う制御部３１１と、ブラウザの処理を行うブラウザ処理部３１２と、入力部３３の情報などを取得する取得部３１３とを有してなる。
クライアント３の処理部３１におけるブラウザ処理部３１２は、図示しないＨＤ（Hard Disk）などに格納されているプログラムが、図示しないＲＡＭに展開され、ＣＰＵによって実行されることによって具現化する。
また、クライアント３の処理部３１における取得部３１３は、サーバ２から送信された種別判定プログラム２２４が、ブラウザの一部として、図示しないＲＡＭなどに展開し、図示しないＣＰＵによって実行されることによって具現化する。
また、クライアント３の処理部３１における制御部３１１は、サーバ２から送信された変換プログラム２２３が、ブラウザの一部として、図示しないＲＡＭなどに展開し、図示しないＣＰＵによって実行されることによって具現化する。
なお、本実施形態では、取得部３１３は、サーバ２から送信された種別判定プログラム２２４が、制御部３１１は、サーバ２から送信された変換プログラム２２３が、それぞれ図示しないＲＡＭに展開され、図示しないＣＰＵによって実行されることにより、具現化するとしているが、これに限らず、種別判定プログラム２２４および変換プログラム２２３を、予めクライアント３の記憶部３２に格納しておき、ブラウザ処理部３１２から呼び出されると、図示しないＲＡＭに展開され、図示しないＣＰＵによって実行されることによって、具現化してもよい。
【００１３】
図２は、本実施形態における設定情報の例を示す図である。
設定情報２２１は、入力キー情報（第１のキー情報）と、出力キー情報（第２のキー情報）とが対となった情報の集合である。図２の例では、１行に１つのキー情報に関する設定（変換情報２２２）が記述されている。ここで、出力キー情報とは、ブラウザ処理部３１２へ送られるキー情報である。
１つの変換情報２２２は、「入力キー情報＝出力キー情報」の形式で表されている。そして、入力キー情報は、「修飾キー情報＿キーコード＿スキャンコード」の形式で記述され、出力キー情報は、「修飾キー情報＿キーコード」の形式で記述される。なお、図２における、「＃」で始まる行は、コメント行を意味している。
ここで、修飾キー情報は、「Ａｌｔ（Alternative）キー」、「Ｃｏｎｔｒｏｌキー」、「Ｓｈｉｆｔキー」といった修飾キーが押下されたか否かの情報である。キーコードは、押下されたキーの内容に対して付されているコードであり、スキャンコードは、物理的なキーの位置に対して付されるコードである。入力キー情報では、同一のキーで位置が異なるもの（キーコードが同じで、スキャンコードが異なるもの）を区別する際にスキャンコードを用いる。
【００１４】
図２の例において、変換情報２２２ａは、１対１のキー変換の例であり、「Ａｌｔなし・Ｃｏｎｔｒｏｌなし・キーコード１１２」のキー（スキャンコードは任意）が押下された場合、すなわち、この情報を有する入力キー情報が入力された場合、「Ａｌｔあり・Ｃｏｎｔｒｏｌなし・Ｓｈｉｆｔあり・キーコード６５」の出力キー情報を送出することを示している。すなわち、変換情報２２２ａは、「Ｆ１」の入力キー情報が、「Ａｌｔ＋Ｓｈｉｆｔ＋ａ」に変換されることを意味している。
また、変換情報２２２ｂは、キー無効の例であり、「Ａｌｔあり・Ｃｏｎｔｒｏｌなし・Ｓｈｉｆｔなし・キーコード１１５」の入力キー情報を、「ＮＯＮＥ」すなわち無効化することを示している。すなわち、変換情報２２２ｂは、「Ａｌｔ＋Ｆ４」の入力キー情報を無効化することを意味している。
さらに、変換情報２２２ｃは、１対多キー変換の例であり、出力キー情報が「−」で複数連結されている。すなわち、「Ａｌｔなし・Ｃｏｎｔｒｏｌなし・Ｓｈｉｆｔなし・キーコード２００」の入力キー情報を、３つの「Ａｌｔなし・Ｃｏｎｔｒｏｌなし・Ｓｈｉｆｔなし・キーコード９６」に変換することを示している。つまり、変換情報２２２ｃは、「０００」の入力キー情報を、「０」・「０」・「０」の出力キー情報に変換する。
【００１５】
なお、設定情報２２１は、クライアント３と、サーバ２とのセッションが確立するたびに、サーバ２によって生成されるセッション情報の一部としてサーバ２に保持される。
【００１６】
次に、図１を参照しつつ、図３および図４に沿って本実施形態に係るキー入力変換方法を説明する。図３および図４において、クライアント３と、サーバ２との間の情報の送受信は、ネットワーク４を介して行うが、以降の説明では、この処理の記載を省略することとする。
図３は、本実施形態に係るキー入力変換方法のキー入力待機までの処理の流れを示すフローチャートである。
なお、図３の処理は、クライアント３が、ブラウザを起動し、サーバ２に対してセッションを要求した際に始まる処理である。また、サーバ２は、クライアント２とのセッションが確立すると、クライアント２に対応するセッション情報を生成し、当該セッションが遮断されるまで、記憶部２２に保持する。
まず、クライアント３のブラウザ処理部３１２は、送受信部３５にサーバ２への画面要求を送信させる（Ｓ１０１）。
次に、サーバ２の送受信部２３が、画面要求を受信する（Ｓ１０２）。
サーバ２の判定部２１２は、自身の記憶部２２に、受信してきたクライアント３に対応する設定情報２２１が記憶部２２に存在しているか否かを判定する（Ｓ１０３）。判定は、例えば、サーバ２が保持している、接続してきたクライアント３ごとの個別の情報であるセッション情報を用いて行われる。すなわち、サーバ２は、後記する設定情報２２１の選択時に、選択された設定情報２２１を生成したセッション情報内に保持しておき、ステップＳ１０２で受信した画面要求を送信してきたクライアント３に対応するセッション情報内において、既に設定情報２１１が保存されているか否かをチェックすることによって、ステップＳ１０３の判定を行う。
【００１７】
ステップＳ１０３の結果、クライアント３に対応する設定情報２２１が存在していた場合（Ｓ１０３→Ｙｅｓ）、処理部２１は、記憶部２２から、当該クライアント３の入力部３３に対応する設定情報２２１を取得し（Ｓ１０４）、ステップＳ１１２の処理へ進む。
ステップＳ１０３の結果、クライアント３に対応する設定情報２２１が存在しない場合（Ｓ１０３→Ｎｏ）、処理部２１は、送受信部２３に、クライアント３の表示部３４に、入力部３３の情報を取得するための画面を表示させる入力部情報取得画面情報や、クライアント３の入力部３３の種別を判定する種別判定プログラム２２４を、ＨＴＭＬなどの形式でクライアント３へ送信させる（Ｓ１０５）。
【００１８】
クライアント３の送受信部３５が、入力部情報取得画面情報や、種別判定プログラム２２４を受信すると、ブラウザ処理部３１２が、入力部情報取得画面を、表示部３４に表示させる（Ｓ１０６）と同時に、受信した種別判定プログラム２２４を実行し、種別判定プログラムを実行した結果、具現化した取得部３１３に取得処理の実行を指示する（Ｓ１０７）。
そして、取得部３１３は、入力部３３の情報である入力部情報を取得する（Ｓ１０８）。ここで、入力部情報は、キーボードの種別などを含む情報である。取得部３１３は、例えば、取得部３１３が、ＯＳ（Operating System）のＰｌｕｇ＆Ｐｌａｙ機能などによって、ＯＳがメモリ内に取得したキーボードの情報を参照することによって、入力部情報を取得する。
取得部３１３は、入力部情報をブラウザ処理部３１２へ送り、入力部情報を送られたブラウザ処理部３１２は、送受信部３５に、この入力部情報をサーバ２へ送信させる（Ｓ１０９）。
サーバ２の送受信部２３が、入力部情報を受信すると（Ｓ１１０）、この入力部情報を基に、設定情報選択部２１１が、設定情報２２１を選択し（Ｓ１１１）、セッションを確立しているクライアント３に対応するセッション情報へ選択した設定情報２２１を保存する。前記したように、記憶部２２には、設定情報２２１が、キーボードの種別毎に格納されている。そして、設定情報選択部２１１は、ステップＳ１１０で受信した入力部情報を基に、設定情報２２１に保持されているキーボードの種別に関する情報を参照して、設定情報２２１を選択する。
【００１９】
次に、サーバ２の処理部２１は、送受信部２３に、ステップＳ１０４で取得したり、ステップＳ１１１で選択したりした設定情報２２１や、記憶部２２から取得した、設定情報２２１に従って、入力キー情報を、出力キー情報へ変換する変換プログラム２２３や、クライアント３のブラウザに表示する画面情報などをクライアント３へ送信させる（Ｓ１１２）。
クライアント３の送受信部３５が、画面情報や、設定情報２２１や、変換プログラム２２３などを受信すると、ブラウザ処理部３１２は、画面情報に従った画面（ブラウザ）を表示部３４に表示させる（Ｓ１１３）。
続いて、ブラウザ処理部３１２は、受信した設定情報２２１を制御部３１１に読み込ませ、記憶部３２に保存させることによって、設定情報２２１をセットする（Ｓ１１４）。
そして、制御部３１１は、入力部３３からのキー入力を待機する（Ｓ１１５）。
【００２０】
なお、図３の処理例では、クライアント３への設定情報２２１のセットの有無にかかわらず、ステップＳ１１４で設定情報２２１をセットしたが、これは、制御部３１１は、ステップＳ１１２でクライアントへ送信した画面でのみ有効であるため、新たな画面を表示するごとに、制御部３１１への設定を行う必要があるためである。しかしながら、例えば、画面を複数の領域に分割し、更新を行わない領域に制御部３１１を設定する場合、画面の更新ごとに設定情報２２１を制御部３１１へセットする必要はない。このような場合では、更新を行う領域の画面要求に設定情報２２１をセットする必要がない旨の情報を付しておき、このような画面要求を受け取った場合、処理部２１は、送受信部２３に、ステップＳ１０４で設定情報２２１を記憶部２２から取得することなく、画面情報のみをクライアント３に送信させてもよい。
【００２１】
図４は、本実施形態に係る入力キー情報変換処理の流れを示す図である。
図４の処理は、ステップＳ１１２でサーバから送られた変換プログラム２２３が実行された結果、具現化した制御部３１１によって、行われる処理である。この処理はブラウザ上で画面が表示されると同時に起動されるプログラムである。
まず、入力部３３を介して、キー入力が行われると（Ｓ２０１）、入力されたキーに関する修飾キー情報や、キーコードや、スキャンコードなどの入力キー情報が、組み合わされた情報として制御部３１１へ送信される。
制御部３１１が、入力部３３から、入力キー情報を取得すると（Ｓ２０２）、制御部３１１は、記憶部３２に保持されている設定情報２２１を参照し、設定情報２２１中の入力キー情報と、ステップＳ２０２で取得した入力キー情報とが対応する変換情報２２２（図２）を取得する（Ｓ２０３）。
そして、制御部３１１は、取得した変換情報２２２の出力キー情報を参照することによって、設定種別の判定を行う（Ｓ２０４）。
ステップＳ２０４の結果、設定種別が「無効化」であった場合（Ｓ２０４→無効化）、すなわち変換情報２２２の出力キー情報が、「ＮＯＮＥ」であった場合、処理部３１は、ステップＳ２０７の処理へ進む。
【００２２】
ステップＳ２０４の結果、設定種別が「キー変換」であった場合（Ｓ２０４→キー変換）、すなわち、変換情報２２２の出力キー情報が、「ＮＯＮＥ」ではない場合、制御部３１１は、取得した変換情報２２２から出力キー情報を取得し（Ｓ２０５）、取得した出力キー情報をブラウザ処理部３１２へ送ると（Ｓ２０６）、入力部３３からの次のキー入力を待機する（Ｓ２０７）。
ステップＳ２０４の結果、設定種別が「設定なし」の場合（Ｓ２０４→設定なし）、すなわち、設定情報２２１に、ステップＳ２０２で取得した入力キー情報に対応する変換情報２２２がない場合、制御部３１１は、取得した入力キー情報を、そのまま出力キー情報とする（Ｓ２０８）。そして、処理部３１は、ステップＳ２０６の処理へ進む。
【００２３】
なお、本実施形態では、ウェブアプリケーションを用いることを前提としているが、これに限らず、一般的なソフトウェアに適用することも可能である。すなわち、クライアント３が、設定情報２２１を用いて変換した出力キー情報を、クライアント３にインストールしているソフトウェアに対して用いてもよい。
【００２４】
（効果）
本実施形態によれば、ユーザおよび管理者は、ウェブアプリケーションを特殊キーボードから送出される特殊な入力キー情報に対応させる必要がない。
また、本実施形態によれば、クライアント３におけるキーボードが、特殊キーボードなどの特殊な入力部３３に交換されても、ウェブアプリケーションの設定を変更する必要がない。
さらに、本実施形態によれば、今まで使用されていなかった特殊キーボードを有するクライアント３が、ネットワーク４に接続されても、クライアント３のキー情報レベルで、変換がなされるため、ウェブアプリケーションの設定を変更する必要がない。すなわち、多様な特殊キーボードを有するクライアント３がネットワーク４に接続されていても、クライアント３ごとにウェブアプリケーションを設定する必要がない。
【図面の簡単な説明】
【００２５】
【図１】本実施形態に係るシステムの構成例を示す図である。
【図２】本実施形態における設定情報の例を示す図である。
【図３】本実施形態に係るキー入力変換方法のキー入力待機までの処理の流れを示すフローチャートである。
【図４】本実施形態に係る入力キー情報変換処理の流れを示す図である。
【符号の説明】
【００２６】
１      システム
２      クライアント
３      サーバ
４      ネットワーク
２１    処理部（クライアント）
２２    記憶部（クライアント：クライアント記憶部）
２３    入力部（クライアント入力部）
２４    表示部
２５    送受信部（クライアント）
３１    処理部（サーバ）
３２    記憶部（サーバ：サーバ記憶部）
３３    送受信部（サーバ：通信部）
２１１  制御部
２１２  ブラウザ処理部
２１３  取得部
２２３  変換プログラム
２２４  種別判定プログラム
３１１  設定情報選択部
３１２  判定部
３２１，３２１ａ〜３２１ｃ  設定情報
３２２，３２２ａ〜３２２ｃ  変換情報
【図１】
2009015561.tif 000003
【図２】
2009015561.tif 000004
【図３】
2009015561.tif 000005
【図４】
2009015561.tif 000006