Skip to content

Instantly share code, notes, and snippets.

@supplient
Last active June 16, 2026 00:51
Show Gist options
  • Select an option

  • Save supplient/bdfb927d40468ed9b07300f063dfd143 to your computer and use it in GitHub Desktop.

Select an option

Save supplient/bdfb927d40468ed9b07300f063dfd143 to your computer and use it in GitHub Desktop.
我的 AutoHotkey 配置,面向的是 Corne 键盘
; ============================================================================
; F13-F24 功能键映射脚本
; 用途:将可编程键盘 Layer 上的 F13-F24 映射为常用快捷键
; 扩展:利用 Shift / Ctrl / Alt 修饰键,将 12 个基础键扩展为最多 48 个映射位
; 适用:AutoHotkey v2.0+
; ============================================================================
;
;
; ============================================================================
; 使用说明
; ============================================================================
;
; 1. 如何运行此脚本
; - 双击此脚本可运行(托盘会出现 AutoHotkey 图标)
; - 右键托盘图标 → "Reload This Script" 可以重新加载修改后的脚本
; - 右键托盘图标 → "Exit" 可以退出脚本
;
; 2. 如何设置开机自启
; - 按 Win+R,输入 shell:startup,回车
; - 将此脚本的快捷方式放入该文件夹即可
;
; 3. 语法参考
; - ^ = Ctrl (例如 ^c = Ctrl+C)
; - ! = Alt (例如 !{F4} = Alt+F4)
; - + = Shift (例如 +F13 = Shift+F13)
; - # = Win (例如 #e = Win+E)
; - {} = 包裹特殊键名(例如 {F1}, {Home}, {Esc})
;
; 4. 按键名称速查
; - 功能键:F1 到 F24
; - 导航键:Home, End, PgUp, PgDn, Left, Right, Up, Down
; - 编辑键:Insert, Delete, Backspace, Enter, Tab, Esc, Space
; - 修饰键:LWin, RWin, LAlt, RAlt, LCtrl, RCtrl, LShift, RShift
; - 媒体键:Media_Next, Media_Prev, Media_Stop, Media_Play_Pause
; - 音量键:Volume_Up, Volume_Down, Volume_Mute
;
;
; ============================================================================
; 键盘布局
;
; 左手
; +F15 F17 F18 F19 F24
; +F14 F14 F15 F16 F20
; +F13 F21 F22 F13 F23
;
; 右手
; 完全一样,但是都需要摁Ctrl
; ============================================================================
#Requires AutoHotkey v2.0
#SingleInstance Force
InstallKeybdHook
; --- 编辑操作 ---
+F13::Send "^z" ; 撤销(Ctrl+Z)
F21::Send "^x" ; 剪切(Ctrl+X)
F22::Send "^c" ; 复制(Ctrl+C)
F13::Send "^v" ; 粘贴(Ctrl+V)
; --- 截图操作 ---
+F15::Send "!{F1}" ; 截图方式一(Alt+F1)
F17::Send "!{F2}" ; 截图方式二(Alt+F2)
; --- 帮助说明 ---
F24::ShowHelp() ; 弹出键位说明窗口
; ============================================================================
; 键位说明 GUI(按 F24 打开 / 再次按 F24 或 Esc 关闭)
; 修改下面的 helpText 变量即可更新说明内容
; ============================================================================
ShowHelp() {
static HelpHwnd := 0
; 如果窗口已打开,关闭它(F24 作为开关)
if HelpHwnd && WinExist("ahk_id " HelpHwnd) {
WinClose("ahk_id " HelpHwnd)
HelpHwnd := 0
return
}
; ╔══════════════════════════════════════════════════════════════════╗
; ║ 说明文本区域 —— 请在下方修改内容,保持缩进格式 ║
; ╚══════════════════════════════════════════════════════════════════╝
helpText := "
(
╔═══════════════════════════════════════════╗
║ F13-F24 键位说明 ║
║ 按 Esc 或再次按 F24 关闭 ║
╚═══════════════════════════════════════════╝
┌─────────── 左手键位 ─────────────┐┌─────────── 右手键位 ─────────────┐
┌──────┬──────┬──────┬──────┬──────┐┌──────┬──────┬──────┬──────┬──────┐
│ +F15 │ F17 │ F18 │ F19 │ F24 ││^+F15 │^F17 │^F18 │^F19 │^F24 │
│Alt+F1│Alt+F2│ —— │ —— │ 帮助 ││ —— │ —— │ —— │ —— │ —— │
├──────┼──────┼──────┼──────┼──────┤├──────┼──────┼──────┼──────┼──────┤
│ +F14 │ F14 │ F15 │ F16 │ F20 ││^+F14 │^F14 │^F15 │^F16 │^F20 │
│ —— │ —— │ —— │ —— │ —— ││ —— │ —— │ —— │ —— │ —— │
├──────┼──────┼──────┼──────┼──────┤├──────┼──────┼──────┼──────┼──────┤
│ +F13 │ F21 │ F22 │ F13 │ F23 ││^+F13 │^F21 │^F22 │^F13 │^F23 │
│Ctrl+Z│Ctrl+X│Ctrl+C│Ctrl+V│ ││ —— │ —— │ —— │ —— │ —— │
└──────┴──────┴──────┴──────┴──────┘└──────┴──────┴──────┴──────┴──────┘
符号说明:
+ = Shift ^ = Ctrl ! = Alt
—— = 尚未映射,可在脚本中自行添加
)"
; ╔══════════════════════════════════════════════════════════════════╗
; ║ 说明文本区域结束 ║
; ╚══════════════════════════════════════════════════════════════════╝
; 创建 GUI 窗口
HelpGui := Gui()
HelpGui.Title := "F13-F24 键位说明"
HelpGui.SetFont("s11", "Consolas") ; 等宽字体保证排版对齐
; 只读文本框,带滚动条
HelpGui.Add("Edit", "ReadOnly w720 h420", helpText)
; 关闭按钮
HelpGui.Add("Button", "Default xm w80", "关闭 (&C)")
.OnEvent("Click", (*) => CloseHelp(HelpGui, &HelpHwnd))
; 绑定关闭事件
HelpGui.OnEvent("Close", (*) => CloseHelp(HelpGui, &HelpHwnd))
HelpGui.OnEvent("Escape", (*) => CloseHelp(HelpGui, &HelpHwnd))
HelpGui.Show()
HelpHwnd := HelpGui.Hwnd
; 内部辅助函数:关闭窗口并重置句柄
CloseHelp(g, hwnd) {
g.Destroy()
hwnd := 0
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment