追加読書

追加読書

/dev/fb0Linuxが提供する他のファイルを使用したいです。

これは、GUIフレームバッファベースのデバイスファイルをシステム固有の方法でできるだけ低く読み書き/解釈します。

キーボードイベントにアクセスするなど、低レベルの楽しみのためにこれを行いたいと思います。

ベストアンサー1

フレームバッファデバイスのファイルディスクリプタを開きioctl()FBIOGET_FSCREENINFOを使用しますFBIOGET_VSCREENINFO。返された構造では、X解像度、Y解像度、ステップサイズ、およびピクセルあたりのビット数を直接確認できます。

フレームバッファがカーネルの組み込み端末エミュレータと共有され、カーネル仮想端末を表示するために使用される場合は、そのサブシステムとのアクセスをネゴシエートする必要があり、プログラムはこれを実行し、KVTをネゴシエートしながらフレームバッファに文字を描画しないように指示しますする必要があります。別のプロセスに切り替えます。

ピクセルを描くことは、ピクセルアドレス、目的の色、および上記の値を使用して計算を実行し、バイトオフセットと書き込むバイト値を取得する問題です。これはシステムコールを介して行うことができますが、pwrite()フレームバッファデバイスをプロセスのアドレス空間にメモリマッピングし、メモリマッピングされた領域を簡単に突き刺すことでより効率的に実行できます。

これに基づいて構築する方法の完全な本があります。

ioctl()使用中のグラフィックモードで事前提供されたフレームバッファを使用せずに、代わりにモード設定を使用して1つ以上のフレームバッファを動的に生成すると、状況がより複雑になります。

追加読書

おすすめ記事