Autohotkey教程2:按键映射

2023-11-03 21:50

本文主要是介绍Autohotkey教程2:按键映射,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 功能前缀
    • 鼠标按键
    • 键盘按键
    • 虚拟键码和扫描码
    • 实操

AHK系列:

  • 初步使用⭕按键映射⭕条件语句⭕循环语句⭕文件和路径⭕面向对象
  • 实战:窗口透明

功能前缀

尽管在初步使用中已经对常见热键做了说明,但为了本文的完整性,这里还是重新表述一下

#!^+<^>!
winAltCtrlShiftAlt Gr

其中,<, >为修饰符,用于区分成对出现的按键,例如<!表示左侧的Ctrl。按照这个逻辑理解,<^>!应该表示左Ctrl+右Alt,对于某些具有Alt Gr键的电脑而言,则专门指代这个按键。

鼠标按键

鼠标按键如下表所示

鼠标热键说明
LButton, RButton, MButton左键、右键、中键(滚轮)
XButton1, XButton2第4、5个键
heelDown, WheelUp滚轮向下、向上
WheelLeft, WheelRight滚轮向左、向右

键盘按键

键盘按键如下表所示

按键说明
F1 - F24键盘顶部的12个或更多的功能键
Up, Down, Left, Right上下左右方向键
Space, Esc, BS, Del, Ins空格、退出、退格、删除、插入
CapsLock, ScrollLock大小写锁定键、滚动锁定键
Home, End, PgUp, PgDn
Tab, Enter
LWin, LShift, LAlt, LCtrl左Win, Shift, Alt, Ctrl
Numpad0-9数字键盘0-9

上面左侧按键均有其对应的右侧按键,只需将L换为R。除了Win外,如果无前缀,表示左右键均可。

有一些按键包括两种标识,相当于一个是简称,一个是全称,这些按键如下

简写EscBSDelInsLCtrl
全写EscapeBackspaceDeleteInsertLControl

数字键由于系统行为,锁定后会有其他含义,从而有对应的其他按键,其原则是,保持Numpad,然后将数字替代为按键名称。Numpad后面加上Lock, Div, Mult, Add, Sub, Enter分别表示数字键盘上的锁定键、除号、乘号、加号、减号。

下面是一些多媒体按键,笔记本键盘上一般没有,或者需要通过Fn来辅助实现。

名称描述
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打开我的电脑、计算器

虚拟键码和扫描码

上面所罗列出的鼠标和键盘热键已经十分丰富了,但有的键盘可能存在自定义按键的情况,AutoHotKey也可以对这些按键进行映射,但前提是找到这些按键的虚拟键码或者扫描码。

为了找到这种映射关系,可以新建一个ahk脚本,内容为

#InstallKeybdHook

运行后,双击右下角的AutoHotKey图标,点击菜单栏中的View->Key History and Script Info,就可以进入按键记录窗口,只要按下F5,就会刷新按键的历史记录。

比如,我依次按下1、2、3、4,再按下F5,其历史记录就会新增如下内容

VKSCTypeUp/DnElapsed Key
31002d3.081
32003d0.272
33004d0.143
34005d0.114
7403Fd1.30F5

其中,VK是虚拟键码,SC是屏幕扫描码,在AHK脚本中,可用VKnnSCnn来表示对应的按键。例如,根据上表,VK31SC002都表示数字键1;VK74SC03F都表示F5。

实操

下面具体实践一下,右键新建,创建一个AHK脚本testKey.ahk,内容如下,标识将F6映射为Ctrl+C;将F7映射为Ctrl+V

F6::^C
F7::^V

然后保存关闭,双击运行,这样再打开文本文档,按下F6就可以复制,按下F7就可以粘贴了。

在这里插入图片描述

这篇关于Autohotkey教程2:按键映射的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/341107

相关文章

resultMap如何处理复杂映射问题

《resultMap如何处理复杂映射问题》:本文主要介绍resultMap如何处理复杂映射问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录resultMap复杂映射问题Ⅰ 多对一查询:学生——老师Ⅱ 一对多查询:老师——学生总结resultMap复杂映射问题

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3