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

使用AHK(AutoHotkey)实现元音重音映射:两大问题与需求

问题1:保留e键原有功能的修正脚本

你当前的脚本把e设成了组合键的前缀键,导致单独按e时无法触发原功能。只需添加单独的e键映射即可解决:

; e+右键输出é/É
e & Right::
    if GetKeyState("CapsLock", "T")
        Send É
    else
        Send é
return

; 保留e键单独按下的原有功能
e::
    Send e
return
问题2:通用元音重音映射脚本

以下是优化后的通用脚本,无需为每个元音重复编写代码。脚本会根据CapsLock状态,自动对应小写/大写的重音元音:

; 定义重音映射表:[小写尖音符, 小写重音符, 小写扬抑符, 小写分音符, 大写尖音符, 大写重音符, 大写扬抑符, 大写分音符]
accents := {
    "a": ["á", "à", "â", "ä", "Á", "À", "Â", "Ä"],
    "e": ["é", "è", "ê", "ë", "É", "È", "Ê", "Ë"],
    "i": ["í", "ì", "î", "ï", "Í", "Ì", "Î", "Ï"],
    "o": ["ó", "ò", "ô", "ö", "Ó", "Ò", "Ô", "Ö"],
    "u": ["ú", "ù", "û", "ü", "Ú", "Ù", "Û", "Ü"]
}

; 遍历每个元音,注册对应的方向键组合热键
for vowel, accList in accents {
    ; 元音+左键:尖音符
    Hotkey, %vowel% & Left, AccentSend
    ; 元音+右键:重音符
    Hotkey, %vowel% & Right, AccentSend
    ; 元音+上键:扬抑符
    Hotkey, %vowel% & Up, AccentSend
    ; 元音+下键:分音符
    Hotkey, %vowel% & Down, AccentSend
    ; 保留元音单独按下的功能
    Hotkey, %vowel%, VowelSend
}

AccentSend:
    ; 获取触发热键的元音和方向键
    vowel := SubStr(A_ThisHotkey, 1, 1)
    direction := SubStr(A_ThisHotkey, 3)
    
    ; 根据方向键确定重音索引(0-3为小写,4-7为大写)
    index := 0
    if (direction = "Right") index := 1
    else if (direction = "Up") index := 2
    else if (direction = "Down") index := 3
    
    ; 如果CapsLock激活,切换到大写重音索引
    if GetKeyState("CapsLock", "T")
        index += 4
    
    ; 发送对应的重音元音
    Send % accents[vowel][index+1]  ; AHK数组索引从1开始
return

VowelSend:
    ; 发送原元音字符
    Send % A_ThisHotkey
return

脚本说明:

  • 当CapsLock未激活时,按下元音+方向键会输出对应小写重音元音:
    • 左键=尖音符(如á)、右键=重音符(如à)、上键=扬抑符(如â)、下键=分音符(如ä)
  • 当CapsLock激活时,输出对应大写重音元音:
    • 左键=尖音符(如Á)、右键=重音符(如À)、上键=扬抑符(如Â)、下键=分音符(如Ä)
  • 单独按下元音键时,保留原有输出功能

内容的提问来源于stack exchange,提问作者Hillyeh Guirreh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 00:42:37