按键列表(键盘, 鼠标和操纵杆)

目录

  • 鼠标
  • 键盘
  • 操纵杆
  • 手持遥控
  • 特殊按键
  • 鼠标

    常规按键

    LButton 鼠标左键
    RButton 鼠标右键
    MButton 鼠标中键或滚轮

    高级按键

    XButton1 鼠标的第四个按键. 一般和 Browser_Back 执行相同功能.
    XButton2 鼠标的第五个按键. 一般和 Browser_Forward 执行相同功能.

    滚轮

    WheelDown 向下转动鼠标滚轮(朝向您的方向).
    WheelUp 向上转动鼠标滚轮(远离您的方向).
    WheelLeft
    WheelRight

    [v1.0.48+]: 向左或向右滚动.

    需要 Windows Vista 或更高版本. 这可以用在某些(但并非所有) 带第二个滚轮或支持左右滚动的鼠标热键. 在某些情况下, 必须通过鼠标的自带软件包控制这个功能. 不论鼠标如何特殊, SendClick 都能在支持它们的程序里水平滚动.

    键盘

    注意: 字母和数字按键的名称和单个字母或数字相同. 例如: b 表示 B 键而 5 表示 5 键.

    虽然任何单个字符都可以用作键名, 但其含义(SC 扫描码或 VK 虚拟键码) 取决于当前的键盘布局. 此外, 根据具体情况, 某些特殊字符可能需要转义或用大括号括起来. [v1.1.27+]: 字母 a-z 或 A-Z 可以用来指代相应的虚拟键码(通常是 vk41-vk5A), 即使它们不包含在当前的键盘布局中.

    常规按键

    CapsLock CapsLock(大小写锁定键)
    Space Space(空格键)
    Tab Tab(Tab 键)
    Enter(或 Return) Enter(回车键)
    Escape(或 Esc) Esc(退出键)
    Backspace(或 BS) Backspace(退格键)

    光标控制

    ScrollLock ScrollLock(滚动锁定键)
    Delete(或 Del) Delete(删除键)
    Insert(或 Ins) Insert(插入改写切换键)
    Home Home
    End End
    PgUp PageUp(向上翻页键)
    PgDn PageDown(向下翻页键)
    Up (向上方向键)
    Down (向下方向键)
    Left (向左方向键)
    Right (向右方向键)

    数字键

    由于系统行为, 根据 NumLock 是 ON(开) 还是 OFF(关), 以下用斜杠分隔的键识别为不同的按键. 如果 NumLock 为 OFF 但 Shift 按下, 系统将临时释放 Shift 并且就像 NumLock 为 ON 状态一样.

    Numpad0 / NumpadIns0 / Insert
    Numpad1 / NumpadEnd1 / End
    Numpad2 / NumpadDown2 /
    Numpad3 / NumpadPgDn3 / PageDown
    Numpad4 / NumpadLeft4 /
    Numpad5 / NumpadClear5 / 通常什么都不做
    Numpad6 / NumpadRight6 /
    Numpad7 / NumpadHome7 / Home
    Numpad8 / NumpadUp8 /
    Numpad9 / NumpadPgUp9 / PageUp
    NumpadDot / NumpadDel. / Delete
    NumLock NumLock(数字锁定键)
    NumpadDiv /(除号)
    NumpadMult *(乘号)
    NumpadAdd +(加号)
    NumpadSub -(减号)
    NumpadEnter Enter

    功能键

    F1 - F24 在大多数键盘顶部的 12 个或更多的功能键.

    修饰符键

    LWin 左边的 Win. 对应的热键前缀为 <#.
    RWin

    右边的 Win. 对应的热键前缀为 >#.

    注意: 与 Control/Alt/Shift 不同, 没有一般的/中性的"Win"键, 因为操作系统不支持. 然而, 带有 # 修饰符的热键可以触发由任一 Win 键触发.

    Control(或 Ctrl) Control. 单独作为热键(Control::) 时它在弹起时触发, 不过如果加上颚化符前缀可以改变这种情况. 对应的热键前缀为 ^.
    Alt Alt. 单独作为热键(Alt::) 时它在弹起时触发, 不过如果加上颚化符前缀可以改变这种情况. 对应的热键前缀为 !.
    Shift Shift. 单独作为热键(Shift::) 时它在弹起时触发, 不过如果加上颚化符前缀可以改变这种情况. 对应的热键前缀为 +.
    LControl(或 LCtrl) Control. 对应的热键前缀为 <^.
    RControl(或 RCtrl) Control. 对应的热键前缀为 >^.
    LShift Shift. 对应的热键前缀为 <+.
    RShift Shift. 对应的热键前缀为 >+.
    LAlt Alt. 对应的热键前缀为 <!.
    RAlt

    Alt. 对应的热键前缀为 >!.

    注意: 如果您的键盘布局存在 AltGr 而不是 RAlt, 那么您完全可以根据这里描述的那样通过 <^>! 把它作为热键前缀使用. 此外, LControl & RAlt:: 可以把 AltGr 自身设置成热键.

    多媒体键

    下面列出的每个按键的功能可以通过修改 Windows 注册表进行替换. 这个表格中显示的是在 Windows 系统的大多数版本中每个按键的默认功能.

    Browser_Back 后退
    Browser_Forward 前进
    Browser_Refresh 刷新
    Browser_Stop 停止
    Browser_Search 搜索
    Browser_Favorites 收藏夹
    Browser_Home 主页
    Volume_Mute 静音
    Volume_Down 调低音量
    Volume_Up 增加音量
    Media_Next 下一首
    Media_Prev 上一首
    Media_Stop 停止
    Media_Play_Pause 播放/暂停
    Launch_Mail 打开默认的电子邮件程序
    Launch_Media 打开默认的媒体播放器
    Launch_App1 打开我的电脑
    Launch_App2 打开计算器

    其他按键

    AppsKey Menu. 这是调用右键上下文菜单的按键.
    PrintScreen PrintScreen(截屏键)
    CtrlBreak Ctrl+Break
    Pause Pause(暂停键)
    Break Break(中断键). 由于此键和 Pause 含义相同, 所以在热键中请使用 ^CtrlBreak 代替 ^Pause^Break.
    帮助 Help(帮助键). 此键可能在大多数键盘上不存在. 它通常和 F1 不同.
    Sleep Sleep(休眠键). 注意在一些键盘上的 sleep 键可能不是休眠功能.
    SCnnn 请在 nnn 中指定按键的扫描码. 识别上面没有提到的罕见的按键. 请参阅特殊按键了解详情.
    VKnn

    请在 nn 中指定十六进制的虚拟按键码. 这种极少用的方法还可以避免某些类型的热键需要安装键盘钩子. 例如, 后面的热键不使用键盘钩子, 但副作用是它会在按下 Home 或 NumpadHome 的其中一个时触发:

    ^VK24::MsgBox 您按下 Home 或 NumpadHome 键的同时按住了 Control 键.
    

    已知限制: 强制使用键盘钩子的 VK 热键, 例如 *VK24~VK24, 只会触发其中一个热键, 而不会触发两者(例如触发 NumpadHome 但不触发 Home). 关于 VKnn 方法的更多细节, 请参阅特殊按键.

    警告: 只有 Send, GetKeyName, GetKeyVK, GetKeySC#MenuMaskKey 支持 VKnn 和 SCnnn 组合使用. [v1.1.27+]: 无效后缀的存在阻止了 VKnn 被识别. 例如, 在 v1.1.27+ 中, vk1Bsc001:: 会引发错误, 但是 sc001 在以前的版本中是被忽略的(没有效果).

    Joystick

    Joy1 到 Joy32: 操纵杆的按钮. 要辅助判断您操纵杆的按钮编号, 请使用此测试脚本. 请注意这里不支持热键前缀符, 例如 ^(control) 和 +(shift) (尽管可以使用 GetKeyState 作为替代方法). 还必须注意, 如果活动窗口设计对操纵杆按钮进行检测, 那么操纵杆按钮按下时总是会 "传递" 给它.

    尽管下列操纵杆控制器的名称不能设为热键, 但它们可以用于 GetKeyState:
    JoyX, JoyY 和 JoyZ: 操纵杆的 X(水平), Y(垂直) 和 Z(高度/深度) 轴.
    JoyR: 操纵杆的方向舵或第 4 轴.
    JoyU 和 JoyV: 操纵杆的第 5 和第 6 轴.
    JoyPOV: 视点(帽) 控制器.
    JoyName: 操纵杆或其驱动的名称.
    JoyButtons: 操纵杆支持的按钮数(不总是准确的).
    JoyAxes: 操纵杆支持的轴数.
    JoyInfo: 提供由零个或多个后面的字母组成的字符串, 这些字母表示操纵杆的功能: Z(有 Z 轴), R(有 R 轴), U(有 U 轴), V(有 V 轴), P(有 POV 控制器), D(POV 控制器有少数离散的/不同的设置), C(POV 控制器是连续的/良好的). 示例字符串: ZRUVPD

    多个操纵杆: 如果计算机上有多个操纵杆并且您想使用第一个外的其他操纵杆, 那么请在控制器名称的前面加上操纵杆的编号(最大为 16). 例如, 2joy1 表示第二个操纵杆的首个按钮.

    注意: 如果您在使用脚本识别您的操纵杆时遇到问题, 曾有人报告说尽管只有一个操纵杆却需要指定大于 1 的操纵杆编号. 不清楚这种方法是如何得到的或是否正常, 不过请尝试在操纵杆测试脚本中使用操纵杆编号也许可以帮助确定这种方法是否适合您的系统.

    另见:
    操纵杆重映射: 使用操纵杆发送键击和鼠标点击的方法.
    操纵杆到鼠标的映射脚本: 把操纵杆作为鼠标使用.

    手持遥控

    通过 WinLIRC 客户端脚本响应手持遥控器的信号.

    特殊按键

    如果您的键盘或鼠标含有前面没有列出的按键, 那么使用下列步骤后您仍可能把它设为热键.

    1. 确保至少有一个使用键盘钩子的脚本正在运行. 打开脚本的主窗口并在菜单栏中选择 "View->Key history" 后您可以判断脚本是否使用了键盘钩子.
    2. 双击脚本的托盘图标来打开其主窗口.
    3. 按下您键盘上的其中一个 "神秘按键".
    4. 选择菜单项 "View->Key history"
    5. 向下滚动到页面的底部. 在底部附近的某个地方可以看到您按键的按下和弹起事件. 注: 一些按键不生成事件, 因此这里看不到它们的事件. 如果是这种情况, 那么您不能直接把此特殊按键设为热键, 因为您的键盘驱动或硬件在很低的的层面处理它, AutoHotkey 无法访问. 有关可能的解决方案, 请参阅下文.
    6. 如果检测到了您的按键, 请记下列表中第二列的 3 位十六进制值(例如 159).
    7. 要把此键定义为热键, 请参照此例:
      SC159:: ; 把 159 替换为您按键的值.
      MsgBox, %A_ThisHotkey% was pressed.
      return

    反向: 要把其他键重映射 "神秘按键", 请参照此例:

    ; 把 159 替换为上面找到的值. 把 FF(如果需要) 替换为
    ; 按键的虚拟键, 它可以在按键历史页面的首列找到.
    #c::Send {vkFFsc159} ; 有关详情, 请参阅 Send {vkXXscYYY}.

    可选的解决方案: 如果您的按键或鼠标按钮没有在按键历史页面检测到, 那么下面的其中一种方法可能有帮助:

    1. 重新配置您鼠标或键盘的附带软件(有时可以在控制面板或开始菜单中访问) 来让 "神秘按键" 发送其他的键击. 然后可以在脚本中把这样的键击设置为热键. 例如, 如果您配置神秘按键来发送 Control+F1, 然后在脚本中通过使用 ^F1:: 您可以把这个按键间接的设置为热键.

    2. 试试 AHKHID. 你还可以尝试以 RawInput*, USB HIDAHKHID 作为关键字在论坛进行搜索.

    3. 下面是最后的手段, 通常应该在其他所有方法都无效时才去尝试. 这是由于成功的机会很小且可能会引起难以取消的不必要的副作用:
      禁用或移除您键盘或鼠标的附带软件, 或者让它使用更标准的驱动, 例如操作系统内置的那个. 这里假设您特殊的键盘或鼠标使用自己的驱动并且您不使用其自带驱动和软件提供的功能.