問題タブ [xorg]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Xlib: XGetWindowAttributes は常に 1x1 を返しますか?
現在フォーカスされているウィンドウの幅と高さが欲しいです。ウィンドウの選択は魅力のように機能しますが、高さと幅は常に1 を返します。
これは「実際の」ウィンドウではなく、現在アクティブなコンポーネント (テキスト ボックスやボタンなど) ですか? とにかく 1x1 のサイズになるのはなぜですか? この場合、このコントロールを含むアプリケーションのメイン ウィンドウを取得するにはどうすればよいですか? 意味...トップレベルのウィンドウ、ルートウィンドウを除く最上位のウィンドウ。
PS: 本当に重要かどうかはわかりません。Ubuntu 10.04 32 および 64 ビットを使用しています。
3d - 新しい X11 3D ドライバーをビルドするにはどうすればよいですか?
なぜmali 3D arm gfxチップ用のX11ドライバーがないのか疑問に思っていました. 利用可能なカーネル ドライバー用の X11 ドライバーのビルドを調べましたが、X11 3D ドライバーのビルド方法に関するドキュメントは見つかりませんでした。DRI や Mesa などのプロジェクトの構築方法に関するドキュメントは最小限しかありませんが、それらのプロジェクトへの貢献や拡張方法に関するドキュメントはありません。
Xorg 用のハードウェア アクセラレーション 3D ドライバーの開発を開始する方法に関するドキュメントはありますか?
c - X11 KeySyms: スイッチ モード、KeySym グループ、および XK_ISO_Level3_Shift
プロジェクトに Xlib を使用しており、押されたキーに関連する KeySym を取得しようとしています。
押されたキー、キーボード修飾子、およびキーボード インジケーターに関連する KeyCode を取得しました。正しいキーを取得する方法を理解するためにこのページを参照していますが、X がそのページのように動作しないため、古いキーか何かである必要があります。
いくつか質問があります:
モードスイッチとは?MODE SWITCH のキーを確認するにはどうすればよいですか? また、どのように設定すればよいですか? (Xlib 関数経由でもコマンド経由でも同じです)。
そのページには、KeyCode に関連付けられた最初の 4 つの KeySyms ( で検出さ
XGetKeyboardMapping
れるか、コマンドで表示されるxmodmap -pk
) が 2 つのグループに分けられると書かれています。MODE SWITCH はグループ間を切り替えます。グループ内では、最初または 2 番目の KeySym が、修飾子 (つまり、シフト キー) またはインジケーター (つまり、caps lock) に従って選択されます。しかし、私の XI では、Shift キーを押すと、2 番目の KeySym ではなく 3 番目の KeySym に切り替わることがわかります。多くのヨーロッパのレイアウトでは、AltGr キーは KeySym にバインドされており、これはどのキーボード修飾子 (つまり、、、、、、、、および)に
XS_ISO_Level3_Shift
も属していません。これを押すと、KeyCode に関連付けられた 5 番目の KeySym が選択されます。なんで?これに関する情報や、実際に使用されているが Xlib マニュアルには記載されていない他のキーシムに関する情報はどこにありますか?shift
lock
control
mod1
mod2
mod3
mod4
mod5
XS_ISO_Level3_Shift
XS_ISO_Level3_Shift
c++ - プログラマティックマウスイベントをXに送信する
X
Linuxでの開発は少し新しいです。プログラムでカーソルイベントを送信するためのベストプラクティス(またはリソースへのリンク)は何ですか?カーソルを正規化された(X、Y)に移動したり、マウスの右/左クリックを作成したりします。理想的には、これはC/C++
。
私はQtで遊んだことがありますが、QCursor
これを達成するための生の方法を知りたいです。
c - xlibXImageをPNGに保存する
私はxlibを使用しています。
XGetImage()呼び出しからの情報で満たされたXImage構造があります。XImageからもっと意味のあるもの、つまりPNGに移行するための一般的な方法はありますか?
私はlibpngを見てきましたが、ほとんどの人から、飼いならすのは獣だと聞いています。これはまだ推奨される方法ですか?
xorg - Xserverモジュールのバージョン情報
Xserverモジュールからモジュールバージョン情報(モジュールレコードの一部)を抽出するツールを見つけようとしています。たとえば、Xorgログでは、Xorg.0.logファイルのlibrecordモジュールに関する次の情報を確認できます...
前述の情報を簡単に抽出できるツールはありますか?モジュールでmodinfoを使用でき、バージョン情報が含まれている場合もありますが、常に機能するとは限りません。私が今知っている唯一の一貫した方法は、xorgログファイルを解析することです。ありがとう。
c++ - 現在 X11 でカーソルが上にあるウィンドウを取得するにはどうすればよいですか?
X11サーバーでカーソルが上にあるトップウィンドウを取得するにはどうすればよいですか?
ウィンドウは「アクティブ」(選択されている、開いているなど) である必要はありません。ウィンドウの上にカーソルが浮かんでいる必要があります。
前もって感謝します。
c - マクロ定義を開く:tdfx_span.c:代入の左オペランドとして左辺値が必要
Ubuntuの異端児の下でX11R6-7.0をコンパイルしようとしていますが、自分で解決できない奇妙なコンパイルエラーが発生しました。
ati Catalystドライバーは新しいxorgをサポートしておらず、ossドライバーはハードウェアの3Dアクセラレーションをサポートしていないため、X11R6-7.0が必要でした。
このエラーメッセージの意味を知っている人はいますか?私はいくつかのCを知っていますが、少し混乱しました。GET_FB_DATA
マクロが返されたのですかNULL
、それともメソッド/プロパティが設定されていないのですか?
この時点でプリプロセッサ定義を「デバッグ」する方法についてのさらなる洞察は素晴らしいでしょう。で役立つものは何も印刷できないと思います#error
。
私が得るエラー:
tdfx_span.c:関数'tdfxDDWriteDepthPixels':
tdfx_span.c:976:エラー:代入の左オペランドとして左辺値が必要
tdfx_span.c:1008:エラー:代入の左オペランドとして左辺値
tdfx_span.c:関数' write_stencil_pixels':
tdfx_span.c:1242:エラー:代入の左オペランドとして左辺値が必要です
コード:
そして相対マクロ:
LFBParameters構造体
c - Xサーバーへの接続
X Window System Protocolのドキュメントを使用して、XlibまたはXCBを使用しないローカルXサーバーに接続する独自のプログラムを作成しようとしています。サーバーソケットに接続データを書き込んだ後、読み取り機能がブロックされるため、サーバーの応答を読み戻すことができないようです。
私のコードには何が欠けていますか?接続関数と書き込み関数は0を返します。
linux - Linux のフレームバッファでサポートされていない画面解像度を定義するには?
30 ~ 82 kHz の水平同期と 50 ~ 85 kHz の垂直同期をサポートする LCD モニターを使用しています。サポートされている最低解像度は 640x350 です。400x240 の解像度で実行したい。私は、modedb.c の modedb 構造を編集する必要があると思います。そして、フィールドに必要なものを見つけました:
最大 vsync (85 kHz) で cvt を実行したところ、次のようなモードラインが得られました。
電卓を使用してhsync と vsync を計算すると、hsync は 21.17 kHz になり、このモニターには低すぎます。
これを回避する方法はありますか?その解像度で特定のことがどのように機能するかをテストしたいので、たとえば 800x480 で実行してモニターをごまかしても (これにより許容可能な hsync と vsync が生成されます)、X とその上のアプリケーションがそれを処理する限り問題ありません。 400x240。