快速上手停止映射:左 Ctrl + F6 默认

从第一条映射开始

按下 A,让软件收到 B

先用一条最简单的键盘映射熟悉操作。暂时不安装驱动、不映射鼠标左键,也不设置游戏窗口匹配。

新手入门配图:中文/深色

使用前请阅读软件使用须知与免责声明;需要视频演示或咨询时,查看教学视频与QQ群。

先记住这个方向

左边 · 原始按键自己实际按 A
右边 · 映射按键希望软件收到 B

如果你希望按 A 得到 B,就填写 A → B,不要填写成 B → A。想发送的键在右边,手上按的键在左边。

“映射”指软件运行时转换输入,不会改写键盘硬件。需要查概念时,随时打开术语速查。

开始之前,先确认能停下来

默认停止映射:按住左 Ctrl,再按一下 F6。

L-Ctrl + F6,不是右 Ctrl。请先在“映射设定”页确认当前“映射停止”快捷键;如果改过,以实际设置为准。

默认开始与停止共用这个组合键。确认已经停止后,不要反复按,以免再次开始。详见应急停止。

  • 先选“全局按键映射”,暂时取消“自动匹配前台进程”。后续练习只保留一条 A → B。
  • 测试时避开聊天框、文档编辑和游戏操作。全局配置可能影响其他前台程序,先打开一个空白测试窗口。
  • 不要先改鼠标左键、Ctrl、F6或停止组合键;第一条练习不需要“多设备支持”及Interception。
先看这里。主窗口左下“映射设定”页可确认开始/停止键。图中为示例配置,请以自己的快捷键设定为准。

完成第一条 A → B

  1. 选择练习配置在左侧配置列表选择“全局按键映射”。建议先备份原有配置;有现成映射时,不要直接清空正在使用的配置。练习内容以自己的专用配置为准。
  2. 选原始按键 A,映射按键 B在右下“原始按键”列表中选 A,在旁边“映射按键”列表中选 B。触发类型先保留“正常”,不勾连发和锁定。
  3. 点击“添加”右上映射表应出现一行,左列是 A,右列是 B。添加后先看表格确认方向,不要只凭下拉框推测已经添加成功。
  4. 先保存,再开始映射点击“保存设定”,确认保存成功,再点击右下的开始按钮;也可按下文说明使用“保存并映射开始”。只点“映射开始”不会替你保存刚编写的内容。
  5. 在空白记事本中试按 A先把输入焦点放入记事本文本区,切换英文输入,关闭大写锁定,再按 A。普通 A → B 的预期是得到小写 b;大小写会受到 Shift/大写锁定影响。
  6. 停止并确认恢复按住左 Ctrl,再按一下 F6(默认配置),确认QKeyMapper显示已停止;回到记事本按 A,应恢复为正常的 a 输入。
主窗口定位。右上看映射结果,右下添加和开始,左侧管理配置和保存。进程列表中的窗口仅为示例,练习时无需运行游戏。
这里先观察一个结果。

记事本练习顺利后,再尝试组合键、连发、手柄和窗口匹配。不要同时开启多个复杂选项,否则出错时很难判断是哪一步导致的。

编写完先保存:不要让配置切换带走改动

添加、映射更新和开始映射,都不等于保存设定

没有点击“保存设定”的改动只在当前内存中。手动选择其他配置,或开始映射后因“自动匹配前台进程”载入另一份配置,都可能用新配置替换这些内容;之后再切回来,不会自动找回未保存的编辑。

推荐习惯:添加/调整 → 保存设定并确认成功 → 再开始映射、切换配置或启用自动匹配。不要依赖切换前一定出现保存询问;保存失败或取消时,先保留当前窗口和草稿,不要继续切走。

这里说的是切换“设定列表中的另一份配置”,不是同一配置内切换Tab。Tab中的条目也要最终保存,才能在重新载入或重启后保留。查看保存与覆盖说明。

“开始”不一定等于“保存”

入口你需要知道的区别
保存设定把当前设定保存到配置文件。保存后才能按保存内容在下次启动时恢复;检查保存结果和提示。
映射开始按当前内存中的配置开始映射,不要把它当作已经保存。
保存并映射开始先走保存流程,保存成功后再开始。出现保存确认或失败提示时,按提示处理。
开始按钮右侧的小箭头用于选择开始行为;以按钮当前文字为准。托盘或快捷键的开始流程也应结合当前设置理解。

看到“保存设定”的未保存标记时,表示还有改动没有保存。若只想试用,先理解开始方式,避免无意覆盖原配置。遇到保存失败,不要把它当成已经保存成功。

图中的驱动可用状态来自截图机器,不是基础键盘映射的安装要求。第一次练习无需照图安装驱动。

软件使用须知:版本、运行库与驱动

  • 选择版本:Win10/Win11推荐Qt6_x64发布包;Win7无法运行Qt6时使用Qt5版本。完整解压后运行,不要只复制EXE;软件与配套驱动的系统要求分别核对。
  • 缺少运行库:若启动提示缺少VCRUNTIME/MSVCP等组件,按程序位数安装微软Visual C++运行库:x64程序用x64安装包,x86程序用x86安装包。即使Windows是64位,运行x86程序仍需x86运行库。旧系统先核对安装包支持范围,不要从第三方网站单独下载DLL补齐;参阅微软运行库说明(需联网)。
  • 多键鼠:Interception有设备槽位及重连/睡眠恢复风险,严重时可能失去全部键鼠输入;只在确有需要时安装。先阅读严重风险提示、编号与固定接口及电源兼容建议;不能保证重启或卸载一定恢复。
  • 虚拟手柄:ViGEmBus与vJoy是不同驱动,项目不建议同时安装。已有vJoy且出现异常时,按驱动兼容说明排查;Win7还需单独准备兼容的ViGEmBus版本。

软件使用建议:先启动工具,再启动目标程序

通常先运行QKeyMapper,再启动需要改键的游戏或软件,以减少其他软件先拦截按键、导致工具检测不到输入的情况。这是排查顺序,不保证所有目标程序都接受模拟输入。

项目建议使用Windows系统筛选键,抑制物理键长按时的系统重复输入。先了解它对输入的影响,再通过“系统筛选键”设置与手动入口启用;它与映射项“连发”和多键鼠页“筛选键”不同。开始映射前保存配置,测试后确认已停止。

免责声明与开源许可

QKeyMapper基于GPLv3发布。使用前请阅读以下责任与安全提示;许可权利和义务以软件附带的LICENSE及GPLv3完整条款(需联网)为准,本节不替代许可文本。

  • 无担保与责任:在适用法律允许的范围内,除另有书面约定外,本软件按“现状”提供,不提供明示或暗示担保;使用者自行承担软件质量、性能及使用风险。除适用法律要求或另有书面约定外,开发者不对使用或无法使用本软件造成的直接或间接损失承担责任。
  • 安全:软件涉及底层输入、系统操作与驱动。使用前备份重要数据,在可控环境中测试;理解相关风险后再授权需要管理员权限的操作。退出软件不等于卸载驱动,停止快捷键也不能保证处理驱动层失效。
  • 合规:项目面向学习、研究和合法使用。请遵守当地法律法规,不用于非法、恶意或侵犯他人权益的目的;使用游戏或其他服务时,也应了解其使用规则。
  • 商业使用:项目以开源分享为目的,不鼓励商业使用,建议企业及商业用户评估其他替代方案。这是项目立场,不改变GPLv3授予的权利;GPLv3允许商业使用。复制、修改或分发时须遵守其适用条款,包括许可与声明保留、分发时的对应源代码提供,以及受GPLv3约束的衍生作品的许可要求;不得以闭源分发规避这些义务。

请在理解上述风险后决定是否使用;有关复制、修改和分发的授权条件,请直接查阅GPLv3。

建立你需要的输入关系

添加映射

先确定“按什么、发送什么”,再选择触发方式。每次添加后,都到映射表中核对一遍。

操作教程

找到原始按键和映射按键

从左到右读。实际按 A → 希望发送 B → 点击“添加”。上方四个分类按钮控制对应按键列表的显示范围。
  1. 左侧选触发输入在“原始按键”中选择自己实际按下的键。找不到时,检查键盘、鼠标、游戏手柄、特殊功能的分类按钮是否显示了需要的类别。
  2. 右侧选输出在“映射按键”中选择希望目标软件收到的输入。键名并不都同时支持作为原始键与映射键;以对应列表和术语/按键速查为准。
  3. 检查原始按键记录区如果“原始按键记录”里已有内容,添加时会优先使用它。需要改用下拉列表选 A 时,先清除之前的记录,避免添加成另一个组合。
  4. 添加并核对点击“添加”,核对映射表左列/右列和触发方式。如果进入默认新建编辑流程,继续在映射项设定里填写并点击“映射更新”;始终以表格最终内容为准。
最常见的填反:

“我要发送 B”并不意味着左边选 B。只有“自己实际按 B”时,B才应放在原始按键一侧。

一个组合,与一段序列不是一回事

组合键:一起按

L-Ctrl+C 表示左 Ctrl 与 C 的组合。+连接同一步中共同按下的键。

按键序列:依次做

A»B 表示先处理 A,再处理 B。需要逐步编辑和等待时,使用“序列编辑”,不要混成一个组合。

输入组合时,可使用记录区或“按键编辑”录入;在映射项设定中也可以直接编辑对应键名。使用软件识别的名称,例如左 Ctrl 为 L-Ctrl。输入后核对生成的内容,尤其是左右修饰键和组合顺序。

若勾选“检查组合键按下顺序”,按键先后可能影响触发。先从简单组合练习,再决定是否需要顺序检查。实际操作前保留独立、好记的停止快捷键。

不要把软件的停止快捷键本身作为第一条改键练习。涉及鼠标左键或大范围输入屏蔽的功能,先阅读应急停止。

触发类型与下方辅助输入

项目含义与上手建议
正常常规触发方式。第一次A → B练习保持此项。
长按原始输入按住达到指定时间后触发;旁边的毫秒值是判定时间,不是连发间隔。
双击在指定时间范围内两次按下原始输入时触发。先与普通单次触发分开练习。
延时与映射按键的保持时间有关,不等于“长按多久才触发”;在序列中还要区分等待步骤。
坐标、参数、轻推值用于需要这些信息的特殊按键。普通A → B不需要填写;不要为凑齐所有框而随意设置。
键盘/鼠标/游戏手柄选择用于限定输入设备。多键鼠需要先了解Interception风险;普通练习保持通用输入。

添加后没达到预期,按这个顺序查

  1. 表格中真的有这一行吗?左边是否为实际按的 A,右边是否为希望发送的 B?
  2. 是否已经开始映射?若只是完成编辑,输入不会自动生效。
  3. “原始按键记录”里是否残留了其他组合?是否选了长按、双击、特定设备或“禁用”?
  4. 测试窗口有输入焦点吗?输入法、大小写或游戏自身的按键处理会影响看到的结果。
  5. 先回到全局配置和空白记事本;基础练习成功后,再查窗口匹配或游戏兼容条件。

调整一行映射的具体行为

映射项设定

在映射表中打开一行,修改它的输入、输出和发送选项。先学会基础编辑,再逐项尝试连发、锁定与发送时机。

操作教程

打开并看懂这个窗口

在映射表中选中需要调整的条目,通过该条目的双击/编辑入口打开“映射项设定”。确认窗口中的原始按键、映射按键及序号对应你准备编辑的条目。

按区域阅读。上方编辑输入和输出;中部是选键、记录及备注;下方控制发送行为;右下“禁用”可保留条目而不让它参与映射。灰色选项表示当前条件下不可用。

修改键名与保存

  1. 修改上方输入/输出“原始按键”仍是自己按下的输入,“映射按键”是希望发送的内容。需要依次发送多个步骤时,从对应的“序列编辑”按钮进入。
  2. 点击“映射更新”修改键名后,通过此按钮提交到当前映射项;有格式错误时先按提示修正,再确认映射表结果。
  3. 填写容易识别的备注例如“练习:A改为B”。备注帮助日后辨认用途,不是另一条映射命令。
  4. 关闭后核对并保存回到主窗口,核对表格并点击“保存设定”;也可使用明确包含保存动作的开始入口。

关闭窗口不等于撤销,也不等于保存

连发、锁定、备注等多项设置会直接更新当前内存配置并标记未保存。不要把右上角关闭按钮当成“取消全部修改”。键名编辑则要注意“映射更新”步骤;最后仍需明确保存到配置文件。

连发:按住时反复发送

以A → B为例:勾选“连发”,按住A时会反复按下和抬起B。两个时间共同决定一次循环,不是只看其中一个值。

设置示例值含义
连发按下50毫秒每次把B按住多久。
连发抬起100毫秒每次释放B后,到下一次按下前的间隔。
先试容易观察的节奏。这里只演示设置;实际游戏能否识别、是否允许使用,需按目标游戏和规则判断。测试完停止映射,再调整数值。

不要一开始就把间隔设得极短。文本编辑器自身的键盘重复也可能影响观察,必要时用按键测试工具查看按下/抬起。

锁定:按一次保持,再按一次解除

普通锁定用于保持映射按键状态。与连发组合后,可以形成“按一次持续连发、再按一次停止”的用法。先分别理解连发和锁定,再尝试组合。

  • 映射按键解锁:启用后,映射按键也可参与解除锁定;根据需要选择,避免无意打断。
  • 禁用原始按键解锁:会改变再次按原始键的解除行为。新手先保持关闭,避免失去熟悉的解除方式。
  • 禁用Fn键切换:控制这条映射是否接受QKeyMapper的Fn功能切换,不是键盘硬件Fn键的通用替代。

遇到松手仍持续发送,先查看锁定/循环设置;需要立即停止时使用映射停止快捷键。

发送时机:什么时候发送哪一行

“发送时机”和“长按/双击”解决不同问题:后者决定怎样触发,这里决定在触发输入的哪个阶段发送。第一次练习保留“正常”。

选项阅读方法
正常常规的按下/释放处理,从最简单的A → B开始理解。
按下在原始输入按下阶段触发映射内容。
抬起在原始输入释放阶段使用“抬起映射”内容。
按下+抬起按下阶段使用“映射按键”,释放阶段使用“抬起映射”。
正常+抬起保留正常映射处理,同时在释放阶段使用“抬起映射”。

选择需要抬起内容的时机后,上方“抬起映射”编辑区才会启用。不要把灰色的抬起区域误认为故障,也不要只改普通映射行就期待释放时发送另一套内容。

其余区域怎么选择

区域/选项用途与建议
原始按键列表/映射按键列表选择键名;旁边的分类按钮缩小列表范围。最终内容以上方键名编辑区和表格为准。
连续按键录制、按键记录区辅助采集输入;“按键编辑”切换记录区的编辑方式,“复制”复制记录。录制和正式运行映射是不同操作。
发送方式普通练习保持SendInput。SendMessage面向消息方式的目标程序;FakerInput依赖对应驱动,不是所有目标都通用的“加强模式”。
固定虚拟键码用于有明确需求的键码覆盖;不了解时保持0x0,不要为普通字母练习修改。
原始按键穿透保留原始输入的同时执行映射;勾选后目标可能同时收到A和B,不要误以为映射失效。
按键按住时序列循环/序列循环次数控制序列重复条件或次数,不等于单键连发。先学会单次序列再启用。
按住时保持序列最后按键/按键序列不可打断改变序列末尾保持或中断行为。不要与多个循环选项一起盲目开启。
PasteText模式选择粘贴文本使用Shift+Insert还是Ctrl+V。只对相关文本粘贴功能有意义。
禁用保留映射条目,但不让它作为有效映射参与运行。不是删除条目。
十字准星设定/悬浮按钮打开相关外观或按钮设置;全册将在对应辅助功能章节展开。
映射码/复制映射码/应用映射码用文本形式复制或应用映射项配置。只应用可信且理解用途的内容;应用后核对结果并按需保存。

把映射整理成容易维护的工作区

映射表与Tab

一套配置可以包含多张映射表。先选对配置和Tab,再选择、复制或排序;共通映射另外管理,避免改错来源。

日常操作

先分清:配置、Tab和映射项

下方“设定”列表选择一套配置;上方Tab选择这套配置中的一张映射表;表格里每一行是一条映射项。新增Tab不等于新建配置,切换Tab也不是保存。

看行号与分隔提示。示例中普通表有C → D、A → B、E → F;分隔提示下的C1是追加显示的共通条目F9 → F10,不是复制进普通表的一行。

先停止映射再整理数据;运行期间部分编辑和菜单动作不可用。操作前查看当前Tab名称及选中行,不只看屏幕上能看到的内容。

选择、打开和删除条目

  1. 选择一行或一段连续行。点击需要的映射行;连续多选可从第一行按住Shift选择末行,或使用Shift + ↑/↓调整范围。先用高亮核对实际选区。
  2. 打开映射项设定。选中一行后按Enter,或使用右键中的“映射项设定”。双击不同列可能进入对应字段的编辑或切换状态,不要把每种双击都当作同一操作。
  3. 删除前再次确认来源。选中目标行,按Delete或在右键菜单选择“删除”。这与“禁用”不同:删除会移除数据,禁用则保留条目。

Home/End可定位首行/末行;无修饰键的空格或Backspace可清除当前选区。快捷键应在映射表或其Tab区域有焦点时使用;输入框中的同名按键可能用于文字编辑。

有筛选或共通条目时,先核对选区。

隐藏行不会因为看不见就被删除;普通与共通之间的分隔提示不是数据行,不应跨它批量选择。删除前可先复制或导出当前表留底,不依赖撤销恢复删除。

复制到另一张表,或在指定位置插入

  1. 复制源条目。选中连续条目,按Ctrl + C,或在右键菜单选择“复制”。这会放入QKeyMapper本次运行中的映射复制缓存。
  2. 选择目标。切换到目标Tab,右键选择在顶部、底部、当前行上方或下方插入复制项。希望位置明确时,优先使用带位置名称的右键动作。
  3. 核对插入结果。检查新增行、选区以及禁用状态。重复原始按键或共通优先规则可能产生冲突提示,不能只按“行数增加”判断配置可用。
  4. 保存。确认结果后点击“保存设定”,才把新内容写入配置文件。

Ctrl + V按当前表格插入模式处理,Ctrl + Shift + V临时使用相反模式;它们并不固定等于“粘到最后一行”。可在通用高级设定查看表格插入模式;没有选区时,常规粘贴会以表尾作为目标。

右键菜单随位置变化。这里是在原始按键列打开的菜单;在分类、禁用、连发或锁定列右键,会显示对应的分类或批量状态动作。

“复制”与“复制映射码”不是同一入口

表格“复制”用于软件内跨表复用;“复制映射码”把一条映射的文字表示放入Windows剪贴板,可分享或留存。对目标行使用“应用剪贴板映射码”会按该文本更新目标映射,使用前确认目标,修改后仍需保存。不要把聊天中的普通文本当作合法映射码。

跨进程或重启后要复用条目,使用映射码或导出文件,不依赖本次运行的表格复制缓存。

拖动或用快捷键调整顺序

先清除分类筛选、显示需要整理的条目,选中一行或一段连续行,再上下拖动到目标位置。成功排序会产生未保存状态;拖回原位置或无效落点不等于已经发生更改。

快捷键作用
Ctrl + ↑/↓将选中条目上移/下移
Ctrl + Home/End将选中条目移到顶部/底部
Ctrl + Shift + ↑/↓同样提供移至顶部/底部的入口
右键 → 上移、下移、上移到顶部、下移到底部不用记快捷键时选择相同操作

存在隐藏行时不要依赖拖动重排;先恢复全表视图。普通表下方追加显示的共通条目,应到“共通”Tab整理,不能在普通区与共通区之间拖动。完成后重新检查顺序并保存。

分类与筛选:把条目分组,再按需查看

映射较多时,可以给条目填上“基础操作”“快捷操作”等分类,只显示当前要编辑的几类。它方便整理,不是决定哪些映射参与运行的开关。

原始/映射按键下拉框上方的四个分类按钮控制选键列表类别;这里的“分类”列和筛选针对已经添加的映射条目,两者不要混淆。

下面用四条映射练习。先停止映射,使用练习配置,不要直接修改自己常用的游戏配置。

原始按键 → 映射按键准备填写的分类
A → B基础操作
C → D基础操作
F1 → E快捷操作
F2 → F留空,作为未分类条目
先看完成后的样子。分类写在每行最右侧,未分类保留空单元格。为便于阅读,图中隐藏进程列表并调整了列宽;不需要运行这些映射。

① 显示分类列,给一条或多条映射分类

  1. 显示“分类”列。顶部“视图”→“映射表视图”→勾选“显示分类列”。也可以从表格右键的“映射表视图”进入。列名太窄时拖动表头分隔线加宽,方便看清文字。
  2. 先选中要处理的行。单条操作只选一行;本例给A、C两行批量分类,可先点A行,再按住Shift点C行。不相邻的条目可分批处理,每次先检查高亮选区。选区操作见映射表选择。
  3. 在选中行的“分类”单元格内右键。注意右键位置:点在原始按键、禁用等其他列,菜单内容会不同。多行操作时,在已有选区内打开菜单,确认没有误选别的行。
  4. 选择“输入分类”。在输入框填写 基础操作,点击“应用”(或在输入框按Enter)。A和C两行的分类应一起变为“基础操作”。关闭菜单后到表格核对;只输入文字、未应用,不代表已经赋值。
  5. 再给F1单独分类。只选F1一行,同样输入 快捷操作并应用;F2保持空白。
  6. 保存这次整理。点击主窗口“保存设定”并确认成功。菜单里的“应用”只更新当前内容,不是保存到磁盘。
批量赋值的入口。图示选中A、C两行后展开“输入分类”;菜单作用于所选的可见条目。单行分类使用相同方法。

已经有分类名时,不必再打字:在分类列右键→“选择分类”→选择已有名称,即可将选中条目归到该类。也可按当前表格编辑模式直接编辑分类单元格;初学者先使用上述右键入口,避免混淆双击编辑方式。

② 点击“分类”表头,选择要显示的类别

  1. 点击表头,不是某行的分类文字。点击最上方“分类”列标题,打开复选框筛选菜单。
  2. 先取消“(全选)”。本例要只看“基础操作”,可先清除全部勾选,再勾选“基础操作”。取消全部时,表格会暂时没有可见条目;不要以为数据被删除。
  3. 勾选后直接看结果。筛选即时更新,不需要另点“应用”。点击菜单外关闭菜单后,应只看到A → B和C → D两行。
  4. 需要多类时继续勾选。再勾“快捷操作”会显示A、C、F1三行;只勾“(空白)”则只显示未分类的F2。
复选框可以多选。“(全选)”的半选状态表示只选了部分类别,不是一种额外分类;菜单外仍可看到表格筛选结果。
本例应只剩两行可见。F1和F2被隐藏,没有被删除或禁用。筛选时行号可能不连续;部分筛选状态下“分类”表头会以不同颜色提示。

③ 恢复全部显示,与清除分类是两回事

你想做什么怎样操作本例预期
重新看到全部类别点击“分类”表头,把“(全选)”设为勾选状态四行重新可见,分类值不变,回到上面的完整表格
只找还没分类的条目取消其他类别,仅勾“(空白)”只显示F2这一行
清除某条/某几条的分类先恢复显示并选中条目,在分类列右键→“选择分类”→“(空白)”;再保存设定所选行分类文字清空,但映射条目仍在
修改分类名选中需要变更的条目,使用“输入分类”填新名称并应用,再保存更新所选条目,不应假设所有同名条目会自动一起改名
“输入分类”留空不是清除操作。

空输入时“应用”不可用,原分类不会因此消失。需要归为未分类时,明确选择“(空白)”。

在筛选状态下将条目改到当前未勾选的类别,它可能立即从视图消失;先恢复“(全选)”再找。分类整理完成后,按先保存再切换的习惯操作。

找不到条目时,先检查这三处

  1. 当前配置和Tab:是否打开了原来编辑的那张表?
  2. 分类筛选:是否勾选需要的类别,包括“(空白)”?不确定时先恢复“(全选)”。
  3. 显示禁用行:“视图”→“映射表视图”中的“显示禁用行”是否允许显示已禁用条目?它与分类筛选一起决定哪些行可见,所以仅恢复分类全选,不一定能看到被隐藏的禁用行。
隐藏不等于停止映射。

分类筛选只改变显示范围,不会因为隐藏一行就停用它。想暂时停止某条映射,应勾选该行“禁用”;想停止整套映射,使用停止入口。不要通过隐藏条目判断运行范围,也不要为“找回”隐藏内容重复添加相同映射。

右键菜单随当前列变化:分类列处理分类,禁用、连发、锁定等状态列有各自的操作。批量修改前始终核对选区;改动后保存设定。筛选下的排序限制见拖动与快捷键排序。

新增、复制和设置Tab

顶部“映射表操作”提供整张表的操作;它们与删除几行映射的作用范围不同。
入口用途与注意事项
添加空白Tab/Ctrl + N在当前配置中新增空白映射表
复制当前Tab/Ctrl + D以当前普通表为基础建立另一张表,随后核对名称、属性和内容
删除当前Tab移除整张普通表,有确认步骤;最后一张普通表及共通表有保护限制
清空当前映射表清除表中映射,保留这张表;操作前导出留底
拖动Tab标签调整普通Tab顺序;共通Tab受保护,不按普通表随意移动
双击Tab/右键“映射表设定”修改名称、切换快捷键和显示属性
留意“更新”。表名与快捷键有各自的更新按钮;更新当前界面后,还要保存整套设定。下半部分自定义图片及悬浮窗口将在界面辅助章节展开。

Tab只属于当前配置;把当前表命名为某游戏不会自动建立窗口匹配。先整理好表,再学习后续的进程与窗口匹配。

共通映射:在当前配置的多张表中复用

例如同一配置中多张Tab都需要F9 → F10,可把它放入“共通”表。共通映射属于当前配置;“全局按键映射”则是一套独立配置,两者不是同义词。

  1. 开启共通功能。在“映射设定”→“映射高级设定”中启用“启用共通映射表”。
  2. 到共通Tab编辑。把需要共用的条目添加到“共通”表,不必在每张普通表重复复制。
  3. 检查普通表是否追加共通。打开该普通表的“映射表设定”,核对“追加共通映射表”。未追加的普通表不使用这部分共通映射。
  4. 核对冲突和保存。共通优先规则可能让普通表中冲突的映射进入禁用状态;按提示检查,不要误以为条目消失。

普通表中,分隔提示下方的C1、C2等是共通来源。点分隔提示左侧“−/+”可折叠/展开显示;折叠只是视图操作,不等于关闭共通映射。需要排序时进入共通Tab;批量操作不要混选普通行和共通行。

修改追加显示的共通条目会影响使用该共通表的其他Tab;不确定来源时,使用“跳转到共通映射表”再编辑。不要把追加区域当作只对当前表生效的副本。

只分享一张表:导出/导入映射表

入口为“映射表操作”菜单,或“映射表设定”里的“导出映射表/导入映射表”。文件通常为INI,但它与整套设定备份的范围不同。

  1. 导出前选对源Tab。使用“导出映射表”,选择文件名与位置。它导出该表数据,不能代替整套配置和通用设置的备份。
  2. 导入前选对目标Tab。建议先新建空白Tab,再用“导入映射表”选择文件;这样最容易检查导入了什么。
  3. 核对结果并保存。单表导入向目标表加入映射,按提示检查重复原始按键、共通冲突及禁用状态;确认后点击“保存设定”。

普通表下方追加显示的共通行不等于这张普通表自身的数据。需要一起分享共通及多张Tab时,优先使用配置导出;使用单表文件时明确哪些表分别导出了。

先分清试用、保存与文件备份

配置与备份

编辑界面的内容、已经保存的配置和导出的文件,是三件不同的事。先保存需要保留的改动,再切换、分享或导入。

日常操作

一套配置里保存了什么?

配置包含多张Tab、映射项及相关匹配和行为设定;语言、主题等通用设置另有作用范围。软件的工作配置文件为程序使用的keymapdata.ini。不建议初学者直接编辑其中的编码字段。

名称含义
空白设定用于新建和临时试用的空白编辑状态;未保存成命名配置前,不当作已经留存
全局按键映射一套无需指定某个游戏窗口的配置。自动匹配是否开启会影响切换行为,基础练习先关闭自动匹配
普通命名配置例如“练习方案”,有自己的映射表,也可在后续设置窗口匹配
通用设定/导出列表中的General语言、界面及启动等通用数据;不是共通Tab,也不是全局按键映射配置
保存按钮上的未保存标记表示还有未保存的改动,应检查实际保存结果;不是自动备份的标志
切换配置前,先处理当前映射草稿。

配置切换会加载选中配置的保存内容,不能替代保存,也不要依赖一定会有“是否保存”的离开提醒。需要保留的映射编辑先保存;导入或重新加载也可能刷新当前编辑内容。

从空白建立新配置

  1. 先保护当前编辑。如有需要保留的改动,保存当前配置;不要直接离开未保存的练习。
  2. 选择“空白设定”。在设定下拉列表中选择空白项,确认映射表内容已经变为空白。
  3. 填写名称并添加映射。在“设定名称”填写例如“新建练习”,先只添加G → H等简单条目。
  4. 点击“保存设定”。确认没有失败提示,再打开设定列表检查新配置已出现。需要时重新选择它,核对映射内容。
例:保存G → H后,“新建练习”出现在设定列表。名称输入框与当前选中配置都要核对,不能只改名字就认为已经保存。

名称不能为空,不能使用[ ] = / \等不适合INI分组名的字符。不要用“全局按键映射”作为普通新配置名称;修改全局配置时应直接选择它。

保留原配置,再做一份变化版本

加载普通配置后,将“设定名称”改成一个尚不存在的新名称再保存,可建立另一套命名配置,原来的保存配置保留。若新名称已经存在,会进入同名覆盖确认;此时不要把它当作无风险的另存为。

查找、切换与管理配置列表

切换之前,先保存当前改动。

配置切换会重新载入对应内容;没有保存的映射、排序或编辑可能丢失。不要用“先切过去看看,再切回来”代替保存。自动前台匹配载入另一份配置时,同样需要提前保护当前编辑。查看保存提醒。

先用“过滤设定项”查找名称,再点击目标配置。“空白设定”和“全局按键映射”是特殊入口,不按普通命名配置任意删除或排序。

列表上方提供上移、下移、顶部、底部以及“重新排序”。可用来把常用配置放在容易找到的位置;列表顺序不是映射触发优先级。右键菜单随对象和运行状态提供相应管理操作。

“移除设定”会删除对应的已保存配置。先备份,再核对名称;它不同于删除Tab或删除表格几行。列表管理可能直接写入配置文件,不能以“我还没按保存”为理由认为删除尚未生效。

手动选中一个配置不等于已经把它保存为下次启动的选择。需要保留映射及启动恢复内容时,完成一次有效保存;再次启动还受实际启动设置影响。

什么时候才算保存?

点击“保存设定”,或在非录制、非特殊输入状态下使用Ctrl + S。成功后核对提示及未保存标记;出现失败或取消覆盖时,不当作已经保存。

情形处理方式
修改当前配置,名称保持不变保存到当前选中的同名配置;不一定再次询问覆盖,操作前确认选择
名称改成另一个已存在的名称仔细阅读同名覆盖确认;不确定时选“否”,改用新名称
保存失败保留当前窗口与草稿,按提示检查名称、目录和文件可写情况;不要继续切换配置或退出后再猜测是否保存
只想试用映射区分“映射开始”与“保存并映射开始”;基础区别见开始与保存

保存不是历史版本管理。需要随时回到旧方案时,先用新配置名留一份,或导出一个独立备份;不要反复覆盖唯一的一份工作配置。

导出一套或多套配置

点击主窗口“设定备份”,选择“设定导出”。导出读取已保存的配置文件,不会自动把当前未保存草稿一起带走。先完成保存,再开始备份。

只导出勾选的内容。图为窗口上部;本例选了“全局按键映射”和“练习方案”,没有自动包含“通用设定”。确认/取消按钮位于窗口底部。
  1. 选择新文件。点击“文件选择”,用清楚的名称保存到方便找到的位置。建议使用新的备份文件名,避免多次导出混入同一个旧INI。
  2. 勾选需要的配置。分享给别人时通常只选相关命名配置;需要迁移界面/启动等通用设置时,再考虑“通用设定”。
  3. 确认导出并检查文件。点击“确定”,确认目标文件存在。重要备份建议在另一份隔离运行目录试读并检查内容,而不是只依赖完成提示。

配置导出可以覆盖该配置的多张Tab与共通数据,比“导出映射表”范围更大;但它不是整个软件目录的镜像,外部图片、脚本和其他引用文件还应单独保留。

需要完整留底时

正常退出QKeyMapper后,复制实际使用的keymapdata.ini到独立备份目录,并保留配置引用的外部文件。覆盖恢复前也先保留当前文件;不要在软件仍运行时直接替换工作INI。

导入配置:先备份,再检查同名项

配置导入会写入当前工作配置,并可能重新加载界面。

先保存需要保留的草稿并备份当前配置,不要把导入当作只预览内容、最后再按保存才会生效的操作。

  1. 选择备份文件。点击“设定备份”→“设定导入”→“文件选择”,打开需要导入的INI。
  2. 检查分组与勾选。同名项会以不同颜色提示,默认优先勾选不重复的配置。列表中没有勾选的项不会仅因为出现了名称就自动导入。
  3. 谨慎处理覆盖。如主动勾选同名配置,确认时会出现覆盖提示;不想替换当前内容就选“否”;需要调整选择时,重新打开导入窗口。
  4. 导入后核对。检查设定列表、各Tab和共通映射;若包含通用设置,还应检查语言、主题和启动行为等。保留原备份,确认无误后再继续编辑。
红色不是已经导入。图为窗口上部,本例两项均与当前配置重名,所以还未勾选。要覆盖必须主动选择;“确定/取消”在窗口底部。

不需要迁移通用设置时,保持“通用设定”不勾选。仅导入通用设定时,不要依赖普通配置的同名覆盖确认来拦截操作。不要把别人的开机/启动选项和界面设置无意带入自己的工作环境。

选对入口,避免把范围弄错

目标入口是否还要保存当前设定
分享当前表中的映射映射表操作 → 导出映射表导出文件单独生成;当前编辑是否保存仍要另行确认
把单表文件加入另一张表先选目标Tab → 导入映射表需要检查并保存当前设定
备份一套或多套已保存配置设定备份 → 设定导出导出前先保存草稿,否则导出的是旧保存内容
把配置备份写入当前软件设定备份 → 设定导入导入本身会写入工作配置,不以最后点击保存为生效条件

第一次练习可先用“新建练习”配置,保存G → H,再导出到一个新文件。需要试导入时使用单独的软件副本与工作INI;确认理解同名覆盖和通用设定的范围后,再操作日常配置。

把练习映射限定到目标软件

只在需要的窗口里使用映射

先确认全局A → B练习正常,再为游戏或应用建立独立配置。先用简单的进程条件,必要时再增加标题、显示模式或正则。

窗口匹配入门配图:中文/深色

先分清三个概念

你要做什么对应操作
先练习按键转换选择“全局按键映射”,暂不启用自动匹配。见快速上手。
当前配置只对某个前台窗口生效为当前配置填写窗口匹配条件,保存后开始映射;条件不满足时通常进入等待匹配状态。
切换应用时自动选用它的配置为各配置勾选“自动匹配前台进程”并保存,再开始监测。该选项不是Windows开机自启,也不是“向后台窗口发送”。

“前台”指当前正在操作的窗口。目标窗口只是开着、被遮挡或最小化,并不等于它正在前台。点击QKeyMapper修改设定时,前台也可能暂时变成QKeyMapper。

入门时先保留一份简单配置,不同时叠加全局回退、同名窗口发送等进阶选项。切换到其他应用不一定停止所有映射:还要看是否配置了全局映射或其他自动匹配配置。

从进程列表取得窗口信息

  1. 先打开目标软件,再停止当前映射。编辑时先用停止快捷键或停止按钮停下。若左上列表被隐藏,在“视图”菜单打开“显示进程列表”。
  2. 在左上列表找到目标窗口,双击该行。程序会取得进程路径、窗口标题和类名,切换到下方“窗口信息”页。列表按窗口列出,同一进程可以出现多行;PID是本次运行的进程号,不适合当作长期匹配条件。
  3. 先看配置是否被切换,再继续编辑。双击可能载入已有的相应配置;找不到时会填入新窗口信息。已有未保存内容应先保存。需要跳过已有配置查找时,可按住左Ctrl双击,再核对当前映射内容和设定名称。
从这里选窗口。“星际练习场(演示)”是示例窗口,请选择自己需要匹配的软件窗口。进程名称被列宽截断时,可悬停查看完整文字。

要单独复制名称、标题或类名,先点相应单元格,再用右键菜单或在单行选中时按Ctrl+C。列表的进程名称与下方用于匹配的完整路径并不相同。

看不到目标时,先确认目标窗口实际可见、不是仅运行在后台的服务,并留意权限或受保护进程可能使信息读取不完整。不要凭相似标题直接选择启动器、覆盖层或聊天子窗。

匹配条件怎样组合?

位置:主窗口左下“窗口信息”。进程、标题、类名分别选择比较方式;所有启用且非空的文本条件,以及启用的显示模式条件,都要同时满足。不是任意一个满足就生效。

先用少量稳定条件。示例限定进程结尾与标题开头;类名、显示模式保持“忽略”。“设定描述”和图标帮助辨认配置,不参与窗口匹配。
字段比较的内容与建议
窗口进程实际比较可执行文件完整路径。选“等于”时不能只写文件名;跨安装目录使用时,可选“以…结尾”并填\Game.exe,或在包含方式下填写具有辨识度的文件名。
窗口标题可能随关卡、存档、帧率变化。先用稳定前缀或关键词,避免把本次关卡编号写进“等于”条件。
窗口类名Windows窗口类别,不是标题。不同程序可能共用同一类名;需要时与进程条件一起使用,不依赖网上示例猜测。
显示模式“忽略”不限定;“全屏/窗口化”增加一道条件。这里依据程序对窗口覆盖显示器的检测,不是游戏渲染API或独占模式认证;无边框全屏应以实际匹配效果核对。
设定描述给配置加简短说明,方便自己识别;不是匹配文本。
比较方式填写示例含义
忽略不需要该条件不参与这项比较;不是排除匹配到的窗口。
等于我的游戏整个文本一致;标题多出关卡名就不满足。
包含我的游戏任意位置出现这段文字。
以…开头/结尾我的游戏/\Game.exe只检查对应一端。
正则匹配^我的游戏(?: - .*)?$按表达式匹配,见正则入门与速查。

上述文本比较默认区分大小写;正则可用(?i)显式忽略大小写。空文本不构成有效文本条件,想匹配空标题请使用正则^$。不要把所有条件都清空来表达“仅此游戏”,那会失去窗口限定。

修改过进程文本后,“恢复”可在确认后重新填回已取得的绝对路径。它不是恢复整份配置,也不会撤回其他匹配条件。

让配置随前台窗口自动选择

开始监测前,先保存刚编写的映射。

自动匹配可能在切换前台应用时载入另一份已保存配置。即使没有手动点配置列表,当前未保存编辑也可能被替换;“映射开始”本身不会保存它。先点击“保存设定”并确认成功,再开始监测。查看保存提醒。

  1. 建立一份独立游戏配置。双击目标窗口后,核对“窗口信息”,保留一条易观察的A → B,使用易辨认的设定名称。没有必要修改内置忽略规则。
  2. 打开“映射设定”,勾选“自动匹配前台进程”。该开关属于相应配置。需要自动选择的每份配置,都应分别勾选并保存。
  3. 点击“保存设定”。自动选择会读取已保存的配置条件;只改界面未保存,不等于已更新自动选择规则。
  4. 开始映射,再把目标软件切到前台。观察是否载入预期配置、进入映射状态。离开目标后按规则等待、切换其他已配置目标或回退全局;不会因为勾选这个框就自行开始监测。
  5. 用简单输入核对,然后停止。先在安全测试窗口练习,确认停止键可用,再用于游戏。要改配置时先停下;不要用鼠标左键作为第一条练习。
勾选后还要保存。图示只展示编辑状态;勾选不等于已开始实际映射。默认开始/停止均为左Ctrl+F6,以你的实际设定为准。

多个已保存配置都命中时,程序优先考虑更具体的条件组合:进程+标题+类名、进程+标题、进程+类名、标题+类名、仅进程、仅标题、仅类名,最后才是仅显示模式;相同组合下显式显示模式优先于忽略模式。不要依赖配置列表排列顺序解决重叠规则,最好让配置条件互不冲突。

全局配置不作为普通自动匹配候选。手动选择某配置,也不等于修改下次启动默认选择;下次启动选择与明确保存有关,见配置保存。回退计时及全屏全局限制见通用高级设定。

用图标与描述辨认配置

在“窗口信息”页点击“选择自定义图标”,选择.ico、.png或.svg。确认预览正确后保存设定。图标会帮助你在配置列表中辨认相应配置,不会改变窗口匹配范围。

  • 右键“选择自定义图标”按钮,可“恢复默认”;该改动同样需要保存。
  • 默认图标可从已记录的程序路径读取;未取得有效路径或文件不存在时,显示效果可能不同。
  • 图标文件仍是外部资源,路径要保持有效。搬到另一台电脑或移动文件后,需要重新指定;配置导出不等于把图标文件一起打包。
  • 配置图标与系统托盘图标是不同设置;不要为改图标改写进程匹配路径。

没有按预期匹配时,按这个顺序检查

  1. 确认已开始监测,且目标确实在前台;不是只勾选了自动匹配。
  2. 重新双击实际游戏窗口,核对是否选成启动器或其他子窗口。先保存已有草稿。
  3. 逐项看条件:完整路径/文件名是否混用,大小写是否一致,标题是否变化,显示模式是否过度限定。
  4. 确认该配置已勾选自动匹配并保存;排查另一个已保存配置是否也能命中。
  5. 先减少条件,用简单“包含/结尾”验证,再引入正则。不要直接删除所有内置忽略规则。
  6. 若切出后仍映射,核对全局配置、同名窗口发送等设置;忽略规则也可能保持先前匹配状态,见下节。

需要立即结束时使用应急停止入口,不要靠不断切换窗口尝试停止。

高阶技巧:忽略规则通常无需改动

普通用户保留内置规则即可。

仅建议熟练掌握窗口匹配、理解规则影响的用户添加或修改。它不是新手配置步骤,也不是“给这个软件禁用映射”的黑名单。

入口:“窗口信息” → “忽略规则列表”。内置规则覆盖部分提示窗、下拉列表、系统阴影与任务切换界面等,目的是减少这些临时窗口对匹配判断的干扰。命中规则时可能沿用此前的映射状态;把日常应用加入忽略列表,反而可能让切过去后映射继续。

先理解内置规则,再决定是否修改。规则名称用于管理,描述用于备注;真正判断的是启用的进程/标题/类名条件。
操作实际作用
双击规则载入上方编辑区;仅选中列表不等于已更新规则。
添加/更新规则名不能为空;新名称添加,同名更新。多个有效条件在一条规则内要同时成立,任一启用规则命中即可忽略该窗口。
禁用勾选后点击“更新”,暂时停用该规则,保留内容。不是停用实际键盘、鼠标或整个配置。
清空确认后清空当前输入区,不等于删除规则列表。
删除选中已有规则并确认后删除;慎重处理内置项。
恢复默认规则确认后用内置集合替换当前规则;自行添加的规则也会被替换,先备份。

添加、更新、删除和恢复默认会改变当前规则并产生未保存状态;关闭编辑窗不是撤销,最终还需在主窗口“保存设定”才能持久保留。这些是全局规则,不是当前游戏专属。实验前先备份配置文件;使用配置导出时需包含General全局组才能带上这些规则。记录原值,每次只改一项。

规则中的“忽略”比较方式表示不检查该字段。空字段不参与判断;三个字段都没有有效条件的规则不会匹配一切。正则格式沿用下一章速查,也要注意进程字段比较完整路径。

按需要查,不必从头学编程

让变化的窗口名称也能匹配

能用“包含”或“以…结尾”解决时,先用简单方式。需要多个候选、版本号或排除条件时,再切换“正则匹配”。

进阶速查

在QKeyMapper里怎样填写

  1. 选字段,再选“正则匹配”。在“窗口信息”的进程、标题或类名旁选择;忽略规则的对应字段也可选择。
  2. 输入表达式本身。不要加代码块标记、引号或JavaScript风格的两端斜线。表达式作用于该字段的完整原始文本;进程字段是完整路径。
  3. 用一个会命中和一个不应命中的窗口核对。有合法格式不代表范围正确。保存后,再按正常监测流程观察;先保留停止快捷键。

默认区分大小写。Game不会命中game,需要时写(?i)Game。默认可在文本任意位置找到匹配;需要整个字段都符合时加^和$。

^$用于空标题;^我的游戏用于以该文字开头;我的游戏只要求任意位置包含。不要把“任意位置匹配”误认为“等于”。

常用符号

符号用途示例及含义
.通常匹配任意一个非换行字符Game.exe可命中GameAexe;要实际点号用Game\.exe,不要把它理解为自动补出数字。
*/+/?前一项出现0次以上/1次以上/0或1次^Game.*$允许Game后面为空;^Game.+$至少再有一个字符;^Games?$匹配Game或Games。
\转义\.表示点号,\\表示一个路径反斜杠。详见下节。
^/$开头/结尾锚点^Game只允许从开头;\.exe$要求以.exe结束。
|多选一^(Game1|Game2)$匹配其中之一;不是要写\|。
[123]/[^0-9]字符集合/排除数字^Game[123]$匹配Game1、Game2或Game3;[^0-9]匹配一个非数字字符。
()/(?:)分组/不记录捕获的分组(?:DNF|DFO)\.exe$把候选名称放在一组;QKeyMapper此处不使用捕获结果替换文本。
(?!...)负向前瞻^(?!.*设置).*游戏.*$要求有“游戏”,同时不含“设置”。

Windows路径:在输入框里写两个反斜杠

实际文件路径D:\Games\Game.exe
直接填入正则输入框^D:\\Games\\Game\.exe$

这是界面输入框里的原样文本:每个实际路径反斜杠写成两个,文件名中的点写成\.。不需要再为C++、JSON或INI的字符串表示重复转义;不要手工照抄配置文件里可能看到的额外反斜杠。

普通“包含/等于/结尾”方式不解释正则语法,那里仍填普通路径。例如用“以…结尾”匹配文件名,可填\Game.exe;用正则则可填\\Game\.exe$,前面的目录分隔符可避免误匹配OtherGame.exe。

进程路径常用模板

以下是可复制的正则文本。把Game等示例名称换成实际名称,保留正则符号;先从进程列表核对真实路径。(?i)表示这些模板显式忽略大小写。

需求填写的表达式范围
多个不同路径的程序(?i)^(?:D:\\Game\\Game1\.exe|E:\\steamapps\\common\\Game2\\Game2\.exe|E:\\MyGames\\Game_3\\Game3\.exe)$仅这三条完整路径;只关心文件名时可用下一项。
同一组程序,安装位置任意(?i)\\(?:Game1|Game2|Game3)\.exe$三个文件名之一,前面须有目录分隔符。
指定目录及子目录中的exe(?i)^E:\\MyGames\\Game_3\\.*\.exe$包括子目录;只限这一层时将.*改成[^\\]*。
DNF等区域版本(?i)^E:\\Game\\DNF\\(?:.*\\)?(?:DNF|DFO|ARAD)\.exe$该目录或子目录里的DNF.exe、DFO.exe、ARAD.exe;不限制固定子目录层数。
不同盘符的Steam库(?i)^[A-Z]:\\(?:.*\\)?steamapps\\common\\GameName\\Game\.exe$盘符路径;GameName为实际安装目录名,不是Steam商店显示名称。
文件名带版本号(?i)\\Game_v[0-9]+\.[0-9]+\.exe$如Game_v1.0.exe、Game_v12.5.exe;不包含三段版本号。
启动器与游戏主程序(?i)\\(?:GameLauncher|Game)\.exe$两者均可命中;不希望启动器启用映射时只保留主程序。

窗口标题常用模板

需求表达式示例
标题随关卡变化^我的游戏我的游戏 - 第一关、我的游戏 - 主菜单。
中文或英文标题^(?:My Game|我的游戏)两个前缀之一;英文默认区分大小写。
带版本号^Game v[0-9]+\.[0-9]+Game v1.0、Game v2.5后可接其他文字。
任意位置有关键词游戏战斗模式 - 游戏、游戏 - 冒险模式;仅此需求可直接选“包含”。
有游戏字样,但排除设置窗口^(?!.*设置).*游戏.*$命中“我的游戏”,不命中“游戏设置”。要退出匹配用这样的条件,不要用忽略规则代替。
完全空白标题^$长度为0;只有空格的标题不满足。

窗口类名常用模板

下面是名称模板,不是所有同类游戏都保证采用这些类名。先复制实际类名,再决定怎样匹配;类名通常要搭配进程条件,避免把其他程序也选中。

类别表达式说明
Unity类名示例^UnityWndClass$整个类名相同。
Unreal类名示例UnrealWindow名称中包含这一段。
固定前缀^GameWindow_如GameWindow_Main、GameWindow_Chat。
Qt窗口示例^Qt[0-9]+QWindowIcon$可匹配Qt5QWindowIcon、Qt683QWindowIcon等名称;版本数字可能不止一位。
标准对话框类名示例^#32770$许多Windows对话框共用,单独使用很宽泛。
同一类名中两段固定文字GameName.*WindowGameName在前、Window在后,中间可为空。

格式正确,还要检查误匹配

  • 原样保留实际窗口信息作为样本;至少试“应命中/不应命中”各一个。Game.exe中的点是通配符,准确文件名要写Game\.exe。
  • 表达式无效时不会正常命中;看到格式提示先修正,不要靠关闭条件或反复点击开始绕过。
  • 范围过宽会影响其他应用,特别是.*、单个常见词和通用类名。先限定进程,再处理变化标题。
  • 避免无必要的多层重复、嵌套量词和很长的候选列表;前台信息会重复检查,简单可读的规则通常更适合日常使用。

可使用regex101(需联网)辅助试写,选择接近Qt所用正则语法的PCRE2模式;QKeyMapper最终以自身匹配结果为准。该网站不是内置功能,网站上的选项也不会自动带入程序。

在外部网站只粘贴虚构或去敏后的标题和路径,不上传账号、文件名或工作窗口信息。没有必要为了使用手册打开在线工具。

从一个键,扩展到一串动作

录制、编辑并安排动作顺序

组合键是一起按,序列是依次执行。先用B、C这样的简单键熟悉流程,再加等待、循环与单独按下/抬起。

进阶映射配图:中文/深色

先看懂三个符号

写法用途例子
+同一步的组合键L-Ctrl+C是Ctrl+C,不是先按Ctrl、再单独按C。
»按先后顺序执行B»C先B后C。不是普通大于号>。
⏱+毫秒该发送步骤的等待/延时NONE⏱200只等待200毫秒;B⏱50在B的发送步骤带入50毫秒延时。
先用“明确等待”理解节奏。

B⏱50»NONE⏱200»C⏱50表示依次发送B、等待、再发送C。NONE不发送实体按键。键的保持与释放还受发送方式、发送时机等影响,不要把一个延时数字当成所有情况下精确的硬件按住时长。

需要明确按住与释放时,可使用↓B⏱50»↑B:按下B,等待,再释放B。两端要配对;初学不要只留下↓B。单独按下/抬起与触发类型的“长按/双击”是不同概念。

输出中的⏱与原始按键长按标记⏲不同。优先借助界面生成或复制正确符号,不要用外观相似的字符替代。

连续录制:先得到草稿,再检查

入口:双击映射行打开“映射项设定” → “连续按键录制”。先停止实际映射,只在受控练习环境中录制,不在聊天、工作文档或重要操作中随意试键。

  1. 先选择录制选项。“合并按键动作”尽可能把按下/抬起整理为较紧凑的按键或组合;“忽略按键时长”去掉录入的等待时长。需要保留原始节奏时不要勾选忽略时长。
  2. 按F11或点“开始录制”。按下需要的测试键;录制窗口需要保持可用,失去激活时可能关闭。它不是默认后台游戏操作记录器。
  3. 按F12或点“停止录制”。有录制结果时会显示并复制到剪贴板。检查是否包含不想录入的按键、长等待或没有对应释放的动作。
  4. 粘贴到映射按键,再用序列编辑器整理。录制结束不会自动替换映射行。把结果粘贴到目标“映射按键”输入框,完成编辑后点击“映射更新”,最后“保存设定”。
这是等待录制的入口。F11开始,F12结束录制;录制开关不等于开始/停止实际映射。

停止录制F12,与停止映射的默认左Ctrl+F6不同。录制内容可能包括敏感输入,练习时不要输入密码。重新打开录制窗会清理该窗当前记录,先保留需要的结果。

录制是辅助录入,不保证所有设备或目标软件的动作都能原样重放。特别是手柄记录,仍需核对输出名称、设备编号和虚拟设备条件。

用序列编辑器逐步整理

  1. 在映射项设定中填写一段序列。例如B⏱50»NONE⏱200»C⏱50,点它旁边的“序列编辑”。抬起映射有自己的序列入口,注意编辑的是哪一栏。
  2. 在表格中查看每一步与备注。选中或双击相应步骤载入下方输入区,编辑后插入;插入位置沿用当前插入模式。若是替换,核对旧步骤是否仍留着,避免重复。
  3. 整理顺序、删除或撤销。可以选行拖动,或使用右键菜单、Ctrl+Up/Down、Ctrl+Home/End调整顺序;Delete删除选中步骤。Ctrl+Z撤销,Ctrl+Y恢复,旁边按钮也可使用。备注跟随步骤,不会作为按键发送。
  4. 点击“确认”回填,再完成上层更新。从映射项输入框打开时,确认先回填输入框,还需“映射更新”;再保存主窗口配置。点“取消”不把本次编辑回填。宏输入区打开时,还需在宏列表添加/更新对应宏。
一行看一步。这段序列来自实际映射项输入框;确认回填不等于已经保存配置文件。

序列编辑器复用在多个位置。宏列表右键直接编辑已有宏时,“确认”可直接更新内存中的宏;这与从宏输入框打开后回填草稿不同。无论从哪里编辑,最后都要明确保存配置。不要同时打开多个来源后,凭窗口位置猜测当前编辑对象。

循环整段,还是只重复其中几步?

需求设置/写法要点
按住触发键时循环整段映射项设定:“按键按住时序列循环”与单键连发不同;先确认松开后的行为,再考虑保持最后按键等选项。
整段按指定次数循环映射项设定:“序列循环次数”先从2~3次开始,不要一上来设很大。
只重复其中一块Repeat{B⏱50»C⏱50}x3括号内B、C作为一块执行3次。次数范围1~99999,使用英文小写x。
整段循环时只在第一轮执行准备动作OnlyOnce{B⏱50}»C⏱50在循环序列中,OnlyOnce部分后续轮次跳过;不是跨进程、跨配置的永久“一生只执行一次”。
第一轮将准备动作执行N次OnlyOnce{B⏱50}x2»C⏱50x2限定首轮该部分的展开次数,不能解释为整段都重复两次。

“按键序列不可打断”“按住时保持序列最后按键”等选项会改变停止与保持体验。先单独学习映射项选项,不要同时叠加连发、锁定、循环和不可打断来排查一个基础问题。

打断、暂停与解锁速查

这些名称填在映射按键一侧,左侧仍是你实际按下的控制键。建议另设易记的控制键,不与被控序列使用同一个原始键。

输出命令作用
KeySequenceBreak请求打断正在运行的全部按键序列;不是退出程序。
KeySequenceBreak(A)只针对原始按键A对应的运行中序列。
KeySequenceToggle(A)切换A序列的暂停/继续,不是开始/结束整个映射。
KeySequencePause(A)/KeySequenceContinue(A)明确暂停/继续A序列。无参数形式作用于运行中的序列集合。
Unlock(A)解除原始按键A对应的映射锁定。长按/双击原始键要使用对应完整名称,如Unlock(A⏲500)、Unlock(A✖)。

括号里写的是原始按键标识,不是它输出的B。按键序列的暂停不会自动停下所有连发、游戏逻辑或外部程序。需要结束整体映射时,仍使用停止映射快捷键。

给常用序列起个名字

写一次,在多条映射中引用

宏是命名的映射内容,不是独立运行的脚本语言。普通宏跟随配置,通用宏供不同配置共同引用。

可复用映射内容

建立第一个宏

  1. 停止映射,打开“映射设定” → “映射宏列表”。在“宏”页操作本配置的普通宏;先不要在“通用宏”中覆盖别人已经使用的内容。
  2. 填写名称、内容和说明。示例宏名“字母练习”,内容B⏱50»NONE⏱200»C⏱50,分类“入门练习”,备注“先B,等待,再C”。内容可以通过旁边“序列编辑”整理。
  3. 点击“添加宏”。确认上方表格出现对应名称和内容。输入已有名称会变成更新现有宏,遇到同名覆盖确认时先核对内容和当前所处页签,再决定是否更新。
  4. 关闭宏列表,保存设定。添加/更新改变的是当前内存内容;关闭窗口不等于保存到INI,也不是撤销。
宏名用于引用,分类和备注帮助管理。这是一份专用练习配置中的实际添加结果,没有执行其中的按键。

在映射项中调用

宏所在位置映射按键填写例子
当前配置的“宏”页Macro(宏名)Macro(字母练习)
跨配置的“通用宏”页UniversalMacro(宏名)UniversalMacro(通用问候)
调用多次调用后加小写x和次数Macro(字母练习)x3

例如希望按A执行该宏,左边原始按键填A,右边映射按键填Macro(字母练习)。添加/更新映射行并保存后,再在安全窗口测试。

格式有效不保证同名宏一定存在。名称、所在页与所属配置都要对应;宏被删掉、改名或切到另一个配置后,原来的引用可能失效。不要只看输入框没有格式报错就认为宏已正确绑定。

复制含Macro调用的映射行,不等于一起复制被引用宏。交换配置时核对普通宏、通用宏及所有依赖;也不要把宏相互循环调用当成无限循环方法。

什么时候用通用宏?

不同游戏配置都需要同一段问候文本或简单序列时,使用通用宏可以减少重复维护。只属于某个游戏的连招,优先放普通宏,避免修改后影响其他配置。

通用宏单独引用。图中内容是文本示例;普通Macro与UniversalMacro不能混用名称前缀。

通用宏保存在全局设定范围。备份/导出时,普通配置组与General全局组的范围不同;只导出游戏配置可能没有带走通用宏。见配置备份。更新通用宏前,考虑所有引用它的配置。

管理、整理和交换宏

  • 双击宏行载入编辑区,核对宏名后更新。换一个新名称再添加通常是在建立另一个宏,不代表所有旧引用自动改名。
  • 分类、备注用于检索与说明;分类筛选只改变显示范围,不会暂停宏。先清除筛选,再进行需要完整顺序的整理。
  • 使用右键菜单或快捷键复制、粘贴、删除和排序;常用移动为Ctrl+Up/Down、Ctrl+Home/End。操作前确认选中行和当前“宏/通用宏”页。
  • 宏列表菜单提供导入/导出。遇到同名提示先核对覆盖范围;宏依赖的图片、脚本或程序仍是外部文件,不会因导出宏就自动打包。
  • “清空编辑区”针对下方草稿,不是删除上方全部宏。删除已有宏或批量覆盖前先备份,完成后在主窗口保存。

宏内容使用与映射按键相同的序列、文本和鼠标格式。忘记写法时,直接查参数与格式索引,不必在各章寻找重复说明。

先选用途,再查参数

发送文本、启动程序与控制音量

这些是填在映射按键一侧的功能名称。左边仍填写真实触发键;右侧参数不需要写入原始按键栏。

常用参数速查

在哪里填写参数?

主窗口的映射按键列表选择相应功能后,在“参数”区填写内容,再“添加新映射”。也可在映射项设定的“映射按键”栏直接填写完整格式,然后“映射更新”。

主窗口选了SendText时,参数区只写Hello World;在完整映射按键栏则写SendText(Hello World)。不要把完整函数名再套一遍,变成SendText(SendText(...))。

以下示例为参数语法和操作预期。执行前先确认目标窗口,停用其他复杂规则;发送文本、运行命令或系统控制都会真实作用于当前环境。

发送文字:SendText还是PasteText?

写法用途注意点
SendText(Hello World)按文本发送机制输入文字不是按键组合;目标是否接受仍取决于应用,不能代替所有游戏中的真实按键。
SendText(你好世界)输入中文等文本先在空白记事本练习,不在聊天、命令终端或密码框随意测试。
PasteText(Hello World)通过剪贴板和粘贴快捷键发送在映射项设定中选择PasteText模式:默认Shift+Insert,也可选Ctrl+V;目标不支持粘贴时不会得到预期结果。
SendText({{CLIPBOARD_TEXT}})读取当前剪贴板文字再发送使用前先确认剪贴板内容,避免发出上一次复制的敏感文本。
PasteText({{CLIPBOARD_TEXT}})按粘贴方式使用当前剪贴板文字同样依赖目标粘贴支持。

练习:原始键选一个不影响正常输入的测试键,映射到SendText(Hello World),在空白记事本开始映射、触发一次、停止。确认文本符合预期后再使用组合和序列。软件的剪贴板恢复处理不等于保证与所有剪贴板管理器完全一致,重要内容应先留存。

运行本地程序或命令

Run(C:\Windows\notepad.exe)用于启动记事本。路径含空格时给程序路径加双引号,例如Run("C:\Program Files\Example\App.exe");路径必须实际存在。不要把不理解的下载命令或他人提供的脚本直接加入映射。

附加参数作用例子
WorkingDir="路径"指定工作目录Run(E:\Game.exe WorkingDir="E:\Game")
Wait=true/Wait=false是否等待启动的程序结束;默认不等待Run(C:\script.bat Wait=true)
ShowOption=Max/Min/Hide请求最大化/最小化/隐藏启动Run(E:\Game.exe ShowOption=Max);实际显示由目标程序决定。

系统动作可置于命令开头,如Run(explore C:\MyGame)打开目录、Run(properties C:\MyGame\game.exe)显示属性。还支持find、open、edit、openas、print、runas等系统动作,是否可用取决于Windows与目标文件;runas可能出现UAC,print会真正发起打印,不适合随意练习。

Wait=true会等待外部进程结束;目标长期不退出时可能使相应任务持续等待,并延迟停止或退出。不能把停止映射理解为一定会终止该外部程序,不建议用等待模式管理长时间或可能挂起的任务。文件名、脚本与工作目录是外部依赖,导出配置不会自动携带这些文件。

音量与麦克风

目标写法预期
输出音量SetVolume(30.8)设为约30.8%,实际精度由设备支持决定。
增加/降低SetVolume(+5)/SetVolume(-20)相对增加5/降低20个百分点,不是当前值乘百分比。
静音SetVolume(Mute)、MuteOn、MuteOff切换/明确静音/明确取消静音;后两者也写在SetVolume括号里。
麦克风SetMicVolume(50.5)、SetMicVolume(-5.5)更改麦克风音量;静音参数同理。
同时显示提示SetVolume🔊(+10)、SetMicVolume🎤(Mute)在名称中保留相应图标字符,附带软件通知。

绝对值按0~100范围使用;+5和5含义不同。先用小幅度变化确认当前音频设备,不要把测试值设为突然很大的音量。

用按键切换映射表

SwitchTab(Tab1)切换到当前配置中同名的映射表。中文名也可以,例如SwitchTab(战斗模式),前提是该表实际存在,名称一致。

SwitchTab💾(Tab1)还会按该命令的流程记住切换后的表名。不要把它当成完整“保存设定”:其他未保存条目和全局设置仍需要明确保存。普通切表与持久记住表名不同,试用前先备份。

如果只是手动切表,也可使用映射表快捷键。序列控制、解锁命令见序列控制速查;悬浮按钮、设备及其他格式见参数索引。

在开始、停止或切换映射表时自动发送

这三项放在左侧原始按键,代表软件事件,不是要在键盘上寻找的键。右侧填写希望自动执行的内容。

左侧名称何时触发
SendOnMappingStart相应映射表进入开始映射流程时。
SendOnMappingStop相应映射表停止映射流程时。
SendOnSwitchTab映射运行中切换到这张表时;不是编辑状态下点Tab就测试一次。
  1. 先停止映射,选择要设置的表。
  2. 左侧选择上述事件之一,右侧填简单输出,例如B;添加后核对并保存。
  3. 在空白测试窗口中执行对应开始/停止或切表动作,观察是否发送一次,再停止练习。
这些输出不需要你再按某个物理键。

自动匹配与切表可能间接进入相关流程。不要初次练习就填写关机、运行程序、循环宏或会再次切表的命令,避免意外动作或反复触发。

用映射键控制录制

KeyRecordToggle切换录制开始/停止;KeyRecordStart只开始,KeyRecordStop只停止。它们放在右侧映射按键,与在连续按键录制窗按F11/F12是两种入口。

  1. 用专用练习配置,给一个不影响操作的控制键映射KeyRecordToggle;或者用两个控制键分别映射Start、Stop。
  2. 保存并开始映射,再按录制控制键。录制期间不要输入密码、聊天或工作内容。
  3. 停止录制后,结果会交给程序的录制完成处理并复制至剪贴板。先停止映射,再粘贴到映射按键输入区检查,最后更新/保存。

停止录制不等于停止映射;录制控制键会被作为控制输入处理,不要把它与需要录入的动作混用。格式可接受也不保证能原样重放所有设备。

屏蔽输入与QKeyMapper-Fn:熟悉基础操作后再用

右侧名称用途与边界
BLOCKED只屏蔽这条映射的原始输入;不是禁用整台设备。物理手柄不能因此获得键鼠同样的拦截能力。
QKeyMapper-Fn按住映射出来的程序Fn键,再按已有映射项的原始键,可切换该项连发/锁定状态;该项“禁用Fn键切换”会阻止此操作。它不是笔记本硬件Fn键。
Block-Keyboard/Block-Mouse按住输出时拦截映射项和快捷键以外的相应键盘/鼠标输入,松开时解除;影响范围远大于BLOCKED。
Block-Keyboard⌨/Block-Mouse🖱同类屏蔽,并显示启用/解除提示。

需要按设备编号限定时,可在Block命令后加@0~@9,例如Block-Keyboard⌨@0。按设备区分依赖多键鼠与Interception,不要仅为试这个后缀安装驱动。

先确认停止快捷键仍可用,不要先用鼠标左键或唯一操作入口试屏蔽。

运行时Fn切换不是磁盘保存;想长期保留调整需核对表格并保存设定。强制释放/屏蔽不应当作驱动故障的救援手段。

特殊发送前缀

这些符号加在右侧具体按键名称前,例如↓B,不是左侧触发类型。普通改键不需要它们;先读发送步骤与释放配对。

前缀含义
↓B单独发送B按下。必须安排对应释放,不能只留下按下。
↑B单独发送B抬起。
↕B根据程序记录的虚拟按下状态反转按下/抬起,不等于切换整个映射。
⇧B强制发送抬起;即使相应物理键仍按住,也允许走强制释放路径。
⇳B状态反转,释放时使用强制释放路径。
⇵B发送一次按下后抬起,不保持按住。
!B后覆盖/排除控制:对支持的键临时抑制已有输入,结束时按当前状态恢复。它受原始输入、透传及输出类型影响,不等于BLOCKED或禁用整个键盘。

例:↓B⏱50»↑B明确按下B、等待再释放。强制释放和覆盖会影响目标看到的状态;先用普通键小范围练习,不给系统组合键、鼠标左键或不明特殊命令随意加前缀。!是全角符号,不能用英文!替代;不是所有前缀都适用于所有命令或发送后端。

系统动作:避免误触

右侧的Func-Refresh用于Windows刷新;Func-LockScreen锁屏;Func-Shutdown关机;Func-Reboot重启;Func-Logoff注销;Func-Sleep睡眠;Func-Hibernate休眠。实际可用性受系统策略、权限和电源能力影响。

关机、重启、注销会中断其他程序,可能损失未保存工作。

不要把它们放进新手练习、连发/循环、事件自动发送或容易误触的按键。本手册不演示执行,也不保证目标程序会先提示保存。

先确认参考点,再填写数字

点击、移动与坐标拾取

同一组x、y在屏幕坐标和窗口坐标中代表不同位置。先在空白演示窗口尝试,避免点击游戏付费、删除或系统确认按钮。

鼠标参数速查

先保留停止入口

默认停止映射:左Ctrl+F6。

初学先用键盘键触发鼠标输出,不要先把鼠标左键本身映射掉,否则可能无法点击“停止映射”。开始前核对实际停止快捷键。查看应急停止。

屏幕坐标与窗口坐标

参考范围原点与变化适用情况
屏幕坐标Windows桌面的坐标系;多屏可能出现负数。移动窗口后,同一坐标仍指向原桌面位置。固定位置的桌面操作;显示器、分辨率或缩放变化后要重取。
窗口坐标(:W)目标窗口客户区左上角,不含标题栏和外边框。移动窗口时可跟随它的位置,窗口大小或内容布局变化仍会影响目标。固定窗口内部控件;先配置并确认目标窗口,不能把任意活动窗当作预期目标。
相对移动(:R)从当前鼠标位置偏移dx、dy;正x向右、正y向下。按方向挪动指针,不是指定一个绝对目标点。

软件界面的缩放比例只改变编辑界面呈现,不会替你换算业务坐标。不要把手册图片中的像素位置直接复制到自己的屏幕;应在实际环境重新拾取,尤其是混合DPI、多屏或窗口移动之后。

取得坐标,再添加映射

  1. 先选参考范围与目标窗口。窗口坐标需要正确目标;先完成窗口信息匹配。不要从QKeyMapper自己的按钮位置推算游戏位置。
  2. 使用拾取快捷方式或坐标拾取器。屏幕点使用左Ctrl+鼠标左键,窗口点使用左Alt+鼠标左键。也可在“视图”勾选“显示坐标采集悬浮窗”,打开标题为“坐标采集”的拾取器,选择屏幕/窗口模式,将拾取工具拖到目标再释放;拖动中右键可取消。
  3. 核对坐标值与目标。窗口模式若没有匹配目标、坐标显示不可用,先修正目标信息。选取框的数值是给自己环境使用的,不是本书中的通用推荐值。
  4. 选择对应映射按键并添加。例如列表的Mouse-L_ScreenPoint或Mouse-L_WindowPoint会根据已拾取值生成标准格式。添加后检查表格里的完整名称,再保存。
先看参考模式。这是拾取器入口截图;没有匹配目标时,不应把窗口模式的坐标当作有效游戏位置。

坐标拾取不是点击映射已执行的证明。选择列表里的_ScreenPoint/_WindowPoint是辅助生成入口;保存到映射行的是下一节的标准坐标写法。

坐标点击格式

需求映射按键示例作用
屏幕点左键Mouse-L(500,100)将指针移到该屏幕点并发送左键动作。
窗口内右键Mouse-R:W(500,100)将指针移到目标客户区相对点并发送右键。
中键与侧键Mouse-M(500,100)、Mouse-X1:W(500,100)、Mouse-X2(500,100)L、R、M、X1、X2分别表示左、右、中、侧键1、侧键2;均可按支持格式选择屏幕/窗口参考。

普通按键动作还受触发的按下/抬起及发送时机影响。只想单次点击时,先使用普通触发和明确释放的练习,不要同时开启锁定或连发。

绝对移动、相对移动和位置还原

写法作用
Mouse-Move(800,600)移到屏幕绝对位置,不点击。
Mouse-Move:W(500,400)移到目标窗口客户区中的位置。
Mouse-Move:R(6,10)从当前位置向右6、向下10;(-6,-10)为向左、向上。
Mouse-PosSave/Mouse-PosRestore保存/还原指针位置;还原前先保存,不等于恢复窗口或游戏状态。

在列表选择Mouse-Move_Relative时,“参数”区填6,10,程序生成Mouse-Move:R(6,10)。屏幕/窗口移动辅助项也分别生成无后缀/:W格式。

组合示例:Mouse-PosSave»Mouse-L(300,200)»Mouse-PosRestore先保存位置、点击、再还原。仍须先确认目标安全、按键释放和序列时机;外部软件是否接受并非由格式检查保证。

用键盘持续移动鼠标指针

  1. 选择一个练习用原始键,例如I;右侧选择Key2Mouse-Up,添加并保存。
  2. 在安全的空白桌面区域开始映射,按住I时预期指针持续上移,松开后停止;先确认停止快捷键。
  3. 其他三个方向使用Key2Mouse-Down、Key2Mouse-Left和Key2Mouse-Right。它们是按住控制方向,不是跳到一个绝对坐标。
  4. 在“映射高级设定”核对X轴/Y轴鼠标移动速度,分别影响水平/垂直节奏;先小幅调整,再保存配置。

这个用途不要求先装Interception或创建虚拟手柄。不要同时混用坐标移动、鼠标转摇杆、锁定和连发来排查基础移动问题。这里描述操作预期,未发送真实鼠标输入。

高阶:不移动指针的后台消息

:BG通过窗口消息方式发送,屏幕上的指针不按普通坐标点击那样移动。常用格式:

写法含义
Mouse-L:BG(500,100)以屏幕坐标描述点击点,再转换到目标窗口消息所需坐标。
Mouse-L:W:BG(500,100)以目标客户区坐标发送左键消息。
Mouse-R:W:BG(500,100)右键;M、X1、X2使用相同修饰顺序。
Mouse-Move:BG(800,600)/Mouse-Move:W:BG(500,400)发送对应鼠标移动消息,不是将真实桌面指针挪到那里。

与“发送到同名窗口”有关的使用方式,需要先确认目标窗口范围;它与自动匹配前台进程不是同一个开关。很多游戏不接受后台窗口消息,权限、窗口实现和输入机制也会影响结果,不能把:BG理解为适用于所有游戏的后台控制。

后台消息不会自动模拟硬件、绕过游戏限制或保证对最小化窗口有效。先用普通发送和单窗口验证,确有需要再尝试这一高阶路径。

让界面顺手,也知道软件还在做什么

界面、启动与托盘

调整语言、比例和外观;分清隐藏窗口、停止映射与退出程序。常用入口集中在主窗口左下的“通用设定”页。

配图:中文/深色

先找到通用设定页

界面选项不改变A → B的含义。修改后需要保留的设定,记得点击主窗口的“保存设定”。
入口怎样使用
语言切换中文、English或日本語。文字长度不同,窗口布局可能随之调整;不会把已经填写的按键名称翻译成任意自然语言。
外观颜色选择默认、浅色或深色;默认参考系统外观。手册的深/浅阅读主题只影响手册,不修改软件外观。
更新网站/检查更新选择更新来源后主动检查;需要联网。先保存并备份配置,再按实际更新提示操作。更新可用性取决于网络和发布资源。
提示信息/提示高级设定选择提示位置及样式,见提示信息。

字号太小:先调整软件缩放

  1. 先停止映射。运行/监测期间,比例入口可能不可用。
  2. 选择适合自己的比例。在“通用设定”→“缩放比例”,或顶部“视图”→“缩放比例”选择。两处同步;共有默认、100%、125%、150%、175%、200%、50%、60%、70%、80%、90%这11项。
  3. 检查常用编辑窗。打开映射项设定,确认在当前屏幕上可阅读、可操作;不合适时改回默认,不必重新建立映射。
  4. 保存偏好。希望下次启动沿用时,点击“保存设定”;仅选择比例不等于已经保存。
“默认”和“100%”是两个独立选项,即使当前看起来一样。

软件比例与Windows系统缩放是两层设置;不是把150%的系统再改成某个固定物理像素。跨屏时还会受到目标屏幕DPI影响。

界面缩放不负责换算映射里的鼠标坐标,也不为屏幕过小自动选择合适比例。原生文件/颜色对话框可能采用系统自己的DPI外观。已经手动调整过的窗口大小与保存选项,见通用高级设定。

显示切换:找回主窗口,不是停止映射

默认显示切换键是 L-Ctrl+`:按住左Ctrl,再按反引号键(常见键盘Esc下方、数字1左边)。不同键盘布局应以“显示切换键”框中的实际设定为准。

  1. 主窗口隐藏、最小化或被其他窗口盖住时,按显示切换键,尝试召回窗口。
  2. 主窗口已经在前台时,再按可切换隐藏/最小化状态;具体显示方式随当前窗口状态而定。
  3. 有模态对话框打开时,先处理那个对话框;显示切换不会替你点击确认或解除主窗口禁用。
想做什么使用哪个入口
只把主窗口藏起来/再找回来显示切换快捷键,或托盘菜单的“显示/隐藏”。映射可能仍在运行。
停止发送映射“停止映射”或实际停止快捷键,默认 L-Ctrl+F6。查看应急停止。
结束程序先保存、停止映射,再使用托盘菜单“退出”;不要把隐藏当成退出。

Windows前台限制、独占全屏及目标程序的输入处理可能影响召回表现;这不是覆盖所有游戏/系统状态的强制置顶保证。找不到托盘图标时,也检查Windows通知区域的折叠图标。

启动与关闭:四个选项分别管什么?

选项作用与注意事项
开机自启动设置Windows登录后启动QKeyMapper。此项会调用系统任务计划,可能出现UAC;不是普通的外观选项。不要在演示或临时目录随手启用,移动软件后需重新核对启动路径。
启动时最小化软件启动时不直接展开主窗口;先确认自己会用托盘或显示切换找回它。
启动时自动开始启动后进入开始/监测流程;可能很快应用保存的映射。建议先在手动模式练习并确认停止键,再启用。
关闭时最小化到托盘点击右上角关闭按钮时保留后台实例,而不是退出。首次关闭可能询问“最小化到托盘/直接退出”;按自己需要选择。

托盘右键菜单提供开始/停止、显示/隐藏和退出;文字随当前状态改变。最小化、关闭到托盘、自动开始都不是保存映射的替代操作。开机自启动和首次关闭选择有各自的即时系统/记录行为;不要把所有设置都理解为关闭窗口即可撤销。

选择系统托盘图标

入口:“通用设定”→“选择托盘图标”。它设置的是通知区域的状态图标;不是更改程序EXE主图标,也不是配置列表图标。

图示使用新增内置图标组合。原有14个仍保留;新增Q1/Q2/Q3共43个(14/14/15),可以按状态自由搭配。
  1. 分别选四种状态。空闲=未开始;监测中=等待符合条件的窗口;全局映射/匹配映射=对应映射正在执行。颜色和名称可自选,不应仅凭颜色猜状态。
  2. 关窗后观察,再保存。关闭选择窗,正常使用时观察状态变化;确认喜欢这套组合后点击“保存设定”。更新软件保留原图标及已保存选择,不要求重新选择。
  3. 需要自定义时再添加。使用“添加自定义托盘图标”选择 .ico。软件会复制到程序目录的 custom_trayicons 文件夹;重名时先确认是否覆盖。复制后再到对应状态下拉框选择并保存。
选了状态图标,运行时为什么看起来没变?

当前Tab的自定义图片若启用了“显示为托盘图标”,会优先使用它;否则“映射高级设定”中的“进程图标作为托盘图标”也可能覆盖全局/匹配状态图标。先核对这些设置,再判断选择是否生效。

迁移软件时一并保留 custom_trayicons;只导出INI不会自动打包该文件夹。找不到或无法读取自定义文件时,软件可能回退默认图标。不要删除正在使用的资源来整理目录。

先保留默认,只改确实需要的选项

高级设定与提示

通用高级设定偏向整套软件的使用习惯;映射高级设定偏向当前配置的映射行为。更改后先检查结果,再保存。

通用高级设定:窗口与编辑习惯

入口:“通用设定”→“通用高级设定”。先停止映射,再打开调整。

图示为编辑入口,不是已经保存到磁盘的证明;调整后回主窗口点击“保存设定”。
设置用途与边界
启动窗口位置/X、Y默认、上次保存位置或指定坐标。选择指定位置后才需要填写坐标。多屏断开后不应继续依赖原副屏坐标;屏幕布局变化时重新检查窗口能否找到。
保存窗口大小希望重启沿用手动调整的主窗口大小时启用;它与软件缩放比例不是同一个设置。
保存主窗口分界线位置保留左侧进程列表与右侧映射表之间的分隔位置。隐藏进程列表与改变分界线宽度是两种操作。
编辑模式选择表格单元格直接编辑的触发方式:“Alt+双击”或“左键双击”。它会影响普通双击和Alt+双击进入直接编辑/映射项设定的分工;若习惯改变,可从条目右键的设定入口进入完整编辑窗。
插入位置决定相关新增/粘贴操作放在当前行上方还是下方;添加后核对顺序。查看排序与插入。
全屏模式下禁用全局按键映射用于避免全屏应用误触全局配置;不等于禁用所有已匹配配置。需要例外时在下方填写允许的进程名,用英文分号分隔,如 a.exe;b.exe。这里不是正则编辑器,不要照搬窗口正则。
提示音控制相关操作提示音;不是电脑总音量或麦克风音量。
全局映射切换计时影响自动匹配流程回到全局映射的等待时间;不是按键延时、连发间隔或自动保存周期。

跨DPI移动同时持续拖拽边框等组合操作仍可能有尺寸恢复限制;不要为此反复调整业务坐标。日常先移动到目标屏幕,稳定后再调整大小。

映射高级设定:当前配置的行为

入口:“映射设定”→“映射高级设定”。这些参数不是每条A → B都需要调整;先用默认值完成练习。

涉及手柄和触摸板的项目先看含义;设备教程将在下一阶段补齐,不需要为普通键盘映射全部启用。
区域用途
鼠标速度:水平/垂直/轮询间隔调整相应按键转鼠标移动的速度与更新节奏;不是Windows全局鼠标指针速度,也不是实体鼠标DPI。间隔越小不代表体验必然更好。
进程图标作为托盘图标映射时使用当前配置的进程/配置图标;注意图标优先级。
接受虚拟手柄输入需要将虚拟手柄也作为输入时才启用。若输出又成为自己的输入,可能产生重复触发;普通物理手柄练习先保持默认。
启用共通映射表启用当前配置的Common功能;还需核对各Tab是否追加。详细步骤集中在共通映射。
手柄重按/轻按/释放、重推/轻推/复位按模拟量比例划分触发门槛。先保留默认,避免阈值过近引起临界来回触发;它们不是长按的毫秒数。具体设备键名随手柄章说明。
触摸板鼠标速度/反转X、Y影响支持的手柄触摸板转鼠标路径;反转改变移动方向。没有对应设备时不用填写,不能使普通无触摸板手柄获得触摸板。

F8/F9坐标点,与坐标采集有什么区别?

“映射高级设定”可配置“显示窗口内坐标点”和“显示屏幕内坐标点”,图示为F8/F9。它们用于标示映射里已有的相应鼠标坐标点,方便核对落点;不是读取当前鼠标位置。没有对应坐标条目时可能没有标记可显示,按实际快捷键与当前功能状态使用。

若目的是取得坐标并填入鼠标映射,使用“视图”→“显示坐标采集悬浮窗”,按坐标采集教程操作。不要把F8/F9显示坐标点、采集时的组合键以及准星当成同一个功能。

系统筛选键:抑制系统长按重复

入口:“映射设定”→“系统筛选键”。弹出选项可设置“启用系统筛选键”及“启用筛选键时关闭按键声”。它针对物理键一直按住时Windows产生的重复输入,不等同于映射项的连发开关。

也可在Windows中手动设置:Win10为“设置 → 轻松使用 → 键盘 → 筛选键”;Win11为“设置 → 辅助功能 → 键盘 → 筛选键”。记录原值,按需要调整;系统版本不同,文字可能略有差异。

这会影响Windows输入行为,请先理解再调整。

启用后,软件在实际映射期间按配置管理系统筛选键;正常停止等流程会尝试恢复此前状态。运行期间手动改变系统筛选键时,软件也会尊重相关手动状态。异常终止时不要把恢复视为保证,应回Windows辅助功能检查。

此功能与多键鼠页的驱动筛选不是同一项。不要为了解决Interception设备失效而反复切换系统筛选键;先阅读驱动风险。

提示信息:位置、字体与显示时间

“通用设定”页的“提示信息”选择显示位置;“提示高级设定”编辑通用样式。开始映射、切换映射表等提示有助于确认当前状态,但不能代替检查实际映射结果。

图为样式编辑窗。提示气泡的内容和颜色还可能由当前Tab或具体操作决定,不是所有系统对话框都使用这一套样式。
  1. 先选择容易看到、不遮住游戏关键信息的位置;不需要相应状态提示时可选择不显示。
  2. 调整字体、大小、粗细、斜体与颜色;再调整背景、圆角、文字边距及不透明度。字体较大时给足边距,不要只把时长设得很长。
  3. 用显示时长、淡入/淡出时长控制停留节奏;这些是毫秒,不是映射按键延时。X/Y偏移用于微调所选位置附近的显示。
  4. 关闭编辑窗,保存设定;下一次出现相关提示时观察实际效果。

只给一个配置或Tab使用不同提示

入口:“映射高级设定”→勾选“提示信息自定义”→“自定义设定”。在这里选择当前配置的提示位置与样式,不必改变其他配置的通用习惯。

标题中的配置名帮助区分两个相似窗口:通用样式与当前配置自定义样式。

Tab的“映射表设定”还提供提示字体色、背景色和“不显示提示信息”。它们针对该Tab的相关提示;不显示并不代表映射停止。当前配置的自定义样式、Tab颜色及单项提示各有作用,不要假设一处字体颜色能覆盖所有操作提示。

高级设定改完,也需要保存。

大多数设定窗直接更新当前内存设置;关窗不是撤销。要保留时点击“保存设定”,不要在未保存状态下切换配置或开始自动匹配。为什么必须先保存?

区分提示、指示与可以点击的输入

准星、悬浮与面板

名字相似,用途不同:准星帮助瞄准参考,Tab图片提示当前状态,悬浮按钮和虚拟按钮面板则可以触发映射。

该选哪一种?

想要的效果功能/设置归属
在屏幕或目标窗口中央显示瞄准参考十字准星;参数属于对应映射项。
用图片提示正在使用哪个TabTab自定义图片/悬浮窗口;属于映射表,不是一个映射按键。
把某条映射做成独立可点击按钮悬浮按钮;每条映射可单独设置。
把多个命名按钮排成一块面板虚拟按钮面板;由当前映射中的VButton输入项组成。

这些运行态辅助窗口不会因为放大软件编辑界面就自动改成同样比例;用各自的大小、位置和字体选项调整。置顶也不保证能覆盖所有独占全屏游戏。

十字准星:先有触发映射,再设外观

  1. 添加一条专用练习映射,例如原始键 F7 → 映射键 Crosshair-Normal。先确认F7没有与自己的快捷键冲突。
  2. 打开这条“映射项设定”→“十字准星设定”,调整中心点、上下左右线段、颜色、线宽、线长、不透明度和X/Y偏移。
  3. 保存设定,开始映射;按住原始键观察,释放后应随相应准星状态结束。需要按一次保持的行为时,再学习锁定,不要第一步就叠加多种状态。
这是外观设定窗,不是游戏中的实际准星画面。只打开设定窗不会自动开启准星。

Crosshair-Normal绘制普通十字线;Crosshair-TypeA主要绘制较外侧的线段,形成中心留空的形状。位置结合当前匹配窗口客户区或默认屏幕区域计算;偏移用于微调,不是修改游戏内部瞄准逻辑。

准星是外部叠加显示,不替游戏自动瞄准,也不保证满足所有游戏规则或全屏显示方式。测试结束后停止映射,核对准星已消失。

Tab自定义图片:提示、托盘和悬浮三种用途

入口:映射表Tab右键→“映射表设定”。表名、快捷键及导入/导出见Tab管理;下半部分用于自定义图片。

图中尚未选择图片。先选有效文件,再选择希望展示的位置;几个显示用途可以分别配置。
  1. 点击“选择自定义图片”,选择自己准备的图片/图标文件。移动或删除原文件会影响后续读取;备份配置时同时保留图片资源。
  2. “显示位置”和“图片间距”控制相关Tab提示中的图片位置/留白,不是桌面坐标;选择不显示可仅保留其他用途。
  3. 希望当前Tab映射时使用它作为托盘图标,勾选“显示为托盘图标”,按文件提供的尺寸选择“图标选择”。它会影响状态图标的显示优先级。
  4. 需要独立图片指示时,勾选“显示为悬浮窗口”,进入下面的窗口设定。
  5. 完成后保存设定。右键“选择自定义图片”可“恢复默认”,清除当前图片选择;先确认它是否还用于托盘或悬浮显示。

Common表的部分Tab图片选项可能不可用;以普通映射表的实际可选状态为准。

悬浮窗口:显示图片,不是点击执行按钮

在“映射表设定”→“悬浮窗口设定”中,调整图片指示窗口的背景、大小、圆角、不透明度、坐标基准点及X/Y偏移。

先定参考点,再调偏移。屏幕参考点与目标窗口参考点不是同一坐标系。

“鼠标穿透”表示鼠标操作传到下面的窗口,避免图片挡住游戏;它不等于映射项的“原始按键穿透”。图示穿透切换键为F3,实际以当前设定为准。需要移动/调整时,先确认是否因穿透而无法点击。

此窗口与当前Tab及映射状态关联;没有有效图片或未启用显示时,不会因为打开设定窗就出现运行效果。若希望点图片执行动作,使用下面的悬浮按钮。

悬浮按钮:一条映射,一个独立按钮

  1. 先准备好一条可用映射,例如 A → B;打开该条“映射项设定”→“悬浮按钮设定”。
  2. 勾选“启用悬浮按钮”,填写易懂的标签;为空时使用原始按键名。希望开始时立即出现,勾选“映射开始时显示”。
  3. 设置尺寸、字体、普通/按下/锁定颜色及位置;按需要启用拖拽移动、置顶、提示和状态同步。
  4. 回到主窗口保存设定,再开始映射。用按钮触发这条映射;映射自身的连发、锁定、发送时机仍需同时考虑。
图示尚未勾选启用,展示编辑项目;不是按钮已经在桌面运行的证明。可点击原图查看细项。
设置组怎样选择
显示提示/同步显示按下状态用于提示按钮对应内容和按下、锁定状态;颜色反馈不是输入一定到达游戏的回执。
鼠标穿透/穿透切换键开启穿透后鼠标点不到按钮;需要点击操作时关闭穿透。相关切换键与当前Tab的悬浮窗口设置有共享关系,修改后两处一起核对。
尺寸、字体、边框与不透明度分别调整普通、按下、锁定状态;先确保标签清晰,再追求装饰。
渐变与悬停效果控制鼠标经过时的填充、光晕、对比与动画时长;不影响映射的按键保持时间。
样式码/复制/应用剪贴板样式码复用按钮外观;不是复制整条映射或备份整个配置。应用前确认剪贴板是可信的按钮样式码。
坐标基准点与偏移先选屏幕/目标窗口参考点,再设置X、Y。启用拖拽后可移动按钮;需要保留位置时再保存配置。
组ID/组内按钮同步移动将相关按钮分组后一起移动;有Common参与时也要注意共通按钮的联动范围。先用少量按钮试排,避免一次带走不相关按钮。
拖拽中显示坐标(全局)便于摆放时读数;是全局辅助选项,不是当前按钮输出的鼠标坐标。

运行中的按钮可右键打开设定、复制/应用样式码、保存、移动、切换穿透/置顶或显示/隐藏。启用拖拽后,Ctrl+左键拖动移动单个按钮;有组ID时可用Alt+左键拖动联动组内按钮,也可先从右键菜单选择移动方式。普通左键点击用于触发映射,不要把它当成随意拖动的空白装饰。

“应用/恢复”与“保存设定”分两层。

设定修改会更新当前内存;“应用”把当前值设为本次可恢复的检查点。“恢复”返回本次打开或最近一次应用的检查点,不是读取磁盘备份。关闭窗口不保证撤销;想跨重启保留,仍要回主窗口保存。

用另一条映射显示/隐藏悬浮按钮

把命令填在右侧“映射按键”。例如已给 A → B 启用悬浮按钮,再添加 F7 → ShowFButton(A) 和 F8 → HideFButton(A)。按F7显示A对应的按钮,按F8隐藏它;先检查快捷键冲突。

命令含义
ShowFButton(A)显示原始键A对应、已启用的悬浮按钮;参数是原始按键,不是按钮标签或输出B。
HideFButton(A)隐藏对应按钮,不是停止整套映射。
ShowAllFButtons/HideAllFButtons显示/隐藏当前映射范围内已启用的悬浮按钮。

需要指定组合或特殊触发时,与原始键的实际名称对应,例如 ShowFButton(L-Ctrl+1)、长按 ShowFButton(A⏲500)、双击 HideFButton(A✖)。双击标识后不再附加毫秒数;不要写成 A✖300。命令不会替你建立或启用一个原本不存在的按钮。

虚拟按钮面板:把命名输入排在一起

VButton{标签}填在左侧“原始按键”。

它是用鼠标点面板来触发的虚拟输入,不是虚拟手柄按键,也不是要发送给游戏的文字。右侧仍填写实际输出。

  1. 原始按键选择或填写 VButton{练习B},映射按键填 B,添加并核对。
  2. 打开“映射设定”→“虚拟按钮面板设定”,选择列数、最大行数、按钮大小、边距、字体和颜色;按需启用“映射开始时显示”、拖拽和置顶。
  3. 保存设定,开始映射。在面板上点击“练习B”,应触发对应的B映射;不需要按键盘上一个叫“练习B”的键。
  4. 停止映射后结束相应运行显示;布局和位置偏好与当前配置一起保存。
设定窗用来编辑整块面板,不代表已经存在可显示的VButton条目。没有有效按钮时,要求显示也不会凭空创建面板内容。

标签不能为空,例如 VButton{开火};这类输入不能再拼接设备后缀、组合键或长按/双击时间标记。若某个VButton条目同时启用独立“悬浮按钮”,它以独立按钮显示,不再在面板重复显示。

启用拖拽后,用Ctrl+左键拖动移动整块面板,也可右键使用移动/设定等入口;普通左键用于点击按钮。最大行数限制同时显示的行数,按钮较多时注意面板滚动区域,不是超出行数就自动删除配置。

右侧命令 ShowVButtonPanel、HideVButtonPanel 可由其他原始键触发,用于显示/隐藏面板。隐藏面板不等于停止映射,也不删除VButton配置。“应用/恢复”与悬浮按钮类似,只管理本次编辑检查点;最终仍需“保存设定”。

随时查阅 · 先知道怎样停止

鼠标点不了,怎样停止?

把鼠标左键改成其他功能后,点击“停止映射”按钮可能也会被转换。先使用停止快捷键。

默认操作:左 Ctrl + F6

按住左 Ctrl,再按一下 F6,然后松开。

确认QKeyMapper已经停止后,再检查鼠标点击或键盘输入。默认开始、停止共用此组合;不要反复按,以免又开始。

  • 改过停止键:使用“映射设定”页当前显示的“映射停止”组合,不一定仍是默认值。
  • 准备映射鼠标左键:先在低风险的字母映射中确认停止键工作,再改鼠标。不要等到无法点击时才找说明。
  • 持续连发/锁定:停止整个映射后,再检查该条目的锁定、连发或序列循环设置。
查看自己的配置,以“映射停止”一栏为准。图中为默认值。

停止键的能力边界

它是QKeyMapper正常接收到键盘输入时的停止入口,不是绕过驱动的独立硬件急停装置。驱动导致整个键盘、鼠标无法使用时,不能保证此快捷键仍可接收,也不能用它修复驱动。

安装多键鼠驱动前,必须先阅读严重风险说明。

不要把“有停止快捷键”当作可以安全尝试任意驱动设置的保证。查看Interception风险 →

随时查阅 · 把问题拆小

先测试,再进入游戏

先证明简单映射能工作,再增加窗口匹配或游戏条件。测试工具帮助观察输入,不保证目标游戏以相同方式处理。

推荐练习顺序

  1. 确认停止快捷键。
  2. 全局配置、取消自动匹配,仅保留A → B。
  3. 空白记事本、英文输入,观察基本输入。
  4. 停止映射,确认正常输入恢复。
  5. 每次只增加一个选项,如组合键或连发。
  6. 最后为游戏配置窗口匹配,再确认匹配是否生效。

浏览器输入框和游戏可能拦截快捷键,输入法也会改变显示结果。优先在空白文本区域练习,不要在工作文档或聊天输入框中试验。

按需要选择工具

工具适合观察获取与限制
记事本字母、文本和简单组合键结果。Windows常用工具。先用空白文档,不用真实工作内容。
Keyboard Test Utility键盘按下/抬起、修饰键和组合。可从项目QQ群文件获取。本手册不捆绑该工具。
Go柄网手柄测试物理或虚拟手柄的按钮、摇杆等输入。外部网页,需要联网。实际识别取决于浏览器、设备和权限;可能需要先操作手柄激活检测。
DirectXGamepadViewer手柄按钮、摇杆和扳机。可从项目QQ群文件获取。不是键盘输入测试工具。

请通过项目QQ群(906963961)与二维码查找群文件,按完整工具名搜索。这里不提供未经核实的下载站,也不声称已对所有工具版本、浏览器和设备做过兼容测试。

怎样理解检测结果

测试工具有响应,说明该工具看到了输入,不等于游戏一定接受。游戏无响应时再查窗口匹配、发送方式和游戏自身条件;不要立即安装更多驱动。

物理手柄转虚拟手柄时,测试工具可能同时显示两台设备。这不一定是QKeyMapper重复添加,可能是物理与虚拟设备都可见。先看手柄能力边界,不要误把物理输入当成已被屏蔽。

键鼠或物理手柄 → 软件创建的手柄

虚拟手柄与参数

Joy表示读取输入,vJoy表示这里的虚拟输出。先让系统看到一台虚拟手柄,再测试一颗按钮,最后调整模拟量。

先创建一台虚拟手柄

入口:主窗口“虚拟手柄”页。输出依赖ViGEmBus;没有驱动时先阅读安装条件与兼容说明。单纯“物理手柄 → 键鼠”无需创建虚拟手柄。

本图未启用,相关参数置灰是正常状态。“ViGEm可用”仅表示截图机器可连接相应驱动,不代表你的电脑也已安装。
  1. 停止映射,选择需要的类型:一般先从 X360 开始;目标明确需要DS4时再选择相应类型。
  2. 勾选“启用虚拟手柄”,先保持数量1。它会立即创建/移除设备并记录启用状态,不必等“保存设定”才生效;不要在游戏正在使用设备时反复切换。
  3. 在游戏控制器面板或手柄测试工具确认出现目标虚拟设备。检测不到时先处理驱动/创建失败,不要继续添加很多映射。
  4. 再按下面的按钮练习添加映射、保存并开始。只创建手柄不会自动填好游戏所需的按键。

这里的vJoy键名使用QKeyMapper的ViGEm输出路径,不等于要求另装同名“vJoy”驱动。

第一条输出:键盘A → 虚拟手柄A/×

  1. 左侧原始按键选 A,右侧映射按键选 vJoy-Key1(A/×)。
  2. 添加后核对A → vJoy-Key1,保存设定。先不要加入连发、宏或复杂发送前缀。
  3. 打开测试工具,选中虚拟设备,开始映射;按住/松开A,预期看到对应虚拟按钮按下/释放。
  4. 停止映射,确认不再输出。进入游戏后还要在游戏自己的输入设置中选择或绑定这台手柄。

其他按钮及方向见下方虚拟手柄位置图与完整名称表;模拟量和专用命令见参数命令速查。

普通vJoy按钮/方向键在序列中未指定保持时间时使用默认20毫秒保持;这是序列默认行为,不代表所有游戏都会识别这么短的输入。需要时明确设置合适时长并在目标软件核对。

按键名称速查:vJoy是虚拟输出

下表的普通按钮/方向名称填写在右侧“映射按键”,表示希望软件收到的虚拟手柄动作;左侧可以是键盘、鼠标或实际手柄输入。先从图中认位置,再查完整名称,不要自行给任意物理Joy名称加v。

vJoy手柄位置图:希望软件收到的虚拟输出 Xbox常见布局:左上是左摇杆,左下是十字键,右上是面键,右下是右摇杆。顶部分别为肩键与扳机,中间为Back、Guide和Start。下方另画PS布局的触摸板按下位置。十二组标注对应紧随的完整名称表。 vJoy- · 希望软件收到的虚拟输出 Y/△B/○X/□A/× ⌂−≡ 07 LT / L2 扳机08 RT / R2 扳机 05 LB / L1 肩键06 RB / R1 肩键 03 左摇杆01 面键 02 十字键04 右摇杆 09 Back11 Guide10 Start 摇杆推向四方 ≠ 把摇杆向下按 PS 布局补充 触摸板位于正面中央 12 触摸板按下 不是轻触或滑动轨迹
位置示意:01~12对应下表。PS摇杆布局不同,底部单独标出触摸板位置。窄窗口可左右滚动图示,也可使用浏览器缩放;完整名称可在下表选择复制。
图中位置/用途映射按键完整名称说明
01 面键:下/右/左/上vJoy-Key1(A/×)
vJoy-Key2(B/○)
vJoy-Key3(X/□)
vJoy-Key4(Y/△)
按图中的位置识别A/×、B/○、X/□、Y/△。
02 十字键vJoy-DPad-Up
vJoy-DPad-Down
vJoy-DPad-Left
vJoy-DPad-Right
上/下/左/右;与摇杆方向分开。
03 左摇杆vJoy-LS-Up
vJoy-LS-Down
vJoy-LS-Left
vJoy-LS-Right
vJoy-Key9(LS-Click)
前四项是推向四个方向;最后一项是摇杆按下(PS的L3/R3)。
04 右摇杆vJoy-RS-Up
vJoy-RS-Down
vJoy-RS-Left
vJoy-RS-Right
vJoy-Key10(RS-Click)
前四项是推向四个方向;最后一项是摇杆按下(PS的L3/R3)。
05 左肩键vJoy-Key5(LB)PS的L1。
06 右肩键vJoy-Key6(RB)PS的R1。
07 左扳机vJoy-Key11(LT)PS的L2;与左肩键不同。
08 右扳机vJoy-Key12(RT)PS的R2;与右肩键不同。
09 BackvJoy-Key7(Back)PS的SHARE/Create等对应位置;以设备报告为准。
10 StartvJoy-Key8(Start)PS的OPTIONS对应位置。
11 GuidevJoy-Key13(Guide)PS键对应位置;物理按钮可能被系统/平台占用。
12 触摸板按下vJoy-Touchpad仅DS4虚拟类型支持;X360跳过此按钮。不是重放触摸轨迹。

上表包含全部26个基础输出名称:13个编号按钮、12个十字键/摇杆方向,以及DS4专用触摸板按钮。没有vJoy-Key14~vJoy-Key30、vJoy-Paddle1或vJoy-…_Light这样的对应输出。模拟量使用方括号力度值,设备选择使用@0~@3目标后缀;不能把物理输入后缀或_Light规则直接照搬。

参数命令与vJoy前缀例外

这些名称没有独立的实体按钮位置。需要参数的条目列出完整基础名称和可照做的例子;详细范围与行为由链接教程统一说明。

图中位置/用途完整名称(注意填写侧)说明
右侧:扳机限幅vJoy-LT-Max
vJoy-RT-Max
例:vJoy-LT-Max[150];限制最大按压。
右侧:摇杆半径vJoy-LS-Radius
vJoy-RS-Radius
例:vJoy-LS-Radius[150,U=100,R=200]。
右侧:摇杆移动vJoy-LS-Move
vJoy-RS-Move
例:vJoy-RS-Move[X=-60,RY=-10];绝对/相对偏移。
右侧:Forza自动扳机vJoy-Key11(LT)_BRAKE
vJoy-Key12(RT)_BRAKE
vJoy-Key11(LT)_ACCEL
vJoy-Key12(RT)_ACCEL
BRAKE为自动刹车,ACCEL为自动油门;依赖遥测。
右侧:Forza参数模板vJoy-Key11(LT)_BRAKE[]
vJoy-Key12(RT)_BRAKE[]
vJoy-Key11(LT)_ACCEL[]
vJoy-Key12(RT)_ACCEL[]
列表中的空方括号是待填写模板,不能原样作为完整配置。例:vJoy-Key12(RT)_ACCEL[INIT=100,THR=7]。
左侧:鼠标转虚拟摇杆vJoy-Mouse2LS
vJoy-Mouse2RS
虽然以vJoy开头,却在原始按键侧;当前作用于0号虚拟手柄,右侧普通输出置灰。

Mouse2vJoy-Hold不以vJoy开头,是右侧用于保持鼠标所控摇杆偏移的辅助命令。物理模拟量直连则使用左侧的Joy专用入口。

多台输出:@编号选目标

最多配置4台虚拟手柄。右侧普通虚拟按键可加 @0~@3 指定目标;不加时默认0号。例如 vJoy-Key1(A/×)@1 发送到1号虚拟手柄,前提是它实际存在。

数量和类型列表用于查看/管理已创建的虚拟设备,不能代替检查映射文本中的目标后缀。QKeyMapper的0号不必等于某个游戏显示的“玩家1”;通过测试工具逐台确认,不以列表顺序猜测设备身份。

模拟量值写在目标编号之前,例如 vJoy-LS-Up[150]@1。改变设备数量会影响系统枚举与游戏识别;正式使用前先停止映射并保存当前配置。

轻推与限幅:方括号里的数值不是毫秒

输出格式例子与含义
扳机/摇杆方向轻推值vJoy-Key12(RT)[100]、vJoy-LS-Up[150],值0~255。255表示相应最大按压/偏移,不能把它当作0~100的百分比。
扳机最大值vJoy-LT-Max[150]、vJoy-RT-Max[50],限制相应虚拟扳机最大按压,范围0~255。不是修改原始物理扳机固件。
摇杆统一半径vJoy-LS-Radius[150] 或 vJoy-RS-Radius[150],限制对应摇杆偏移范围。
分方向半径vJoy-LS-Radius[U=200,D=0,L=150,R=150]。U/D/L/R为上/下/左/右,范围0~255,0可禁止该方向偏移。
默认与局部覆盖vJoy-RS-Radius[U=120,R=180] 的未指定方向使用255;vJoy-LS-Radius[150,U=100,R=200] 先统一150,再覆盖上和右。

这些写在右侧“映射按键”。轻推输出值与左侧 _Light 输入门槛、⏱ 保持时间是三种概念。限幅可能与其他输出共同影响结果;先在独立练习配置观察按下、释放和停止后的状态,再组合使用。

摇杆偏移命令:绝对位置与相对移动

vJoy-LS-Move 控制左摇杆,vJoy-RS-Move 控制右摇杆。X/Y按中心参考设置位置;RX/RY在当前偏移上继续移动。

例子如何读
vJoy-LS-Move[X=-60,Y=100]以中心为参考,向左60、向下100
vJoy-RS-Move[RX=-6,RY=-10]以当前位置为参考,继续向左6、向上10
vJoy-LS-Move[RX=6,Y=200]水平方向相对增加6,垂直方向绝对设为下200

方向值按虚拟摇杆的-255~255偏移尺度理解,不是桌面像素;输出还可能受到半径限定等设置影响。相对指令重复发送会累积到边界,不能把它当作同一固定位置。先确认目标摇杆与回中策略,再用于长序列。

鼠标转摇杆:从低灵敏度与回中开始

  1. 先准备一台虚拟手柄。在左侧原始按键选择 vJoy-Mouse2LS 或 vJoy-Mouse2RS,添加专用转换项;右侧普通输出会置灰。
  2. 在“虚拟手柄”页调整X/Y灵敏度、反转和回中延时,先小幅试动。该转换不带输出@编号,当前作用于0号虚拟手柄。
  3. 保存后开始,用测试工具观察摇杆偏移。回中延时决定停止移动鼠标后何时回到中心;设0表示不自动回中,不是立即回中。
  4. 需要“直控模式”时再单独比较移动与偏移关系;不要同时大改全部参数。锁定光标会限制鼠标活动,初学先不启用,并保留独立停止键。

另可添加一条映射输出 Mouse2vJoy-Hold:按住其原始键时保持当前虚拟摇杆偏移,释放后继续由鼠标移动控制。它不是停止整套映射,也不是锁住物理手柄。

连续传感器输入,不是普通按钮

陀螺仪与触摸板

设备必须实际具备相应传感器,并且连接协议/SDL2能够读取。选择一个功能名称不会为普通手柄增加硬件能力。

陀螺仪转鼠标:先确认方向,再调速度

  1. 先确认手柄支持陀螺仪,并能以当前USB/蓝牙模式被读取。不同连接模式支持范围可能不同。
  2. 左侧原始按键选择 Joy-Gyro2Mouse,添加专用转换项;右侧普通映射按键置灰。不加玩家@N后缀,当前格式不支持。
  3. 保存设定,开始映射。在安全桌面位置缓慢转动手柄,分别核对水平、垂直方向;先不要操作游戏或窗口关闭按钮。
  4. 方向错误时用下面的高级设置调整;速度不合适时再调主页面参数。每次只改一组,确认后保存,最后停止并核对鼠标恢复。
这是参数编辑页。支持陀螺仪的设备及实际传感器数据是产生移动的前提;本图不表示已经连接传感器。

参数怎么调,才容易知道是哪项影响?

参数作用与顺序
水平/垂直速度分别控制两轴整体输出强度。先在默认附近小步调整,而不是一开始就设最大值。
低速/高速灵敏度细微转动与较快转动使用不同灵敏度,并在两者之间过渡。用来平衡微调和快速转向,不是游戏内部的鼠标灵敏度。
低速/高速阈值影响按转动幅度过渡的区间;不是毫秒,也不能简单等同于完全屏蔽微动的死区。没有明确需求先保留默认。

如果静止时仍漂移,先检查放置、连接和设备状态,再逐项调整;不要用极端参数掩盖设备问题。鼠标输出还可能受到系统和目标软件处理影响,应在相同环境比较。

高级设定:哪一根传感器轴控制屏幕方向?

入口:“陀螺仪鼠标”→“高级设定”。水平、垂直输入源均可选择陀螺仪X/Y/Z轴,再分别决定是否反转。

先慢转手柄一次,只观察一个屏幕方向,再调整对应输入源;不要同时交换来源和反转,避免无法判断原因。

默认水平用陀螺仪Y轴、垂直用X轴。设备摆放方式不同,直观上的“左右转”未必对应同一个传感器轴。调整直接更新当前设定;要保留仍需保存。

只在需要时允许陀螺仪移动

右侧映射命令行为
Gyro2Mouse-Move按住对应原始键时允许移动,释放后抑制;适合“按住肩键才瞄准”。
Gyro2Mouse-Hold按住时抑制移动,释放后允许;适合临时抬手调整握姿。

例如保留Joy-Gyro2Mouse转换项,再添加 Joy-Key5(LB) → Gyro2Mouse-Move,保存后测试“按住才动”。这两种门控的初始状态不同,入门时选一种,不同时堆叠多条相反门控。门控不会停止其他映射。

触摸板:移动、轻触与两指手势分开设置

  1. 确认设备的触摸板可被读取。触摸板按下按钮 Joy-Touchpad 与表面轻触/滑动不是一回事。
  2. 需要单指滑动控制鼠标时,添加特殊原始项 Joy-Touchpad2Mouse,右侧置灰;速度和反转在“映射高级设定”底部。
  3. 需要点击或手势时另加普通映射,例如 Joy-Touchpad-Tap → Mouse-L、Joy-Touchpad-2F-Up → Mouse-WheelUp。其余两指方向为Down/Left/Right,名称保留Joy-Touchpad-2F-前缀。
  4. 保存后在安全窗口测试每个动作,确认不会把滑动误当点击;先保留键盘停止键。停止后再用于目标软件。

这些输入依赖真实触摸板与协议支持;普通Xbox手柄不能仅靠配置获得同样输入。首次练习尽量不要用触摸板左键映射操作QKeyMapper标题栏。

触摸板检测开关命令

将命令写在右侧映射按键:GamepadTouchpadOn 开启、GamepadTouchpadOff 关闭、GamepadTouchpadToggle 切换触摸板检测状态。它们不安装/卸载驱动,也不使物理触摸板对游戏自动隐藏。

格式示例作用
GamepadTouchpadToggle🎮切换并显示相关通知
GamepadTouchpadOn@1为1号玩家开启
GamepadTouchpadOff🎮@2为2号玩家关闭并提示

玩家后缀范围@0~@9,不写时作用于所有已连接手柄。通知标记写在玩家后缀之前;先核对设备编号,再用单个开关练习。

按需要安装,不把所有驱动当成入门必选

驱动选择与安装入口

先判断自己需要读取什么、输出什么,再考虑驱动。驱动会改变Windows设备环境,不能仅凭软件截图里显示“可用”就照着全部安装。

先选功能,再选驱动

用途对应组件
普通键鼠映射不要求为了基础练习安装Interception/ViGEmBus;先使用正常输入路径。
读取物理手柄、转键鼠SDL2读取;不等于屏蔽游戏收到的物理输入。
创建虚拟X360/DS4手柄ViGEmBus;这是输出设备,与物理手柄检测不同。
区分多套键盘/鼠标Interception;先读严重输入失效风险,普通用户无需为基础映射启用。
通过虚拟HID键鼠发送输入FakerInput;需同时在相应映射项选择发送方式,不是安装后所有条目自动改走该路径。
减少物理+虚拟手柄双重输入HidHide等独立工具;需要保持QKeyMapper可见物理设备。见能力边界。

QKeyMapper版本、Windows版本、应用位数与驱动支持是不同条件。不要因为手册可在旧浏览器阅读,就认为所有驱动都支持Win7;也不要把x86程序直接等同于x86操作系统。完整发布包内的安装入口会按操作系统架构选择相应资源。

ViGEmBus:只在需要虚拟手柄时安装

  1. 保存并备份配置,停止映射,关闭正在使用虚拟手柄的游戏/测试工具。确认自己需要虚拟输出,而不是普通手柄转键鼠。
  2. 完整解压与系统兼容的发布包,保留 ViGEmBusDriver 等附带目录;只复制QKeyMapper.exe会缺少安装资源。
  3. 在“虚拟手柄”页使用“安装ViGEm”。已经显示“卸载ViGEm”时不要再点它来尝试安装;按钮含义随当前状态变化。
  4. 阅读UAC和安装结果;要求重启时先结束工作并按提示重启。返回软件确认可用状态,再启用一台虚拟手柄测试。

卸载使用同一页的卸载入口,先停用依赖它的虚拟输出;其他软件也可能使用ViGEmBus,移除会影响它们。异常时记录提示和版本,不反复安装/卸载碰运气。

Win7专用入口:项目README要求Win7使用虚拟手柄时自行安装ViGEmBus v1.16.116,安装文件与说明见项目Win7驱动文件页(需联网)。先确认系统与版本,不把新版驱动直接套用到Win7。

与vJoy共存:项目不建议同时安装ViGEmBus和vJoy。若之前安装过vJoy并出现虚拟手柄异常,先停止相关软件,确认其他应用不再依赖vJoy后,再按其卸载说明移除并复测;这不是所有用户的必做步骤,也不保证解决所有故障。vJoy-是QKeyMapper的虚拟输出键名前缀,不代表需要另装vJoy驱动。

驱动支持与维护状态需要单独核对。

ViGEm项目已退休/归档。上游说明1.16及以前面向Win7/8.1/10,1.17及以后面向Win10/11;这不是建议旧系统随意降级安装,安装前应查阅对应版本的系统要求。

上游支持系统说明、退休及旧更新组件说明(需联网)。按你实际包内的驱动版本核对,不从名称相似的网站下载替换组件。

FakerInput:安装与选择发送方式是两步

  1. 先用默认发送方式完成简单映射;确有使用虚拟HID键鼠路径的需要时,再查看驱动条件。
  2. 保存、停止映射,在“映射设定”页使用“安装FakerInput”,保留发布包的 FakerInputDriver 目录,阅读UAC和结果。已安装时按钮为卸载,不要误点。
  3. 打开需要的“映射项设定”,在“发送方式”中选择FakerInput;确认该条输入/输出支持此方式,再更新并保存。
  4. 使用安全测试窗口验证按下与释放,再测试目标软件。只有驱动可用,并不代表每个目标一定接受该输出。

卸载前停用相关映射,注意其他依赖软件;完整退出与卸载驱动不同。FakerInput不用于隐藏物理手柄,也不能当作Interception设备失效的恢复工具。项目来源(需联网)。

低频专项 · 不是普通改键的前置步骤

极限竞速专项

根据支持的游戏遥测数据调整虚拟扳机的油门/刹车输出。只有需要此类赛车辅助时再设置,普通映射可跳过整章。

先让游戏数据到达,再调映射

图中是本机默认编辑值,不是所有车辆/版本的最佳参数;未运行游戏遥测。
  1. 先完成虚拟手柄基础,确认游戏能使用虚拟扳机。备份当前游戏与QKeyMapper配置。
  2. 在游戏支持的“数据输出/Data Out”选项中开启遥测,设置接收地址与端口;QKeyMapper默认端口为 5300,两端必须一致。同机接收通常使用本机回环地址 127.0.0.1,具体游戏/发行渠道若限制回环,按其官方要求排查。
  3. 在QKeyMapper“极限竞速”页核对端口、刹车阈值和油门阈值。不要把阈值当成车速、按压百分比或普通延时。
  4. 再按下节建立一条专用自动扳机映射,保存后开始。先在不影响比赛的练习环境测试按下、释放和停止;功能异常时回到普通手动扳机映射对照。

当前接收器针对特定Forza数据格式,不保证所有新版本或同名赛车游戏兼容。没有有效数据、端口冲突或网络阻挡时,映射文本合法也不会证明辅助已正常工作;不要为排查而直接关闭整套防火墙。

自动扳机格式与参数

右侧映射键可使用 vJoy-Key11(LT)_BRAKE、vJoy-Key12(RT)_BRAKE,或把末尾改为 _ACCEL 控制自动油门。LT/RT选择输出扳机,BRAKE/ACCEL选择控制含义;不要只看LT就认定一定是刹车。

示例含义
vJoy-Key11(LT)_BRAKE不带方括号时使用页面中的相应阈值和程序默认初始值
vJoy-Key11(LT)_BRAKE[INIT=150,THR=1]为这一输出指定初始扳机值150和刹车阈值1
vJoy-Key12(RT)_ACCEL[INIT=100,THR=7]为这一输出指定初始值100和油门阈值7

INIT为整数0~255;THR为0.00001~1000,最多5位小数。带方括号时至少写一个参数;未写INIT使用程序默认初始值,未写THR使用该类型的默认阈值,不是当前页面另行改过的值。旧参数表中的THR范围0~10000不适用于当前校验,不能写0或10000。

刹车控制参考轮胎滑移率,油门控制参考组合滑移指标;它们依据遥测调整扳机力度,不是按下后自动驾驶。车辆、路况和游戏辅助设置都会改变效果;不要把示例阈值视为调校建议。

没有效果或力度异常时

  1. 先确认普通虚拟按钮/扳机输出可用,排除游戏未选择虚拟设备。
  2. 确认游戏数据输出已开启、接收地址/端口一致,且没有其他程序占用接收端口;有安全提示时按正常网络授权流程处理。
  3. 用一条自动控制映射测试,避免同一扳机同时收到普通按压、限幅和多条自动控制。
  4. 确认使用的是页面阈值还是键内THR参数;先回到默认再逐项比较。
  5. 异常持续时停止映射,恢复普通手动控制,记录游戏版本、格式和配置再排查;不要在驾驶输入异常时继续比赛。

使用前必读 · 不是基础映射的必选项

Interception 与多键鼠

仅当你确实需要区分多套键盘、鼠标时,才考虑这项功能。普通键鼠映射不要求安装Interception。

使用前必读

⚠ 严重风险:可能失去键盘和鼠标输入

项目曾收到Win10严重故障报告:安装Interception后,键盘、鼠标均无法使用,进入安全模式也未恢复,最终重装Windows。

这是已报告的案例,不代表所有故障都有相同原因,发生概率也无法由该案例量化。请在了解后果、准备必要备份与恢复条件后,自行决定是否仍需使用。

退出QKeyMapper不等于移除驱动。不能保证重启、进入安全模式或卸载一定能够恢复。不要把软件停止快捷键当作驱动失效时仍可用的保证。

固定接口,减少编号变化

当前使用的Interception存在每类10个设备槽位的限制。设备反复插拔、断开重连或系统睡眠恢复可能改变设备枚举编号,触及限制后可能导致输入设备不可用。不能理解成“不到10个实体设备就必然安全”。

  • 把需要映射的键盘、鼠标接到主机后面板固定USB接口。
  • 避免USB Hub、频繁更换接口和反复插拔。
  • 连接稳定后再确认映射后缀;重连、睡眠恢复或系统变化后重新核对设备与后缀的对应关系。
  • 设备后缀用于选择映射来源,不要把它与Windows内部设备对象编号混为一谈。
固定接口只能降低风险,不能保证编号永远不变。

QKeyMapper不能通过普通配置消除该驱动的限制。这里不提供“改一个参数就能安全突破上限”的方案,也不把重启或卸载写成必然成功的恢复办法。

来源:本项目所用Interception头文件、项目使用经验及上游设备重连问题记录(需联网)。

使用Interception前,检查Windows电源设置

若已决定使用多键鼠功能,建议先了解以下三项设置,再按症状与使用环境选择。它们用于评估启动、空闲及唤醒过程中的兼容问题,不是安装Interception的安全保证,也不能突破设备数量限制。

省电设置不是驱动故障恢复工具。

这些调整不能保证避免或恢复键鼠完全失效。操作前记下原值,准备必要备份和恢复条件;需要时按原值还原,不要在输入已经失效时反复拔插试错。

设置何时考虑主要取舍
关闭快速启动Interception用户优先评估,尤其在关机再开机后反复出现异常时开机可能变慢;不保证编号重置或故障消失
禁用USB选择性暂停空闲、睡眠或唤醒后出现输入异常时,针对性排查可能增加耗电、缩短电池续航
取消相关集线器省电选项作为补充排查,仅在相关设备提供该选项时调整可能增加耗电;不同硬件的选项和效果不同

项目另有键盘、鼠标同时失效的使用反馈,使用者怀疑与快速启动有关;目前未完成故障定位,不能据此认定快速启动导致设备编号累积。上游有重连、睡眠后编号增加及输入失效的报告,也不代表所有类似故障都有同一原因。

① 优先评估:关闭“快速启动”

Windows快速启动会在关机时保存内核会话和驱动状态,下次开机再恢复;它与完整启动不同。Windows“重启”不采用快速启动流程。如果希望日常关机再开机也不保留这部分状态,可在接受开机可能变慢的前提下评估关闭。

  1. 进入电源选项。按Win + R,输入control,打开控制面板;切换为“大图标”,选择“电源选项”。
  2. 打开关机设置。选择“选择电源按钮的功能”→“更改当前不可用的设置”;Windows可能要求管理员确认。
  3. 取消快速启动。在“关机设置”中取消“启用快速启动(推荐)”,点击“保存修改”。

适用与缺项:上述步骤面向Win10/Win11,文字和入口可能因系统版本而不同。Win7没有此快速启动功能;若当前系统未显示该选项,不必为跟随手册而启用休眠或修改注册表。

还原:回到同一位置,恢复原来的勾选状态并保存。安装/卸载驱动后仍按对应说明执行Windows重启;不要将关机再开机视为必然等价,也不保证重启能恢复所有驱动故障。

原理参考:微软启动与关机说明(需联网)。这里是针对Interception使用风险的评估建议,不是Windows通用优化要求。

② 按症状排查:USB选择性暂停

USB选择性暂停允许系统挂起闲置端口以节约电力。微软通常建议保留此功能。若输入异常与空闲、睡眠或唤醒有关,可考虑禁用作对照;没有相关异常时,不必把关闭省电功能当作所有用户的必做项。

  1. 先记下原值。打开控制面板“电源选项”,在当前生效计划旁选择“更改计划设置”→“更改高级电源设置”。
  2. 找到USB设置。展开“USB设置”→“USB选择性暂停设置”。
  3. 调整需要排查的供电状态。将对应状态改为“已禁用”,点击“应用”及“确定”。有“使用电池/接通电源”两项时分别记录与选择,不默认要求牺牲电池续航。

代价与范围:可能增加耗电并缩短笔记本续航;这项操作针对当前电源计划,切换计划后应重新核对。缺少USB设置时跳过,不修改注册表强行显示选项。

还原:回到同一计划和供电状态,恢复记录的原值,再“应用/确定”。不以一次未复发作为已经修复驱动的证明。

来源:微软USB选择性暂停说明(需联网)。禁用是特定兼容问题下的取舍,不是微软的一般推荐。

③ 补充排查:相关USB集线器的省电选项

若前述症状仍存在,可检查键鼠所连接集线器的设备属性。不是所有控制器或驱动都提供“电源管理”页,不能把取消勾选理解为保证USB持续供电或杜绝失效。

  1. 确认设备。打开“设备管理器”,查看相关“USB根集线器”或“通用USB集线器”。必要时用“查看”→“按连接查看”定位键鼠所属设备;无法确认时先不要批量修改其他设备。
  2. 记录并调整原值。打开该集线器“属性”→“电源管理”;仅在确有此选项时,取消“允许计算机关闭此设备以节约电源”。
  3. 保存。点击“确定”。该设置可能影响同一集线器上的其他设备,也可能增加耗电。

还原:回到同一设备恢复原勾选状态,再点击“确定”。若没有该页面或复选框,跳过即可,不卸载设备、不修改驱动或注册表来强行获得选项。

这些建议不改变固定后置USB接口、避免Hub和频繁拔插的原则;完成调整后,仍需核对实际键鼠与设备后缀。

决定安装之前:先把风险与恢复条件准备好

先确认普通映射是否已满足需求。确需区分多套键鼠时,再完整阅读上方严重失效案例、固定USB接口与编号限制和Windows电源设置取舍。普通A → B练习不要为此安装驱动。

⚠ 安装后可能失去键盘、鼠标输入;不要把停止快捷键当作驱动故障急救。

先备份重要数据与配置,准备自己能够执行的系统恢复方案。不能确认如何处理输入全部失效时,先不要安装。固定接口和电源设置只能降低部分兼容风险,不能保证免于故障。

  1. 保存并停止映射,完整解压发布包,保留 InterceptionDriver 目录。
  2. 在“多键鼠支持”页核对按钮文字;未安装时使用“安装驱动”。软件会再次警告风险,只有明确接受后才继续;不接受就取消。
  3. 按UAC及结果提示处理;安装/卸载后需要重启系统才能完成状态变更。先连接好计划使用的固定USB设备,避免为了测试反复拔插。
  4. 重启后核对可用状态、实际键鼠是否都能正常使用,再做下面的一条设备限定映射。安装不等于已经启用多键鼠区分。

卸载也在这一页,但按钮为“卸载驱动”时含义已经改变。先停止映射、取消相关使用,再卸载并按提示重启;退出QKeyMapper、取消“启用”或删除一条映射都不等于移除驱动。Interception项目说明(需联网),上游文档的测试系统范围也不构成Win11或特定设备的无风险保证。

设备列表:先识别,别先勾“禁用”

入口在“多键鼠支持”页。图中驱动已可用、按钮显示卸载,不能照着按钮位置盲点。

点击“设备列表”,上半为键盘、下半为鼠标;通过No.、设备描述、硬件ID、VID/PID及厂商/产品信息辨认。一个接收器可能暴露多条接口,虚拟键鼠也可能出现在列表中;不要把第一行永远当成某一台实体设备。

本图为实际设备信息查看,所有禁用框保持未勾选;设备编号和名称以你自己的列表为准。
“禁用”不是“不参与这条映射”。

勾选设备禁用并点击“确认”,会更新并保存设备禁用列表,可能让这台设备的所有输入不可用。它不是等到主窗口“保存设定”才生效。不要禁用唯一可用的键盘/鼠标,也不要按截图中的编号批量禁用。

只查看时用“取消”退出;不要修改复选框。启用多键鼠后,可通过一次实际操作观察相关设备的高亮来辅助辨认,但不要为辨认而反复拔插。不同接口出现同名设备时,结合硬件信息核对,不能凭显示名猜测。

第一条区分设备练习:只让指定键盘的A变成B

  1. 确认上述条件已满足。驱动可用、真实键鼠正常、编号已核对,并保留另一条可靠的停止途径。
  2. 勾选“启用多键鼠支持”。它会立即启用相应输入路径并记录开关;不是普通未保存草稿。先只处理一台额外键盘,不以主键盘鼠标做危险试验。
  3. 选择设备并添加一条映射。左侧原始按键选A,在“键盘”设备列表选刚核对的编号,右侧选B。添加后核对表格的完整名称,例如 A@0 → B;@0只是例子,不要求你的设备一定为0号。
  4. 保存、开始、逐台核对。在空白记事本中,指定键盘按A应触发B;其他键盘的A应按没有命中这条映射的通常路径处理。若还有不带设备后缀的泛用A规则,它仍可能命中,需要一并检查。
  5. 停止,再扩展。确认停止后输入恢复,再增加其他设备或组合键;每次调整后保存。
原始键例子含义
A@00号键盘的A
Mouse-L@11号鼠标的左键;初学不要先用左键练习,以免无法点停止
L-Ctrl@2+F@22号键盘的左Ctrl与F组合
L-Alt+3@1任意键盘的左Alt,配合1号键盘的3

键盘和鼠标各有0~9编号;不带设备后缀表示不限定该类设备。按键前后缀不是Windows永久设备ID,换接口、重连和睡眠恢复后仍需重新核对。多条泛用/专用映射重叠时会受匹配与顺序影响,先让练习规则互不冲突。

筛选键与排错边界

本页“筛选键”用于多键鼠路径下持续按住同一按键时的重复输入过滤,属于相应映射配置;与“映射设定”页的Windows“系统筛选键”不同。先保留默认,再按实际需要比较,不能用它解决驱动设备编号耗尽。

  1. 只有某条映射未触发:检查是否启用区分、设备后缀、原始键、禁用状态及泛用规则重叠。
  2. 重连后换成另一台触发:先停止,重新核对设备编号;不要在运行中盲目交换多条后缀。
  3. 发现输入异常或设备无响应:停止继续试验,按预先准备的恢复方案处理;驱动层失效时软件快捷键可能也无法接收。

普通映射满足需求时,优先保持多键鼠未启用。需要移除已安装驱动时按上面的卸载流程处理,不能只关软件就认为系统已经恢复原始驱动状态。

先认设备,再做一条简单映射

物理手柄与输入

先确认你需要的是“手柄变键鼠”,还是“物理手柄转虚拟手柄”。从一颗按钮映射为空格开始,再学习摇杆、传感器和设备编号。

配图:中文/深色

能读取手柄,不代表能挡住原来的输入

QKeyMapper通过SDL2读取物理手柄输入,不使用额外的手柄拦截驱动来检测输入。

但它不能像处理键盘、鼠标输入那样,直接阻止游戏收到物理手柄原来的输入。因此,添加一条映射不等于改写固件,也不等于透明替换物理手柄按键。

如果目的只是常见手柄键位互换,可优先考虑适用场景下的Steam Input。QKeyMapper更适合将手柄转换成键鼠输入,帮助不支持手柄的游戏获得控制方式。虚拟手柄输出依赖的驱动需要另外满足条件,不要与SDL2读取输入混淆。

Steam Input绑定说明(外部链接,需联网)。适用性依目标游戏、平台及设备而定,不承诺所有环境通用。

第一条练习:手柄A/×键 → 空格

  1. 先确认系统能识别手柄。连接设备后,可在Windows的游戏控制器面板(Win+R输入 joy.cpl)或手柄测试工具观察按钮。这里能检测到,不保证SDL2能读取该设备的全部特殊功能。
  2. 确认停止键。保留键盘默认停止组合 L-Ctrl+F6。先使用全局练习配置,关闭自动前台匹配。
  3. 左边选实际按的按钮。在原始按键选择 Joy-Key1(A/×),右侧映射按键选择 Space。不要把两边填反;这不是“按空格让手柄A被按下”。
  4. 添加、核对、保存。确认表格是Joy-Key1 → Space,再点击“保存设定”。本例无需启用虚拟手柄,也无需为读取手柄安装Interception。
  5. 开始后在空白记事本试按。把焦点放到文本区,再按手柄按钮;预期产生空格。停止映射,确认不再由这条映射输出。基础练习成功后才进入游戏配置和窗口匹配。
编辑示例:左侧是实际手柄输入,右侧是键盘输出。图中设备列表为空,不代表已完成手柄连接或游戏测试。

若完全没有响应,依次检查设备供电/连接、SDL2识别、按键名称、是否开始、目标焦点、玩家后缀和禁用状态。不要把“安装更多驱动”作为默认排错步骤。

按键名称速查:Joy是物理输入

先在图上找到自己实际操作的位置,再从同编号的表格行选择完整原始按键名称。图中是常见布局示意,不是设备连接或输入测试结果;第三方手柄的布局、按钮编号与可用功能需在测试工具中核对。

Joy手柄位置图:自己实际按的输入 Xbox常见布局:左上是左摇杆,左下是十字键,右上是面键,右下是右摇杆。顶部分别为肩键与扳机,中间为Back、Guide和Start。下方另画PS布局的触摸板按下位置。十二组标注对应紧随的完整名称表。 Joy- · 自己实际按的输入 Y/△B/○X/□A/× ⌂−≡ 07 LT / L2 扳机08 RT / R2 扳机 05 LB / L1 肩键06 RB / R1 肩键 03 左摇杆01 面键 02 十字键04 右摇杆 09 Back11 Guide10 Start 摇杆推向四方 ≠ 把摇杆向下按 PS 布局补充 触摸板位于正面中央 12 触摸板按下 不是轻触或滑动轨迹
位置示意:01~12对应下表。PS摇杆布局不同,底部单独标出触摸板位置。窄窗口可左右滚动图示,也可使用浏览器缩放;完整名称可在下表选择复制。
图中位置/用途原始按键完整名称说明
01 面键:下/右/左/上Joy-Key1(A/×)
Joy-Key2(B/○)
Joy-Key3(X/□)
Joy-Key4(Y/△)
按图中的位置识别A/×、B/○、X/□、Y/△。
02 十字键Joy-DPad-Up
Joy-DPad-Down
Joy-DPad-Left
Joy-DPad-Right
上/下/左/右;与摇杆方向分开。
03 左摇杆Joy-LS-Up
Joy-LS-Down
Joy-LS-Left
Joy-LS-Right
Joy-Key9(LS-Click)
前四项是推向四个方向;最后一项是摇杆按下(PS的L3/R3)。
04 右摇杆Joy-RS-Up
Joy-RS-Down
Joy-RS-Left
Joy-RS-Right
Joy-Key10(RS-Click)
前四项是推向四个方向;最后一项是摇杆按下(PS的L3/R3)。
05 左肩键Joy-Key5(LB)PS的L1。
06 右肩键Joy-Key6(RB)PS的R1。
07 左扳机Joy-Key11(LT)PS的L2;与左肩键不同。
08 右扳机Joy-Key12(RT)PS的R2;与右肩键不同。
09 BackJoy-Key7(Back)PS的SHARE/Create等对应位置;以设备报告为准。
10 StartJoy-Key8(Start)PS的OPTIONS对应位置。
11 GuideJoy-Key13(Guide)PS键对应位置;物理按钮可能被系统/平台占用。
12 触摸板按下Joy-Touchpad物理设备须报告该按钮。

轻推/轻按:完整的_Light名称

以下仍填写在左侧“原始按键”。不带_Light的对应摇杆方向/扳机输入用于重推/重按判定;轻/重阈值见映射高级设定,它是模拟量门槛,不是长按毫秒数。

图中位置/用途原始按键完整名称说明
03 左摇杆轻推Joy-LS-Up_Light
Joy-LS-Down_Light
Joy-LS-Left_Light
Joy-LS-Right_Light
04 右摇杆轻推Joy-RS-Up_Light
Joy-RS-Down_Light
Joy-RS-Left_Light
Joy-RS-Right_Light
07/08 扳机轻按Joy-Key11(LT)_Light
Joy-Key12(RT)_Light

设备专用按钮:没有统一物理位置

这些名称也可作为原始输入,但只有设备与当前协议实际报告时才有效。不能把额外编号直接套到上图,也不能认为每只手柄都具有背键或触摸板。

图中位置/用途原始按键完整名称说明
其他/附加按钮Joy-Misc1具体位置依设备而定。
背键/拨片Joy-Paddle1
Joy-Paddle2
Joy-Paddle3
Joy-Paddle4
Paddle1~4的实际位置依设备而定。
其他编号按钮Joy-Key14
Joy-Key15
Joy-Key16
Joy-Key17
Joy-Key18
Joy-Key19
Joy-Key20
Joy-Key21
Joy-Key22
Joy-Key23
Joy-Key24
Joy-Key25
Joy-Key26
Joy-Key27
Joy-Key28
Joy-Key29
Joy-Key30
逐键在实际设备上核对;编号不表示上图中的位置。

手势与专用转换入口

下表统一列出完整名称,点击可看操作教程。触摸板手势是输入事件;专用转换项自带输出含义,添加时右侧普通映射按键置灰,不能当作普通按钮填到右侧。

图中位置/用途原始按键完整名称说明
触摸板轻触/两指滑动Joy-Touchpad-Tap
Joy-Touchpad-2F-Up
Joy-Touchpad-2F-Down
Joy-Touchpad-2F-Left
Joy-Touchpad-2F-Right
可映射到普通输出;与12触摸板按下不同。
摇杆转鼠标Joy-LS2Mouse
Joy-RS2Mouse
专用转换。
陀螺仪转鼠标Joy-Gyro2Mouse专用转换;需要传感器,当前格式不加玩家后缀。
触摸板移动转鼠标Joy-Touchpad2Mouse专用转换;需要设备与协议支持。
摇杆模拟量直连Joy-LS_2vJoyLS
Joy-RS_2vJoyRS
Joy-LS_2vJoyRS
Joy-RS_2vJoyLS
前两项同侧,后两项交叉。
扳机模拟量直连Joy-Key11(LT)_2vJoyLT
Joy-Key12(RT)_2vJoyRT
左右扳机分别传递模拟量。

玩家编号见物理输入后缀;鼠标转虚拟摇杆的两个左侧入口见vJoy前缀例外。

多只手柄:用玩家后缀限定输入

普通Joy输入不加后缀时接受相应的所有物理手柄;加 @0~@9 限定QKeyMapper显示的玩家编号。例如 Joy-Key1(A/×)@1 → Space 只接收1号手柄的这一按钮。

  1. 先在主窗口“游戏手柄”下拉框核对实际设备和玩家编号,再添加映射;不要仅凭Windows游戏内的“玩家1”推断它就是后缀@1。
  2. 添加后直接查看表格中的完整原始按键,确认后缀符合预期;不限定设备时保持通用输入。
  3. 重连、改变连接方式或多只设备并存后重新核对。编号不是永久绑定的设备序列号。

Joy-Gyro2Mouse是例外:当前格式不接受玩家后缀,不要给它加@N。虚拟手柄输出后缀则是@0~@3,与物理输入范围不同。“接受虚拟手柄输入”默认不应为了普通物理手柄练习启用,以免输出再被读回形成重复触发。

摇杆转鼠标:不要把它拆成四条数字方向键

需要连续移动指针时,在原始按键选择 Joy-LS2Mouse 或 Joy-RS2Mouse,添加专用转换项;右侧普通输出会置灰。保存后开始,用摇杆试慢推/快推,停止后核对指针不再受这项转换影响。

水平/垂直速度等参数在“映射高级设定”。若只想让方向触发W/A/S/D,应改用对应的Joy方向输入逐条映射;两种方法的输出和用途不同。

手柄映射鼠标左键时,先在安全窗口练习。

项目历史文档记录过用该输入点击QKeyMapper标题栏关闭/最小化/最大化区域后界面卡住的情况。避免用这条练习操作标题栏;若遇到,可尝试Win键或Win+D切换前台。此为已知排错提示,不是所有卡死的恢复保证。

物理转虚拟手柄:保留摇杆模拟量

先满足虚拟手柄的驱动与启用条件,再在左侧“原始按键”选择直连类型。它们不是把方向映射成四个普通键,而是传递连续的模拟量。

特殊原始按键作用
Joy-LS_2vJoyLS/Joy-RS_2vJoyRS物理左/右摇杆到对应虚拟摇杆
Joy-LS_2vJoyRS/Joy-RS_2vJoyLS物理左/右摇杆交叉到虚拟右/左摇杆
Joy-Key11(LT)_2vJoyLT/Joy-Key12(RT)_2vJoyRT物理左/右扳机到对应虚拟扳机
  1. 先只启用一台需要的虚拟手柄,确认测试工具能看到它。
  2. 在原始按键选择 Joy-LS_2vJoyLS;这类专用入口会让右侧映射按键置灰,不要再强行填写普通输出。
  3. 添加并保存;开始映射后,在测试工具分别核对物理和虚拟摇杆,再决定是否需要其他摇杆/扳机通道。
  4. 若游戏同时收到两份输入,先阅读下方“双重输入”,不要继续叠加映射来抵消。
特殊原始按键自带转换含义;右侧置灰是正常状态。这里展示编辑入口,没有模拟手柄已连接。

为什么会收到两份输入?

游戏可能同时看到物理手柄和QKeyMapper输出的虚拟手柄,于是原始动作与映射动作一起发生。QKeyMapper读取物理手柄,并不会自动将它从游戏中隐藏。

需要隐藏物理输入时,可配合HidHide等专用工具。

正确原则是:让QKeyMapper仍能读取物理设备,让目标游戏使用虚拟设备。不能把物理手柄同时对QKeyMapper隐藏,也不要误隐藏虚拟输出。

这些是独立工具,安装、设备选择、应用白名单及系统兼容条件需要另外核对。手册面向Win7不等于HidHide也支持Win7;外部驱动的系统与版本要求独立核对;本手册不保证所有环境通用。

HidHide官方配置指南(需联网)。设备隐藏是针对应用可见性的控制,不应理解为所有情况下物理硬件都“停止发送”。

按类型查名称 · 先分清左右

按键名称速查

左边选自己实际按下的输入,右边选希望发送的输出。下表中的范围只是说明缩写,输入时请填写一个完整名称;不要把“F1~F24”整段写进映射框。

带下划线的名称可点击查看教程,旁边的“复制”只复制文字、不跳转;普通文字可直接选择复制。复制示例后仍需补全参数或替换占位词。若浏览器不允许自动复制,会打开文字框,按Ctrl+C手动复制即可。跳转后可用右下角“返回”回到刚才的位置。

普通键盘

名称/范围说明(原始、映射两侧均可)
A~Z键盘字母区26个字母按键
0~9键盘字母区上方一排数字键
Up键盘方向键上(↑)
Down键盘方向键下(↓)
Left键盘方向键左(←)
Right键盘方向键右(→)
Insert键盘Insert键
Delete键盘Delete键
Home键盘Home键
End键盘End键
PageUp键盘上翻页键
PageDown键盘下翻页键
Space键盘空格键
Tab键盘Tab键
Enter键盘回车键
L-Shift键盘左Shift键
R-Shift键盘右Shift键
L-Ctrl键盘左Ctrl键
R-Ctrl键盘右Ctrl键
L-Alt键盘左Alt键
R-Alt键盘右Alt键
L-Win键盘左Windows键
R-Win键盘右Windows键
Backspace键盘退格键
`键盘左上角波浪号键(数字键左侧)
-键盘减号键(数字键右侧)
=键盘等号键(数字键右侧)
[键盘左方括号键
]键盘右方括号键
\键盘反斜杠键
;键盘分号键
'键盘单引号键
,键盘逗号键
.键盘句号键
/键盘斜杠键
Esc键盘Esc键
F1~F24键盘功能键F1~F24(键盘最上方一排)
CapsLock键盘大写锁定键
Application键盘菜单键(右侧Ctrl键左边)
PrintScrn键盘屏幕打印键(键盘右上位置)
ScrollLock键盘滚动锁定键(键盘右上位置)
Pause键盘暂停键(键盘右上位置)

左右修饰键分别命名;L-Ctrl是左Ctrl,R-Ctrl是右Ctrl。加号连接组合键;要发送大写字母或符号,需考虑Shift、输入法和目标键盘布局,不是把名称改成中文。

数字小键盘与NumLock

名称/范围说明(原始、映射两侧均可)
NumLock小键盘区数字锁定键
Num/小键盘区除号键
Num*小键盘区乘号键
Num-小键盘区减号键
Num+小键盘区加号键
Num.小键盘区小数点键
Num0~9小键盘区数字0~9键
NumEnter小键盘区回车键
Num.(NumOFF)小键盘区小数点键(数字锁定关闭状态 )
Num0~9(NumOFF)小键盘区数字0~9键(数字锁定关闭状态)

主键盘1与Num1是不同键。Num1(NumOFF)表示NumLock关闭时的小键盘位置;普通方向/导航键仍使用Up、End等名称。Num+包含全角加号,与组合键的半角+不同。

鼠标按钮与滚轮

名称/范围说明(原始、映射两侧均可)
Mouse-L鼠标左键
Mouse-R鼠标右键
Mouse-M鼠标中键
Mouse-X1鼠标1号侧键
Mouse-X2鼠标2号侧键
Mouse-WheelUp鼠标滚轮上滚
Mouse-WheelDown鼠标滚轮下滚
Mouse-WheelLeft鼠标滚轮左滚
Mouse-WheelRight鼠标滚轮右滚

初次练习不要映射鼠标左键;先记住应急停止。坐标点击、相对移动及键控鼠标是右侧特殊功能,见鼠标与坐标。

多媒体、浏览器与应用键

名称/范围说明(原始、映射两侧均可)
VolumeMute键盘静音键
VolumeDown键盘音量减小键
VolumeUp键盘音量增大键
MediaNext键盘媒体下一曲键
MediaPrev键盘媒体上一曲键
MediaStop键盘媒体停止键
MediaPlayPause键盘媒体播放/暂停键
LaunchMail键盘启动邮件客户端键
SelectMedia键盘选择媒体键
LaunchApp1键盘启动应用程序1键
LaunchApp2键盘启动应用程序2键
BrowserBack键盘浏览器后退键
BrowserForward键盘浏览器前进键
BrowserRefresh键盘浏览器刷新键
BrowserStop键盘浏览器停止键
BrowserSearch键盘浏览器搜索键
BrowserFavorites键盘浏览器收藏夹键
BrowserHome键盘浏览器主页键

能选择名称不代表键盘有对应实体按钮;媒体/浏览器响应还取决于Windows和目标程序。

特殊名称放哪边?

名称/系列填写位置主要说明
SendOnMappingStart/SendOnMappingStop/SendOnSwitchTab原始开始/停止/切表事件
VButton{标签}原始虚拟按钮及面板
BLOCKED/NONE/Unlock映射屏蔽、等待与解锁
SendText/PasteText/Run/SetVolume/SetMicVolume映射格式索引
SwitchTab/SwitchTab💾/Macro/UniversalMacro映射切表与宏调用
KeyRecordToggle/KeyRecordStart/KeyRecordStop映射控制录制
QKeyMapper-Fn/Block-Keyboard⌨/Block-Mouse🖱映射Fn及输入屏蔽
KeySequenceBreak/KeySequenceToggle/KeySequencePause/KeySequenceContinue映射运行序列控制
ShowAllFButtons/HideAllFButtons/ShowFButton/HideFButton/ShowVButtonPanel/HideVButtonPanel映射悬浮与面板控制
Key2Mouse-Up/Key2Mouse-Down/Key2Mouse-Left/Key2Mouse-Right映射四方向移动鼠标
Crosshair-Normal/Crosshair-TypeA映射十字准星
Func-Refresh/Func-LockScreen/Func-Shutdown/Func-Reboot/Func-Logoff/Func-Sleep/Func-Hibernate映射系统动作及误触风险
↓/↑/↕/⇧/⇳/⇵/!、⏱、»、Repeat、OnlyOnce映射内容中的前后缀/结构前缀、步骤与循环

没有真实硬件按键的事件/转换项不要与“按下哪个键”混淆;也不能把内部输出命令任意填到左边。优先用下拉列表和对应教程生成完整写法。

手柄:Joy输入与vJoy输出不能混用

虚拟输出位置图与完整vJoy名称、虚拟参数命令和物理手势/转换入口可分别查阅。物理按钮与Xbox/PS位置对照已列出A/×、B/○、X/□、Y/△、肩键、扳机、摇杆按下、方向键、Guide/PS、背键及触摸板。完整方向名均保留前缀,如Joy-RS-Left,轻推为Joy-RS-Left_Light。

玩家编号见物理@0~@9,输出设备见虚拟@0~@3;不要混成一个编号范围。手柄映射前先读不能直接屏蔽物理输入及双重输入。

忘了怎么写时来这里

参数与格式索引

这里集中给出写法和去向;用途、步骤、边界在对应教程只说明一次。尖括号或中文占位词表示需要替换,不要原样输入“数值/宏名”。

点击带下划线的写法查看教程,点击旁边的“复制”取得该条文字,不会跳转。多个写法分别复制,不包含分隔它们的“/”。示例参数仍需按自己的配置调整;自动复制受限时,可在弹出的文字框按Ctrl+C。

先检查符号和填写位置

  • 命令名、大小写与特殊字符使用界面给出的名称。参数括号通常是英文()/[]/{};逗号和等号按相应格式使用。
  • +是同一步组合,»是步骤先后;⏱50是输出延时,⏲500是原始长按标识,✖是双击标识。它们不是可随意互换的相似字符。
  • 名字引用必须实际存在,如Tab、宏、悬浮按钮及设备;格式通过不等于引用存在或输出有效。
  • 不熟悉时,先在下拉列表选命令、填写界面参数,再核对生成内容,不同时叠加循环、强制前缀和设备后缀。

发送状态前缀见↓、↑、↕等;常见名称见按键速查。

文本、程序与音量

写法示例(点击看说明)填写位置与要点
SendText(Hello)映射;直接文本
PasteText(Hello)映射;剪贴板粘贴,注意原剪贴板及模式
Run(notepad.exe)映射;程序/参数、Wait、WorkingDir、ShowOption见教程
SetVolume(50)/SetVolume🔊(+5)映射;播放设备音量,通知符号紧接命令名
SetMicVolume(Mute)/SetMicVolume🎤(-5)映射;麦克风音量/静音

鼠标坐标与位置

写法示例(点击看说明)填写位置与要点
Mouse-L(100,200)映射;屏幕坐标点击,R/M/X1/X2同类
Mouse-L:W(100,200)映射;目标窗口客户区坐标
Mouse-L:W:BG(100,200)映射;后台PostMessage,依目标支持
Mouse-Move(100,200)/Mouse-Move:W(100,200)映射;屏幕/窗口移动
Mouse-Move:R(10,-5)映射;相对当前指针位移
Mouse-PosSave/Mouse-PosRestore映射;保存/还原指针位置
Mouse-L_WindowPoint/Mouse-L_ScreenPoint界面拾取辅助入口;最终坐标格式见教程

序列、循环与控制

写法示例(点击看说明)填写位置与要点
B⏱50»NONE⏱200»C⏱50映射;按步骤发送及等待
Repeat{B⏱50»C⏱50}x3映射;重复块,次数1~99999
OnlyOnce{B⏱50}x2»C⏱50映射;循环首轮准备部分
KeySequenceBreak/KeySequenceBreak(A)映射;全部/指定原始键的序列
KeySequenceToggle/KeySequencePause/KeySequenceContinue映射;无参全部,可带(A)限定
Unlock(A)/Unlock(A⏲500)/Unlock(A✖)映射;完整原始键标识及触发后缀

表名、宏与辅助按钮

写法示例(点击看说明)填写位置与要点
SwitchTab(Tab2)/SwitchTab💾(Tab2)映射;带💾记住表名,不等于完整保存
Macro(练习)x2/UniversalMacro(公共练习)x2映射;引用存在的宏,可指定重复次数
ShowFButton(A)/HideFButton(A)映射;按原始键标识定位已存在按钮
ShowAllFButtons/HideAllFButtons映射;当前表的按钮集合
ShowVButtonPanel/HideVButtonPanel映射;显示/隐藏面板
VButton{跳跃}原始;标签与长按/双击限制见教程

物理设备与触摸板

写法示例(点击看说明)填写位置与要点
A@0/Mouse-L@1原始;键鼠设备区分,依赖多键鼠驱动
Joy-Key1(A/×)@0/Joy-LS-Up@1原始;物理玩家0~9,省略为不限定
GamepadTouchpadOn🎮@1映射;On/Off/Toggle,可选通知及玩家编号
Block-Keyboard⌨@0/Block-Mouse🖱@1映射;按设备屏蔽,先了解风险

虚拟手柄力度与目标

写法示例(点击看说明)填写位置与要点
vJoy-Key1(A/×)@1映射;虚拟目标0~3,省略为0
vJoy-LS-Up[150]@1/vJoy-Key12(RT)[100]映射;支持的模拟量0~255,力度在设备后缀之前
vJoy-LT-Max[150]/vJoy-RT-Max[150]映射;扳机上限0~255
vJoy-LS-Radius[150,U=100,R=200]映射;半径及方向覆盖,RS同类
vJoy-RS-Move[X=-200,RY=-10]映射;绝对/相对或混合,两轴值-255~255
vJoy-Mouse2LS/vJoy-Mouse2RS原始专用转换;目标0,不按普通键额外加@编号

专项自动扳机

写法示例(点击看说明)填写位置与要点
vJoy-Key11(LT)_BRAKE/vJoy-Key12(RT)_ACCEL映射;LT/RT及BRAKE/ACCEL可组合,依赖遥测
vJoy-Key12(RT)_ACCEL[INIT=100,THR=7]映射;INIT整数0~255,THR为0.00001~1000、最多5位小数

按操作位置查 · 不要混成全局热键

快捷键与操作速查

软件热键、表格编辑键、录制控制键和网页阅读键各有作用范围。输入框、单元格正在编辑或程序处于映射运行状态时,处理可能不同。

先记住开始/停止与显示切换

默认键用途注意
L-Ctrl+F6开始/停止映射只用左Ctrl;同键复用,停止后别反复按。改过热键时以当前配置为准。
L-Ctrl+`显示切换反引号通常在数字1左侧;在“通用设定”核对实际热键。显示窗口不等于停止映射。
F11/F12录制窗开始/停止录制不是整个映射的开始/停止键。

系统、其他软件或游戏可能占用热键;先在普通桌面练习。模态框应先正常确认/取消。鼠标不能点击时的处理不等于驱动故障恢复。

主窗口与映射表

操作按键/方式作用范围
保存配置Ctrl+S空闲状态;原始按键捕获框获得焦点时会避让录入。失败需看提示,不等于自动保存。
刷新进程/设备信息F5主窗口空闲状态,不是重装驱动。
新增空白Tab/复制当前TabCtrl+N/Ctrl+D主窗口空闲状态;在按键捕获区域可能作为录入。
复制/粘贴映射Ctrl+C/Ctrl+V映射表已有选区与焦点;在普通输入框是文本剪贴板操作。
使用相反插入方向粘贴Ctrl+Shift+V相对于当前插入模式,不固定等于“上方”或“下方”。
上移/下移条目Ctrl+Up/Ctrl+Down在映射表选择条目后;筛选与共通追加限制见表格教程。
移到顶部/底部Ctrl+Home/Ctrl+End;Ctrl+Shift+Up/Down在表格选择条目后;保存设定才长期保留。
连续多选Shift配合行选择/连续拖选非连续条目可分批操作;先确认高亮范围。
打开当前映射项/删除选中项Enter/Delete表格焦点下的可见有效选区;直接双击方式取决于通用高级设置。

映射表完整操作、复制与插入模式、排序与保存。运行中或控件禁用时,不应当通过模拟按键强行触发编辑。

序列编辑与宏列表

  • 序列表:Ctrl+Z撤销、Ctrl+Y恢复;正在编辑单元格时由文本编辑器处理,不能当作整张主映射表的全局撤销。
  • 序列/宏表中的Ctrl+Up/Down调整位置,Ctrl+Home/End及Ctrl+Shift+Up/Down移到首尾;Home/End选择首尾,Delete删除,Enter载入当前条目,F2进入可编辑单元格。
  • 这些表中,Backspace/Space在非单元格编辑状态可清除高亮;不是删除映射的通用快捷键。
  • 序列表Ctrl+C复制,Ctrl+V粘贴;Ctrl+Shift+V反向插入。Ctrl+F使用复制列表执行插入,不是打开网页式搜索;Ctrl+Shift+F使用相反插入方向。
  • 宏列表的同名更新、内存改动及保存仍遵守宏教程,不要套用普通文本编辑器的全部习惯。

鼠标操作与坐标采集

  • 屏幕点采集:按住左Ctrl,再点鼠标左键;窗口点采集:左Alt+左键,需要正确的目标窗口。先读拾取步骤及取消,不要在真实游戏中盲试。
  • 进程列表双击读取信息;Ctrl配合双击的区别见进程列表。
  • 悬浮窗口的Ctrl拖动、悬浮按钮的Ctrl/Alt拖动有各自条件,见悬浮窗口及悬浮按钮,不能当作所有窗口通用操作。
  • 物理手柄下拉列表展开并高亮某台设备时,F2可切换该设备陀螺仪启用状态;不会把F2变成全局录制键,设备也必须支持传感器。

这本手册怎么操作?

按/聚焦搜索,输入功能、界面名称、常见别称或完整命令。点击结果跳转。输入框外的普通阅读状态下使用该入口;Esc可清空搜索或关闭图片查看器。Tab在链接和按钮间移动,Enter激活,图片查看器支持Esc关闭并回到打开它的按钮。

右下角“返回”回到上一次内部跳转前的阅读位置;没有上一处时按钮不可用,不会主动退到手册外。浏览器前进/后退也可用于手册历史。图片可点击查看原图,窄窗口先放大确认小字;阅读主题不改变软件截图。可用浏览器打印当前章节,完整离线查阅仍以HTML为准;外部工具和网站需要联网。

从症状找到最短排查路径

常见问题与排错

先停止映射,保留当前配置与备份,再每次只改变一个条件。普通改键优先在空白记事本或测试工具中验证,不用安装驱动来排查所有问题。

没有按预期输出

现象先检查继续阅读
按A想得到B,却没有效果左边是A、右边是B;已添加到当前表、未禁用、确已开始。先英文输入状态在空白记事本试。核对映射方向
只有游戏没反应,记事本正常核对目标焦点、权限、实际匹配配置及发送方式;SendMessage与FakerInput各有条件,不保证任何游戏/反作弊环境都接受。发送方式与限制
A和B都出现检查原始按键穿透;手柄还要考虑物理/虚拟双重输入,不能套用键鼠屏蔽。手柄双重输入
找不到新加的条目核对当前配置、Tab、分类筛选和显示禁用行,不要先判断数据已删除。恢复全部显示
条目看不到但还在触发分类筛选只改变可见行;真正不运行需禁用/删除条目或停止映射。隐藏与禁用区别
运行一会儿突然换表/换配置检查自动前台匹配、Tab快捷键、SwitchTab命令与共通映射;先关闭复杂条件单独练习。自动匹配流程
序列或宏没有执行先查格式、真实宏名/作用域、发送时机、循环与暂停状态;格式通过不证明引用存在。检查宏调用

保存、切换与配置丢失

先停止继续覆盖,保留现有INI和备份。

添加、映射更新、开始映射都不代表已经保存。切换配置或自动匹配载入另一配置后,未保存草稿可能已被替换,切回来不会自动找回。

  • 仍停在编辑配置:确认内容正确,点击“保存设定”,核对取消/失败提示及未保存标记。
  • 保存失败:检查目标文件可写、磁盘空间、占用或同步软件限制;取消或失败不能当作已经落盘,不要靠反复点开始按钮解决。
  • 已经丢失:从最近的完整配置备份恢复;只有单表导出时,按单表方式导入核对,不假定它也包含通用设定、宏及外部图片。
  • 怀疑INI异常:先复制原文件,不直接删除、覆盖或用来源不明的整份INI替换;恢复前核对版本和配置名称。软件不提供找回所有未保存草稿的保证。

保存为什么重要 · 正确备份 · 导入与覆盖

无法点击、松手还在发送或窗口看不到

  1. 软件仍可正常接收键盘时,用当前停止快捷键;默认是左Ctrl+F6。确认停止后不要反复按。
  2. 停止后检查是否映射了Mouse-L,是否启用了锁定、连发、保持最后按键、强制按下前缀或大段循环。先恢复简单一条A → B。
  3. 窗口隐藏不等于已停止。使用当前“显示切换”热键或托盘显示窗口,正常处理已有模态框;别同时启动许多副本。
  4. 若键鼠在软件退出后或系统启动阶段也完全无响应,转到下方驱动风险,而不是继续依赖软件热键。

应急停止 · 锁定 · 释放配对 · 托盘与显示切换

设备与驱动相关问题

  • 多键鼠重连后映射到错误设备:只查看设备列表,重新核对后缀与设备描述;固定后面板USB接口能减少变化,不能保证编号永久不变。不要禁用唯一输入设备。
  • 物理手柄无输入:先检查Windows/测试工具、连接与SDL2支持,再看玩家编号;不为普通手柄读取安装Interception。
  • 虚拟手柄不存在:先核对ViGEmBus支持条件、虚拟设备启用状态及目标编号;创建虚拟输出不等于隐藏物理输入。
  • 陀螺仪/触摸板不工作:设备与连接协议要报告对应数据,再检查专用原始项、设备启用与Hold/Move或触摸板开关。
  • 游戏收到两份输入:看物理输入隐藏与白名单,不要再叠加反向映射试图抵消。
Interception安装后曾出现键盘、鼠标全部失效,安全模式也未恢复、最终重装Windows的严重案例。

这不是软件停止键能保证解决的故障。不要在唯一工作环境中反复安装/卸载或禁用输入设备;应依据事先准备的系统恢复方案处理,无法操作时求助能提供恢复条件的人。手册不保证重启、卸载或电源设置一定修复。

先阅读完整风险及电源兼容建议。

已知问题:手柄左键操作标题栏后卡住

将物理手柄原始键映射为鼠标左键时,避免用该输入点击QKeyMapper标题栏的关闭、最小化、最大化区域。已知现象与切换前台的处理提示集中在手柄转鼠标说明;不要把它当作所有界面卡死的原因或恢复保证。

求助前准备什么?

提供软件版本与Qt5/Qt6/x86/x64、Windows版本、最小复现步骤、当前配置/Tab、实际按键、预期与实际结果。说明是否仅游戏内失败、是否开启自动匹配、相关驱动与设备条件。必要时附一条已去除隐私的映射码或最小示例。

截图和日志先检查进程窗口标题、路径、设备信息、聊天及文本发送内容;不要公开整份含隐私的配置。普通Release用于日常使用与性能观察,diagnostic日志只作开发调查,不能用写盘版本代表普通版性能。

随时查阅 · 把名字变成操作

术语速查

先看一句话解释,再回到对应教程。这里区分容易混淆的概念,完整名称见按键速查,语法见参数索引。

输入、触发与输出

名称通俗解释
原始按键/触发按键自己实际按下、用来触发映射的输入。A → B中的A。看方向示例
映射按键/输出希望目标软件收到的内容。A → B中的B。
特殊原始按键事件、按钮或转换入口,不一定是实体键;例如开始映射事件和VButton。查看左右侧分类
抬起映射按指定发送时机,在原始输入释放阶段发送的内容;不是“释放物理键”的同义词。查看发送时机
组合键同一步共同按下的多个键,以“+”连接,如L-Ctrl+C。
按键序列按先后顺序执行多个步骤,以“»”分隔;可包含等待等步骤。与组合键对比
正常/长按/双击原始输入的触发方式;长按判定时间不等于连发间隔。查看触发类型
按下/抬起输入进入按住状态/被释放的阶段,不应与“长按”混淆。
原始按键穿透/透传执行映射的同时保留原始输入;目标可能既收到A又收到B。
屏蔽/拦截阻止原始输入继续按通常路径到达目标;手柄检测不具备同样的直接屏蔽能力。查看手柄限制
发送时机决定在输入的按下、释放等阶段怎样发送。不是触发类型。
发送方式/后端通过SendInput、SendMessage或FakerInput等路径发送;与“按下/抬起何时发”是不同维度,取决于目标支持及驱动条件。查看边界
映射开始/停止快捷键控制整个映射流程的热键,默认左Ctrl+F6;不要与录制开始/停止或Tab切换热键混淆。查看默认键
延时/保持时间发送步骤的等待/保持节奏;具体释放取决于发送设置。用NONE⏱200可表达纯等待。区分延时与触发长按
等待/NONE序列中可用空步骤表达等待;NONE不是要发送的实体键。

重复、锁定与宏

名称通俗解释
连发/连点按设定节奏重复按下和抬起输出。查看设置
连发按下/连发抬起一次重复中的保持时间与释放间隔,两者共同决定节奏。
锁定/解锁保持输出状态/解除保持;与连发结合可持续重复。查看锁定
序列循环重复整段序列,不等于单个按键连发。
宏可命名、重复引用的映射内容;普通宏属于相应配置,可通过Macro(宏名)引用。查看宏教程
通用宏跨配置共用的宏,可通过UniversalMacro(通用宏名)引用。
按键录制采集输入以辅助编辑;录制状态与开始正式映射不是同一状态。

配置、表格与保存

名称通俗解释
映射项/条目映射表中的一行,包含原始输入、输出及其他选项。查看编辑窗
映射表/Tab一组条目的表格;一个配置可以组织多个映射表。
共通映射按软件规则供普通映射表共同使用的条目;不是“所有配置的全局设定”。
配置/设定一套命名的映射与相关设置,可在配置列表选择。
全局按键映射用于不限定某个应用的全局配置;初次练习关闭自动匹配以减少变量。开始练习
未保存状态/脏状态当前内存改动与已保存内容不同;看到可运行不代表文件已保存。切换配置前先保存。
保存设定把当前内容明确写入配置文件;失败时不能当作成功。区分开始与保存
备份/导出/导入留存或交换配置内容的操作;导入前先了解合并/替换范围并备份。
映射码映射项的文本表示,用于复制或应用配置;不是编程语言中的任意可执行代码。

窗口与匹配

名称通俗解释
前台窗口当前正在操作、接收焦点的窗口,不只是屏幕上可见的窗口。
进程/进程路径运行程序及其可执行文件位置;同名程序可能来自不同路径。
窗口标题窗口显示的名称,可能随内容变化。
窗口类名Windows窗口类别标识,不是程序文件名或标题。
自动匹配前台进程根据前台窗口信息和已配置规则自动选择适用配置;基础映射学会后再启用。
匹配方式/正则表达式规定如何比较文本;正则是高级文本规则,不是随意填写的通配符。
忽略规则用于避免某些临时窗口打断匹配,可能保留此前映射状态;不是禁用映射黑名单。高阶用法

设备、坐标与界面

名称通俗解释
物理手柄/虚拟手柄真实连接的硬件/软件及驱动提供给系统的手柄设备。查看能力边界
设备后缀用于限定输入设备的编号标记;重连后需要核对,不保证永久不变。
驱动参与系统设备处理的软件组件;退出映射软件不等于卸载驱动。查看风险
屏幕坐标相对桌面/屏幕位置的坐标,不一定从当前应用窗口左上角起算。
窗口坐标相对目标窗口约定区域的坐标;需按具体坐标功能确认参考范围。
系统缩放Windows显示设置中的比例,例如100%、150%。
软件缩放/默认比例QKeyMapper自己的界面比例选择;与系统缩放不同。“默认”和“100%”是独立选项,即使当前外观相同。
托盘/显示切换通知区域的程序图标/通过快捷键或入口召回、隐藏主窗口的功能,不等于停止映射。

视频演示与使用交流

教学视频与咨询

需要操作演示可查看B站合集;手册和排错仍未解答的问题,可通过项目QQ群咨询。以下外部服务需要联网。

B站使用教学视频合集

打开QKeyMapper使用教学视频合集(B站)。视频中的版本和界面可能与当前软件不同;操作名称及功能限制以实际版本和本手册对应说明为准。

QQ群咨询:906963961

在QQ中搜索群号906963961(QKeyMapper用户群),或使用QQ扫描下方二维码。群号与二维码可离线查看,申请加群和交流需要联网。

QKeyMapper用户群:906963961。图片可点击放大;二维码不可用时,改用群号搜索。

求助时先按问题反馈清单提供软件/系统版本、实际按键、预期与实际结果,以及最小复现步骤。截图、日志与配置先去除隐私;查找测试工具时使用完整工具名。

按功能查找 · 随时回到需要的说明

全册目录与覆盖范围

从最常用的添加映射、调整条目和保存开始,再查窗口匹配、序列、辅助功能与设备。专项功能后置;遇到问题可以直接打开排错或速查。

按功能查找

顺序功能分组快速入口
01快速上手与安全练习第一条A → B · 应急停止 · 新手测试工具
02添加与编辑添加映射 · 映射项、连发、锁定与发送
03整理映射表选择、复制、排序、Tab与共通 · 分类筛选
04配置与保存切换前保存 · 新建、保存、备份及导入导出
05限定应用窗口进程/窗口与自动匹配 · 正则速查 · 高阶忽略规则
06进阶映射录制与序列 · 宏 · 文本、特殊控制与系统命令
07鼠标与坐标点击、移动、拾取与后台发送
08界面与辅助主题、缩放、托盘与显示切换 · 高级设定与提示 · 准星、悬浮与面板
09手柄与传感器物理输入 · 虚拟输出 · 陀螺仪与触摸板
10驱动与多键鼠选择与安装入口 · Interception、设备编号及严重风险
11专项功能极限竞速遥测与自动扳机
12排错与速查症状排查 · 快捷键 · 按键名称 · 参数格式 · 术语
13使用前必读与咨询软件使用须知 · 使用建议 · 免责声明 · 教学视频与QQ群

常用名词、按键名称、参数及正则说明已按用途整合到本册。可通过搜索或上面的分类入口查阅,无需另找按键、参数或正则说明文档。

版本与阅读说明

  • 手册版本:v1.0。说明对应软件v1.5.0.20261018;更新日期:2026-10-20。手册与软件分别维护版本号。
  • 配图以Qt6中文深色界面为例。Qt5、其他主题或不同Windows版本的外观可能略有不同;操作名称以实际界面为准。图中的配置名称、路径和设备编号是示例,请按自己的环境填写。
  • 双击本HTML即可离线查阅正文、图片、目录和搜索,无需安装额外运行环境。外部资料、测试网页及QQ群文件需要联网。
  • 驱动与外部工具各有系统和版本要求,安装前请查阅对应说明。软件支持某个Windows版本,不代表所有配套驱动也支持;不同游戏对模拟输入的支持也可能不同。