问题标签 [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.

0 投票
1 回答
3390 浏览

c++ - Xlib:XGetWindowAttributes 总是返回 1x1?

我想要当前聚焦窗口的宽度和高度。窗口的选择就像一个魅力,而高度和宽度总是返回 1。

这不是“真正的”窗口,而是当前活动的组件(如文本框或按钮?)那么为什么它的大小是 1x1 呢?如果是这种情况,我如何获得包含此控件的应用程序的主窗口?意思是……有点像顶层窗口,除了根窗口之外的最顶层窗口。

PS:不知道是不是真的重要;我使用 Ubuntu 10.04 32 位和 64 位。

0 投票
1 回答
359 浏览

3d - 如何构建新的 X11 3D 驱动程序?

我想知道为什么mali 3D arm gfx 芯片没有X11 驱动程序。我研究了为可用的内核驱动程序构建 X11 驱动程序,但找不到任何有关如何构建 X11 3D 驱动程序的文档。关于如何构建 DRI 和 Mesa 等项目的文档很少,但没有关于如何贡献或扩展这些项目的文档。

有没有关于如何开始为 Xorg 开发硬件加速 3D 驱动程序的文档?

0 投票
2 回答
3244 浏览

c - X11 KeySyms:切换模式、KeySym 组和 XK_ISO_Level3_Shift

我正在将 Xlib 用于一个项目,并且我正在尝试获取相对于按下的键的 KeySym。

我得到了与按下的键、键盘修饰符和键盘指示器相关的 KeyCode。我指的是这个页面以了解如何检索正确的密钥,但它必须是过时的或什么的,因为我的 X 的行为不像那个页面所说的那样。

我有一些问题:

  1. 什么是模式开关?如何查看我的模式开关是什么键以及如何设置它?(通过 Xlib 函数或通过命令,都是一样的)。

  2. 该页面显示与 KeyCode 关联的前 4 个 KeySym(使用 找到XGetKeyboardMapping,或通过xmodmap -pk命令显示)分为两组。MODE SWITCH 在组之间切换,组内的第一个或第二个 KeySym 是根据修饰符(即 shift 键)或指示符(即 caps lock)选择的。但是在我的 XI 上可以看到,如果按下 shift,我会切换到第三个 KeySym,而不是第二个。

  3. 在许多欧洲布局中,AltGr 键绑定到 KeySym XS_ISO_Level3_Shift,它不属于任何键盘修饰符(即 、、shiftlockcontrolmod1和)。当这样被按下时,与 KeyCode 关联的第五个 KeySym 被选中。为什么?我在哪里可以找到一些关于这个和其他实际使用的键符的信息,但在 Xlib 手册中没有记录?mod2mod3mod4mod5XS_ISO_Level3_ShiftXS_ISO_Level3_Shift

0 投票
3 回答
1837 浏览

c++ - 向 X 发送程序化鼠标事件

X对 Linux 上的开发有点陌生。我想知道以编程方式发送光标事件的最佳实践(或资源链接)是什么。将光标移动到标准化 (X,Y),创建鼠标右键/左键单击等。理想情况下,这将是C/C++.

我玩过 Qt QCursor,但我想知道实现这一点的原始方法。

0 投票
1 回答
4241 浏览

c - 将 xlib XImage 保存为 PNG

我正在使用 xlib。

我有一个 XImage 结构,其中填充了来自 XGetImage() 调用的信息。有没有一种流行的方法可以从 XImage 获得更有意义的东西.. 即 PNG?

我看过 libpng,但几乎每个人都听说它是一头难以驯服的野兽。这仍然是推荐的路径吗?

0 投票
1 回答
335 浏览

xorg - Xserver 模块的版本信息

我正在尝试找到一个工具来从 Xserver 模块中提取模块版本信息(模块记录的一部分)。例如,在 Xorg 日志中,我可以在 Xorg.0.log 文件中看到 librecord 模块的以下信息...

是否有工具可以让我轻松提取上述信息。有时您可以在模块上使用 modinfo,它会有版本信息,但这并不总是有效。我现在知道的唯一一致的方法是解析 xorg 日志文件。谢谢。

0 投票
2 回答
1687 浏览

c++ - 如何使用 X11 获取当前光标位于其顶部的窗口?

如何在 X11 服务器中检索光标位于其顶部的顶部窗口?

窗口不必是“活动的”(选中、打开等等),它只需要让光标悬浮在它上面。

提前致谢。

0 投票
3 回答
296 浏览

c - 打开宏定义:tdfx_span.c:左值需要作为赋值的左操作数

我正在尝试在 Ubuntu maverick 下编译 X11R6-7.0,但遇到了一些我无法解决的奇怪编译错误。

我需要 X11R6-7.0,因为 ati 催化剂驱动程序不支持更新的 xorg 和 oss 驱动程序不支持我的硬件的 3d 加速。

有谁知道这个错误信息是什么意思?我知道一些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 结构体

0 投票
1 回答
1118 浏览

c - 连接到 X 服务器

我正在尝试使用 X Window System Protocol 文档编写自己的程序,该程序连接到不使用 Xlib 或 XCB 的本地 X 服务器。将连接数据写入服务器套接字后,我似乎无法读回服务器的回复,因为读取功能阻塞。

我的代码中缺少什么?连接和写入函数返回 0。

0 投票
1 回答
4616 浏览

linux - 如何在 Linux 的帧缓冲区中定义不支持的屏幕分辨率?

我有一台液晶显示器,它支持 30 到 82 kHz 之间的 hsync 和 50-85 kHz 之间的 vsync。支持的最低分辨率为 640x350。我想以 400x240 分辨率运行它。我想我需要在 modedb.c 中编辑 modedb 结构,而我刚刚弄清楚了这些字段需要什么:

我用最大 vsync (85 kHz) 运行 cvt 并得到一个像这样的模式行:

我用计算器计算了 hsync 和 vsync,hsync 为 21.17 kHz,对于这个显示器来说太低了。

有没有办法解决这个问题?我想测试某些东西在该分辨率下是如何工作的,所以即使通过在 800x480 中运行它来欺骗监视器(这将产生可接受的 hsync 和 vsync)也是可以的,只要 X 和它上面的应用程序像它一样处理它400x240。