You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Alt映射为Ctrl、LWin映射为Alt、Ctrl映射为LWin且保留Ctrl+C原有功能

按键重映射需求实现方案

失效原因

你的两种写法失效的核心原因是AutoHotkey默认会优先应用全局重映射规则来解析热键的修饰符:当你将Control映射为LWin后,脚本中^修饰符默认对应映射后的Control(也就是物理Alt键),自然无法匹配你按物理Control+C的操作,最终只会触发LWin+C的系统快捷功能。

正确可运行脚本

#InputLevel 0
; 捕获物理Ctrl+C,直接触发复制功能
$^c::SendInput ^c

#InputLevel 1
; 核心按键重映射规则
Alt::Control
LWin::Alt
Control::LWin

如果只需要保留左Ctrl的复制功能,把上面的^c改成<^c即可。

实现逻辑说明

  • #InputLevel用于控制输入事件的响应优先级:
    • Level 0的热键只会捕获物理键盘的原生输入,不会响应脚本自身发送的模拟按键,因此可以精准拦截物理Control+C的操作,直接发送复制指令。
    • Level 1的重映射事件优先级低于Level 0的热键,因此物理Control+C的操作会先被热键拦截处理,不会触发后续的Control→LWin重映射。
  • $修饰符用于避免脚本自身发送的^c重复触发热键,造成循环调用。

内容的提问来源于stack exchange,提问作者Jason Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 08:36:01