拓冰建站拓冰建站
首页 / 资讯中心 / 正文

三套键鼠共用一个屏幕?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 做了什么简单说它做的事可以概括成两句话把窗口切成小块让每个玩家各占一席支持同屏分割也支持多显示器各显各的把输入按设备隔离你按下键盘 A只有属于你这套键鼠的游戏窗口能收到鼠标同理手柄也是独立通道。换句话说它不是在游戏里打补丁而是站在系统层面帮你翻译输入信号——这正是它号称any game都能用的底气。真正有意思的是它连游戏的窗口焦点都做了处理普通游戏往往要求窗口必须在前台才能收到按键它通过注入钩子把这类限制一起绕开了细节都写在UniversalSplitScreen/目录下的各个子模块里。上手第一步把项目跑起来项目本体是 Visual Studio 的解决方案获取方式很简单git clone https://gitcode.com/gh_mirrors/un/UniversalSplitScreen然后打开根目录的UniversalSplitScreen.sln。需要说明的是整套工具不是单文件程序而是由几个模块协作的UniversalSplitScreen主程序负责界面和分屏调度InjectorLoader把钩子注入游戏进程的加载器HooksCPP与StartupHook负责实际拦截和转发输入的 DLLSourceEngineUnlocker专为 Source 引擎游戏准备的解锁模块编译时记得在 Visual Studio 里用Batch Build一次性把全部项目编出来。编译完把各个 DLL 按项目里的后置脚本自动拷贝到主程序目录即可。我第一次只编了主程序结果注入器缺 DLL 直接报错这点务必注意。实测配置以《星露谷物语》为例项目自带了十来个流行游戏的现成配置放在UniversalSplitScreen/Config目录下比如《泰拉瑞亚》《星露谷物语》《我的世界》都有基本都是 JSON 文件直接能导入。我的配置流程如下开两份游戏先启动两个游戏实例各自以窗口模式运行创建分屏窗口在主程序里添加两个窗口拖拽到屏幕的左右两侧各占一半绑定设备把第一套键鼠指向窗口 A第二套指向窗口 B载入配置导入Config下对应游戏的 JSON比如星露谷就选Stardew Valley.json启动注入点击注入按钮让两个游戏窗口各自认领自己的输入设备。整个过程没有写一行代码全靠界面点点点。每份 JSON 里都是一堆开关比如SendRawMouseInput、Hook_XInput、DrawMouse之类说白了就是告诉系统哪些输入要走钩子、哪些直接放行。普通玩家用默认值就行遇到问题再去调整对应项。效果验证三个人真的能各玩各的实践结果是喜人的。配置好之后三个人的光标互不干扰键盘各按各的游戏里也能正常打开菜单、拾取物品、对话。那种三个人挤在同一张桌子上抢鼠标的画面彻底消失了客厅一下变成了小型网吧。不过也要说句公道话它并非对所有游戏都零门槛。能不能顺利分屏很大程度取决于游戏对窗口焦点和输入 API 的敏感度。越老派、越单机化的游戏越好处理反作弊较强的联网游戏基本无解——这不是工具的问题而是游戏自身在屏蔽多开。新手避坑清单把这几条记下来能省掉大半晚上的折腾窗口模式是前提全屏独占模式下分屏无从谈起先在游戏里切到窗口化编译要用 x86README 里明确写了主程序要在 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),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门