news 2026/8/20 16:32:35

三套键鼠共用一个屏幕?Universal Split Screen 本地分屏实测:从拿到源码到顺利开黑

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
三套键鼠共用一个屏幕?Universal Split Screen 本地分屏实测:从拿到源码到顺利开黑

三套键鼠共用一个屏幕?Universal Split Screen 本地分屏实测:从拿到源码到顺利开黑

【免费下载链接】UniversalSplitScreenSplit screen multiplayer for any game with multiple keyboards, mice and controllers.项目地址: https://gitcode.com/gh_mirrors/un/UniversalSplitScreen

上个周末,两个朋友拎着手柄和键盘来我家,点名要一起玩《泰拉瑞亚》。问题来了:家里只有一台电脑,三个人,三套输入设备,游戏却只认一套键鼠。那晚我折腾到凌晨,也由此摸清了一件事——想在一台 PC 上实现本地多人分屏Universal Split Screen是当下最省心的开源解法。这篇就讲讲我怎么从零把它跑起来,以及过程中踩过的坑。

本地多人为什么这么难

先说清楚痛点在哪。市面上绝大多数 PC 游戏在设计时就默认"一台电脑 = 一个人":

  • 键盘输入只有一个,鼠标指针只有一个
  • 游戏引擎通常只接受一个主输入焦点
  • 很多游戏对窗口化运行都有各种限制,更别提同时开多个实例

所以传统的"本地多人"玩法往往很憋屈:要么一人玩、其他人围观,要么几个人挤在一套键鼠前轮流操作。想在一台电脑上让每个人都握住自己的键鼠、各玩各的角色,游戏本身是做不到的,必须借助外部工具来"架空"它的输入层。

Universal Split Screen 做了什么

简单说,它做的事可以概括成两句话:

  1. 把窗口切成小块,让每个玩家各占一席,支持同屏分割,也支持多显示器各显各的;
  2. 把输入按设备隔离,你按下键盘 A,只有属于你这套键鼠的游戏窗口能收到,鼠标同理,手柄也是独立通道。

换句话说,它不是在游戏里打补丁,而是站在系统层面帮你"翻译"输入信号——这正是它号称"any game"都能用的底气。真正有意思的是它连游戏的窗口焦点都做了处理:普通游戏往往要求窗口必须在前台才能收到按键,它通过注入钩子把这类限制一起绕开了,细节都写在UniversalSplitScreen/目录下的各个子模块里。

上手第一步:把项目跑起来

项目本体是 Visual Studio 的解决方案,获取方式很简单:

git clone https://gitcode.com/gh_mirrors/un/UniversalSplitScreen

然后打开根目录的UniversalSplitScreen.sln。需要说明的是,整套工具不是单文件程序,而是由几个模块协作的:

  • UniversalSplitScreen:主程序,负责界面和分屏调度
  • InjectorLoader:把钩子注入游戏进程的加载器
  • HooksCPPStartupHook:负责实际拦截和转发输入的 DLL
  • SourceEngineUnlocker:专为 Source 引擎游戏准备的解锁模块

编译时记得在 Visual Studio 里用Batch Build,一次性把全部项目编出来。编译完把各个 DLL 按项目里的后置脚本自动拷贝到主程序目录即可。我第一次只编了主程序,结果注入器缺 DLL 直接报错,这点务必注意。

实测配置:以《星露谷物语》为例

项目自带了十来个流行游戏的现成配置,放在UniversalSplitScreen/Config目录下,比如《泰拉瑞亚》《星露谷物语》《我的世界》都有,基本都是 JSON 文件,直接能导入。我的配置流程如下:

  1. 开两份游戏:先启动两个游戏实例,各自以窗口模式运行;
  2. 创建分屏窗口:在主程序里添加两个窗口,拖拽到屏幕的左右两侧,各占一半;
  3. 绑定设备:把第一套键鼠指向窗口 A,第二套指向窗口 B;
  4. 载入配置:导入Config下对应游戏的 JSON,比如星露谷就选Stardew Valley.json
  5. 启动注入:点击注入按钮,让两个游戏窗口各自"认领"自己的输入设备。

整个过程没有写一行代码,全靠界面点点点。每份 JSON 里都是一堆开关,比如SendRawMouseInputHook_XInputDrawMouse之类,说白了就是告诉系统"哪些输入要走钩子、哪些直接放行"。普通玩家用默认值就行,遇到问题再去调整对应项。

效果验证:三个人真的能各玩各的

实践结果是喜人的。配置好之后,三个人的光标互不干扰,键盘各按各的,游戏里也能正常打开菜单、拾取物品、对话。那种"三个人挤在同一张桌子上抢鼠标"的画面彻底消失了,客厅一下变成了小型网吧。

不过也要说句公道话:它并非对所有游戏都零门槛。能不能顺利分屏,很大程度取决于游戏对窗口焦点和输入 API 的敏感度。越老派、越"单机化"的游戏越好处理,反作弊较强的联网游戏基本无解——这不是工具的问题,而是游戏自身在屏蔽多开。

新手避坑清单

把这几条记下来,能省掉大半晚上的折腾:

  • 窗口模式是前提:全屏独占模式下分屏无从谈起,先在游戏里切到窗口化;
  • 编译要用 x86:README 里明确写了主程序要在 x86 下编译,别手滑选了 AnyCPU;
  • 配置选错了会"串台":两台游戏如果绑定了同一套键鼠,输入会互相干扰,务必一一对应;
  • 焦点被抢是常见病:游戏窗口偶尔会主动抢前台焦点导致输入失灵,主程序会自动定期把焦点还给桌面来规避,耐心等几秒即可;
  • 手柄玩家别忘开 XInput 钩子:如果控制器没反应,检查对应 JSON 里的Hook_XInput是否为 true。

结语

从"三个人面面相觑"到"三个角色在同一个世界里并肩作战",中间差的不过是一个 Universal Split Screen。它把PC 游戏本地多人分屏这件事的门槛拉到了"会点鼠标就能配"的程度,而且完全免费开源。如果你的愿望清单里恰好躺着几款"买了却因为没人陪而吃灰"的游戏,不妨趁这个周末,把朋友叫到家里来,用三套键鼠重新打开它。现在就动手试试,你离快乐只差一个 clone 的距离。🎮

【免费下载链接】UniversalSplitScreenSplit screen multiplayer for any game with multiple keyboards, mice and controllers.项目地址: https://gitcode.com/gh_mirrors/un/UniversalSplitScreen

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/20 16:27:41

eSearch 离线OCR 使用指南:从截屏取字到翻译校对,一篇讲透

eSearch 离线OCR 使用指南:从截屏取字到翻译校对,一篇讲透 【免费下载链接】eSearch 截屏 离线OCR 搜索翻译 以图搜图 贴图 录屏 万向滚动截屏 屏幕翻译 Screenshot Offline OCR Search Translate Search for picture Paste the picture on the screen S…

作者头像 李华
网站建设 2026/8/20 16:11:04

PDF批量修改有多简单?免费开源的PDF补丁丁5分钟速成指南

PDF批量修改有多简单?免费开源的PDF补丁丁5分钟速成指南 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等 项目地址: https://…

作者头像 李华