まず、仮想フレームバッファで動作確認しましょう。次のようにしてqvfbを起動し、メニューの「File」→「Configure」で表示されるダイアログで、フレームバッファのサイズを640×480ドットに設定します。
$ qvfb &
どれかのサンプルコードをコンパイルし、次のように実行すると図4のように表示されます。
$ cd $QTDIR/examples/hello $ make $ ./hello -qws -display QVFb
次に、コンソールでフレームバッファを使っての動作確認です。このためには、OSとQtのいろいろな設定が必要です。以降で順を追って説明しましょう。
Qt/Embeddedに関するドキュメントは、リファレンスマニュアルのリスト4のセクションに集められています。ここにあるドキュメントはQt/Embeddedを扱ううえでの必要事項がまとめられているので、一度は目を通しておきましょう。
「All Overviews and HOWTOs」(3列2段目のOverviewsの囲みの先頭) →2列3段目の「Qt/Embedded」の囲み
「Qt/Embedded environment variables」に、Qt/Embeddedに特有な環境変数の説明があります。とくに重要なのは、次の3つの環境変数です。
QWS_MOUSE_PROTOは、マウスまたはタッチパネルの設定で、リモコン操作機器などを除きほとんどの場合に必要となります。値は、「<マウスタイプ>:<マウスデバイス>」形式で指定します。マウスタイプは自動検出の「Auto」あるいは次の中から選べます。
Bus、IntelliMouse、LinuxTP、MouseMan、 Microsoft、MouseSystems、Qnx、VR41xx、Yopy
Autoはデバイスをスキャンした際に弊害が出る場合があるので、明示的なマウスタイプの指定をお勧めします。例えばPS/2接続のホイールマウスの場合は「IntelliMouse:/dev/mouse」のように設定します。なお、Qt/Embeddedはマウスホイールには対応していません。
QWS_KEYBOARDはキーボードの設定で、キーボードがないターゲット環境では不要です。値は「<キーボードタイプ>:<デバイス>」形式で指定します。キーボードタイプは次の中から選択できます。
Qnx、SL5000、TTY、USB、VR41XX、YOPY
例えばPS/2接続の通常のキーボードでは、「TTY:/dev/tty0」のように設定します。
QWS_DISPLAYはディスプレイの設定です。ターゲット環境では正しく設定すべきですが、連載ではコマンドラインの「-display」オプションで指定するので、この環境変数は設定しません。値は表13から選択できます。
例えば「QVFb」、「LinuxFb」、「LinuxFb:/dev/fb0」のように設定します。
値 | 説明 |
---|---|
LinuxFb | Linuxのフレームバッファ。通常はこれを指定する |
Mach64 | Mach64チップを使ったビデオカード |
Matrox | Matrox製チップを使ったビデオカード |
VNC | VNCサーバー。開発用 |
ShadowFb | 描画時、いったんシャドウフレームバッファに描画データを書き込んでからビデオメモリにコピーするオプション。これがオフになっていると、直接ビデオメモリに書き込む。PCIやAGPスロットにビデオカードを差している場合、システムの仮想メモリへ書き込むときより速度が遅い。このようなケースで本オプションをオンにする |
snap | SciTechのSNAP汎用アクセラレータ |
Transformed | 90度、180度、270度の回転したLinuxのフレームバッファ。それぞれ、「Transformed:Rot90」、「Transformed:Rot180」、「Transformed:Rot270」と設定する |
QnxFb | リアルタイムOS QNXのフレームバッファ |
QVFb | 仮想フレームバッファ。X11上での実行時に指定する |
Repeater | QTimerを使ったリピート処理を行う場合に使用 |
VGA16 | 互換性の高い標準的なチップVGA16互換モード |
Voodoo3 | Voodoo3チップを使ったビデオカード |
表13 QWS_DISPLAYに設定できる値 |
qvfbを起動: qvfbの詳しい使用方法は、第3回で説明。
Qt/Embeddedはマウスホイールには対応していません: Qtの古いバージョンでは、マウスホイールを動かすとハングする。最近のバージョンでは、マウスホイールイベントを無視するように修正されているので問題ない。
Copyright(c)2010 SOFTBANK Creative Inc. All rights reserved.