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

如何在AutoHotkey v2中将CapsLock映射为Esc与Ctrl键?

Windows下用AutoHotkey v2实现CapsLock双功能映射

以下是实现单独按松CapsLock触发Escape,按住CapsLock作为Ctrl修饰键的AutoHotkey v2脚本方案:

核心脚本代码

#Requires AutoHotkey v2.0

; 禁用原生CapsLock切换大小写功能
CapsLock::Return

; 单独按松CapsLock时发送Escape
~CapsLock Up::
{
    ; 检测是否仅按下了CapsLock(无其他组合键)
    if (A_PriorKey = "CapsLock")
    {
        Send "{Esc}"
    }
}

; 定义CapsLock作为Ctrl与各类按键的组合映射
~CapsLock & *a::Send "^a"
~CapsLock & *b::Send "^b"
~CapsLock & *c::Send "^c"
~CapsLock & *d::Send "^d"
~CapsLock & *e::Send "^e"
~CapsLock & *f::Send "^f"
~CapsLock & *g::Send "^g"
~CapsLock & *h::Send "^h"
~CapsLock & *i::Send "^i"
~CapsLock & *j::Send "^j"
~CapsLock & *k::Send "^k"
~CapsLock & *l::Send "^l"
~CapsLock & *m::Send "^m"
~CapsLock & *n::Send "^n"
~CapsLock & *o::Send "^o"
~CapsLock & *p::Send "^p"
~CapsLock & *q::Send "^q"
~CapsLock & *r::Send "^r"
~CapsLock & *s::Send "^s"
~CapsLock & *t::Send "^t"
~CapsLock & *u::Send "^u"
~CapsLock & *v::Send "^v"
~CapsLock & *w::Send "^w"
~CapsLock & *x::Send "^x"
~CapsLock & *y::Send "^y"
~CapsLock & *z::Send "^z"
~CapsLock & *0::Send "^0"
~CapsLock & *1::Send "^1"
~CapsLock & *2::Send "^2"
~CapsLock & *3::Send "^3"
~CapsLock & *4::Send "^4"
~CapsLock & *5::Send "^5"
~CapsLock & *6::Send "^6"
~CapsLock & *7::Send "^7"
~CapsLock & *8::Send "^8"
~CapsLock & *9::Send "^9"
~CapsLock & *F1::Send "^F1"
~CapsLock & *F2::Send "^F2"
~CapsLock & *F3::Send "^F3"
~CapsLock & *F4::Send "^F4"
~CapsLock & *F5::Send "^F5"
~CapsLock & *F6::Send "^F6"
~CapsLock & *F7::Send "^F7"
~CapsLock & *F8::Send "^F8"
~CapsLock & *F9::Send "^F9"
~CapsLock & *F10::Send "^F10"
~CapsLock & *F11::Send "^F11"
~CapsLock & *F12::Send "^F12"
~CapsLock & *Tab::Send "^Tab"
~CapsLock & *Enter::Send "^Enter"
~CapsLock & *Backspace::Send "^Backspace"
~CapsLock & *Delete::Send "^Delete"
~CapsLock & *Insert::Send "^Insert"
~CapsLock & *Home::Send "^Home"
~CapsLock & *End::Send "^End"
~CapsLock & *PgUp::Send "^PgUp"
~CapsLock & *PgDn::Send "^PgDn"
~CapsLock & *Left::Send "^Left"
~CapsLock & *Right::Send "^Right"
~CapsLock & *Up::Send "^Up"
~CapsLock & *Down::Send "^Down"
~CapsLock & *Space::Send "^Space"
~CapsLock & *`::Send "^`"
~CapsLock & *-::Send "^-"
~CapsLock & *=::Send "^="
~CapsLock & *[::Send "^["
~CapsLock & *]::Send "^]"
~CapsLock & *\::Send "^\"
~CapsLock & *;::Send "^;"
~CapsLock & *'::Send "^'"
~CapsLock & *,::Send "^,"
~CapsLock & *.::Send "^."
~CapsLock & */::Send "^/"

代码说明

  • #Requires AutoHotkey v2.0:强制脚本在v2环境运行,避免版本兼容问题。
  • CapsLock::Return:关闭原生CapsLock的大小写切换功能,防止干扰新映射。
  • ~CapsLock Up:::监听CapsLock松开事件,~保留按键的原始状态检测能力;通过A_PriorKey判断是否为单独按键,若是则发送Escape。
  • ~CapsLock & *[按键]::Send "^[按键]":定义CapsLock与任意按键的组合,等效于Ctrl+对应按键;*允许同时搭配Shift/Alt等其他修饰键,覆盖更多使用场景。

使用步骤

  1. 安装AutoHotkey v2:从官方渠道下载并安装v2版本。
  2. 创建脚本:新建文本文件,粘贴上述代码,保存为后缀为.ahk的文件(例如CapsLockRemap.ahk)。
  3. 运行脚本:双击.ahk文件,托盘出现AutoHotkey图标表示脚本已生效。
  4. 开机自启:将脚本的快捷方式放入C:\Users\[你的用户名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup文件夹,实现开机自动运行。

注意事项

  • 停止脚本:右键点击托盘的AutoHotkey图标,选择“Exit”即可终止运行。
  • 冲突处理:若某软件的快捷键与映射冲突,可直接删除脚本中对应按键的映射行。
  • 简化写法:如果不需要全量按键映射,可只保留常用的组合键(如^c/^v/^a等),减少脚本长度。

内容的提问来源于stack exchange,提问作者Zeta.Investigator

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:45:40