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

能否实现该AutoHotkey脚本?需求为按下FN时添加按键至选中行首尾

实现按住FN键后给选中行首尾添加后续按键的AutoHotkey脚本

原脚本存在几个关键问题,比如错误获取后续输入的按键、选中行的逻辑不合理、多余的删除操作等,下面是修正后的完整实现:

~FN::
    ; 保留FN键本身功能,同时触发热键逻辑
    ; 等待用户按下任意按键,获取该按键的字符
    Input, userKey, V L1 ; V表示允许任意按键,L1限制只获取一个字符
    if (ErrorLevel != "EndKey") ; 确保成功获取到按键
    {
        ; 复制选中的文本到剪贴板
        Clipboard := ""
        SendInput, ^c
        ClipWait, 1 ; 等待剪贴板内容就绪
        if (!ErrorLevel)
        {
            ; 处理文本:在首尾添加用户按下的按键
            processedText := userKey . Clipboard . userKey
            ; 清空剪贴板并粘贴处理后的文本
            Clipboard := processedText
            SendInput, ^v
        }
    }
return

关键逻辑说明:

  • ~FN:::~符号让FN键的原生功能不受影响,同时触发热键代码
  • Input, userKey, V L1:等待用户按下单个按键,将按键字符存入userKey变量
  • ^c与ClipWait:复制选中的文本到剪贴板,并等待操作完成,确保能获取到内容
  • processedText := userKey . Clipboard . userKey:将用户按键拼接在选中文本的首尾
  • ^v:粘贴处理后的文本覆盖原有选中内容

额外提示:

  • 如果需要支持特殊按键(如功能键、方向键等),可以调整Input命令的参数,比如使用Input, userKey, V不限制长度,再配合KeyWait等命令处理
  • 若不需要保留FN键的原生功能,去掉开头的~即可

内容的提问来源于stack exchange,提问作者Umer Hammaz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 03:12:19