重新定义Shift键的AutoHotKey仅对第一次按键有效

时间:2017-07-05 15:31:29

标签: autohotkey

这是一个简短的AHK脚本,它做了两件事:

  1. 在右侧Alt(AltGr)
  2. 上创建一个额外的Shift键
  3. 将CapsLock重新定义为功能键,用于键入额外字符。
  4. #InputLevel 1
    RAlt::RShift      ; define shift on right-alt
    SC03a::F20        ; define special function key on capslock
    #InputLevel 0
    
    F20 & SC002::  ; the '1' key
      GetKeyState, sh, Shift
      if sh = D
        Send ¡   ; upside-down exclamation
      else
        Send ¹   ; superscript 1
    return
    

    它几乎有效:

    • 按AltGr加1会产生'!',正如您对移位键所期望的那样。
    • 按CapsLock加1会产生'¹',正如您在上面的定义所期望的那样。

    按住AltGr和CapsLock并按“1”时会出现问题。如第一个字符所预期的那样产生'¡',但随后的印刷产生'¹'。第一次按下后,看起来Shift状态会被神奇地取消。

    注意,使用“真正的”Shift键不会发生这种情况 - Caps + Shift + 1每次都会产生'¡',因此将另一个键重新定义为Shift的问题似乎是一个问题,其中它的移位状态是在第一次实例后取消。

    我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

while循环可能就是您正在寻找的东西。

示例:

GROUPING SETS