citron(4) Citron 製赤外線型タッチパネル(CiTouch)用ドライバ

書式

Section "InputDevice"
Identifier "idevname"
Driver "citron"
Option "Device" "devpath"
  ...
EndSection

説明

citron は Citron Infrared Touch デバイス用の入力ドライバである。

citron ドライバはポインタ入力デバイスとして動作し、X サーバのコア ポインタとして使用できる。このデバイスは "RS232" 経由でホストに 接続される。

対応ハードウェア

現時点では以下のタッチパネルに対応している。これらのデバイスは ユーザのタッチ操作を ZPress として受け取ることもできる。
  IRT6I5-V2.x 6.5 インチ赤外線型タッチパネル

IRT10I4-V4.x 10.4 インチ赤外線型タッチパネル

IRT12I1-V2.x 12.1 インチ赤外線型タッチパネル

IRT15I1-V1.x
 15.1 インチ赤外線型タッチパネル

詳細設定

詳細設定の一般的な部分と、全ての入力デバイスで利用できるオプションに ついては XF86Config(5x) を参照すること。 このセクションではこのドライバ固有の詳細設定のみを扱う。 さらに詳しい理解を得るためには、 CTS および各種 IRT のマニュアルを参照すること。これらは Citron のウェブページ( www.citron.de )から PDF 形式で入手できる。直接 Citron から入手することもできる。

ドライバは以下のオプションに対応している( Options 項目):

Option "Device" "devpath"
タッチパネルのデバイスへのパスを指定する。 有効なデバイスは

/dev/ttyS0, /dev/ttyS1, ...
である。 このオプションは必須である。

正しいデバイスを指定することが重要である。 参考: com1 → /dev/ttyS0, com2 → /dev/ttyS1, …の対応関係がある。

Option "ScreenNumber" "screennumber"
citron の入力デバイスとしてスクリーン番号 screennumber を設定する。

デフォルト値: ScreenNumber: "0"

Option "MinX" "value"
Option "MinY" "value"
citron の入力デバイスに対し X, Y の最小値を指定する。

注意: MinX, MinY は MaxX, MaxY よりも小さい値でなければならない。

範囲: "0" - "65535"

デフォルト値: MinX: "0" MinY: "0"

Option "MaxX" "value"
Option "MaxY" "value"
citron の入力デバイスに対し X, Y の最大値を指定する。

注意: MaxX, MaxY は MinX, MinY よりも大きい値でなければならない。

範囲: "0" - "65535"

デフォルト値: MaxX: "65535" MaxY: "65535"

Option "ButtonNumber" "value"
この値は ボタン番号を設定する。この値は xf86PostButton イベントメッセージ 内に返される。

範囲: "0" - "255"

デフォルト値: "1"

Option "ButtonThreshold" "value"
この値は ボタンの閾値 を設定する。 この値はタッチパネルの接触感度を変更する。 大きい値が大きい圧力に対応する。

注意: この機能は圧力感度に対応したハードウェアでしか使えない。

範囲: "0" - "255"

デフォルト値: "20"

Sleep-Mode
IRT が 仮眠モード であり、かつユーザ接触領域が一定時間のあいだ赤外線の遮断を受けなければ、 いわゆる スリープモード が有効になる。 スリープモード は 仮眠モード よりもさらに赤外線のスキャンの頻度を減らす(後述)。この機能により、 赤外線ビームの寿命が延び、また IRT の電力消費も抑えることができる。 ユーザ接触領域での赤外線の遮断が検出されると、 スリープモード は即座に無効となり、ユーザ接触領域は再び最大速度でスキャンされるように なる。 スリープモード が動作している場合、設定されているスキャンレートに応じて、 IRT の応答時間は通常の動作時よりもかなり長くなる。例えば、 スキャンレートを「500ms/スキャン」に設定している場合、 IRT が割り込みを検出して スリープモード をモードを無効にするまでには最大 0.5 秒かかることがある。

Option "SleepMode" "mode"
この値はタッチパネルの スリープモード を設定する。
スリープモード の動作は以下のように設定される:

0x00 有効化、無効化の際にメッセージを出さない

0x01 有効化の際にメッセージを出す

0x02 無効化の際にメッセージを出す

0x03 有効化、無効化の際にメッセージを出す

0x10 スリープモードの状態に応じて GP_OUT 出力を設定する

値: "0" "1" "2" "3" "16"

デフォルト値: "0"

Option "SleepTime" "time"
この値はタッチパネルの スリープまでの待ち時間 を設定する。有効化されるまでの時間を秒数で指定する ("0" = 即座に有効化される, "65535" = 常に無効のまま)。

範囲: "0" - "65535" 秒

デフォルト値: "65535" → 無効化

Option "SleepScan" "scan"
この値はタッチパネルの スキャン時間 を設定する。これは、スリープモード時の 2 つのスキャン操作の時間間隔で ある。この時間間隔はミリ秒単位で設定する。

範囲: "0" - "65535" [ミリ秒]

デフォルト値: "500"

Option "PWMActive" "value"
この値は 通常動作時(スリープモード無効時)における PWM 出力パルスの on/off のレートを決める。 この値を大きくすると、パルスの幅が長くなる。 この出力信号は、 Citron AWBI と組み合わせて、タッチ時にバックライトの明るさを調整するために 利用できる。

範囲: "0" - "255"

デフォルト値: "255" (明るさ最大)

Option "PWMSleep" "value"
この値は スリープモード有効時(→ SleepMode, SleepScan, SleepTime )における PWM 出力パルスの on/off のレートを決める。 この値を大きくすると、パルスの幅が長くなる。

範囲: "0" - "255"

デフォルト値: "255" (明るさ最大)

Option "PWMFreq" "value"
この値は PWM の周波数をヘルツ単位で決める。

範囲: "39" - "9803"

デフォルト値: "9803" (最大周波数)

Option "ClickMode" "mode"
ClickModes を 5 つのモードから選択する。

"1" = ClickMode Enter

このモードでは、赤外線ビームの遮断のたびに毎回 ButtonPress イベント が送られ、遮断が終わると毎回 ButtonRelease イベントが送られる。

"2" = ClickMode Dual

このモードでは、赤外線ビームの遮断があると毎回 Proximity イベントが送 られ、1 回おきに ButtonPress イベントが送られる。遮断が終わると (片方の遮断がまだ有効であっても)ButtonRelease イベントが送られる。

"3" = ClickMode Dual Exit

このモードでは、赤外線ビームの遮断があると毎回 ProximityIn イベントが 送られ、1 回おきに ButtonPress イベントが送られる。遮断が終わっても (片方の遮断がまだ有効であっても)ButtonRelease イベントが送られない。 全ての遮断が終わったときだけ、ButtonRelease イベントが送られ、その後に ProximityOut イベントが送られる。

"4" = ClickMode ZPress

このモードでは、赤外線ビームの遮断があると毎回 ProximityIn イベントが 送られる。 圧力がある一定値を超えた場合だけ ButtonPress イベントが送られる。 圧力がこの一定値より小さくなると ButtonRelease イベントが送られる。 さらに遮断も終わると ProximityOut イベントが送られる。

"5" = ClickMode ZPress Exit

このモードは "Clickmode Dual Exit" モードに似ている。 このモードでは、赤外線ビームの遮断があると毎回 ProximityIn イベントが 送られる。 圧力がある一定値を超えた場合だけ ButtonPress イベントが送られる。 圧力がこの一定値より小さくなると ButtonRelease イベントが送られる。 さらに遮断も終わると、ButtonRelease イベントが送られ、その後に ProximityOut イベントが送られる。

範囲: "1" - "5"

デフォルト値: "1" (ClickMode Enter)

Option "Origin" "value"
この値は画面の 4 隅のいずれかを原点として設定する。 指定できる値は以下の通りである: "0" TOPLEFT: 左上隅を原点とする "1" TOPRIGHT: 右上隅を原点とする "2" BOTTOMRIGHT: 右下隅を原点とする "3" BOTTOMLEFT: 左下隅を原点とする

範囲: "0" - "3"

デフォルト値: "0" (TOPLEFT)

Doze-Mode
ある一定時間ユーザ接触領域で赤外線の遮断が起こらなければ、 いわゆる仮眠モードが自動的に有効となる。 仮眠モードが有効になると、赤外線ビームのスキャンレートが少し落ちる。 これにより、IRT の電力消費が抑えられる。 ユーザ接触領域で赤外線の遮断が検出されると、仮眠モードは即座に解除され、 ユーザ接触領域は最大速度でスキャンされる。

Option "DozeMode" "mode"
この値はタッチパネルの 仮眠モード を設定する。

仮眠モード の動作は以下のように設定される:

0x00 有効化、無効化の際にメッセージを出さない

0x01 有効化の際にメッセージを出す

0x02 無効化の際にメッセージを出す

0x03 有効化、無効化の際にメッセージを出す

0x10 仮眠モードの状態に応じて GP_OUT 出力を設定する

スリープモード が既に GP_OUT を制御している場合は、出力ポートは 利用できない。

値: "0" "1" "2" "3" "16"

デフォルト値: "0"

Option "DozeTime" "time"
この値はタッチパネルの 仮眠までの待ち時間 を設定する。有効化されるまでの時間を秒数で指定する ("0" = 即座に有効化される, "65535" = 常に無効のまま)。

範囲: "0" - "65535" [秒]

デフォルト値: "65535" → 無効化

Option "DozeScan" "scan"
この値はタッチパネルの スキャン時間 を設定する。これは、仮眠モード時の 2 つのスキャン操作の時間間隔で ある。この時間間隔はミリ秒単位で設定する。

範囲: "0" - "65535" [ミリ秒]

デフォルト値: "500"

Option "DeltaX" "value"
この値は、現在のカーソル位置の左右の端に、カーソルが動いていないとみな す仮想的な領域を設定する。 この領域の中では "MotionNotify" イベントは送られない。

範囲 "0" - "255"

デフォルト値 "0" (deltaX なし)

Option "DeltaY" "value"
この値は、現在のカーソル位置の上下の端に、カーソルが動いていないとみな す仮想的な領域を設定する。 この領域の中では "MotionNotify" イベントは送られない。

範囲 "0" - "255"

デフォルト値 "0" (deltaY なし)

Option "Beep" "value"
この値は、"ButtonPress" イベントや "ButtonRelease" イベントで ブザーをならすかどうかを設定する。"0" でブザーが無効になる。 他の値であればブザーは有効になる。

範囲 "0" - "1"

デフォルト値 "0" (無効)

Option "PressVol" "value"
この値は、"ButtonPress" イベントが送られた時の ブザーの音量を設定する(0-100%)。

"0" - "100"

デフォルト値 "100"

Option "PressPitch" "value"
この値は、"ButtonPress" イベントが送られた時の 音の高さを設定する。

範囲 "0" - "3000"

デフォルト値 "880"

Option "PressDur" "value"
この値は、"ButtonPress" イベントが送られた時の 音の長さをミリ秒単位で設定する。

範囲 "0" - "255"

デフォルト値 "15"

Option "ReleaseVol" "value"
この値は、"ButtonRelease" イベントが送られた時の ブザーの音量を設定する(0-100%)。

"0" - "100"

デフォルト値 "100"

Option "ReleasePitch" "value"
この値は、"ButtonRelease" イベントが送られた時の 音の高さを設定する。

範囲 "0" - "3000"

デフォルト値 "1200"

Option "ReleseDur" "value"
この値は、"ButtonRelease" イベントが送られた時の 音の長さをミリ秒単位で設定する。

範囲 "0" - "255"

デフォルト値 "10"

Option "BeamTimeout" "value"
赤外線ビームが故障していると判断し、ビームを止め、 座標評価の対象外とするまでに待つ時間の長さを決める(秒単位)。

範囲 "0" - "65535"

デフォルト値 "30" (30 秒)

Option "TouchTime" "value"
有効な赤外線遮断の最小時間を 10 ミリ秒きざみで指定する。 遮断を有効なものとしてホストコンピュータにレポートさせるためには、 少なくともここで宣言した時間は同じ位置で遮断が起こる必要がある。

範囲 "0" - "255"

デフォルト値 "0" (=6.5 ミリ秒)

Option "EnterCount" "count"
スキップする「入力レポート」の数を指定する。 レポートは約 20 ミリ秒ごとに送られる。

範囲 "0" - "31"

デフォルト値 "3" (メッセージを3つスキップ = 60 ミリ秒)

Option "ZEnterCount" "count"
圧力感知モードにおいてスキップする「入力レポート」の数を指定する。 レポートは約 20 ミリ秒ごとに送られる。

範囲: "0" - "31"

デフォルト値: "1" (メッセージを 1 つスキップ = 20 ミリ秒)

Option "DualCount" "count"
スキップする「二重タッチエラー」の数を指定する。 レポートは約 20 ミリ秒ごとに送られる。 このオプションは "ZPress" モードと "ZPress Exit" モードでしか 利用できない。

範囲 "0" - "31"

デフォルト値 "2" (メッセージを2つスキップ = 40 ミリ秒)

作者

2000-2001 - Citron GmbH ([email protected]) により作成。