    Sony プログラマブル I/O コントロールデバイスドライバ README
    -----------------------------------------------------------

      Copyright (C) 2001-2003 Stelian Pop <stelian@popies.net>
      Copyright (C) 2001-2002 Alcove <www.alcove.com>
      Copyright (C) 2001 Michael Ashley <m.ashley@unsw.edu.au>
      Copyright (C) 2001 Junichi Morita <jun1m@mars.dti.ne.jp>
      Copyright (C) 2000 Takaya Kinjo <t-kinjo@tc4.so-net.ne.jp>
      Copyright (C) 2000 Andrew Tridgell <tridge@samba.org>

このドライバにより、多くの Sony VAIO ラップトップに見られる Sony プロ
グラマブル I/O コントロールデバイスにアクセスすることができます。幾つ
かの新しい Sony ラップトップ (新しい FX シリーズのラップトップに限ら
れるようです。少なくとも FX501 と FX702) には、sonypi デバイスが存在
しないので、このドライバではまったくサポートされません。

ドライバは、これらのラップトップが生成する下記ような幾つかのイベント
へのアクセスを (ユーザ空間のユーティリティを経由させるかたちで) 提供
します。

        - ジョグダイアルイベント (VAIO の側面にある小さなホイール)
        - キャプチャボタンイベント (VAIO PictureBook シリーズのみ)
        - ファンクションキー
        - Bluetooth ボタン (C1VR モデルのみ)
        - プログラマブルキー、バック、ヘルプ、ズーム、サムフレーズ
          ボタン等 (これらがある場合)

これらのイベント (linux/sonypi.h を参照してください) は、キャラクタ
デバイスノード /dev/sonypi (メジャー番号 10, マイナー番号は自動割当て
させるか、オプションにより指定します) を使って poll することができます。

ジョグダイアルの動きをマウスホイールイベントへと変換するシンプルな
デーモンを http://popies.net/sonypi/ からダウンロードすることができ
ます。

このドライバはまた、LCD スクリーンの明るさを設定したり、バッテリー
残量情報を問い合わせたりする ioctl コマンドを幾つかサポートします
(将来コマンドが追加される可能性もあります)。

このドライバは、PictureBook シリーズのカメラ制御情報 (明るさ、コント
ラスト等) をセットするのに使用することもでき、Motion Eye カメラ用の
video4linux ドライバで使われています。

このドライバが、Windows ドライバと ACPI BIOS をリバース・エンジニア
リングして作成されたことに注意してください。というのも、Sony はラップ
トップのプログラミング仕様を何一つ公開することに合意してくれないから
です。もしも誰かが公開するように Sony を説得するのならば、私に連絡を
ください。


ドライバオプション
------------------

モジュールとしてドライバがコンパイルされているならば /etc/modprobe.conf
ファイルにオプションを加えるか、または、次のカーネルコマンドラインを
(ブートローダに) 与えることにより、sonypi ドライバに幾つかのオプション
を渡すことができます。

    sonypi=minor[,verbose[,fnkeyinit[,camera[,compat[,mask[,useinput]]]]]]

        minor:          misc デバイス /dev/sonypi のマイナー番号。
                        デフォルトは -1 (自動割当て。/proc/misc
                        またはカーネルログを見てください).

        camera:         PictureBook シリーズの VAIO (Motion Eye
                        カメラ内蔵) の場合、ドライバからカメラに
                        アクセスさせるため、このパラメータに 1 を
                        設定してください。

        fnkeyinit:      幾つかの VAIO (C1VE, C1VR 等) では、このパラ
                        メータを 1 にセットしないと、ファンクション
                        キーイベントが有効になりません。実際に必要で
                        ある場合を除き、このオプションは使わないで
                        ください。VAIO モデルによっては、このオプ
                        ションをうまく扱えません。このオプションは、
                        カーネルが ACPI サポートを外してコンパイル
                        されている場合のみ使用できます (というのは、
                        ACPI と競合してしまうからであり、また、既に
                        ACPI が有効化されている場合は、いずれにしても
                        必要とされるものではありません)。
                        
        verbose:        1 にセットすると、sonypi デバイスから受信した
                        未知のイベントを表示します。
                        2 にセットすると、sonypi デバイスから受信した
                        全てのイベントを表示します。

        compat:         sonypi イベントを有効にする互換コードを使用
                        します。以前 (バージョン 1.5 より前) はドラ
                        イバが機能していたのに、もう動かなくなって
                        しまったという場合、このオプションを追加し、
                        著者に報告してください。

        mask:           ユーザにどのイベントを報告するかをドライバに
                        指示するイベントマスクです。このパラメータは、
                        他の VAIO モデルで使用されていた値をハード
                        ウェアが再利用している VAIO モデルで必要と
                        なります (ジョグダイアルは無いけれども、プロ
                        グラマブルキーイベント用にジョグダイアルイベ
                        ントを再利用している FX シリーズなど)。デフォ
                        ルトのイベントマスクは 0xffffffff にセットされ、
                        これは、可能性のある全てのイベントが試される
                        ことを意味します。独自のイベントマスクを構築
                        する際、次のビットを使用できます (drivers/char/
                        sonypi.h より)。

                                SONYPI_JOGGER_MASK          0x0001
                                SONYPI_CAPTURE_MASK         0x0002
                                SONYPI_FNKEY_MASK           0x0004
                                SONYPI_BLUETOOTH_MASK       0x0008
                                SONYPI_PKEY_MASK            0x0010
                                SONYPI_BACK_MASK            0x0020
                                SONYPI_HELP_MASK            0x0040
                                SONYPI_LID_MASK             0x0080
                                SONYPI_ZOOM_MASK            0x0100
                                SONYPI_THUMBPHRASE_MASK     0x0200
                                SONYPI_MEYE_MASK            0x0400
                                SONYPI_MEMORYSTICK_MASK     0x0800
                                SONYPI_BATTERY_MASK         0x1000

        useinput:       セットされている場合 (これはデフォルトです)、
                        ジョグダイアルイベントはマウスホイールイベ
                        ントとして入力サブシステムに転送されます。


モジュールの使用
----------------

使用時に sonypi モジュールを自動的にロードするには、次の行を /etc/
modprobe.conf ファイルに加えます。

        alias char-major-10-250 sonypi
        options sonypi minor=250

ここでは、sonypi デバイスにマイナー番号 250 を使用すると仮定しています。

        # mknod /dev/sonypi c 10 250


バグ
----

        - このドライバが、ラップトップをスリープ状態にしたり、外部
          モニタのオンオフを切り替えたりする、BIOS が管理するファンク
          ションキーを無効にしてしまうと、複数のユーザが報告してきて
          います。回避策はまだありません。というのは、このドライバは、
          ACPI マネジメントを有効にすることにより、これらのキー用の
          全ての APM マネジメントを無効にするからです (ACPI のコア
          部分はまだ完成していません)。ファンクションキーが動作する
          ラップトップをお持ちで、それらのキーを使い続けたいならば、
          このドライバは使用しないでください。

        - 何名かのユーザは、fnkeyinit パラメータを指定してドライバを
          使うとラップトップが遅くなる (dhrystone でテスト) と報告して
          くれています。私はこの問題を自分のラップトップで再現させる
          ことができません。また、全てのユーザがこの問題を抱えている
          わけではありません。この問題は、fnkeyinit パラメータが ACPI
          モードを有効にすることにより (ただし、プロセッサ速度操作の
          ような追加の ACPI 制御なしで)、発生します。お手元のラップ
          トップで機能するようなら、APM のかわりに ACPI を使用して
          ください。
          
        - 全ての開発がリバース・エンジニアリングによりおこなわれたので、
          このドライバがあなたのラップトップをクラッシュさせないという
          保証は、まったくありません。永久に。

------------------------------------------------------------
翻訳団体： JF プロジェクト < http://www.linux.or.jp/JF/ >
  翻訳日： 2004/05/23
  翻訳者： 川崎 貴彦 <takahiko(a)hakubi.co.jp>
    校正： Seiji Kaneko <skaneko(a)a2.mbn.or.jp>
