• 威猛先生xjr

    最近频繁使用 Codex,发现微信语音输入成本很低很方便,但懒得伸手按键盘,故给一个人体工学鼠标的两个侧键重新安排了用途,顺便分享一下

    用AI润色了基本功能,故以截图放出

    图片

    图片

    代码如下:```
    #Requires AutoHotkey v2.0
    #SingleInstance Force

    MouseVoiceInputActive := false
    MouseVoiceTapThresholdMs := 250
    OnExit(ReleaseMouseVoiceInput)

    ; 将 Endfield.exe 改成需要排除的程序进程名。
    ; 也可以删除两组 #HotIf,让映射在所有程序中生效。
    #HotIf !WinActive("ahk_exe Endfield.exe")

    ; 鼠标 4 号键:
    ; 短按 Enter,长按立即保持 Win+Shift。
    *XButton1::HandleMouseVoiceInput()

    ; 鼠标 5 号键:Backspace。
    *XButton2::SendInput "{Backspace}"

    #HotIf

    HandleMouseVoiceInput() {
    global MouseVoiceInputActive, MouseVoiceTapThresholdMs

    if MouseVoiceInputActive
    return

    MouseVoiceInputActive := true
    pressedAt := A_TickCount
    SendInput "{LWin down}{LShift down}"

    ; 等待物理侧键松开,避免切换窗口时漏掉松开事件。
    KeyWait "XButton1"

    heldMs := A_TickCount - pressedAt
    if heldMs < 0
    heldMs += 0x100000000

    ReleaseMouseVoiceInput()

    if heldMs <= MouseVoiceTapThresholdMs
    && !WinActive("ahk_exe Endfield.exe")
    SendInput "{Enter}"
    }

    ReleaseMouseVoiceInput(*) {
    global MouseVoiceInputActive

    if !MouseVoiceInputActive
    return

    SendInput "{LShift up}{LWin up}"
    MouseVoiceInputActive := false
    }
    ```手工补充几点:

    1、如果其他软件会响应非常短的 Win + Shift 脉冲,这种“长按零延迟”方案可能不适合,需要改回等待阈值后再触发长按

    2、PowerToys 录不到标准鼠标侧键,AHK 才可以用 XButton1、XButton2,当然也有一个软件叫“X-Mouse Button Control”应该可用,不过楼主没有尝试

    主楼
  • 威猛先生xjr

    回微信QQ消息也舒服多了,按下说话,松手再按一下就发出去了,太爽了有没有 ^-^ ^-^ ^-^

    #1

发表回复

登录后回复