使用前请阅读软件使用须知与免责声明;需要视频演示或咨询时,查看教学视频与QQ群。
先记住这个方向
左边 · 原始按键自己实际按 A
→右边 · 映射按键希望软件收到 B
如果你希望按 A 得到 B,就填写 A → B,不要填写成 B → A。想发送的键在右边,手上按的键在左边。
“映射”指软件运行时转换输入,不会改写键盘硬件。需要查概念时,随时打开术语速查。
开始之前,先确认能停下来
默认停止映射:按住左 Ctrl,再按一下 F6。L-Ctrl + F6,不是右 Ctrl。请先在“映射设定”页确认当前“映射停止”快捷键;如果改过,以实际设置为准。
默认开始与停止共用这个组合键。确认已经停止后,不要反复按,以免再次开始。详见应急停止。
- 先选“全局按键映射”,暂时取消“自动匹配前台进程”。后续练习只保留一条 A → B。
- 测试时避开聊天框、文档编辑和游戏操作。全局配置可能影响其他前台程序,先打开一个空白测试窗口。
- 不要先改鼠标左键、Ctrl、F6或停止组合键;第一条练习不需要“多设备支持”及Interception。
先看这里。主窗口左下“映射设定”页可确认开始/停止键。图中为示例配置,请以自己的快捷键设定为准。
完成第一条 A → B
- 选择练习配置在左侧配置列表选择“全局按键映射”。建议先备份原有配置;有现成映射时,不要直接清空正在使用的配置。练习内容以自己的专用配置为准。
- 选原始按键 A,映射按键 B在右下“原始按键”列表中选 A,在旁边“映射按键”列表中选 B。触发类型先保留“正常”,不勾连发和锁定。
- 点击“添加”右上映射表应出现一行,左列是 A,右列是 B。添加后先看表格确认方向,不要只凭下拉框推测已经添加成功。
- 先保存,再开始映射点击“保存设定”,确认保存成功,再点击右下的开始按钮;也可按下文说明使用“保存并映射开始”。只点“映射开始”不会替你保存刚编写的内容。
- 在空白记事本中试按 A先把输入焦点放入记事本文本区,切换英文输入,关闭大写锁定,再按 A。普通 A → B 的预期是得到小写 b;大小写会受到 Shift/大写锁定影响。
- 停止并确认恢复按住左 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”。备注帮助日后辨认用途,不是另一条映射命令。
- 关闭后核对并保存回到主窗口,核对表格并点击“保存设定”;也可使用明确包含保存动作的开始入口。
关闭窗口不等于撤销,也不等于保存
连发、锁定、备注等多项设置会直接更新当前内存配置并标记未保存。不要把右上角关闭按钮当成“取消全部修改”。键名编辑则要注意“映射更新”步骤;最后仍需明确保存到配置文件。
连发:按住时反复发送
以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也不是保存。
看行号与分隔提示。示例中普通表有C → D、A → B、E → F;分隔提示下的C1是追加显示的共通条目F9 → F10,不是复制进普通表的一行。
先停止映射再整理数据;运行期间部分编辑和菜单动作不可用。操作前查看当前Tab名称及选中行,不只看屏幕上能看到的内容。
选择、打开和删除条目
- 选择一行或一段连续行。点击需要的映射行;连续多选可从第一行按住Shift选择末行,或使用Shift + ↑/↓调整范围。先用高亮核对实际选区。
- 打开映射项设定。选中一行后按Enter,或使用右键中的“映射项设定”。双击不同列可能进入对应字段的编辑或切换状态,不要把每种双击都当作同一操作。
- 删除前再次确认来源。选中目标行,按Delete或在右键菜单选择“删除”。这与“禁用”不同:删除会移除数据,禁用则保留条目。
Home/End可定位首行/末行;无修饰键的空格或Backspace可清除当前选区。快捷键应在映射表或其Tab区域有焦点时使用;输入框中的同名按键可能用于文字编辑。
有筛选或共通条目时,先核对选区。隐藏行不会因为看不见就被删除;普通与共通之间的分隔提示不是数据行,不应跨它批量选择。删除前可先复制或导出当前表留底,不依赖撤销恢复删除。
复制到另一张表,或在指定位置插入
- 复制源条目。选中连续条目,按Ctrl + C,或在右键菜单选择“复制”。这会放入QKeyMapper本次运行中的映射复制缓存。
- 选择目标。切换到目标Tab,右键选择在顶部、底部、当前行上方或下方插入复制项。希望位置明确时,优先使用带位置名称的右键动作。
- 核对插入结果。检查新增行、选区以及禁用状态。重复原始按键或共通优先规则可能产生冲突提示,不能只按“行数增加”判断配置可用。
- 保存。确认结果后点击“保存设定”,才把新内容写入配置文件。
Ctrl + V按当前表格插入模式处理,Ctrl + Shift + V临时使用相反模式;它们并不固定等于“粘到最后一行”。可在通用高级设定查看表格插入模式;没有选区时,常规粘贴会以表尾作为目标。
右键菜单随位置变化。这里是在原始按键列打开的菜单;在分类、禁用、连发或锁定列右键,会显示对应的分类或批量状态动作。
“复制”与“复制映射码”不是同一入口
表格“复制”用于软件内跨表复用;“复制映射码”把一条映射的文字表示放入Windows剪贴板,可分享或留存。对目标行使用“应用剪贴板映射码”会按该文本更新目标映射,使用前确认目标,修改后仍需保存。不要把聊天中的普通文本当作合法映射码。
跨进程或重启后要复用条目,使用映射码或导出文件,不依赖本次运行的表格复制缓存。
拖动或用快捷键调整顺序
先清除分类筛选、显示需要整理的条目,选中一行或一段连续行,再上下拖动到目标位置。成功排序会产生未保存状态;拖回原位置或无效落点不等于已经发生更改。
| 快捷键 | 作用 |
| Ctrl + ↑/↓ | 将选中条目上移/下移 |
| Ctrl + Home/End | 将选中条目移到顶部/底部 |
| Ctrl + Shift + ↑/↓ | 同样提供移至顶部/底部的入口 |
| 右键 → 上移、下移、上移到顶部、下移到底部 | 不用记快捷键时选择相同操作 |
存在隐藏行时不要依赖拖动重排;先恢复全表视图。普通表下方追加显示的共通条目,应到“共通”Tab整理,不能在普通区与共通区之间拖动。完成后重新检查顺序并保存。
分类与筛选:把条目分组,再按需查看
映射较多时,可以给条目填上“基础操作”“快捷操作”等分类,只显示当前要编辑的几类。它方便整理,不是决定哪些映射参与运行的开关。
原始/映射按键下拉框上方的四个分类按钮控制选键列表类别;这里的“分类”列和筛选针对已经添加的映射条目,两者不要混淆。
下面用四条映射练习。先停止映射,使用练习配置,不要直接修改自己常用的游戏配置。
| 原始按键 → 映射按键 | 准备填写的分类 |
|---|
A → B | 基础操作 |
C → D | 基础操作 |
F1 → E | 快捷操作 |
F2 → F | 留空,作为未分类条目 |
先看完成后的样子。分类写在每行最右侧,未分类保留空单元格。为便于阅读,图中隐藏进程列表并调整了列宽;不需要运行这些映射。
① 显示分类列,给一条或多条映射分类
- 显示“分类”列。顶部“视图”→“映射表视图”→勾选“显示分类列”。也可以从表格右键的“映射表视图”进入。列名太窄时拖动表头分隔线加宽,方便看清文字。
- 先选中要处理的行。单条操作只选一行;本例给A、C两行批量分类,可先点A行,再按住Shift点C行。不相邻的条目可分批处理,每次先检查高亮选区。选区操作见映射表选择。
- 在选中行的“分类”单元格内右键。注意右键位置:点在原始按键、禁用等其他列,菜单内容会不同。多行操作时,在已有选区内打开菜单,确认没有误选别的行。
- 选择“输入分类”。在输入框填写
基础操作,点击“应用”(或在输入框按Enter)。A和C两行的分类应一起变为“基础操作”。关闭菜单后到表格核对;只输入文字、未应用,不代表已经赋值。 - 再给F1单独分类。只选F1一行,同样输入
快捷操作并应用;F2保持空白。 - 保存这次整理。点击主窗口“保存设定”并确认成功。菜单里的“应用”只更新当前内容,不是保存到磁盘。
批量赋值的入口。图示选中A、C两行后展开“输入分类”;菜单作用于所选的可见条目。单行分类使用相同方法。
已经有分类名时,不必再打字:在分类列右键→“选择分类”→选择已有名称,即可将选中条目归到该类。也可按当前表格编辑模式直接编辑分类单元格;初学者先使用上述右键入口,避免混淆双击编辑方式。
② 点击“分类”表头,选择要显示的类别
- 点击表头,不是某行的分类文字。点击最上方“分类”列标题,打开复选框筛选菜单。
- 先取消“(全选)”。本例要只看“基础操作”,可先清除全部勾选,再勾选“基础操作”。取消全部时,表格会暂时没有可见条目;不要以为数据被删除。
- 勾选后直接看结果。筛选即时更新,不需要另点“应用”。点击菜单外关闭菜单后,应只看到A → B和C → D两行。
- 需要多类时继续勾选。再勾“快捷操作”会显示A、C、F1三行;只勾“(空白)”则只显示未分类的F2。
复选框可以多选。“(全选)”的半选状态表示只选了部分类别,不是一种额外分类;菜单外仍可看到表格筛选结果。
本例应只剩两行可见。F1和F2被隐藏,没有被删除或禁用。筛选时行号可能不连续;部分筛选状态下“分类”表头会以不同颜色提示。
③ 恢复全部显示,与清除分类是两回事
| 你想做什么 | 怎样操作 | 本例预期 |
|---|
| 重新看到全部类别 | 点击“分类”表头,把“(全选)”设为勾选状态 | 四行重新可见,分类值不变,回到上面的完整表格 |
| 只找还没分类的条目 | 取消其他类别,仅勾“(空白)” | 只显示F2这一行 |
| 清除某条/某几条的分类 | 先恢复显示并选中条目,在分类列右键→“选择分类”→“(空白)”;再保存设定 | 所选行分类文字清空,但映射条目仍在 |
| 修改分类名 | 选中需要变更的条目,使用“输入分类”填新名称并应用,再保存 | 更新所选条目,不应假设所有同名条目会自动一起改名 |
“输入分类”留空不是清除操作。空输入时“应用”不可用,原分类不会因此消失。需要归为未分类时,明确选择“(空白)”。
在筛选状态下将条目改到当前未勾选的类别,它可能立即从视图消失;先恢复“(全选)”再找。分类整理完成后,按先保存再切换的习惯操作。
找不到条目时,先检查这三处
- 当前配置和Tab:是否打开了原来编辑的那张表?
- 分类筛选:是否勾选需要的类别,包括“(空白)”?不确定时先恢复“(全选)”。
- 显示禁用行:“视图”→“映射表视图”中的“显示禁用行”是否允许显示已禁用条目?它与分类筛选一起决定哪些行可见,所以仅恢复分类全选,不一定能看到被隐藏的禁用行。
隐藏不等于停止映射。分类筛选只改变显示范围,不会因为隐藏一行就停用它。想暂时停止某条映射,应勾选该行“禁用”;想停止整套映射,使用停止入口。不要通过隐藏条目判断运行范围,也不要为“找回”隐藏内容重复添加相同映射。
右键菜单随当前列变化:分类列处理分类,禁用、连发、锁定等状态列有各自的操作。批量修改前始终核对选区;改动后保存设定。筛选下的排序限制见拖动与快捷键排序。
新增、复制和设置Tab
顶部“映射表操作”提供整张表的操作;它们与删除几行映射的作用范围不同。
| 入口 | 用途与注意事项 |
| 添加空白Tab/Ctrl + N | 在当前配置中新增空白映射表 |
| 复制当前Tab/Ctrl + D | 以当前普通表为基础建立另一张表,随后核对名称、属性和内容 |
| 删除当前Tab | 移除整张普通表,有确认步骤;最后一张普通表及共通表有保护限制 |
| 清空当前映射表 | 清除表中映射,保留这张表;操作前导出留底 |
| 拖动Tab标签 | 调整普通Tab顺序;共通Tab受保护,不按普通表随意移动 |
| 双击Tab/右键“映射表设定” | 修改名称、切换快捷键和显示属性 |
留意“更新”。表名与快捷键有各自的更新按钮;更新当前界面后,还要保存整套设定。下半部分自定义图片及悬浮窗口将在界面辅助章节展开。
Tab只属于当前配置;把当前表命名为某游戏不会自动建立窗口匹配。先整理好表,再学习后续的进程与窗口匹配。
共通映射:在当前配置的多张表中复用
例如同一配置中多张Tab都需要F9 → F10,可把它放入“共通”表。共通映射属于当前配置;“全局按键映射”则是一套独立配置,两者不是同义词。
- 开启共通功能。在“映射设定”→“映射高级设定”中启用“启用共通映射表”。
- 到共通Tab编辑。把需要共用的条目添加到“共通”表,不必在每张普通表重复复制。
- 检查普通表是否追加共通。打开该普通表的“映射表设定”,核对“追加共通映射表”。未追加的普通表不使用这部分共通映射。
- 核对冲突和保存。共通优先规则可能让普通表中冲突的映射进入禁用状态;按提示检查,不要误以为条目消失。
普通表中,分隔提示下方的C1、C2等是共通来源。点分隔提示左侧“−/+”可折叠/展开显示;折叠只是视图操作,不等于关闭共通映射。需要排序时进入共通Tab;批量操作不要混选普通行和共通行。
修改追加显示的共通条目会影响使用该共通表的其他Tab;不确定来源时,使用“跳转到共通映射表”再编辑。不要把追加区域当作只对当前表生效的副本。
只分享一张表:导出/导入映射表
入口为“映射表操作”菜单,或“映射表设定”里的“导出映射表/导入映射表”。文件通常为INI,但它与整套设定备份的范围不同。
- 导出前选对源Tab。使用“导出映射表”,选择文件名与位置。它导出该表数据,不能代替整套配置和通用设置的备份。
- 导入前选对目标Tab。建议先新建空白Tab,再用“导入映射表”选择文件;这样最容易检查导入了什么。
- 核对结果并保存。单表导入向目标表加入映射,按提示检查重复原始按键、共通冲突及禁用状态;确认后点击“保存设定”。
普通表下方追加显示的共通行不等于这张普通表自身的数据。需要一起分享共通及多张Tab时,优先使用配置导出;使用单表文件时明确哪些表分别导出了。
一套配置里保存了什么?
配置包含多张Tab、映射项及相关匹配和行为设定;语言、主题等通用设置另有作用范围。软件的工作配置文件为程序使用的keymapdata.ini。不建议初学者直接编辑其中的编码字段。
| 名称 | 含义 |
| 空白设定 | 用于新建和临时试用的空白编辑状态;未保存成命名配置前,不当作已经留存 |
| 全局按键映射 | 一套无需指定某个游戏窗口的配置。自动匹配是否开启会影响切换行为,基础练习先关闭自动匹配 |
| 普通命名配置 | 例如“练习方案”,有自己的映射表,也可在后续设置窗口匹配 |
| 通用设定/导出列表中的General | 语言、界面及启动等通用数据;不是共通Tab,也不是全局按键映射配置 |
| 保存按钮上的未保存标记 | 表示还有未保存的改动,应检查实际保存结果;不是自动备份的标志 |
切换配置前,先处理当前映射草稿。配置切换会加载选中配置的保存内容,不能替代保存,也不要依赖一定会有“是否保存”的离开提醒。需要保留的映射编辑先保存;导入或重新加载也可能刷新当前编辑内容。
从空白建立新配置
- 先保护当前编辑。如有需要保留的改动,保存当前配置;不要直接离开未保存的练习。
- 选择“空白设定”。在设定下拉列表中选择空白项,确认映射表内容已经变为空白。
- 填写名称并添加映射。在“设定名称”填写例如“新建练习”,先只添加G → H等简单条目。
- 点击“保存设定”。确认没有失败提示,再打开设定列表检查新配置已出现。需要时重新选择它,核对映射内容。
例:保存G → H后,“新建练习”出现在设定列表。名称输入框与当前选中配置都要核对,不能只改名字就认为已经保存。
名称不能为空,不能使用[ ] = / \等不适合INI分组名的字符。不要用“全局按键映射”作为普通新配置名称;修改全局配置时应直接选择它。
保留原配置,再做一份变化版本
加载普通配置后,将“设定名称”改成一个尚不存在的新名称再保存,可建立另一套命名配置,原来的保存配置保留。若新名称已经存在,会进入同名覆盖确认;此时不要把它当作无风险的另存为。
查找、切换与管理配置列表
切换之前,先保存当前改动。配置切换会重新载入对应内容;没有保存的映射、排序或编辑可能丢失。不要用“先切过去看看,再切回来”代替保存。自动前台匹配载入另一份配置时,同样需要提前保护当前编辑。查看保存提醒。
先用“过滤设定项”查找名称,再点击目标配置。“空白设定”和“全局按键映射”是特殊入口,不按普通命名配置任意删除或排序。
列表上方提供上移、下移、顶部、底部以及“重新排序”。可用来把常用配置放在容易找到的位置;列表顺序不是映射触发优先级。右键菜单随对象和运行状态提供相应管理操作。
“移除设定”会删除对应的已保存配置。先备份,再核对名称;它不同于删除Tab或删除表格几行。列表管理可能直接写入配置文件,不能以“我还没按保存”为理由认为删除尚未生效。
手动选中一个配置不等于已经把它保存为下次启动的选择。需要保留映射及启动恢复内容时,完成一次有效保存;再次启动还受实际启动设置影响。
什么时候才算保存?
点击“保存设定”,或在非录制、非特殊输入状态下使用Ctrl + S。成功后核对提示及未保存标记;出现失败或取消覆盖时,不当作已经保存。
| 情形 | 处理方式 |
| 修改当前配置,名称保持不变 | 保存到当前选中的同名配置;不一定再次询问覆盖,操作前确认选择 |
| 名称改成另一个已存在的名称 | 仔细阅读同名覆盖确认;不确定时选“否”,改用新名称 |
| 保存失败 | 保留当前窗口与草稿,按提示检查名称、目录和文件可写情况;不要继续切换配置或退出后再猜测是否保存 |
| 只想试用映射 | 区分“映射开始”与“保存并映射开始”;基础区别见开始与保存 |
保存不是历史版本管理。需要随时回到旧方案时,先用新配置名留一份,或导出一个独立备份;不要反复覆盖唯一的一份工作配置。
导出一套或多套配置
点击主窗口“设定备份”,选择“设定导出”。导出读取已保存的配置文件,不会自动把当前未保存草稿一起带走。先完成保存,再开始备份。
只导出勾选的内容。图为窗口上部;本例选了“全局按键映射”和“练习方案”,没有自动包含“通用设定”。确认/取消按钮位于窗口底部。
- 选择新文件。点击“文件选择”,用清楚的名称保存到方便找到的位置。建议使用新的备份文件名,避免多次导出混入同一个旧INI。
- 勾选需要的配置。分享给别人时通常只选相关命名配置;需要迁移界面/启动等通用设置时,再考虑“通用设定”。
- 确认导出并检查文件。点击“确定”,确认目标文件存在。重要备份建议在另一份隔离运行目录试读并检查内容,而不是只依赖完成提示。
配置导出可以覆盖该配置的多张Tab与共通数据,比“导出映射表”范围更大;但它不是整个软件目录的镜像,外部图片、脚本和其他引用文件还应单独保留。
需要完整留底时
正常退出QKeyMapper后,复制实际使用的keymapdata.ini到独立备份目录,并保留配置引用的外部文件。覆盖恢复前也先保留当前文件;不要在软件仍运行时直接替换工作INI。
导入配置:先备份,再检查同名项
配置导入会写入当前工作配置,并可能重新加载界面。先保存需要保留的草稿并备份当前配置,不要把导入当作只预览内容、最后再按保存才会生效的操作。
- 选择备份文件。点击“设定备份”→“设定导入”→“文件选择”,打开需要导入的INI。
- 检查分组与勾选。同名项会以不同颜色提示,默认优先勾选不重复的配置。列表中没有勾选的项不会仅因为出现了名称就自动导入。
- 谨慎处理覆盖。如主动勾选同名配置,确认时会出现覆盖提示;不想替换当前内容就选“否”;需要调整选择时,重新打开导入窗口。
- 导入后核对。检查设定列表、各Tab和共通映射;若包含通用设置,还应检查语言、主题和启动行为等。保留原备份,确认无误后再继续编辑。
红色不是已经导入。图为窗口上部,本例两项均与当前配置重名,所以还未勾选。要覆盖必须主动选择;“确定/取消”在窗口底部。
不需要迁移通用设置时,保持“通用设定”不勾选。仅导入通用设定时,不要依赖普通配置的同名覆盖确认来拦截操作。不要把别人的开机/启动选项和界面设置无意带入自己的工作环境。
选对入口,避免把范围弄错
| 目标 | 入口 | 是否还要保存当前设定 |
| 分享当前表中的映射 | 映射表操作 → 导出映射表 | 导出文件单独生成;当前编辑是否保存仍要另行确认 |
| 把单表文件加入另一张表 | 先选目标Tab → 导入映射表 | 需要检查并保存当前设定 |
| 备份一套或多套已保存配置 | 设定备份 → 设定导出 | 导出前先保存草稿,否则导出的是旧保存内容 |
| 把配置备份写入当前软件 | 设定备份 → 设定导入 | 导入本身会写入工作配置,不以最后点击保存为生效条件 |
第一次练习可先用“新建练习”配置,保存G → H,再导出到一个新文件。需要试导入时使用单独的软件副本与工作INI;确认理解同名覆盖和通用设定的范围后,再操作日常配置。
先分清三个概念
| 你要做什么 | 对应操作 |
|---|
| 先练习按键转换 | 选择“全局按键映射”,暂不启用自动匹配。见快速上手。 |
| 当前配置只对某个前台窗口生效 | 为当前配置填写窗口匹配条件,保存后开始映射;条件不满足时通常进入等待匹配状态。 |
| 切换应用时自动选用它的配置 | 为各配置勾选“自动匹配前台进程”并保存,再开始监测。该选项不是Windows开机自启,也不是“向后台窗口发送”。 |
“前台”指当前正在操作的窗口。目标窗口只是开着、被遮挡或最小化,并不等于它正在前台。点击QKeyMapper修改设定时,前台也可能暂时变成QKeyMapper。
入门时先保留一份简单配置,不同时叠加全局回退、同名窗口发送等进阶选项。切换到其他应用不一定停止所有映射:还要看是否配置了全局映射或其他自动匹配配置。
从进程列表取得窗口信息
- 先打开目标软件,再停止当前映射。编辑时先用停止快捷键或停止按钮停下。若左上列表被隐藏,在“视图”菜单打开“显示进程列表”。
- 在左上列表找到目标窗口,双击该行。程序会取得进程路径、窗口标题和类名,切换到下方“窗口信息”页。列表按窗口列出,同一进程可以出现多行;PID是本次运行的进程号,不适合当作长期匹配条件。
- 先看配置是否被切换,再继续编辑。双击可能载入已有的相应配置;找不到时会填入新窗口信息。已有未保存内容应先保存。需要跳过已有配置查找时,可按住左Ctrl双击,再核对当前映射内容和设定名称。
从这里选窗口。“星际练习场(演示)”是示例窗口,请选择自己需要匹配的软件窗口。进程名称被列宽截断时,可悬停查看完整文字。
要单独复制名称、标题或类名,先点相应单元格,再用右键菜单或在单行选中时按Ctrl+C。列表的进程名称与下方用于匹配的完整路径并不相同。
看不到目标时,先确认目标窗口实际可见、不是仅运行在后台的服务,并留意权限或受保护进程可能使信息读取不完整。不要凭相似标题直接选择启动器、覆盖层或聊天子窗。
匹配条件怎样组合?
位置:主窗口左下“窗口信息”。进程、标题、类名分别选择比较方式;所有启用且非空的文本条件,以及启用的显示模式条件,都要同时满足。不是任意一个满足就生效。
先用少量稳定条件。示例限定进程结尾与标题开头;类名、显示模式保持“忽略”。“设定描述”和图标帮助辨认配置,不参与窗口匹配。
| 字段 | 比较的内容与建议 |
|---|
| 窗口进程 | 实际比较可执行文件完整路径。选“等于”时不能只写文件名;跨安装目录使用时,可选“以…结尾”并填\Game.exe,或在包含方式下填写具有辨识度的文件名。 |
| 窗口标题 | 可能随关卡、存档、帧率变化。先用稳定前缀或关键词,避免把本次关卡编号写进“等于”条件。 |
| 窗口类名 | Windows窗口类别,不是标题。不同程序可能共用同一类名;需要时与进程条件一起使用,不依赖网上示例猜测。 |
| 显示模式 | “忽略”不限定;“全屏/窗口化”增加一道条件。这里依据程序对窗口覆盖显示器的检测,不是游戏渲染API或独占模式认证;无边框全屏应以实际匹配效果核对。 |
| 设定描述 | 给配置加简短说明,方便自己识别;不是匹配文本。 |
| 比较方式 | 填写示例 | 含义 |
|---|
| 忽略 | 不需要该条件 | 不参与这项比较;不是排除匹配到的窗口。 |
| 等于 | 我的游戏 | 整个文本一致;标题多出关卡名就不满足。 |
| 包含 | 我的游戏 | 任意位置出现这段文字。 |
| 以…开头/结尾 | 我的游戏/\Game.exe | 只检查对应一端。 |
| 正则匹配 | ^我的游戏(?: - .*)?$ | 按表达式匹配,见正则入门与速查。 |
上述文本比较默认区分大小写;正则可用(?i)显式忽略大小写。空文本不构成有效文本条件,想匹配空标题请使用正则^$。不要把所有条件都清空来表达“仅此游戏”,那会失去窗口限定。
修改过进程文本后,“恢复”可在确认后重新填回已取得的绝对路径。它不是恢复整份配置,也不会撤回其他匹配条件。
让配置随前台窗口自动选择
开始监测前,先保存刚编写的映射。自动匹配可能在切换前台应用时载入另一份已保存配置。即使没有手动点配置列表,当前未保存编辑也可能被替换;“映射开始”本身不会保存它。先点击“保存设定”并确认成功,再开始监测。查看保存提醒。
- 建立一份独立游戏配置。双击目标窗口后,核对“窗口信息”,保留一条易观察的A → B,使用易辨认的设定名称。没有必要修改内置忽略规则。
- 打开“映射设定”,勾选“自动匹配前台进程”。该开关属于相应配置。需要自动选择的每份配置,都应分别勾选并保存。
- 点击“保存设定”。自动选择会读取已保存的配置条件;只改界面未保存,不等于已更新自动选择规则。
- 开始映射,再把目标软件切到前台。观察是否载入预期配置、进入映射状态。离开目标后按规则等待、切换其他已配置目标或回退全局;不会因为勾选这个框就自行开始监测。
- 用简单输入核对,然后停止。先在安全测试窗口练习,确认停止键可用,再用于游戏。要改配置时先停下;不要用鼠标左键作为第一条练习。
勾选后还要保存。图示只展示编辑状态;勾选不等于已开始实际映射。默认开始/停止均为左Ctrl+F6,以你的实际设定为准。
多个已保存配置都命中时,程序优先考虑更具体的条件组合:进程+标题+类名、进程+标题、进程+类名、标题+类名、仅进程、仅标题、仅类名,最后才是仅显示模式;相同组合下显式显示模式优先于忽略模式。不要依赖配置列表排列顺序解决重叠规则,最好让配置条件互不冲突。
全局配置不作为普通自动匹配候选。手动选择某配置,也不等于修改下次启动默认选择;下次启动选择与明确保存有关,见配置保存。回退计时及全屏全局限制见通用高级设定。
用图标与描述辨认配置
在“窗口信息”页点击“选择自定义图标”,选择.ico、.png或.svg。确认预览正确后保存设定。图标会帮助你在配置列表中辨认相应配置,不会改变窗口匹配范围。
- 右键“选择自定义图标”按钮,可“恢复默认”;该改动同样需要保存。
- 默认图标可从已记录的程序路径读取;未取得有效路径或文件不存在时,显示效果可能不同。
- 图标文件仍是外部资源,路径要保持有效。搬到另一台电脑或移动文件后,需要重新指定;配置导出不等于把图标文件一起打包。
- 配置图标与系统托盘图标是不同设置;不要为改图标改写进程匹配路径。
没有按预期匹配时,按这个顺序检查
- 确认已开始监测,且目标确实在前台;不是只勾选了自动匹配。
- 重新双击实际游戏窗口,核对是否选成启动器或其他子窗口。先保存已有草稿。
- 逐项看条件:完整路径/文件名是否混用,大小写是否一致,标题是否变化,显示模式是否过度限定。
- 确认该配置已勾选自动匹配并保存;排查另一个已保存配置是否也能命中。
- 先减少条件,用简单“包含/结尾”验证,再引入正则。不要直接删除所有内置忽略规则。
- 若切出后仍映射,核对全局配置、同名窗口发送等设置;忽略规则也可能保持先前匹配状态,见下节。
需要立即结束时使用应急停止入口,不要靠不断切换窗口尝试停止。
高阶技巧:忽略规则通常无需改动
普通用户保留内置规则即可。仅建议熟练掌握窗口匹配、理解规则影响的用户添加或修改。它不是新手配置步骤,也不是“给这个软件禁用映射”的黑名单。
入口:“窗口信息” → “忽略规则列表”。内置规则覆盖部分提示窗、下拉列表、系统阴影与任务切换界面等,目的是减少这些临时窗口对匹配判断的干扰。命中规则时可能沿用此前的映射状态;把日常应用加入忽略列表,反而可能让切过去后映射继续。
先理解内置规则,再决定是否修改。规则名称用于管理,描述用于备注;真正判断的是启用的进程/标题/类名条件。
| 操作 | 实际作用 |
|---|
| 双击规则 | 载入上方编辑区;仅选中列表不等于已更新规则。 |
| 添加/更新 | 规则名不能为空;新名称添加,同名更新。多个有效条件在一条规则内要同时成立,任一启用规则命中即可忽略该窗口。 |
| 禁用 | 勾选后点击“更新”,暂时停用该规则,保留内容。不是停用实际键盘、鼠标或整个配置。 |
| 清空 | 确认后清空当前输入区,不等于删除规则列表。 |
| 删除 | 选中已有规则并确认后删除;慎重处理内置项。 |
| 恢复默认规则 | 确认后用内置集合替换当前规则;自行添加的规则也会被替换,先备份。 |
添加、更新、删除和恢复默认会改变当前规则并产生未保存状态;关闭编辑窗不是撤销,最终还需在主窗口“保存设定”才能持久保留。这些是全局规则,不是当前游戏专属。实验前先备份配置文件;使用配置导出时需包含General全局组才能带上这些规则。记录原值,每次只改一项。
规则中的“忽略”比较方式表示不检查该字段。空字段不参与判断;三个字段都没有有效条件的规则不会匹配一切。正则格式沿用下一章速查,也要注意进程字段比较完整路径。
在QKeyMapper里怎样填写
- 选字段,再选“正则匹配”。在“窗口信息”的进程、标题或类名旁选择;忽略规则的对应字段也可选择。
- 输入表达式本身。不要加代码块标记、引号或JavaScript风格的两端斜线。表达式作用于该字段的完整原始文本;进程字段是完整路径。
- 用一个会命中和一个不应命中的窗口核对。有合法格式不代表范围正确。保存后,再按正常监测流程观察;先保留停止快捷键。
默认区分大小写。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.*Window | GameName在前、Window在后,中间可为空。 |
格式正确,还要检查误匹配
- 原样保留实际窗口信息作为样本;至少试“应命中/不应命中”各一个。
Game.exe中的点是通配符,准确文件名要写Game\.exe。 - 表达式无效时不会正常命中;看到格式提示先修正,不要靠关闭条件或反复点击开始绕过。
- 范围过宽会影响其他应用,特别是
.*、单个常见词和通用类名。先限定进程,再处理变化标题。 - 避免无必要的多层重复、嵌套量词和很长的候选列表;前台信息会重复检查,简单可读的规则通常更适合日常使用。
可使用regex101(需联网)辅助试写,选择接近Qt所用正则语法的PCRE2模式;QKeyMapper最终以自身匹配结果为准。该网站不是内置功能,网站上的选项也不会自动带入程序。
在外部网站只粘贴虚构或去敏后的标题和路径,不上传账号、文件名或工作窗口信息。没有必要为了使用手册打开在线工具。
先看懂三个符号
| 写法 | 用途 | 例子 |
|---|
+ | 同一步的组合键 | 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。单独按下/抬起与触发类型的“长按/双击”是不同概念。
输出中的⏱与原始按键长按标记⏲不同。优先借助界面生成或复制正确符号,不要用外观相似的字符替代。
连续录制:先得到草稿,再检查
入口:双击映射行打开“映射项设定” → “连续按键录制”。先停止实际映射,只在受控练习环境中录制,不在聊天、工作文档或重要操作中随意试键。
- 先选择录制选项。“合并按键动作”尽可能把按下/抬起整理为较紧凑的按键或组合;“忽略按键时长”去掉录入的等待时长。需要保留原始节奏时不要勾选忽略时长。
- 按F11或点“开始录制”。按下需要的测试键;录制窗口需要保持可用,失去激活时可能关闭。它不是默认后台游戏操作记录器。
- 按F12或点“停止录制”。有录制结果时会显示并复制到剪贴板。检查是否包含不想录入的按键、长等待或没有对应释放的动作。
- 粘贴到映射按键,再用序列编辑器整理。录制结束不会自动替换映射行。把结果粘贴到目标“映射按键”输入框,完成编辑后点击“映射更新”,最后“保存设定”。
这是等待录制的入口。F11开始,F12结束录制;录制开关不等于开始/停止实际映射。
停止录制F12,与停止映射的默认左Ctrl+F6不同。录制内容可能包括敏感输入,练习时不要输入密码。重新打开录制窗会清理该窗当前记录,先保留需要的结果。
录制是辅助录入,不保证所有设备或目标软件的动作都能原样重放。特别是手柄记录,仍需核对输出名称、设备编号和虚拟设备条件。
用序列编辑器逐步整理
- 在映射项设定中填写一段序列。例如
B⏱50»NONE⏱200»C⏱50,点它旁边的“序列编辑”。抬起映射有自己的序列入口,注意编辑的是哪一栏。 - 在表格中查看每一步与备注。选中或双击相应步骤载入下方输入区,编辑后插入;插入位置沿用当前插入模式。若是替换,核对旧步骤是否仍留着,避免重复。
- 整理顺序、删除或撤销。可以选行拖动,或使用右键菜单、Ctrl+Up/Down、Ctrl+Home/End调整顺序;Delete删除选中步骤。Ctrl+Z撤销,Ctrl+Y恢复,旁边按钮也可使用。备注跟随步骤,不会作为按键发送。
- 点击“确认”回填,再完成上层更新。从映射项输入框打开时,确认先回填输入框,还需“映射更新”;再保存主窗口配置。点“取消”不把本次编辑回填。宏输入区打开时,还需在宏列表添加/更新对应宏。
一行看一步。这段序列来自实际映射项输入框;确认回填不等于已经保存配置文件。
序列编辑器复用在多个位置。宏列表右键直接编辑已有宏时,“确认”可直接更新内存中的宏;这与从宏输入框打开后回填草稿不同。无论从哪里编辑,最后都要明确保存配置。不要同时打开多个来源后,凭窗口位置猜测当前编辑对象。
循环整段,还是只重复其中几步?
| 需求 | 设置/写法 | 要点 |
|---|
| 按住触发键时循环整段 | 映射项设定:“按键按住时序列循环” | 与单键连发不同;先确认松开后的行为,再考虑保持最后按键等选项。 |
| 整段按指定次数循环 | 映射项设定:“序列循环次数” | 先从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⏱50 | x2限定首轮该部分的展开次数,不能解释为整段都重复两次。 |
“按键序列不可打断”“按住时保持序列最后按键”等选项会改变停止与保持体验。先单独学习映射项选项,不要同时叠加连发、锁定、循环和不可打断来排查一个基础问题。
打断、暂停与解锁速查
这些名称填在映射按键一侧,左侧仍是你实际按下的控制键。建议另设易记的控制键,不与被控序列使用同一个原始键。
| 输出命令 | 作用 |
|---|
KeySequenceBreak | 请求打断正在运行的全部按键序列;不是退出程序。 |
KeySequenceBreak(A) | 只针对原始按键A对应的运行中序列。 |
KeySequenceToggle(A) | 切换A序列的暂停/继续,不是开始/结束整个映射。 |
KeySequencePause(A)/KeySequenceContinue(A) | 明确暂停/继续A序列。无参数形式作用于运行中的序列集合。 |
Unlock(A) | 解除原始按键A对应的映射锁定。长按/双击原始键要使用对应完整名称,如Unlock(A⏲500)、Unlock(A✖)。 |
括号里写的是原始按键标识,不是它输出的B。按键序列的暂停不会自动停下所有连发、游戏逻辑或外部程序。需要结束整体映射时,仍使用停止映射快捷键。
建立第一个宏
- 停止映射,打开“映射设定” → “映射宏列表”。在“宏”页操作本配置的普通宏;先不要在“通用宏”中覆盖别人已经使用的内容。
- 填写名称、内容和说明。示例宏名“字母练习”,内容
B⏱50»NONE⏱200»C⏱50,分类“入门练习”,备注“先B,等待,再C”。内容可以通过旁边“序列编辑”整理。 - 点击“添加宏”。确认上方表格出现对应名称和内容。输入已有名称会变成更新现有宏,遇到同名覆盖确认时先核对内容和当前所处页签,再决定是否更新。
- 关闭宏列表,保存设定。添加/更新改变的是当前内存内容;关闭窗口不等于保存到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就测试一次。 |
- 先停止映射,选择要设置的表。
- 左侧选择上述事件之一,右侧填简单输出,例如
B;添加后核对并保存。 - 在空白测试窗口中执行对应开始/停止或切表动作,观察是否发送一次,再停止练习。
这些输出不需要你再按某个物理键。自动匹配与切表可能间接进入相关流程。不要初次练习就填写关机、运行程序、循环宏或会再次切表的命令,避免意外动作或反复触发。
用映射键控制录制
KeyRecordToggle切换录制开始/停止;KeyRecordStart只开始,KeyRecordStop只停止。它们放在右侧映射按键,与在连续按键录制窗按F11/F12是两种入口。
- 用专用练习配置,给一个不影响操作的控制键映射
KeyRecordToggle;或者用两个控制键分别映射Start、Stop。 - 保存并开始映射,再按录制控制键。录制期间不要输入密码、聊天或工作内容。
- 停止录制后,结果会交给程序的录制完成处理并复制至剪贴板。先停止映射,再粘贴到映射按键输入区检查,最后更新/保存。
停止录制不等于停止映射;录制控制键会被作为控制输入处理,不要把它与需要录入的动作混用。格式可接受也不保证能原样重放所有设备。
屏蔽输入与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休眠。实际可用性受系统策略、权限和电源能力影响。
关机、重启、注销会中断其他程序,可能损失未保存工作。不要把它们放进新手练习、连发/循环、事件自动发送或容易误触的按键。本手册不演示执行,也不保证目标程序会先提示保存。
先保留停止入口
默认停止映射:左Ctrl+F6。初学先用键盘键触发鼠标输出,不要先把鼠标左键本身映射掉,否则可能无法点击“停止映射”。开始前核对实际停止快捷键。查看应急停止。
屏幕坐标与窗口坐标
| 参考范围 | 原点与变化 | 适用情况 |
|---|
| 屏幕坐标 | Windows桌面的坐标系;多屏可能出现负数。移动窗口后,同一坐标仍指向原桌面位置。 | 固定位置的桌面操作;显示器、分辨率或缩放变化后要重取。 |
窗口坐标(:W) | 目标窗口客户区左上角,不含标题栏和外边框。移动窗口时可跟随它的位置,窗口大小或内容布局变化仍会影响目标。 | 固定窗口内部控件;先配置并确认目标窗口,不能把任意活动窗当作预期目标。 |
相对移动(:R) | 从当前鼠标位置偏移dx、dy;正x向右、正y向下。 | 按方向挪动指针,不是指定一个绝对目标点。 |
软件界面的缩放比例只改变编辑界面呈现,不会替你换算业务坐标。不要把手册图片中的像素位置直接复制到自己的屏幕;应在实际环境重新拾取,尤其是混合DPI、多屏或窗口移动之后。
取得坐标,再添加映射
- 先选参考范围与目标窗口。窗口坐标需要正确目标;先完成窗口信息匹配。不要从QKeyMapper自己的按钮位置推算游戏位置。
- 使用拾取快捷方式或坐标拾取器。屏幕点使用左Ctrl+鼠标左键,窗口点使用左Alt+鼠标左键。也可在“视图”勾选“显示坐标采集悬浮窗”,打开标题为“坐标采集”的拾取器,选择屏幕/窗口模式,将拾取工具拖到目标再释放;拖动中右键可取消。
- 核对坐标值与目标。窗口模式若没有匹配目标、坐标显示不可用,先修正目标信息。选取框的数值是给自己环境使用的,不是本书中的通用推荐值。
- 选择对应映射按键并添加。例如列表的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先保存位置、点击、再还原。仍须先确认目标安全、按键释放和序列时机;外部软件是否接受并非由格式检查保证。
用键盘持续移动鼠标指针
- 选择一个练习用原始键,例如
I;右侧选择Key2Mouse-Up,添加并保存。 - 在安全的空白桌面区域开始映射,按住I时预期指针持续上移,松开后停止;先确认停止快捷键。
- 其他三个方向使用
Key2Mouse-Down、Key2Mouse-Left和Key2Mouse-Right。它们是按住控制方向,不是跳到一个绝对坐标。 - 在“映射高级设定”核对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或日本語。文字长度不同,窗口布局可能随之调整;不会把已经填写的按键名称翻译成任意自然语言。 |
| 外观颜色 | 选择默认、浅色或深色;默认参考系统外观。手册的深/浅阅读主题只影响手册,不修改软件外观。 |
| 更新网站/检查更新 | 选择更新来源后主动检查;需要联网。先保存并备份配置,再按实际更新提示操作。更新可用性取决于网络和发布资源。 |
| 提示信息/提示高级设定 | 选择提示位置及样式,见提示信息。 |
字号太小:先调整软件缩放
- 先停止映射。运行/监测期间,比例入口可能不可用。
- 选择适合自己的比例。在“通用设定”→“缩放比例”,或顶部“视图”→“缩放比例”选择。两处同步;共有默认、100%、125%、150%、175%、200%、50%、60%、70%、80%、90%这11项。
- 检查常用编辑窗。打开映射项设定,确认在当前屏幕上可阅读、可操作;不合适时改回默认,不必重新建立映射。
- 保存偏好。希望下次启动沿用时,点击“保存设定”;仅选择比例不等于已经保存。
“默认”和“100%”是两个独立选项,即使当前看起来一样。软件比例与Windows系统缩放是两层设置;不是把150%的系统再改成某个固定物理像素。跨屏时还会受到目标屏幕DPI影响。
界面缩放不负责换算映射里的鼠标坐标,也不为屏幕过小自动选择合适比例。原生文件/颜色对话框可能采用系统自己的DPI外观。已经手动调整过的窗口大小与保存选项,见通用高级设定。
显示切换:找回主窗口,不是停止映射
默认显示切换键是 L-Ctrl+`:按住左Ctrl,再按反引号键(常见键盘Esc下方、数字1左边)。不同键盘布局应以“显示切换键”框中的实际设定为准。
- 主窗口隐藏、最小化或被其他窗口盖住时,按显示切换键,尝试召回窗口。
- 主窗口已经在前台时,再按可切换隐藏/最小化状态;具体显示方式随当前窗口状态而定。
- 有模态对话框打开时,先处理那个对话框;显示切换不会替你点击确认或解除主窗口禁用。
| 想做什么 | 使用哪个入口 |
|---|
| 只把主窗口藏起来/再找回来 | 显示切换快捷键,或托盘菜单的“显示/隐藏”。映射可能仍在运行。 |
| 停止发送映射 | “停止映射”或实际停止快捷键,默认 L-Ctrl+F6。查看应急停止。 |
| 结束程序 | 先保存、停止映射,再使用托盘菜单“退出”;不要把隐藏当成退出。 |
Windows前台限制、独占全屏及目标程序的输入处理可能影响召回表现;这不是覆盖所有游戏/系统状态的强制置顶保证。找不到托盘图标时,也检查Windows通知区域的折叠图标。
启动与关闭:四个选项分别管什么?
| 选项 | 作用与注意事项 |
|---|
| 开机自启动 | 设置Windows登录后启动QKeyMapper。此项会调用系统任务计划,可能出现UAC;不是普通的外观选项。不要在演示或临时目录随手启用,移动软件后需重新核对启动路径。 |
| 启动时最小化 | 软件启动时不直接展开主窗口;先确认自己会用托盘或显示切换找回它。 |
| 启动时自动开始 | 启动后进入开始/监测流程;可能很快应用保存的映射。建议先在手动模式练习并确认停止键,再启用。 |
| 关闭时最小化到托盘 | 点击右上角关闭按钮时保留后台实例,而不是退出。首次关闭可能询问“最小化到托盘/直接退出”;按自己需要选择。 |
托盘右键菜单提供开始/停止、显示/隐藏和退出;文字随当前状态改变。最小化、关闭到托盘、自动开始都不是保存映射的替代操作。开机自启动和首次关闭选择有各自的即时系统/记录行为;不要把所有设置都理解为关闭窗口即可撤销。
选择系统托盘图标
入口:“通用设定”→“选择托盘图标”。它设置的是通知区域的状态图标;不是更改程序EXE主图标,也不是配置列表图标。
图示使用新增内置图标组合。原有14个仍保留;新增Q1/Q2/Q3共43个(14/14/15),可以按状态自由搭配。
- 分别选四种状态。空闲=未开始;监测中=等待符合条件的窗口;全局映射/匹配映射=对应映射正在执行。颜色和名称可自选,不应仅凭颜色猜状态。
- 关窗后观察,再保存。关闭选择窗,正常使用时观察状态变化;确认喜欢这套组合后点击“保存设定”。更新软件保留原图标及已保存选择,不要求重新选择。
- 需要自定义时再添加。使用“添加自定义托盘图标”选择
.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或具体操作决定,不是所有系统对话框都使用这一套样式。
- 先选择容易看到、不遮住游戏关键信息的位置;不需要相应状态提示时可选择不显示。
- 调整字体、大小、粗细、斜体与颜色;再调整背景、圆角、文字边距及不透明度。字体较大时给足边距,不要只把时长设得很长。
- 用显示时长、淡入/淡出时长控制停留节奏;这些是毫秒,不是映射按键延时。X/Y偏移用于微调所选位置附近的显示。
- 关闭编辑窗,保存设定;下一次出现相关提示时观察实际效果。
只给一个配置或Tab使用不同提示
入口:“映射高级设定”→勾选“提示信息自定义”→“自定义设定”。在这里选择当前配置的提示位置与样式,不必改变其他配置的通用习惯。
标题中的配置名帮助区分两个相似窗口:通用样式与当前配置自定义样式。
Tab的“映射表设定”还提供提示字体色、背景色和“不显示提示信息”。它们针对该Tab的相关提示;不显示并不代表映射停止。当前配置的自定义样式、Tab颜色及单项提示各有作用,不要假设一处字体颜色能覆盖所有操作提示。
高级设定改完,也需要保存。大多数设定窗直接更新当前内存设置;关窗不是撤销。要保留时点击“保存设定”,不要在未保存状态下切换配置或开始自动匹配。为什么必须先保存?
该选哪一种?
| 想要的效果 | 功能/设置归属 |
|---|
| 在屏幕或目标窗口中央显示瞄准参考 | 十字准星;参数属于对应映射项。 |
| 用图片提示正在使用哪个Tab | Tab自定义图片/悬浮窗口;属于映射表,不是一个映射按键。 |
| 把某条映射做成独立可点击按钮 | 悬浮按钮;每条映射可单独设置。 |
| 把多个命名按钮排成一块面板 | 虚拟按钮面板;由当前映射中的VButton输入项组成。 |
这些运行态辅助窗口不会因为放大软件编辑界面就自动改成同样比例;用各自的大小、位置和字体选项调整。置顶也不保证能覆盖所有独占全屏游戏。
十字准星:先有触发映射,再设外观
- 添加一条专用练习映射,例如原始键
F7 → 映射键 Crosshair-Normal。先确认F7没有与自己的快捷键冲突。 - 打开这条“映射项设定”→“十字准星设定”,调整中心点、上下左右线段、颜色、线宽、线长、不透明度和X/Y偏移。
- 保存设定,开始映射;按住原始键观察,释放后应随相应准星状态结束。需要按一次保持的行为时,再学习锁定,不要第一步就叠加多种状态。
这是外观设定窗,不是游戏中的实际准星画面。只打开设定窗不会自动开启准星。
Crosshair-Normal绘制普通十字线;Crosshair-TypeA主要绘制较外侧的线段,形成中心留空的形状。位置结合当前匹配窗口客户区或默认屏幕区域计算;偏移用于微调,不是修改游戏内部瞄准逻辑。
准星是外部叠加显示,不替游戏自动瞄准,也不保证满足所有游戏规则或全屏显示方式。测试结束后停止映射,核对准星已消失。
Tab自定义图片:提示、托盘和悬浮三种用途
入口:映射表Tab右键→“映射表设定”。表名、快捷键及导入/导出见Tab管理;下半部分用于自定义图片。
图中尚未选择图片。先选有效文件,再选择希望展示的位置;几个显示用途可以分别配置。
- 点击“选择自定义图片”,选择自己准备的图片/图标文件。移动或删除原文件会影响后续读取;备份配置时同时保留图片资源。
- “显示位置”和“图片间距”控制相关Tab提示中的图片位置/留白,不是桌面坐标;选择不显示可仅保留其他用途。
- 希望当前Tab映射时使用它作为托盘图标,勾选“显示为托盘图标”,按文件提供的尺寸选择“图标选择”。它会影响状态图标的显示优先级。
- 需要独立图片指示时,勾选“显示为悬浮窗口”,进入下面的窗口设定。
- 完成后保存设定。右键“选择自定义图片”可“恢复默认”,清除当前图片选择;先确认它是否还用于托盘或悬浮显示。
Common表的部分Tab图片选项可能不可用;以普通映射表的实际可选状态为准。
悬浮窗口:显示图片,不是点击执行按钮
在“映射表设定”→“悬浮窗口设定”中,调整图片指示窗口的背景、大小、圆角、不透明度、坐标基准点及X/Y偏移。
先定参考点,再调偏移。屏幕参考点与目标窗口参考点不是同一坐标系。
“鼠标穿透”表示鼠标操作传到下面的窗口,避免图片挡住游戏;它不等于映射项的“原始按键穿透”。图示穿透切换键为F3,实际以当前设定为准。需要移动/调整时,先确认是否因穿透而无法点击。
此窗口与当前Tab及映射状态关联;没有有效图片或未启用显示时,不会因为打开设定窗就出现运行效果。若希望点图片执行动作,使用下面的悬浮按钮。
用另一条映射显示/隐藏悬浮按钮
把命令填在右侧“映射按键”。例如已给 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。命令不会替你建立或启用一个原本不存在的按钮。
先创建一台虚拟手柄
入口:主窗口“虚拟手柄”页。输出依赖ViGEmBus;没有驱动时先阅读安装条件与兼容说明。单纯“物理手柄 → 键鼠”无需创建虚拟手柄。
本图未启用,相关参数置灰是正常状态。“ViGEm可用”仅表示截图机器可连接相应驱动,不代表你的电脑也已安装。
- 停止映射,选择需要的类型:一般先从
X360 开始;目标明确需要DS4时再选择相应类型。 - 勾选“启用虚拟手柄”,先保持数量1。它会立即创建/移除设备并记录启用状态,不必等“保存设定”才生效;不要在游戏正在使用设备时反复切换。
- 在游戏控制器面板或手柄测试工具确认出现目标虚拟设备。检测不到时先处理驱动/创建失败,不要继续添加很多映射。
- 再按下面的按钮练习添加映射、保存并开始。只创建手柄不会自动填好游戏所需的按键。
这里的vJoy键名使用QKeyMapper的ViGEm输出路径,不等于要求另装同名“vJoy”驱动。
第一条输出:键盘A → 虚拟手柄A/×
- 左侧原始按键选
A,右侧映射按键选 vJoy-Key1(A/×)。 - 添加后核对A → vJoy-Key1,保存设定。先不要加入连发、宏或复杂发送前缀。
- 打开测试工具,选中虚拟设备,开始映射;按住/松开A,预期看到对应虚拟按钮按下/释放。
- 停止映射,确认不再输出。进入游戏后还要在游戏自己的输入设置中选择或绑定这台手柄。
其他按钮及方向见下方虚拟手柄位置图与完整名称表;模拟量和专用命令见参数命令速查。
普通vJoy按钮/方向键在序列中未指定保持时间时使用默认20毫秒保持;这是序列默认行为,不代表所有游戏都会识别这么短的输入。需要时明确设置合适时长并在目标软件核对。
按键名称速查:vJoy是虚拟输出
下表的普通按钮/方向名称填写在右侧“映射按键”,表示希望软件收到的虚拟手柄动作;左侧可以是键盘、鼠标或实际手柄输入。先从图中认位置,再查完整名称,不要自行给任意物理Joy名称加v。
位置示意: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 Back | vJoy-Key7(Back) | PS的SHARE/Create等对应位置;以设备报告为准。 |
| 10 Start | vJoy-Key8(Start) | PS的OPTIONS对应位置。 |
| 11 Guide | vJoy-Key13(Guide) | PS键对应位置;物理按钮可能被系统/平台占用。 |
| 12 触摸板按下 | vJoy-Touchpad | 仅DS4虚拟类型支持;X360跳过此按钮。不是重放触摸轨迹。 |
上表包含全部26个基础输出名称:13个编号按钮、12个十字键/摇杆方向,以及DS4专用触摸板按钮。没有vJoy-Key14~vJoy-Key30、vJoy-Paddle1或vJoy-…_Light这样的对应输出。模拟量使用方括号力度值,设备选择使用@0~@3目标后缀;不能把物理输入后缀或_Light规则直接照搬。
参数命令与vJoy前缀例外
这些名称没有独立的实体按钮位置。需要参数的条目列出完整基础名称和可照做的例子;详细范围与行为由链接教程统一说明。
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偏移尺度理解,不是桌面像素;输出还可能受到半径限定等设置影响。相对指令重复发送会累积到边界,不能把它当作同一固定位置。先确认目标摇杆与回中策略,再用于长序列。
鼠标转摇杆:从低灵敏度与回中开始
- 先准备一台虚拟手柄。在左侧原始按键选择
vJoy-Mouse2LS 或 vJoy-Mouse2RS,添加专用转换项;右侧普通输出会置灰。 - 在“虚拟手柄”页调整X/Y灵敏度、反转和回中延时,先小幅试动。该转换不带输出@编号,当前作用于0号虚拟手柄。
- 保存后开始,用测试工具观察摇杆偏移。回中延时决定停止移动鼠标后何时回到中心;设0表示不自动回中,不是立即回中。
- 需要“直控模式”时再单独比较移动与偏移关系;不要同时大改全部参数。锁定光标会限制鼠标活动,初学先不启用,并保留独立停止键。
另可添加一条映射输出 Mouse2vJoy-Hold:按住其原始键时保持当前虚拟摇杆偏移,释放后继续由鼠标移动控制。它不是停止整套映射,也不是锁住物理手柄。
陀螺仪转鼠标:先确认方向,再调速度
- 先确认手柄支持陀螺仪,并能以当前USB/蓝牙模式被读取。不同连接模式支持范围可能不同。
- 左侧原始按键选择
Joy-Gyro2Mouse,添加专用转换项;右侧普通映射按键置灰。不加玩家@N后缀,当前格式不支持。 - 保存设定,开始映射。在安全桌面位置缓慢转动手柄,分别核对水平、垂直方向;先不要操作游戏或窗口关闭按钮。
- 方向错误时用下面的高级设置调整;速度不合适时再调主页面参数。每次只改一组,确认后保存,最后停止并核对鼠标恢复。
这是参数编辑页。支持陀螺仪的设备及实际传感器数据是产生移动的前提;本图不表示已经连接传感器。
参数怎么调,才容易知道是哪项影响?
| 参数 | 作用与顺序 |
|---|
| 水平/垂直速度 | 分别控制两轴整体输出强度。先在默认附近小步调整,而不是一开始就设最大值。 |
| 低速/高速灵敏度 | 细微转动与较快转动使用不同灵敏度,并在两者之间过渡。用来平衡微调和快速转向,不是游戏内部的鼠标灵敏度。 |
| 低速/高速阈值 | 影响按转动幅度过渡的区间;不是毫秒,也不能简单等同于完全屏蔽微动的死区。没有明确需求先保留默认。 |
如果静止时仍漂移,先检查放置、连接和设备状态,再逐项调整;不要用极端参数掩盖设备问题。鼠标输出还可能受到系统和目标软件处理影响,应在相同环境比较。
高级设定:哪一根传感器轴控制屏幕方向?
入口:“陀螺仪鼠标”→“高级设定”。水平、垂直输入源均可选择陀螺仪X/Y/Z轴,再分别决定是否反转。
先慢转手柄一次,只观察一个屏幕方向,再调整对应输入源;不要同时交换来源和反转,避免无法判断原因。
默认水平用陀螺仪Y轴、垂直用X轴。设备摆放方式不同,直观上的“左右转”未必对应同一个传感器轴。调整直接更新当前设定;要保留仍需保存。
只在需要时允许陀螺仪移动
| 右侧映射命令 | 行为 |
|---|
Gyro2Mouse-Move | 按住对应原始键时允许移动,释放后抑制;适合“按住肩键才瞄准”。 |
Gyro2Mouse-Hold | 按住时抑制移动,释放后允许;适合临时抬手调整握姿。 |
例如保留Joy-Gyro2Mouse转换项,再添加 Joy-Key5(LB) → Gyro2Mouse-Move,保存后测试“按住才动”。这两种门控的初始状态不同,入门时选一种,不同时堆叠多条相反门控。门控不会停止其他映射。
触摸板:移动、轻触与两指手势分开设置
- 确认设备的触摸板可被读取。触摸板按下按钮
Joy-Touchpad 与表面轻触/滑动不是一回事。 - 需要单指滑动控制鼠标时,添加特殊原始项
Joy-Touchpad2Mouse,右侧置灰;速度和反转在“映射高级设定”底部。 - 需要点击或手势时另加普通映射,例如
Joy-Touchpad-Tap → Mouse-L、Joy-Touchpad-2F-Up → Mouse-WheelUp。其余两指方向为Down/Left/Right,名称保留Joy-Touchpad-2F-前缀。 - 保存后在安全窗口测试每个动作,确认不会把滑动误当点击;先保留键盘停止键。停止后再用于目标软件。
这些输入依赖真实触摸板与协议支持;普通Xbox手柄不能仅靠配置获得同样输入。首次练习尽量不要用触摸板左键映射操作QKeyMapper标题栏。
触摸板检测开关命令
将命令写在右侧映射按键:GamepadTouchpadOn 开启、GamepadTouchpadOff 关闭、GamepadTouchpadToggle 切换触摸板检测状态。它们不安装/卸载驱动,也不使物理触摸板对游戏自动隐藏。
| 格式示例 | 作用 |
|---|
GamepadTouchpadToggle🎮 | 切换并显示相关通知 |
GamepadTouchpadOn@1 | 为1号玩家开启 |
GamepadTouchpadOff🎮@2 | 为2号玩家关闭并提示 |
玩家后缀范围@0~@9,不写时作用于所有已连接手柄。通知标记写在玩家后缀之前;先核对设备编号,再用单个开关练习。
先选功能,再选驱动
| 用途 | 对应组件 |
|---|
| 普通键鼠映射 | 不要求为了基础练习安装Interception/ViGEmBus;先使用正常输入路径。 |
| 读取物理手柄、转键鼠 | SDL2读取;不等于屏蔽游戏收到的物理输入。 |
| 创建虚拟X360/DS4手柄 | ViGEmBus;这是输出设备,与物理手柄检测不同。 |
| 区分多套键盘/鼠标 | Interception;先读严重输入失效风险,普通用户无需为基础映射启用。 |
| 通过虚拟HID键鼠发送输入 | FakerInput;需同时在相应映射项选择发送方式,不是安装后所有条目自动改走该路径。 |
| 减少物理+虚拟手柄双重输入 | HidHide等独立工具;需要保持QKeyMapper可见物理设备。见能力边界。 |
QKeyMapper版本、Windows版本、应用位数与驱动支持是不同条件。不要因为手册可在旧浏览器阅读,就认为所有驱动都支持Win7;也不要把x86程序直接等同于x86操作系统。完整发布包内的安装入口会按操作系统架构选择相应资源。
ViGEmBus:只在需要虚拟手柄时安装
- 保存并备份配置,停止映射,关闭正在使用虚拟手柄的游戏/测试工具。确认自己需要虚拟输出,而不是普通手柄转键鼠。
- 完整解压与系统兼容的发布包,保留
ViGEmBusDriver 等附带目录;只复制QKeyMapper.exe会缺少安装资源。 - 在“虚拟手柄”页使用“安装ViGEm”。已经显示“卸载ViGEm”时不要再点它来尝试安装;按钮含义随当前状态变化。
- 阅读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;这不是建议旧系统随意降级安装,安装前应查阅对应版本的系统要求。
上游支持系统说明、退休及旧更新组件说明(需联网)。按你实际包内的驱动版本核对,不从名称相似的网站下载替换组件。
先让游戏数据到达,再调映射
图中是本机默认编辑值,不是所有车辆/版本的最佳参数;未运行游戏遥测。
- 先完成虚拟手柄基础,确认游戏能使用虚拟扳机。备份当前游戏与QKeyMapper配置。
- 在游戏支持的“数据输出/Data Out”选项中开启遥测,设置接收地址与端口;QKeyMapper默认端口为
5300,两端必须一致。同机接收通常使用本机回环地址 127.0.0.1,具体游戏/发行渠道若限制回环,按其官方要求排查。 - 在QKeyMapper“极限竞速”页核对端口、刹车阈值和油门阈值。不要把阈值当成车速、按压百分比或普通延时。
- 再按下节建立一条专用自动扳机映射,保存后开始。先在不影响比赛的练习环境测试按下、释放和停止;功能异常时回到普通手动扳机映射对照。
当前接收器针对特定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。
刹车控制参考轮胎滑移率,油门控制参考组合滑移指标;它们依据遥测调整扳机力度,不是按下后自动驾驶。车辆、路况和游戏辅助设置都会改变效果;不要把示例阈值视为调校建议。
没有效果或力度异常时
- 先确认普通虚拟按钮/扳机输出可用,排除游戏未选择虚拟设备。
- 确认游戏数据输出已开启、接收地址/端口一致,且没有其他程序占用接收端口;有安全提示时按正常网络授权流程处理。
- 用一条自动控制映射测试,避免同一扳机同时收到普通按压、限幅和多条自动控制。
- 确认使用的是页面阈值还是键内THR参数;先回到默认再逐项比较。
- 异常持续时停止映射,恢复普通手动控制,记录游戏版本、格式和配置再排查;不要在驾驶输入异常时继续比赛。
⚠ 严重风险:可能失去键盘和鼠标输入
项目曾收到Win10严重故障报告:安装Interception后,键盘、鼠标均无法使用,进入安全模式也未恢复,最终重装Windows。
这是已报告的案例,不代表所有故障都有相同原因,发生概率也无法由该案例量化。请在了解后果、准备必要备份与恢复条件后,自行决定是否仍需使用。
退出QKeyMapper不等于移除驱动。不能保证重启、进入安全模式或卸载一定能够恢复。不要把软件停止快捷键当作驱动失效时仍可用的保证。
固定接口,减少编号变化
当前使用的Interception存在每类10个设备槽位的限制。设备反复插拔、断开重连或系统睡眠恢复可能改变设备枚举编号,触及限制后可能导致输入设备不可用。不能理解成“不到10个实体设备就必然安全”。
- 把需要映射的键盘、鼠标接到主机后面板固定USB接口。
- 避免USB Hub、频繁更换接口和反复插拔。
- 连接稳定后再确认映射后缀;重连、睡眠恢复或系统变化后重新核对设备与后缀的对应关系。
- 设备后缀用于选择映射来源,不要把它与Windows内部设备对象编号混为一谈。
固定接口只能降低风险,不能保证编号永远不变。QKeyMapper不能通过普通配置消除该驱动的限制。这里不提供“改一个参数就能安全突破上限”的方案,也不把重启或卸载写成必然成功的恢复办法。
来源:本项目所用Interception头文件、项目使用经验及上游设备重连问题记录(需联网)。
使用Interception前,检查Windows电源设置
若已决定使用多键鼠功能,建议先了解以下三项设置,再按症状与使用环境选择。它们用于评估启动、空闲及唤醒过程中的兼容问题,不是安装Interception的安全保证,也不能突破设备数量限制。
省电设置不是驱动故障恢复工具。这些调整不能保证避免或恢复键鼠完全失效。操作前记下原值,准备必要备份和恢复条件;需要时按原值还原,不要在输入已经失效时反复拔插试错。
| 设置 | 何时考虑 | 主要取舍 |
| 关闭快速启动 | Interception用户优先评估,尤其在关机再开机后反复出现异常时 | 开机可能变慢;不保证编号重置或故障消失 |
| 禁用USB选择性暂停 | 空闲、睡眠或唤醒后出现输入异常时,针对性排查 | 可能增加耗电、缩短电池续航 |
| 取消相关集线器省电选项 | 作为补充排查,仅在相关设备提供该选项时调整 | 可能增加耗电;不同硬件的选项和效果不同 |
项目另有键盘、鼠标同时失效的使用反馈,使用者怀疑与快速启动有关;目前未完成故障定位,不能据此认定快速启动导致设备编号累积。上游有重连、睡眠后编号增加及输入失效的报告,也不代表所有类似故障都有同一原因。
① 优先评估:关闭“快速启动”
Windows快速启动会在关机时保存内核会话和驱动状态,下次开机再恢复;它与完整启动不同。Windows“重启”不采用快速启动流程。如果希望日常关机再开机也不保留这部分状态,可在接受开机可能变慢的前提下评估关闭。
- 进入电源选项。按Win + R,输入
control,打开控制面板;切换为“大图标”,选择“电源选项”。
- 打开关机设置。选择“选择电源按钮的功能”→“更改当前不可用的设置”;Windows可能要求管理员确认。
- 取消快速启动。在“关机设置”中取消“启用快速启动(推荐)”,点击“保存修改”。
适用与缺项:上述步骤面向Win10/Win11,文字和入口可能因系统版本而不同。Win7没有此快速启动功能;若当前系统未显示该选项,不必为跟随手册而启用休眠或修改注册表。
还原:回到同一位置,恢复原来的勾选状态并保存。安装/卸载驱动后仍按对应说明执行Windows重启;不要将关机再开机视为必然等价,也不保证重启能恢复所有驱动故障。
原理参考:微软启动与关机说明(需联网)。这里是针对Interception使用风险的评估建议,不是Windows通用优化要求。
② 按症状排查:USB选择性暂停
USB选择性暂停允许系统挂起闲置端口以节约电力。微软通常建议保留此功能。若输入异常与空闲、睡眠或唤醒有关,可考虑禁用作对照;没有相关异常时,不必把关闭省电功能当作所有用户的必做项。
- 先记下原值。打开控制面板“电源选项”,在当前生效计划旁选择“更改计划设置”→“更改高级电源设置”。
- 找到USB设置。展开“USB设置”→“USB选择性暂停设置”。
- 调整需要排查的供电状态。将对应状态改为“已禁用”,点击“应用”及“确定”。有“使用电池/接通电源”两项时分别记录与选择,不默认要求牺牲电池续航。
代价与范围:可能增加耗电并缩短笔记本续航;这项操作针对当前电源计划,切换计划后应重新核对。缺少USB设置时跳过,不修改注册表强行显示选项。
还原:回到同一计划和供电状态,恢复记录的原值,再“应用/确定”。不以一次未复发作为已经修复驱动的证明。
来源:微软USB选择性暂停说明(需联网)。禁用是特定兼容问题下的取舍,不是微软的一般推荐。
③ 补充排查:相关USB集线器的省电选项
若前述症状仍存在,可检查键鼠所连接集线器的设备属性。不是所有控制器或驱动都提供“电源管理”页,不能把取消勾选理解为保证USB持续供电或杜绝失效。
- 确认设备。打开“设备管理器”,查看相关“USB根集线器”或“通用USB集线器”。必要时用“查看”→“按连接查看”定位键鼠所属设备;无法确认时先不要批量修改其他设备。
- 记录并调整原值。打开该集线器“属性”→“电源管理”;仅在确有此选项时,取消“允许计算机关闭此设备以节约电源”。
- 保存。点击“确定”。该设置可能影响同一集线器上的其他设备,也可能增加耗电。
还原:回到同一设备恢复原勾选状态,再点击“确定”。若没有该页面或复选框,跳过即可,不卸载设备、不修改驱动或注册表来强行获得选项。
这些建议不改变固定后置USB接口、避免Hub和频繁拔插的原则;完成调整后,仍需核对实际键鼠与设备后缀。
决定安装之前:先把风险与恢复条件准备好
先确认普通映射是否已满足需求。确需区分多套键鼠时,再完整阅读上方严重失效案例、固定USB接口与编号限制和Windows电源设置取舍。普通A → B练习不要为此安装驱动。
⚠ 安装后可能失去键盘、鼠标输入;不要把停止快捷键当作驱动故障急救。先备份重要数据与配置,准备自己能够执行的系统恢复方案。不能确认如何处理输入全部失效时,先不要安装。固定接口和电源设置只能降低部分兼容风险,不能保证免于故障。
- 保存并停止映射,完整解压发布包,保留
InterceptionDriver 目录。 - 在“多键鼠支持”页核对按钮文字;未安装时使用“安装驱动”。软件会再次警告风险,只有明确接受后才继续;不接受就取消。
- 按UAC及结果提示处理;安装/卸载后需要重启系统才能完成状态变更。先连接好计划使用的固定USB设备,避免为了测试反复拔插。
- 重启后核对可用状态、实际键鼠是否都能正常使用,再做下面的一条设备限定映射。安装不等于已经启用多键鼠区分。
卸载也在这一页,但按钮为“卸载驱动”时含义已经改变。先停止映射、取消相关使用,再卸载并按提示重启;退出QKeyMapper、取消“启用”或删除一条映射都不等于移除驱动。Interception项目说明(需联网),上游文档的测试系统范围也不构成Win11或特定设备的无风险保证。
设备列表:先识别,别先勾“禁用”
入口在“多键鼠支持”页。图中驱动已可用、按钮显示卸载,不能照着按钮位置盲点。
点击“设备列表”,上半为键盘、下半为鼠标;通过No.、设备描述、硬件ID、VID/PID及厂商/产品信息辨认。一个接收器可能暴露多条接口,虚拟键鼠也可能出现在列表中;不要把第一行永远当成某一台实体设备。
本图为实际设备信息查看,所有禁用框保持未勾选;设备编号和名称以你自己的列表为准。
“禁用”不是“不参与这条映射”。勾选设备禁用并点击“确认”,会更新并保存设备禁用列表,可能让这台设备的所有输入不可用。它不是等到主窗口“保存设定”才生效。不要禁用唯一可用的键盘/鼠标,也不要按截图中的编号批量禁用。
只查看时用“取消”退出;不要修改复选框。启用多键鼠后,可通过一次实际操作观察相关设备的高亮来辅助辨认,但不要为辨认而反复拔插。不同接口出现同名设备时,结合硬件信息核对,不能凭显示名猜测。
第一条区分设备练习:只让指定键盘的A变成B
- 确认上述条件已满足。驱动可用、真实键鼠正常、编号已核对,并保留另一条可靠的停止途径。
- 勾选“启用多键鼠支持”。它会立即启用相应输入路径并记录开关;不是普通未保存草稿。先只处理一台额外键盘,不以主键盘鼠标做危险试验。
- 选择设备并添加一条映射。左侧原始按键选A,在“键盘”设备列表选刚核对的编号,右侧选B。添加后核对表格的完整名称,例如
A@0 → B;@0只是例子,不要求你的设备一定为0号。 - 保存、开始、逐台核对。在空白记事本中,指定键盘按A应触发B;其他键盘的A应按没有命中这条映射的通常路径处理。若还有不带设备后缀的泛用A规则,它仍可能命中,需要一并检查。
- 停止,再扩展。确认停止后输入恢复,再增加其他设备或组合键;每次调整后保存。
| 原始键例子 | 含义 |
|---|
A@0 | 0号键盘的A |
Mouse-L@1 | 1号鼠标的左键;初学不要先用左键练习,以免无法点停止 |
L-Ctrl@2+F@2 | 2号键盘的左Ctrl与F组合 |
L-Alt+3@1 | 任意键盘的左Alt,配合1号键盘的3 |
键盘和鼠标各有0~9编号;不带设备后缀表示不限定该类设备。按键前后缀不是Windows永久设备ID,换接口、重连和睡眠恢复后仍需重新核对。多条泛用/专用映射重叠时会受匹配与顺序影响,先让练习规则互不冲突。
筛选键与排错边界
本页“筛选键”用于多键鼠路径下持续按住同一按键时的重复输入过滤,属于相应映射配置;与“映射设定”页的Windows“系统筛选键”不同。先保留默认,再按实际需要比较,不能用它解决驱动设备编号耗尽。
- 只有某条映射未触发:检查是否启用区分、设备后缀、原始键、禁用状态及泛用规则重叠。
- 重连后换成另一台触发:先停止,重新核对设备编号;不要在运行中盲目交换多条后缀。
- 发现输入异常或设备无响应:停止继续试验,按预先准备的恢复方案处理;驱动层失效时软件快捷键可能也无法接收。
普通映射满足需求时,优先保持多键鼠未启用。需要移除已安装驱动时按上面的卸载流程处理,不能只关软件就认为系统已经恢复原始驱动状态。
能读取手柄,不代表能挡住原来的输入
QKeyMapper通过SDL2读取物理手柄输入,不使用额外的手柄拦截驱动来检测输入。但它不能像处理键盘、鼠标输入那样,直接阻止游戏收到物理手柄原来的输入。因此,添加一条映射不等于改写固件,也不等于透明替换物理手柄按键。
如果目的只是常见手柄键位互换,可优先考虑适用场景下的Steam Input。QKeyMapper更适合将手柄转换成键鼠输入,帮助不支持手柄的游戏获得控制方式。虚拟手柄输出依赖的驱动需要另外满足条件,不要与SDL2读取输入混淆。
Steam Input绑定说明(外部链接,需联网)。适用性依目标游戏、平台及设备而定,不承诺所有环境通用。
第一条练习:手柄A/×键 → 空格
- 先确认系统能识别手柄。连接设备后,可在Windows的游戏控制器面板(Win+R输入
joy.cpl)或手柄测试工具观察按钮。这里能检测到,不保证SDL2能读取该设备的全部特殊功能。 - 确认停止键。保留键盘默认停止组合
L-Ctrl+F6。先使用全局练习配置,关闭自动前台匹配。 - 左边选实际按的按钮。在原始按键选择
Joy-Key1(A/×),右侧映射按键选择 Space。不要把两边填反;这不是“按空格让手柄A被按下”。 - 添加、核对、保存。确认表格是Joy-Key1 → Space,再点击“保存设定”。本例无需启用虚拟手柄,也无需为读取手柄安装Interception。
- 开始后在空白记事本试按。把焦点放到文本区,再按手柄按钮;预期产生空格。停止映射,确认不再由这条映射输出。基础练习成功后才进入游戏配置和窗口匹配。
编辑示例:左侧是实际手柄输入,右侧是键盘输出。图中设备列表为空,不代表已完成手柄连接或游戏测试。
若完全没有响应,依次检查设备供电/连接、SDL2识别、按键名称、是否开始、目标焦点、玩家后缀和禁用状态。不要把“安装更多驱动”作为默认排错步骤。
按键名称速查:Joy是物理输入
先在图上找到自己实际操作的位置,再从同编号的表格行选择完整原始按键名称。图中是常见布局示意,不是设备连接或输入测试结果;第三方手柄的布局、按钮编号与可用功能需在测试工具中核对。
位置示意: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 Back | Joy-Key7(Back) | PS的SHARE/Create等对应位置;以设备报告为准。 |
| 10 Start | Joy-Key8(Start) | PS的OPTIONS对应位置。 |
| 11 Guide | Joy-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输入不加后缀时接受相应的所有物理手柄;加 @0~@9 限定QKeyMapper显示的玩家编号。例如 Joy-Key1(A/×)@1 → Space 只接收1号手柄的这一按钮。
- 先在主窗口“游戏手柄”下拉框核对实际设备和玩家编号,再添加映射;不要仅凭Windows游戏内的“玩家1”推断它就是后缀@1。
- 添加后直接查看表格中的完整原始按键,确认后缀符合预期;不限定设备时保持通用输入。
- 重连、改变连接方式或多只设备并存后重新核对。编号不是永久绑定的设备序列号。
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 | 物理左/右扳机到对应虚拟扳机 |
- 先只启用一台需要的虚拟手柄,确认测试工具能看到它。
- 在原始按键选择
Joy-LS_2vJoyLS;这类专用入口会让右侧映射按键置灰,不要再强行填写普通输出。 - 添加并保存;开始映射后,在测试工具分别核对物理和虚拟摇杆,再决定是否需要其他摇杆/扳机通道。
- 若游戏同时收到两份输入,先阅读下方“双重输入”,不要继续叠加映射来抵消。
特殊原始按键自带转换含义;右侧置灰是正常状态。这里展示编辑入口,没有模拟手柄已连接。
按类型查名称 · 先分清左右
按键名称速查
左边选自己实际按下的输入,右边选希望发送的输出。下表中的范围只是说明缩写,输入时请填写一个完整名称;不要把“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+包含全角加号,与组合键的半角+不同。
鼠标按钮与滚轮
初次练习不要映射鼠标左键;先记住应急停止。坐标点击、相对移动及键控鼠标是右侧特殊功能,见鼠标与坐标。
特殊名称放哪边?
没有真实硬件按键的事件/转换项不要与“按下哪个键”混淆;也不能把内部输出命令任意填到左边。优先用下拉列表和对应教程生成完整写法。
先记住开始/停止与显示切换
| 默认键 | 用途 | 注意 |
|---|
L-Ctrl+F6 | 开始/停止映射 | 只用左Ctrl;同键复用,停止后别反复按。改过热键时以当前配置为准。 |
L-Ctrl+` | 显示切换 | 反引号通常在数字1左侧;在“通用设定”核对实际热键。显示窗口不等于停止映射。 |
F11/F12 | 录制窗开始/停止录制 | 不是整个映射的开始/停止键。 |
系统、其他软件或游戏可能占用热键;先在普通桌面练习。模态框应先正常确认/取消。鼠标不能点击时的处理不等于驱动故障恢复。
主窗口与映射表
| 操作 | 按键/方式 | 作用范围 |
| 保存配置 | Ctrl+S | 空闲状态;原始按键捕获框获得焦点时会避让录入。失败需看提示,不等于自动保存。 |
| 刷新进程/设备信息 | F5 | 主窗口空闲状态,不是重装驱动。 |
| 新增空白Tab/复制当前Tab | Ctrl+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替换;恢复前核对版本和配置名称。软件不提供找回所有未保存草稿的保证。
保存为什么重要 · 正确备份 · 导入与覆盖
无法点击、松手还在发送或窗口看不到
- 软件仍可正常接收键盘时,用当前停止快捷键;默认是左Ctrl+F6。确认停止后不要反复按。
- 停止后检查是否映射了Mouse-L,是否启用了锁定、连发、保持最后按键、强制按下前缀或大段循环。先恢复简单一条A → B。
- 窗口隐藏不等于已停止。使用当前“显示切换”热键或托盘显示窗口,正常处理已有模态框;别同时启动许多副本。
- 若键鼠在软件退出后或系统启动阶段也完全无响应,转到下方驱动风险,而不是继续依赖软件热键。
应急停止 · 锁定 · 释放配对 · 托盘与显示切换
设备与驱动相关问题
- 多键鼠重连后映射到错误设备:只查看设备列表,重新核对后缀与设备描述;固定后面板USB接口能减少变化,不能保证编号永久不变。不要禁用唯一输入设备。
- 物理手柄无输入:先检查Windows/测试工具、连接与SDL2支持,再看玩家编号;不为普通手柄读取安装Interception。
- 虚拟手柄不存在:先核对ViGEmBus支持条件、虚拟设备启用状态及目标编号;创建虚拟输出不等于隐藏物理输入。
- 陀螺仪/触摸板不工作:设备与连接协议要报告对应数据,再检查专用原始项、设备启用与Hold/Move或触摸板开关。
- 游戏收到两份输入:看物理输入隐藏与白名单,不要再叠加反向映射试图抵消。
Interception安装后曾出现键盘、鼠标全部失效,安全模式也未恢复、最终重装Windows的严重案例。这不是软件停止键能保证解决的故障。不要在唯一工作环境中反复安装/卸载或禁用输入设备;应依据事先准备的系统恢复方案处理,无法操作时求助能提供恢复条件的人。手册不保证重启、卸载或电源设置一定修复。
先阅读完整风险及电源兼容建议。
已知问题:手柄左键操作标题栏后卡住
将物理手柄原始键映射为鼠标左键时,避免用该输入点击QKeyMapper标题栏的关闭、最小化、最大化区域。已知现象与切换前台的处理提示集中在手柄转鼠标说明;不要把它当作所有界面卡死的原因或恢复保证。
求助前准备什么?
提供软件版本与Qt5/Qt6/x86/x64、Windows版本、最小复现步骤、当前配置/Tab、实际按键、预期与实际结果。说明是否仅游戏内失败、是否开启自动匹配、相关驱动与设备条件。必要时附一条已去除隐私的映射码或最小示例。
截图和日志先检查进程窗口标题、路径、设备信息、聊天及文本发送内容;不要公开整份含隐私的配置。普通Release用于日常使用与性能观察,diagnostic日志只作开发调查,不能用写盘版本代表普通版性能。