**********************************************************************

 README.TXT for the Windows CE .Net 5.0  Touch Panel Driver

 Copyright(C) 2005 Fujitsu Component Limited.  All rights reserved.

**********************************************************************

1、概要
  本ドライバは、Windows CE .Net5.0(x86)上で動作します。
  本ドライバは、当社PS/2タッチパネルをサポートしています。
  PS/2 I/F Controller : N010-0559-V041,42,43,51


2、ドライバのインストール
  本ドライバ（Fidrtpce.dll、FidpsceJ.dll）はPS/2キーボード処理とPS/2タッチパネル
 処理が統合されたドライバです。そのため、インストールを行う際は標準PS/2キーボード
 マウスドライバと置きかえることになります。本ドライバは以下のタイプです。
         「8042日本語2のキーボード/マウス（IBMレイアウト）」
  タイプが違うキーボードをご使用の場合は「3、ドライバの作成」を参照し、FidpsceJ.dll
  ファイルを作成した後に、ドライバをインストールしてください。  


 (1)Windows CE Platform Builder のプロジェクトの「platform.reg」,
  「platform.bib」を以下のように変更します。

   A)「platform.reg」の変更
    「HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH」のレジストリキー
    の全ての設定を消します。次に、以下の設定を追加します。

      "DriverName"="Fidrtpce.dll"
      "SpinTop"=dword:0
      "XYConvert"=dword:0

       *パラメータの詳細*
       1）SpinTop
          タッチパネルの座標回転を設定します。
          座標を回転しない場合は、パラメータに0を設定して下さい。
          
            0：座標回転を行いません。
            1：座標が右に90°回転します。
            2：座標が右に180°回転します。
            3：座標が右に270°回転します。

       2）XYConvert
          X、Yの座標の反転（原点座標と最大座標の反転）を設定します。
          反転を行わない場合は0を指定して下さい。

            0：X、Yの座標の反転を行いません。
            1：X座標を反転します。
            2：Y座標を反転します。

 
    B)「platform.bib」の変更
      「platform.bib」ファイル中のキーボードマウスドライバの組み込み設定個所
      （以下のような、kbdmouse.dllが設定されている個所）を全て削除します。
                 .
                 .
                 .
                 .
    kbdmouse.dll     $(_FLATRELEASEDIR)\KbdNopXTMsEngUs1.dll  NK  SH
                 .
                 .
    kbdmouse.dll     $(_FLATRELEASEDIR)\Kbd8042XTMsEngUs1.dll NK  SH
                 .
                 .
                 .
                 .
  
      そして、以下の設定をキーボードマウスドライバの組み込み設定を削除した個所の
      前後に追加します。

      Fidrtpce.dll    $(_FLATRELEASEDIR)\Fidrtpce.dll       NK  SH
      kbdmouse.dll    $(_FLATRELEASEDIR)\FidpsceJ.dll       NK  SH

      以下は設定の記載する位置の例です。
                 .
                 .
        ; @CESYSGEN IF CE_MODULES_KEYBD || CE_MODULES_POINTER
        #if ! (defined BSP_NOKEYBD && defined BSP_NOMOUSE)

                 kbdmouse.dll     $(_FLATRELEASEDIR)\FidpsceJ.dll	NK  SH
                 Fidrtpce.dll     $(_FLATRELEASEDIR)\Fidrtpce.dll	NK  SH

        IF LOCALE=0411 !
        IF LOCALE=0412 !
                 .
                 .
 
 (2）Windows CE Platform Builder で「システムの生成」を実行します。
     この時、ビルドする際に必要なタッチパネルドライバのファイル(.DLL)が見つから
     ないためにエラーメッセージが表示されます。このメッセージは無視して次の手順
     に進んで下さい。

 (3）Build-Release ディレクトリに「Fidrtpce.dll」と「FidpsceJ.dll」をコピーします。
     Platform Builderの標準設定を変更していない場合は、Build-Release ディレクトリの
     パスは、「WINCE500\PBWorkspaces\%MyProjectName%\RelDir\CEPC_X86_Release」です。
     %MyProjectName%は、実際のプロジェクト名を指定して下さい。

（4）Windows CE Platform Builder で「ランタイム イメージの作成」を行います。
     Platform Builderの標準設定を変更していない場合は、イメージファイルとして 
     nk.bin ファイルが作成されます。
     イメージの作成の際は、すでにコンパイル済みのタッチパネルドライバ(.dll)を組込むため、
     警告メッセージが表示されます。このメッセージは無視して次の手順に進んで下さい。

 (5）ターゲット装置に作成したイメージファイルを移動します。

 
3、ドライバの作成
   PS/2ドライバはキーボード処理とポインティングデバイス処理が統合された形のドライバになって
  います。そのため、キーボードタイプによっては本ドライバの「FidpsceJ.dll」を作成しなおす必要
  があります。以下にその作成方法を記します。

  (1) 以下のフォルダにあるキーボードマウスドライバからご使用になるキーボードタイプのドライバ
      があるフォルダを同じフォルダに名前を変更してコピーします。

            「%WINCE500%\PUBLIC\COMMON\OAK\DRIVERS\KEYBD\DLL」

       * %WINCE500%はWindowsCEのオペレーティングシステムのインストール先です。

  (2) コピーしたフォルダに「Fid_PS2_8042_KbdCommon.lib」、｢fid_ps2_8042_kbdcommon.pdb」をコピー
      します。

  (3) コピーしたフォルダ内の「sources」のLIBRAY作成部分を削除します。TARGETNAME(作成するドライバ名）
      変更します。SOURCELIBS(組み込むライブラリ)で「PS2_8042_KbdCommon.lib」ではなく本ドライバLibray
      「Fid_PS2_8042_KbdCommon.lib」を組み込むようにします。「VIGUID」、「VSGUID」を削除します。
      具体例を以下に示します。

    変更前：
(例）KBD8042XTMSJPN2の場合
                 .
                 .
                 .
                 .
		DOSYSGEN=1

		SYNCHRONIZE_DRAIN=1

		DEFFILE=$(_COMMONOAKROOT)\inc\KbdJpn2.def

		!IFDEF DOSYSGEN

		TARGETNAME=Kbd8042Jpn2_lib
		TARGETTYPE=LIBRARY
		TARGETDEFNAME=Kbd8042Jpn2

		WINCETARGETFILE0=$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\$(TARGETDEFNAME).def

		!ELSE

		TARGETNAME=Kbd8042Jpn2
		TARGETTYPE=DYNLINK
		DLLENTRY=DllMain
		TARGETLIBS= \
		    $(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib \
		    $(_SYSGENOAKROOT)\lib\$(_CPUINDPATH)\ceddk.lib

		!ENDIF

		SOURCELIBS=\
		    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\PS2_8042_KbdCommon.lib	\
		    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\LayoutManager.lib	\
		    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\KeybdIst.lib	\
		    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\PS2_AT_00000411.lib \
		    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\NumPadRmp.lib \
		    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\InputLang_0411.lib \


		WINCETARGETFILES=dummy

		SOURCES=\
		    PDDList.cpp \
                          ↓
    変更後：

                 .
                 .
                 .
                 .
		DOSYSGEN=1

		SYNCHRONIZE_DRAIN=1

		DEFFILE=$(_COMMONOAKROOT)\inc\KbdJpn2.def

		TARGETNAME=FidpsceJ
		TARGETTYPE=DYNLINK
		DLLENTRY=DllMain
		TARGETLIBS= \
		    $(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib \
		    $(_SYSGENOAKROOT)\lib\$(_CPUINDPATH)\ceddk.lib

		SOURCELIBS=\
		    Fid_PS2_8042_KbdCommon.lib	\
		    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\LayoutManager.lib	\
		    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\KeybdIst.lib	\
		    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\PS2_AT_00000411.lib \
		    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\NumPadRmp.lib \
		    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\InputLang_0411.lib \


		WINCETARGETFILES=dummy

		SOURCES=\
		    PDDList.cpp \


  (4) 変更した「sources」をWindows CE Platform Builderでコンパイルします。

  (5) 作成したドライバは以下のフォルダに作成されます。
            「%WINCE500%\PUBLIC\COMMON\OAK\TARGET\X86\RETAIL」

      * %WINCE500%はWindowsCEのオペレーティングシステムのインストール先です。

4、補正 
     補正は Windows CE に標準で搭載されている補正ソフト(スタイラス)を使用します。
     詳細はスタイラスのHelpを参照してください。

     *注意*
    ・補正点の有効範囲が狭い場合、「platform.reg」 の
     ｢HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH」
     レジストリキーに以下のような設定を加えてください。

     "MaxCalError"=dword:12

     *パラメータの詳細*
     1）MaxCalError
       この値が大きいほど補正点の有効範囲が広くなります。

    ・補正データの初期値を入力したい場合、「platform.reg」 の
      ｢HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH」
      レジストリキーに「CalibrationData」として書きこむ事が可能です。

5、タッチパネルドライバ使用時の制限事項
  (1) タッチパネルドライバは、i8042キーボードコントローラ経由でタッチパネルと通信します。
      そのため、ドライバが発行したコマンドを、i8042キーボードコントローラを経由してタッチ
      パネルに通知する際に、コマンド変更やデータのビットマスク等の加工処理を行なうシステム
      では使用できません。

  (2) タッチパネルドライバは、PS/2キーボード&マウスドライバを置き換えます。PS/2インタフェ
      ースのマウスポートは、タッチパネル専用の制御ポートとなります。本ポートにマウスを接続
     した場合は、マウスは正常動作いたしません。

  (3) タッチパネル補正データは、WindowsCEおよびWindowsCE標準の補正ソフトが管理します。
      補正データはレジストリ上に保存されますが、WindowsCEをフルリセットした場合は、レジストリ上
      の補正データがクリアされるため、再補正が必要となります。



