Wayland入门教程04:开发系列索引地址:Wayland入门系列教程索引 本部分介绍如何在现有的Wayland环境下如何开发Wayland客户端。 内容 Wayland入门教程04.01:调试工具 Wayland入门教程04.02:运行测试程序 Wayland入门教程04.03:xserver Wayland入门教程04.04:hello world Wayland入门教程04.05:连接server Wayland入门 2024-03-31 Wayland #Wayland #服务端 #客户端
Wayland入门教程04.15:键盘输入系列索引地址:Wayland入门教程索引 上一篇:Wayland入门教程04.14:窗口背景 上一篇介绍了鼠标的相关操作,本文介绍键盘的相关操作。 使用的是标准的键盘库xkb,官网为:xkb。 先把上一篇的鼠标操作的部分复制过来。 注册并绑定键盘相关的内容 12345678910111213static void seat_capabilities(void *data, struct wl_se 2021-09-30 Wayland #Wayland #EGL #键盘 #xkb
Wayland入门教程04.14:窗口背景系列索引地址:Wayland入门教程索引 上一篇:Wayland入门教程04.13:窗口操作 之前介绍过个性化鼠标图标,本文介绍个性化窗口背景。 从之前的文章可以了解到,窗口颜色的设置就是将像素值直接赋值给某个点。 那么在使用背景图之前我们需要把图片解码为rgb原始数据。 图片解码 用来测试的图片为 使用ffmpeg解码为rgb格式数据 1ffmpeg -i 1.png -pix_fmt ar 2021-11-06 Wayland #Wayland #Linux #EGL #FFmpeg #窗口
Wayland入门教程04.13:窗口操作系列索引地址:Wayland入门教程索引 上一篇:Wayland入门教程04.12:个性化鼠标 在上一篇文章中,我们介绍的鼠标的基本操作,但是会发现已实现的操作只能捕获鼠标的位置和进入离开窗口状态,本文来实现捕获鼠标的点击状态。 先把第9篇的基本窗口的代码拿过来,因为只是实现功能,那么其他的功能没有最好。 在main()函数中,可以发现 12345678910111213shell_surface 2021-11-06 Wayland #Wayland #Linux #输入 #EGL #窗口
Wayland入门教程04.12:个性化鼠标系列索引地址:Wayland入门教程索引 上一篇:Wayland入门教程04.11:鼠标操作 运行一下上一篇的鼠标操作程序,会发现,如果之前鼠标是箭头那么进入wayland程序窗口后就是箭头,如果进入前是输入模式那么进入wayland程序窗口后也是输入模式鼠标图标。 现在我们来修改一下在wayland窗口中的鼠标图标 纯色 先来试试纯色,以下在上一篇鼠标操作的基础上修改 先将14的代码复制过来。 2022-04-23 Wayland #Wayland #Linux #鼠标 #EGL #FFmpeg
Wayland入门教程04.11:鼠标操作系列索引地址:Wayland入门教程索引 上一篇:Wayland入门教程04.10:输入设备管理器 之前文章中我们创建了一个空白窗口,接下来我们处理一下窗口上的鼠标操作。 先把新建窗口的代码复制过来。然后把seat的部分代码复制过来,在注册函数中添加seat处理部分。 Wayland只提供了wl_pointer_listener,要想获取鼠标相关的消息需要首先设置监听器。 wl_pointer的消 2021-09-30 Wayland #Wayland #Linux #输入 #鼠标 #EGL
Wayland入门教程04.10:输入设备管理器系列索引地址:Wayland入门教程索引 上一篇:Wayland入门教程04.09:第一个窗口 在Wayland入门教程04.06:获取全局对象中我们介绍了Wayland全局对象: wl_display:表示与服务器的连接。 wl_registry:全局对象注册表,全局对象需要通过它获取。 wl_compositor:窗口合成器,也是服务器。 wl_shm:内存管理器,与窗口合成器共享内存用。 2021-09-30 Wayland #Wayland #Linux #设备 #XDG
Wayland入门教程04.09:第一个窗口系列索引地址:Wayland入门教程索引 上一篇:Wayland入门教程04.08:Protocol说明 本文介绍如何显示一个窗口。 Wayland窗口绘制有两种方法: 共享内存方式(SHM) EGL 共享内存 在添加注册函数中添加一个shm部分的处理 12345678910111213141516171819static voidglobal_registry_handle 2021-09-30 Wayland #Wayland #Linux #EGL #窗口 #SHM #共享内存
Wayland入门教程04.08:Protocol说明系列索引地址:Wayland入门教程索引 上一篇:Wayland入门教程04.07:shell stable协议 在上一篇Wayland入门教程04.07:shell stable协议中,我们操作的界面是客户端,鼠标点击、窗口移动、窗口大小、键盘输入都是由客户端捕获,然后通过协议发送给服务端。这个协议Wayland由提供默认的,如果默认的满足不了需求,可以自定义协议。协议格式为XML,使用wayl 2024-03-02 Wayland #Wayland #Linux #XDG #EGL
Wayland入门教程04.07:shell stable协议系列索引地址:Wayland入门教程索引 上一篇:Wayland入门教程04.06:获取全局对象 我们操作的界面是客户端,鼠标点击、窗口移动、窗口大小、键盘输入都是由客户端捕获,然后通过协议发送给服务端。这个协议Wayland由提供默认的,如果默认的满足不了需求,可以自定义协议。协议格式为XML,使用wayland-scanner程序转换为代码。 之前的v1.0文章中使用的是wayland默认的w 2021-11-12 Wayland #Wayland #Linux #XDG #EGL