返回

文章详情

Wayland中的多鼠标光标

Hacker News2026年7月29日 00:59

我一直对将多个鼠标连接到一台计算机的想法很感兴趣,然后在一个桌面环境中拥有多个鼠标光标!我花了三周的时间调查目前在Linux和Wayland上的支持情况。我想告诉你我发现了什么!结果令人惊讶地酷。除了这篇博客文章,我还发布了一些小工具和补丁库,增加或改善“多座席”支持。但这个难题的许多部分仍然不完整或缺失。在博客文章中,我用📝表情标记了一些“开放项目想法”。通过发布这篇文章,我希望找到有兴趣一起探索和扩展这个领域的人。如果你是这样的人,请联系我!(是的,我默认的鼠标光标是一只乌龟。)你为什么想要这个?我承认这是一种稍微晦涩的使用计算机方式。但听我说:这对双人编程很方便:一个人可以在一个窗口中修复一个错误,而另一个人则浏览文档!这对游戏来说很有趣!使用多个控制器已经是常态,为什么不能多个鼠标呢?这种多人计算风格自然地促进了应用程序内的协作,无需复杂的同步算法。总结这是一个关于在各种软件中当前“多座席”支持程度的概述:核心Wayland协议 5 ★★★★★ 深度集成!Weston 3 ★★★☆☆ 没有简单的方法动态重新配置座席。sway 4 ★★★★☆ 无法从座席中分离设备(#3491)。niri 1 ★☆☆☆☆ 目前还没有支持(#3159)。River 4 ★★★★☆ 对ext-transient-seat-v1没有支持(#1497)。GTK 4 ★★★★☆ 在应用程序运行时不会注册新座席。SDL 3 ★★★☆☆ 在绝对鼠标模式下没有座席信息(#16027),座席信息仅通过设备名称获取。wayvnc 5 ★★★★★ 支持ext-transient-seat-v1。目录术语逻辑座席物理座席Wayland协议Wayland合成器Weston sway River niri图形库GTK SDL LÖVE应用程序多座席GTK文本小部件LÖVE物理游戏场终端仿真器浏览器VNC设置术语在这篇文章中,我会频繁使用“座席”这个术语。它描述了一组在一起的输入设备,由同一个人使用。例如,你可以在一台计算机前有两个人,每个人都有自己的鼠标和键盘。在这种设置中,将有两个“座席”,每个座席有一个鼠标和一个键盘:seat0 笔记本触摸板 笔记本键盘 seat1 外部鼠标 外部键盘 不过要小心—人们对这个术语有两种不同的用法:逻辑座席我感兴趣的座席类型有时称为“逻辑座席”。这意味着多个人在一台计算机前,每个人都有自己的鼠标/键盘,但他们控制的是同一桌面环境。也就是说,桌面上显示多个鼠标光标!人们可以“交接”窗口给对方,在一个白板应用中共同绘制,或在同一软件中直接协作。(并不是说所有这些事情现在就能实现,但,你知道,概念上是可行的!)我认为可以有一个更好的术语来描述这个概念—在这篇文章的标题中,我选择了“多人游戏”,以明确这主要是关于多个合作的人。我也见过“多光标”或“多指针”(没有键盘组件)。物理座席“座席”一词也可以指其他东西,称为“物理座席”:这指代的是多个有人独立设置的人的设置:一个屏幕,一个键盘,一个鼠标。他们并不真正相互互动,但输入和输出设备连接到一台计算机。这就是维基百科在多座席配置文章中提到的。但是这不是这篇文章的主题。如果你知道更多关于Linux当前支持状态的信息,我鼓励你写自己的博文!概述我只调查了Linux上的情况,特别是在Wayland(一个现代图形显示系统)上。X11(X窗口系统)有自己的多座席扩展,叫做Multi-Pointer X(MPX),我几年前对此也非常喜欢。但是此时,我已经在日常计算使用中切换到了Wayland合成器。而且事实证明,Wayland对多个座席有很好的内置支持!我将讨论如何设置多用户系统,涉及到哪些Wayland协议,以及当前的应用程序支持情况。棘手的部分是,必须在每一层都存在多座席支持:Wayland合成器(通常包含窗口管理器)。Wayland协议。图形应用程序使用的GUI库。图形程序本身。可选的,如果你想让人们远程与您协作,您用来让他们连接的程序(如VNC服务器)也需要支持多座席。我稍后将展示如何设置…

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡