(57)【要約】【課題】他のコンピュータを遠隔操作する場合において、ソフトキーボードを用いて所望の文字列を当該他のコンピュータに送信できる技術を提供する。【解決手段】遠隔操作システムは、リモート端末１０とホストコンピュータ１２から構成される。リモート端末１０は、遠隔操作すべきホストコンピュータ１２のデスクトップ画面を表示し、デスクトップ画面に対するダブルタッチ操作がなされた場合に、入力フィールドを表示するとともにソフトキーボードを表示してソフトキーボードによる入力フィールドへの文字入力を可能とする。【選択図】図１
2018097413.tif 000002
【特許請求の範囲】
【請求項１】
遠隔操作すべき装置のデスクトップ画面を表示する表示手段と、
前記デスクトップ画面に対する特定の操作がなされた場合に、入力フィールドを表示するとともにソフトキーボードを表示して前記ソフトキーボードによる前記入力フィールドへの文字入力を可能とする制御手段と、
を備える遠隔操作装置。
【請求項２】
前記デスクトップ画面に対する特定の操作は、複数回のタッチである
請求項１に記載の遠隔操作装置。
【請求項３】
前記制御手段は、前記ソフトキーボードが変換機能を有する場合に、前記入力フィールドに入力された文字列を取得して前記遠隔操作すべき装置に送信し、前記ソフトキーボードが変換機能を有しない場合に、入力されたキーイベントを前記遠隔操作すべき装置に送信する
請求項１，２のいずれかに記載の遠隔操作装置。
【請求項４】
前記制御手段は、前記ソフトキーボードが変換機能を有する場合に、前記入力フィールドを目視可能状態に設定し、前記ソフトキーボードが変換機能を有しない場合に、前記入力フィールドを目視不可状態に設定する
請求項１，２のいずれかに記載の遠隔操作装置。
【請求項５】
前記制御手段は、前記タッチの回数に応じて前記入力フィールドの表示／非表示を設定する
請求項２に記載の遠隔操作装置。
【請求項６】
リモート端末と、
前記リモート端末と接続可能なホストコンピュータと、
を備え、
前記リモート端末は、
前記ホストコンピュータに接続された場合に前記ホストコンピュータのデスクトップ画面を表示する表示手段と、
前記デスクトップ画面に対する特定の操作がなされた場合に、入力フィールドを表示するとともにソフトキーボードを表示して前記ソフトキーボードによる前記入力フィールドへの文字入力を可能とする制御手段と、
を備える遠隔操作システム。
【請求項７】
コンピュータに、
遠隔操作すべき装置のデスクトップ画面を表示するステップと、
前記デスクトップ画面に対する特定の操作がなされた場合に、入力フィールドを表示するとともにソフトキーボードを表示して前記ソフトキーボードによる前記入力フィールドへの文字入力を可能とするステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遠隔操作装置、遠隔操作システム及びプログラムに関する。
【背景技術】
【０００２】
従来から、コンピュータを別のコンピュータで遠隔操作する技術が知られている。
【０００３】
図１０は、従来のリモートデスクトップ（ＲＤＴ）の概略構成を示す。リモート端末１０及びホストコンピュータ１２がネットワークで接続されており、リモート端末１０がホストコンピュータ１２を遠隔操作する場合である。
【０００４】
ホストコンピュータ１２のオペレーティングシステム（ＯＳ）１２６が起動すると、デスクトップマネージャ１２３が起動する。デスクトップマネージャ１２３は、親のウィンドウ１２１を生成してデスクトップをディスプレイに描画する。各種アプリケーション（アプリ）１２４は、親ウィンドウに子ウィンドウを生成し、描画コマンドをデスクトップマネージャ１２３に送信し、デスクトップマネージャ１２３はウィンドウ１２１に子ウィンドウを描画する。
【０００５】
他方、リモート端末１０のリモートデスクトップ（ＲＤＴ）クライアント１０３は、ＴＣＰ／ＩＰ等のプロトコルスタック１０５、１２５を介してホストコンピュータ１２のＲＤＴサーバ１２２に接続する。接続が確立されると、ＲＤＴクライアント１０３は、ウィンドウ１０１を生成する。ＲＤＴサーバ１２２は、デスクトップマネージャ１２３を介してウィンドウ１２１内の描画情報を取得し、プロトコルスタック１２５，１０５を介してＲＤＴクライアント１０３に送信する。
【０００６】
ＲＤＴクライアント１０３は、受信した描画情報に基づき、描画コマンドをデスクトップマネージャ１０２に送信することでウィンドウ１０１に描画する。ＲＤＴサーバ１２２は、描画の変更を監視し、ＲＤＴクライアント１０３からの更新要求の応答として、変更部分の描画情報をＲＤＴクライアント１０３に送信する。このとき、カーソルの座標情報も描画情報と同様にＲＤＴクライアント１０３に送信する。
【０００７】
リモート端末１０のキーボードやマウスのイベントは、ＯＳ１０４からデスクトップマネージャ１０２、ＲＤＴクライアント１０３を介してＲＤＴサーバ１２２に送信する。キーボードのキーコードは、キーボードの差異に依存しないキーシンボルに変換して送信する。
【０００８】
ＲＤＴサーバ１２２は、これらのイベントをデスクトップマネージャ１２３に送信し、デスクトップマネージャ１２３は、これらのイベントをアプリ１２４に通知する。アプリ１２４は、通知されたイベントに基づき、文字をウィンドウ１２１に表示し、あるいはウィンドウ１２１のカーソル位置を変更する。
【０００９】
ＲＤＴの表示域は、リモート端末１０側では矩形ビットマップ画像を表示した一つのオブジェクトである。表示域内に見えるホストコンピュータ１２側のデスクトップの入力域は、矩形ビットマップ画像の一部である。従って、リモート端末１０側ではこれは入力域として認識されない。
【００１０】
リモート端末１０側から、キーイベントがホストコンピュータ１２側に送信され、ホストコンピュータ１２側ではホストコンピュータ１２側に接続されたキーボードやマウスからのイベントであるかのように処理される。これがホストコンピュータ１２側のデスクトップやその中のウィンドウに作用し、デスクトップやその中のウィンドウに作用して変更され、変更結果がビットマップとしてリモート端末１０側に送信され、リモート端末１０側のデスクトップ領域に反映される。リモート端末１０のＲＤＴクライアント１０３と、ホストコンピュータ１２のＲＤＴサーバ１２２間のアプリケーションプロトコルは、ＲＦＢ（Remote Frame Buffer）プロトコル等に規定される。
【００１１】
特許文献１には、タッチパネル式のスマートデバイスを利用した画面同期型シンクライアントシステムにおいて文字入力の際の使い勝手を向上させることを課題として、ユーザが手元で操作するためのタッチパネル式の入出力部を有する接続元端末と、接続元端末から通信ネットワークを介してアクセスされる接続先端末とを備えるリモートアクセス制御システムが記載されている。接続先端末は、遠隔操作によりフォーカスされたアプリケーションの種別または項目を接続元端末に通知するアプリケーション監視部を備えるとともに、接続元端末は、接続先端末から通知されたアプリケーションまたは項目に対応するキーボード種別を判定し、適切な仮想キーボードをタッチパネルに表示させる仮想キーボード表示部を備える。
【００１２】
特許文献２には、閲覧及び情報の入力に便利である携帯式電子装置に用いられるインスタントメッセージング方法を提供することを課題として、タッチスクリーンに入力された第一タッチジェスチャーに対して判別を行い、第一タッチジェスチャーが予め設定された第一ジェスチャーとマッチングすると、投影ユニットが、第一投影領域にバーチャルキーボードを投影するステップと、バーチャルキーボードを介して第一情報を入力するステップと、入力された第一情報を、第一リモート電子装置へ伝送するステップと、タッチスクリーンに入力された第二タッチジェスチャーに対して判別行い、第二タッチジェスチャーが予め設定された第二ジェスチャーにマッチングすると、第一投影ユニットが、第二投影領域に第二情報の内容を投影するステップを行うことが記載されている。
【００１３】
特許文献３には、遠隔操作端末装置の余分なハードウェア構成を抑えることができる遠隔操作システム及び遠隔操作方法を提供することを課題として、 遠隔操作端末装置からソフトキーボードの起動の指示が入力されると、サーバコンピュータにソフトキーボード起動要求信号を送信するソフトキーボード起動手段と、ソフトキーボード起動要求信号を受信するとソフトキーボードを生成し、表示画像記憶手段に格納された画像にソフトキーボードを挿入するソフトキーボード表示手段と、ソフトキーボードが挿入された画像の所定の領域を含む領域の画像を取得する画像取得手段と、取得した画像を遠隔操作端末装置に送信するソフトキーボード送信手段と、遠隔操作端末装置の表示装置に該画像を表示する受信画像表示手段を備えることが記載されている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２０１４−１３７６７１号公報
【特許文献２】特開２０１３−１４５５５７号公報
【特許文献３】特開２００３−３１６４９０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
リモート端末１０がタッチパネル式のデバイスである場合、仮想キーボードあるいはソフトキーボード（以下、「ソフトキーボード」と統一的に称する）を端末に表示し、ソフトキーボードから入力されたキーイベントをキー情報としてホストコンピュータ１２に送信することができるが、日本語入力の場合等、変換入力する場合に問題が生じ得る。
【００１６】
図１１は、リモート端末１０にソフトキーボード１１が表示された場合を示す。日本語入力の場合等、変換入力する場合に、変換候補選択１１０と一体となったソフトキーボード１１が用いられる場合が少なくない。この場合、変換候補選択により選択された文字列はキー入力では表現できず、不具合が生じる。例えば、ローマ字入力で「ａ」、「ｉ」と入力した場合、変換候補として「愛」、「藍」等が表示されるが、キー情報としては「ａｉ」であり、これがホストコンピュータ１２に送信されることになるので、本来送信すべき「愛」等が送信されない問題がある。
【００１７】
本発明の目的は、他のコンピュータを遠隔操作する場合において、ソフトキーボードを用いて所望の文字列を当該他のコンピュータに送信できる技術を提供することにある。
【課題を解決するための手段】
【００１８】
請求項１に記載の発明は、遠隔操作すべき装置のデスクトップ画面を表示する表示手段と、前記デスクトップ画面に対する特定の操作がなされた場合に、入力フィールドを表示するとともにソフトキーボードを表示して前記ソフトキーボードによる前記入力フィールドへの文字入力を可能とする制御手段とを備える遠隔操作装置である。
【００１９】
請求項２に記載の発明は、前記デスクトップ画面に対する特定の操作は、複数回のタッチである請求項１に記載の遠隔操作装置である。
【００２０】
請求項３に記載の発明は、前記制御手段は、前記ソフトキーボードが変換機能を有する場合に、前記入力フィールドに入力された文字列を取得して前記遠隔操作すべき装置に送信し、前記ソフトキーボードが変換機能を有しない場合に、入力されたキーイベントを前記遠隔操作すべき装置に送信する請求項１，２のいずれかに記載の遠隔操作装置である。
【００２１】
請求項４に記載の発明は、前記制御手段は、前記ソフトキーボードが変換機能を有する場合に、前記入力フィールドを目視可能状態に設定し、前記ソフトキーボードが変換機能を有しない場合に、前記入力フィールドを目視不可状態に設定する請求項１，２のいずれかに記載の遠隔操作装置である。
【００２２】
請求項５に記載の発明は、前記制御手段は、前記タッチの回数に応じて前記入力フィールドの表示／非表示を設定する請求項２に記載の遠隔操作装置である。
【００２３】
請求項６に記載の発明は、リモート端末と、前記リモート端末と接続可能なホストコンピュータとを備え、前記リモート端末は、前記ホストコンピュータに接続された場合に前記ホストコンピュータのデスクトップ画面を表示する表示手段と、前記デスクトップ画面に対する特定の操作がなされた場合に、入力フィールドを表示するとともにソフトキーボードを表示して前記ソフトキーボードによる前記入力フィールドへの文字入力を可能とする制御手段とを備える遠隔操作システムである。
【００２４】
請求項７に記載の発明は、コンピュータに、遠隔操作すべき装置のデスクトップ画面を表示するステップと、前記デスクトップ画面に対する特定の操作がなされた場合に、入力フィールドを表示するとともにソフトキーボードを表示して前記ソフトキーボードによる前記入力フィールドへの文字入力を可能とするステップとを実行させるプログラムである。
【発明の効果】
【００２５】
請求項１，６，７に記載の発明によれば、他のコンピュータを遠隔操作する場合において、ソフトキーボードを用いて所望の文字列を当該他のコンピュータに送信できる。
【００２６】
請求項２に記載の発明によれば、さらに、複数回のタッチ操作により実現できる。
【００２７】
請求項３，４に記載の発明によれば、さらに、ソフトキーボードの種別に応じた適切な処理を行うことができる。
【００２８】
請求項５に記載の発明によれば、さらに、タッチの回数により処理を変化させることができる。
【図面の簡単な説明】
【００２９】
【図１】実施形態のシステム構成図である。
【図２】実施形態の他のシステム構成図である。
【図３】リモート端末の構成ブロック図である。
【図４】実施形態１のリモート端末の処理フローチャート（その１）である。
【図５】実施形態１のリモート端末の処理フローチャート（その２）である。
【図６】リモート端末に表示されるソフトキーボード及び入力フィールドの模式図である。
【図７】実施形態２のリモート端末の処理フローチャートである。
【図８】実施形態３のリモート端末の処理フローチャート（その１）である。
【図９】実施形態３のリモート端末の処理フローチャート（その２）である。
【図１０】リモート端末及びホストコンピュータの基本構成図である。
【図１１】ソフトキーボード及び変換候補選択の表示例である。
【発明を実施するための形態】
【００３０】
以下、図面に基づき本発明の実施形態について説明する。
【００３１】
＜実施形態１＞
図１は、本実施形態のシステム構成を示す。リモート端末１０とホストコンピュータ１２はネットワーク１４を介して接続される。リモート端末１０は、遠隔操作装置として機能し、ホストコンピュータ１２を遠隔操作する。リモート端末１０は、文字入力補助モジュールとして入力メソッドエディタ（ＩＭＥ）を備え、ホストコンピュータ１２もＩＭＥを備える。リモート端末１０は、例えばタッチスクリーンを備えたタブレット端末やスマートフォン等のタッチデバイスである。
【００３２】
従来においては、リモート端末１０とホストコンピュータ１２とがネットワーク１４を介してデータ送受可能に接続されてリモート端末１０がホストコンピュータ１２を遠隔操作する場合、ホストコンピュータ１２のＩＭＥが用いられているが、本実施形態ではホストコンピュータ１２のＩＭＥに代えて、リモート端末１０のソフトキーボードと共にＩＭＥ１０６が用いられる。
【００３３】
図２は、本実施形態の他のシステム構成を示す。リモート端末１０は、ネットワーク１４を介して複数のホストコンピュータ１２ａ、１２ｂと接続され、複数のホストコンピュータ１２ａ、１２ｂを遠隔操作する。この場合にも、ホストコンピュータ１２ａ、１２ｂのＩＭＥではなく、リモート端末１０のＩＭＥ１０６が用いられる。リモート端末１０のソフトキーボードから入力されたキーシンボルは、リモート端末１０のＩＭＥ１０６で処理され、変換された上でホストコンピュータ１２ａ、１２ｂに送信されるので、リモート端末１０に変換結果や学習結果が蓄積される。タッチデバイスの場合、ソフトキーボードが表示されないとキーイベントが発生しないので、リモート端末１０からホストコンピュータ１２に直接キーイベントが送信されることはない。本実施形態では、ユーザによるリモート端末１０に対する特定の操作、より具体的にはリモート端末１０に表示されたホストコンピュータ１２のデスクトップ画面のグラフィカルユーザインターフェイス（ＧＵＩ）オブジェクトに対する特定のタッチ操作をトリガとしてタッチスクリーン（ディスプレイ）に入力フィールドを表示してこれにフォーカスし、同時にソフトキーボードを表示してキー入力を可能とする。
【００３４】
図３は、本実施形態におけるリモート端末１０の構成ブロック図を示す。基本的な構成は図１０に示す構成ブロック図と同様であり、ウィンドウ１０１、デスクトップマネージャ１０２、ＲＤＴクライアント１０３、ＯＳ１０４、及びＩＭＥ１０６を備える。なお、リモート端末１０のハードウェア構成は、通常のパーソナルコンピュータと同様にＣＰＵ、ＲＯＭやＨＤＤ，ＳＤＤ等のプログラムメモリ、ＲＡＭ等のワーキングメモリ、通信インターフェイス、キーボードやマウス、ディスプレイ等の入出力インターフェイスを備えており、ＣＰＵがプログラムメモリに記憶された処理プログラムを実行することで各種処理を実行する。ウィンドウ１０１は、ＣＰＵが処理プログラムを実行することでディスプレイに表示される。デスクトップマネージャ１０２やＲＤＴクライアント１０３、ＩＭＥ１０６は、ＣＰＵが処理プログラムを実行することで実現される論理モジュールである。
【００３５】
ＲＤＴクライアント１０３は、ＴＣＰ／ＩＰ等のプロトコルスタック１０５、１２５（図１０を参照）を介してホストコンピュータ１２のＲＤＴサーバ１２２に接続する。接続が確立されると、ＲＤＴクライアント１０３は、デスクマネージャ１０２を介してディスプレイにウィンドウ１０１を生成する。他方、ホストコンピュータ１２のＲＤＴサーバ１２２は、デスクトップマネージャ１２３を介してウィンドウ１２１内の描画情報を取得し、プロトコルスタック１２５，１０５を介してＲＤＴクライアント１０３に送信する。
【００３６】
デスクトップマネージャ１０２は、表示手段として機能し、ホストコンピュータ１２のＲＤＴサーバ１２２から受信した描画情報に基づき、ホストコンピュータ１２のデスクトップ画面をウィンドウ１０１に描画する。リモート端末１０のディスプレイに表示されるホストコンピュータのデスクトップ画面、すなわちリモートデスクトップの表示域は、リモート端末１０側では矩形ビットマップ画像を表示した一つのオブジェクトであり、ホストコンピュータ１２側のデスクトップの入力域は、矩形ビットマップ画像の一部である。
【００３７】
ＲＤＴクライアント１０３は、制御手段として機能し、ＲＤＴ制御部１０３１、入力フィールド制御部１０３２、及びＲＦＢ送受信部１０３３を備える。ＲＤＴ制御部１０３１、入力フィールド制御部１０３２、ＲＦＢ送受信部１０３３も、ＣＰＵが処理プログラムを実行することで実現される論理モジュールである。勿論、これらの少なくとも一部をハードウェア回路として構成してもよい。
【００３８】
ＲＤＴ制御部１０３１は、ＲＤＴクライアント１０３の全体動作を制御する。入力フィールド制御部１０３２は、ＲＤＴ制御部１０３１からの指令に基づき、入力フィールドの表示及び非表示を制御するとともに、入力フィールドに入力された文字列の取得やクリアを実行する。ＲＦＢ送受信部１０３３は、ＲＦＢプロトコルに基づいてホストコンピュータ１２のＲＤＴサーバ１２２とデータの送受信を制御する。ＲＦＢプロトコルは、既述したように、ＲＤＴクライアント１０３とＲＤＴサーバ１２２との間のアプリケーションプロトコルであり、描画情報やイベント情報はこのプロトコルに従って変換されて送受信される。ＲＦＢプロトコルの概要を以下に示す。
＜リモート端末１０→ホストコンピュータ１２＞
FrameBufferEvent：矩形のビットマップの送信を要求する
座標／縦横サイズ
KeyEvent：キーシンボル
アップ／ダウンの区別
PointerEvent：マウスの座標
アップ／ダウンの区別
ホタンの種別（左／中／右）
ClientCutText：文字列をホストのカットバッファに送る
＜ホストコンピュータ１２→リモート端末１０＞
FrameBufferUpdate：矩形のビットマップの送信を要求する
座標／縦横サイズ＋ビットマップデータ
【００３９】
ＲＤＴクライアント１０３は、ホストコンピュータ１２のＲＤＴサーバ１２２からホストコンピュータ１２のデスクトップ画面の矩形ビットマップ画像を受信し、デスクトップマネージャ１０２に供給する。また、ＲＤＴクライアント１０３は、キーイベント（キーボード）、ポインタイベント（マウス、タッチ等）を受信し、ホストコンピュータ１２のＲＤＴサーバ１２２に送信する。
【００４０】
ＲＤＴ制御部１０３１は、ユーザによる特定の操作、例えばホストコンピュータ１２のデスクトップ画面に対するダブルタッチを検出すると、入力フィールド制御部１０３２に指令して入力フィールドを表示させてこれにフォーカスし、これによりソフトキーボードが表示されキー入力を受け付ける。
【００４１】
以下、本実施形態の処理について詳細に説明する。
【００４２】
図４は、ＲＤＴクライアント１０３を構成するＲＤＴ制御部１０３１の処理フローチャートを示す。
【００４３】
まず、ＲＤＴ制御部１０３１は、ユーザのタッチ操作を監視し、タッチ操作がホストコンピュータ１２のデスクトップ画面に対するシングルタッチか否かを判定する（Ｓ１０１）。シングルタッチか否かは、例えば一定のタイムアウトまでに座標が近接するタッチイベントの回数をカウントし、１回のみであればシングルタッチであると判定する。
【００４４】
シングルタッチである場合（Ｓ１０１でＹＥＳ）ＲＤＴ制御部１０３１は、シングルタッチに係る当該座標にマウスダウン及びマウスアップのイベントを送信する（Ｓ１０２）。ホストコンピュータ１２側の対応する座標にＧＵＩオブジェクトが存在すると、そのＧＵＩオブジェクトのマウスイベントが発火する。例えば、ＧＵＩオブジェクトとしてボタンオブジェクトが存在すれば、ボタン押下に対応する動作が生じ、入力フィールドオブジェクトが存在すれば入力フィールドが選択される動作が生じる。
【００４５】
他方、シングルタッチでない場合（Ｓ１０１でＮＯ）、ＲＤＴ制御部１０３１は、ダブルタッチであるか否かを判定する（Ｓ１０３）。ダブルタッチか否かは、例えば一定のタイムアウトまでに座標が近接するタッチイベントの回数をカウントし、２回であればダブルタッチであると判定する。ダブルタッチの場合（Ｓ１０３でＹＥＳ）、入力フィールド制御部１０３２に指令して入力フィールドを表示させ、当該入力フィールドにフォーカスする（Ｓ１０４）。ここで、「フォーカス」とは、特定の入力要素が選択され、入力を受け付けられる状態をいう。なお、入力フィールドを予め作成して非表示状態としておき、ダブルタッチをトリガとしてＲＤＴ制御部１０３１あるいは入力フィールド制御部１０３２が非表示状態から表示状態に遷移させてもよい。
【００４６】
また、デスクトップマネージャ１０２またはＯＳ１０４は、入力フィールドへのフォーカスに連動してタッチスクリーンにソフトキーボードを表示する。ソフトキーボードを表示する際には、自己のＩＭＥ１０６も起動する。ユーザは、表示されたソフトキーボード及びＩＭＥ１０６を用いて入力フィールドに所望の文字を入力する。次に、入力フィールド制御部１０３２は、所定の入力フィールド処理を実行する（Ｓ１０５）。この処理についてはさらに後述する。シングルタッチでもダブルタッチでもない場合（Ｓ１０３でＮＯ）、ＲＤＴ制御部１０３１は、その他のイベントとして処理する（Ｓ１０６）。例えば、ウィンドウのクローズボタンの処理等である。
【００４７】
図５は、図４におけるＳ１０５の処理、すなわち入力フィールド処理の詳細フローチャートである。
【００４８】
まず、入力フィールド制御部１０３２は、タイマを開始し（Ｓ２０１）、タイムアウトイベントか否かを判定する（Ｓ２０２）。タイムアウトイベントである場合（Ｓ２０２でＹＥＳ）、表示された入力フィールドに入力文字列が存在するか否かを判定する（Ｓ２０３）。入力文字列が存在する場合（Ｓ２０３でＹＥＳ）、入力フィールドの文字列を取得し、ＲＦＢ送受信部１０３３を介してホストコンピュータ１２のＲＤＴサーバ１２２に送信する（Ｓ２０４）。具体的には、ＲＤＴサーバ１２２のカットバッファに送信し、ホットスポットのアドレスにペーストのポインタイベントを送信する。これにより、ホストコンピュータ１２側の入力フィールドオブジェクト位置に入力文字列がペーストされる。文字列を送信する際には、ＵＴＦ−８にコード変換して送信する。勿論、ＵＴＦ−１６、ＵＣＳ−２、ＵＣＳ−４等、他の文字コードを使用してもよい。予め決められた文字コードを使用するか、ホストコンピュータ１２との間でネゴシエーションして使用する文字コードを決定するかを選択してもよい。次に、入力フィールド制御部１０３２は、取得した入力文字列をクリアし（Ｓ２０５）、タイマを再セットする（Ｓ２０６）。入力文字列が存在しない場合（Ｓ２０３でＮＯ）、Ｓ２０４〜Ｓ２０５の処理を実行することなく、タイマを再セットする（Ｓ２０６）。その後、Ｓ２０２以降の処理を繰り返す。
【００４９】
タイムアウトしていない場合（Ｓ２０２でＮＯ）、入力フィールド制御部１０３２は、次にキーイベントか否かを判定する（Ｓ２０７）。キーイベントである場合（Ｓ２０７でＹＥＳ）、入力フィールドに入力文字列が存在するか否かを判定する（Ｓ２０８）。入力文字列が存在する場合（Ｓ２０８でＹＥＳ）、次のイベントの処理に戻る。この処理を繰り返し、タイムアウトした場合にはＳ２０４〜Ｓ２０６の処理が実行され、入力文字列が取得されてＲＦＢ送受信部１０３３を介してホストコンピュータ１２のＲＤＴサーバ１２２に送信される。
【００５０】
入力文字列が存在しない場合（Ｓ２０８でＮＯ）、次に、Ｂａｃｋｓｐａｃｅキーイベントであるか否かを判定する（Ｓ２０９）。Ｂａｃｋｓｐａｃｅキーイベントである場合（Ｓ２０９でＹＥＳ）、ＢａｃｋｓｐａｃｅキーイベントをＲＦＢ送受信部１０３３を介してＲＤＴサーバ１２２に送信する（Ｓ２１０）。これにより、ホストコンピュータ１２側で入力済みの文字列が存在する場合にその中の一文字が削除される。Ｂａｃｋｓｐａｃｅキーイベントでない場合（Ｓ２０９でＮＯ）、入力されたキーイベントを破棄する（Ｓ２１１）。キーイベントの破棄に先立ち、Ｓ２０４〜Ｓ２０６の処理を実行してもよい。
【００５１】
タイムアウトでもキーイベントでもない場合（Ｓ２０７でＮＯ）、入力フィールド制御部１０３２は、さらにフォーカスアウトイベントか否かを判定する（Ｓ２１２）。「フォーカスアウト」とは、入力フィールドから他の領域に入力受け付け状態を移動させることをいう。フォーカスアウトは、デスクトップの表示域にフォーカスを移動した場合やユーザが入力フィールド外をポイントした場合、タブキー等で別の入力フィールドに移動した場合等に生じ得る。フォーカスアウトイベントである場合（Ｓ２１２でＹＥＳ）、入力フィールド処理を終了する。表示されている入力フィールドを非表示とし、これと共にソフトキーボードも非表示とする。なお、入力フィールドに文字列が残存する場合に、Ｓ２０４〜Ｓ２０６の処理を実行してもよい。フォーカスアウトイベントでない場合（Ｓ２１２でＮＯ）、他のイベント処理を実行する（Ｓ２１３）。
【００５２】
以上の処理により、ダブルタッチをトリガとして入力フィールドが表示されて入力フィールドにフォーカスされ、これと共にソフトキーボードが表示され、ユーザは、ソフトキーボードを用いて入力フィールドに所望の文字列を入力し、ホストコンピュータ１２に送信することができる。ホストコンピュータ１２では、ＲＤＴサーバ１２２からデスクトップマネージャ１２３を介してアプリ１２４に文字列が供給され、アプリ１２４は入力された文字列に応じた処理を実行する。  
【００５３】
図６（ａ）、（ｂ）は、リモート端末１０におけるデスクトップ画面、入力フィールド及びソフトキーボードの表示を模式的に示す。
【００５４】
図６（ａ）に示すように、リモート端末１０のタッチスクリーン（ディスプレイ）に、ホストコンピュータ１２のデスクトップ画面が表示されている。
【００５５】
ユーザがデスクトップ画面をダブルタッチ操作したものとする。すると、ＲＤＴ制御部１０３１は、図４に示す処理フローチャートに従い、Ｓ１０３でダブルタッチ操作を検出してＹＥＳと判定し、入力フィールド１１３を表示すると共に当該入力フィールドにフォーカスし、これと連動してソフトキーボードが表示される。
【００５６】
図６（ｂ）は、入力フィールド及びソフトキーボードを表示した一例を示す。入力フィールド１１３が表示される。また、同時に所定位置にソフトキーボード１１４が表示される。ソフトキーボード１１４自体は公知であり、図では英文字入力用のソフトキーボードとして表示されている。ユーザは、このソフトキーボード１１４をタッチ操作することで入力フィールドに所望の文字列を入力し、ホストコンピュータ１２に送信する。
【００５７】
次に、変換機能を有するソフトキーボードを表示する場合について説明する。
【００５８】
＜実施形態２＞
図７は、入力フィールド制御部１０３２における他の入力フィールド処理フローチャートである。図４のＳ１０５での処理である。
【００５９】
まず、入力フィールド制御部１０３２は、キーイベントであるか否かを判定する（Ｓ３０１）。キーイベントである場合（Ｓ３０１でＹＥＳ）、Ｓ１０４で表示したソフトキーボードが変換機能を有するソフトキーボードであるか否かを判定する（Ｓ３０２）。変換機能を有するソフトキーボードの一例は図１１に示すソフトキーボードであり、例えばユーザが「ａ」、「ｉ」と入力すると変換選択候補として「愛」、「藍」、「相」等が表示される。
【００６０】
変換機能を有するソフトキーボードである場合（Ｓ３０２でＹＥＳ）、入力フィールドに文字列が存在するか否かを判定し（Ｓ３０３）、文字列があれば入力文字列（変換済みの文字列）を取得してＲＤＴサーバ１２２に送信する（Ｓ３０４）。具体的にはＲＤＴサーバ１２２のカットバッファに送信し、ホットスポットのアドレスにペーストのポインタイベントを送信する。文字列はＵＴＦ−８にコード変換して送信する。そして、入力文字列をクリアして（Ｓ３０５）、Ｓ３０１以降の処理を繰り返す。入力文字列がなければ（Ｓ３０３でＮＯ）、次にＢａｃｋｓｐａｃｅキーであるか否かを判定し（Ｓ３０６）、ＢａｃｋｓｐａｃｅキーであればＢａｃｋｓｐａｃｅキーイベントをＲＤＴサーバ１２２に送信する（Ｓ３０７）。これにより、ホストコンピュータ１２側で入力済みの文字列があればその中の一文字が削除される。Ｂａｃｋｓｐａｃｅキーでなければ（Ｓ３０６でＮＯ）、キーイベントを破棄する（Ｓ３０８）。
【００６１】
他方、変換機能を有するソフトキーボードでなければ（Ｓ３０２）、変換文字列を送信する必要がないのでキーイベントを直ちにＲＦＢ送受信部１０３３を介してＲＤＴサーバ１２２に送信する（Ｓ３０９）。具体的には、キーコードをキーシンボルに変換してＲＤＴサーバ１２２に送信する。そして、入力文字列をクリアする（Ｓ３１０）。
【００６２】
キーイベントでない場合（Ｓ３０１でＮＯ）、次にフォーカスアウトイベントであるか否かを判定する（Ｓ３１１）。フォーカスアウトイベントの場合（Ｓ３１１でＹＥＳ）、入力フィールドを非表示として処理を終了する。これと共にソフトキーボードも非表示とする。フォーカスアウトイベントでない場合（Ｓ３１１でＮＯ）、その他のイベント処理を実行する（Ｓ３１２）。
【００６３】
本実施形態では、変換機能を有するソフトキーボードにおいて、ＩＭＥ１０６を用いて入力フィールドに入力された変換済みの文字列をホストコンピュータ１２に送信するので、所望の文字列を確実にホストコンピュータ１２に送信して遠隔操作できる。図１１の場合と異なり、本実施形態では変換候補選択１１０に表示された変換候補のいずれかを選択すると選択された文字列が入力フィールドに入力表示され、これが取得されてＲＤＴサーバ１２２に送信される。
【００６４】
本実施形態では、Ｓ３０２でソフトキーボードの種別を判定しているが、ＩＭＥ１０６の起動状態を判定し、ＩＭＥ１０６が起動されている（接続されている、有効化されている）場合にＳ３０２でＹＥＳと判定して入力文字列を送信し、そうでない場合にＮＯと判定してもキーイベントを直ちに送信してもよい。
【００６５】
次に、入力フィールドの表示形態を変化させる場合について説明する。
【００６６】
＜実施形態３＞
図８は、ＲＤＴクライアント１０３を構成するＲＤＴ制御部１０３１の処理フローチャートを示す。
【００６７】
まず、ＲＤＴ制御部１０３１は、デスクトップ画面に対する操作がシングルタッチであるか否かを判定する（Ｓ４０１）。シングルタッチか否かは、例えば一定のタイムアウトまでに座標が近接するタッチイベントの回数をカウントし、１回のみであればシングルタッチであると判定し、２回であればダブルタッチと判定し、３回であればトリプルタッチと判定する。シングルタッチである場合（Ｓ４０１でＹＥＳ）、ＲＤＴ制御部１０３１はシングルタッチに係る当該座標にマウスダウン及びマウスアップのイベントを送信する（Ｓ４０２）。図４のＳ１０２と同様である。
【００６８】
シングルタッチでない場合（Ｓ４０１でＮＯ）、次にダブルタッチであるか否かを判定する（Ｓ４０３）。ダブルタッチである場合（Ｓ４０３でＹＥＳ）、ＲＤＴ制御部１０３１は入力フィールドにフォーカスする（Ｓ４０４）。これによりソフトキーボードが表示される。次に、表示されたソフトキーボードが変換機能を有するか否かを判断する（Ｓ４０５）。変換機能を有するソフトキーボードである場合（Ｓ４０５でＹＥＳ）、目視可能状態は入力フィールドに入力した文字列が入力フィールド制御部１０３２に指令して入力フィールドを目視可能状態に設定する（Ｓ４０６）。ここで、目視可能状態は、入力フィールドに入力した文字列が判読可能な状態であり、例えば、入力フィールドの高さを十分な高さとすることである。そして、入力フォールド処理部１０３２は、所定の入力フィールド処理を実行する（Ｓ４０７）。入力フィールド処理は、実施例１または実施例２と同様である。
【００６９】
他方、変換機能を有するソフトキーボードでない場合（Ｓ４０５でＮＯ）、入力フィールドを目視不可状態に設定する（Ｓ４０８）。例えば、入力フィールドの高さを小さく設定してユーザが目視出来ない状態にする。そして、入力フォールド処理部１０３２は、所定の入力フィールド処理を実行する（Ｓ４０７）。入力フィールド処理は、実施例１または実施例２と同様である。シングルタッチ、ダブルタッチのいずれでもない場合（Ｓ４０３でＮＯ）、他のイベント処理を実行する（Ｓ４０９）。
【００７０】
本実施形態では、Ｓ４０５でソフトキーボードの種別を判定しているが、ＩＭＥ１０６の起動状態を判定し、ＩＭＥ１０６が起動されている（接続されている、有効化されている）場合に入力フィールドを目視可能状態に設定し（Ｓ４０６）、ＩＭＥ１０６が起動されていない（接続されていない、有効化されていない）場合に入力フィールドを目視不可状態に設定し（Ｓ４０８）てよい。
【００７１】
本実施形態における目視可能状態および目視不可状態は入力フィールドの表示状態の一形態であり、入力フィールドの非表示状態とは異なる。目視可能状態および目視不可状態のいずれの状態であっても入力フィールドにフォーカスすることによりソフトキーボートが表示され、ソフトキーボートにより入力フィールドに入力が行われる。目視可能な状態であれば変換確定前の入力を目視可能である。目視不可状態であれば、入力されたキーがホストに逐次送信され、入力の結果がデスクトップの表示としてホストから端末に送信される。これによりホストのデスクトップ内の入力フィールドに直接入力しているかのような視覚的効果が得られ、遠隔操作が円滑なものとなる。一方、非表示の状態はフォーカスされることもなく、従って入力されることも無い。
【００７２】
目視可能状態の入力フィールドは、ウィンドウ１０１の任意の位置に表示され得るが、例えばダブルタッチを検出した座標の近傍や、その座標を含むＧＵＩオブジェクトの位置、ホットスポットの位置に重ねて表示してもよい。変換を確定する前の入力内容もＧＵＩオブジェクトの位置に表示されるため、あたかも入力フィールドオブジェクトに直接入力しているかのような視覚的効果が得られ、遠隔操作が円滑なものとなる。
【００７３】
＜実施形態４＞
実施形態３では、ソフトキーボードの変換機能の有無によって入力フィールドの表示状態を変更する例を示したが、ユーザの操作によって入力フィールドの表示状態を変更するようにしても良い。
【００７４】
図９は、この場合のＲＤＴ制御部１０３１の処理フローチャートである。
【００７５】
まず、ＲＤＴ制御部１０３１は、デスクトップ画面に対する操作がシングルタッチであるか否かを判定する（Ｓ５０１）。シングルタッチか否かは、例えば一定のタイムアウトまでに座標が近接するタッチイベントの回数をカウントし、１回のみであればシングルタッチであると判定し、２回であればダブルタッチと判定し、３回であればトリプルタッチと判定する。シングルタッチである場合（Ｓ５０１でＹＥＳ）、ＲＤＴ制御部１０３１はシングルタッチに係る当該座標にマウスダウン及びマウスアップのイベントを送信する（Ｓ５０２）。図４のＳ１０２と同様である。
【００７６】
シングルタッチでない場合（Ｓ５０１でＮＯ）、次にダブルタッチであるか否かを判定する（Ｓ５０３）。ダブルタッチである場合（Ｓ５０３でＹＥＳ）、ＲＤＴ制御部１０３１は入力フィールド制御部１０３２に指令して入力フィールドを目視不可状態に設定し（Ｓ５０４）、入力フィールドにフォーカスする（Ｓ５０５）。これによりソフトキーボードが表示される。そして、入力フォールド処理部１０３２は、所定の入力フィールド処理を実行する（Ｓ５０６）。
【００７７】
ダブルタッチでない場合（Ｓ５０３でＮＯ）、次にトリプルタッチであるか否かを判定する（Ｓ５０７）。トリプルタッチである場合（Ｓ５０７でＹＥＳ）、ＲＤＴ制御部１０３１は、入力フィールド制御部１０３１に指令して入力フィールドを目視可能状態に設定する（Ｓ５０８）。そして、入力フィールドにフォーカスし（Ｓ５０５）、これとともにソフトキーボードを表示して入力フィールドへの文字入力を可能とする。その後、入力フィールド制御部１０３２は、所定の入力フィールド処理を実行する（Ｓ５０６）。シングルタッチ、ダブルタッチ、トリプルタッチのいずれでもない場合（Ｓ５０７でＮＯ）、他のイベント処理を実行する（Ｓ５０９）。
【００７８】
このように、実施形態４では、デスクトップ画面に対するタッチの回数によって入力フィールド及びソフトキーボードの表示／非表示を変化させることができる。ユーザは、例えばデスクトップ画面をトリプルタッチして入力フィールドを目視可能状態としてソフトキーボードから文字を入力してホストコンピュータ１２に送信し、デスクトップ画面をダブルタッチして入力フィールドを目視不可状態に設定してソフトキーボードを表示しソフトキーボードから入力したにすることができる。
【００７９】
以上、本発明の実施形態について説明したが、本発明はこれらの実施形態に限定されるものではなく、種々の変形が可能である。以下、変形例について説明する。
【００８０】
＜変形例１＞
実施形態では、ソフトキーボードとＩＭＥ１０６を別個のモジュールとして説明しているが、ソフトキーボードとＩＭＥ１０６を一つのモジュールとして構成してもよく、ソフトキーボードを表示した場合に同時にＩＭＥ１０６を起動して文字を入力するようにしてもよい。この場合、ソフトキーボードを表示した場合にＲＤＴ制御部１０３１がＲＤＴサーバ１２２にその旨を送信し、ＲＤＴサーバ１２２はホストコンピュータ１２側のＩＭＥ１２７を無効化してもよい。
【００８１】
また、ソフトキーボードを表示したりソフトキーボードを切り替えたりする際に発生するＩＭＥ起動キーコードおよびＩＭＥ停止キーコードに応じてＩＭＥ１０６を起動または停止するようにしてもよい。ＩＭＥ起動キーコードは、オペレーティングシステム（ＯＳ）により異なり得る。ＩＭＥ１０６がシステムに常駐しているような場合、ＩＭＥ１０６を起動するのではなく、常駐しているＩＭＥ１０６に接続すればよい。この意味で、ＩＭＥの起動には、ＩＭＥの接続も含まれるものとする。
【００８２】
＜変形例２＞
実施形態４では、ダブルタッチで入力フィールドを目視不可状態に設定し、トリプルタッチで入力フィールドを目視可能状態に設定しているが、ユーザがその他の手段で入力フィールドの目視可能／目視不可を設定するように構成してもよい。例えば、画面の端などでの特定の操作で画面に表示される設定ダイアログで設定するようにしても良い。オペレーティングシステム（ＯＳ）の設定画面で目視可能／目視不可を固定する設定をしても良い。
【００８３】
＜変形例３＞
実施形態４では、ダブルタッチで入力フィールドを目視不可状態に設定し、トリプルタッチで入力フィールドを目視可能状態に設定しているが、逆に、ダブルタッチで入力フィールドを目視可能状態に設定し、トリプルタッチで入力フィールドを目視不可状態に設定してもよい。
【００８４】
＜変形例４＞
実施形態におけるリモート端末１０は、タブレット端末やスマートフォン等のタッチデバイスであるが、これら以外にも、ハードウェアキーボードを有さない端末に適用し得る。また、ホストコンピュータ１２は、コピーやファックス、スキャン等の複数の機能を備える複合機等の画像形成装置の操作パネルであってもよい。
【符号の説明】
【００８５】
１０  リモート端末、１２  ホストコンピュータ、１４  ネットワーク、１０２  デスクトップマネージャ、１０３  リモートデスクトップ（ＲＤＴ）クライアント、１０４  ＯＳ（オペテーティングシステム）、１０６  ＩＭＥ（入力メソッドエディタ）。
【図１】
2018097413.tif 000003
【図２】
2018097413.tif 000004
【図３】
2018097413.tif 000005
【図４】
2018097413.tif 000006
【図５】
2018097413.tif 000007
【図６】
2018097413.tif 000008
【図７】
2018097413.tif 000009
【図８】
2018097413.tif 000010
【図９】
2018097413.tif 000011
【図１０】
2018097413.tif 000012
【図１１】
2018097413.tif 000013