基于AHK的键盘映射——高效利用CapsLock键
一、CpasLock键优化方案
CapsLock键位置优越,却在windows日常使用中极少用到。由于它的功能并不是那么优越,于是我开始找一种方案,使它高效起来。当我遇到Autohotkey,就像发现了新大陆!
AutoHotkey的语法之简便和功能的强大就不做介绍了,有兴趣学习的朋友请访问官网AutoHotkey ,官网拥有完整的v1和v2alpha文档提供大家参考。
这里介绍一下我使用的脚本映射功能。分为三部分,1、键优化;2、Win组合键;3、Win多媒体功能(音量)。脚本有完整的功能注释。
将CapsLock映射为Ctrl,并且通过Ctrl+CapsLock触发CapsLock功能(不抛弃,不放弃)。
/** ------------ 键优化 ------------ **/
^CapsLock::CapsLock ;Ctrl+CapsLock 触发 CapsLock
CapsLock::Ctrl ;CapsLock 映射 Ctrl/** --------------------- Windwos组合键功能 -------------------------------------------------------------------------------------------- **/
^q::Send "^{tab}" ;标签切换功能
!f::Send "#{t}" ;alt+f 触发 win+t/** -------------- 高效编辑 -------------- **/
!c::Send "{Esc}" ;alt+c 触发 esc
!a::Send "{Insert}" ;alt+a 触发 Insert
!;::Send "{AppsKey}" ;alt+;触发 RMouse^'::Send "{BackSpace}"
!BackSpace::Send "{BackSpace}" ;alt+BackSpace 触发 BackSpace
!b::Send "{Home}" ;alt+b 触发 Home
!n::Send "{End}" ;alt+n 触发 End
!d::Send "{Delete}" ;alt+d 触发 Delete;alt+h触发Left,alt+ctrl+h向左跳选,alt+shift+h向左单选
alt & h::if GetKeyState("Control"){Send "^+{Left}"}else if GetKeyState("Shift"){Send "+{Left}"}else{Send "{Left}"}
Return;alt+j触发Down,alt+shift+j向下跳选
alt & j::if GetKeyState("Shift"){Send "+{Down}"}else{Send "{Down}"}
Return;alt+k触发Up,alt+shift+k向上跳选
alt & k::if GetKeyState("Shift"){Send "+{Up}"}else{Send "{Up}"}
Return;alt+l触发Right,alt+ctrl+l向左跳选,alt+shift+l向左单选
alt & l::if GetKeyState("Control"){Send "^+{Right}"}else if GetKeyState("Shift"){Send "+{Right}"}else{Send "{Right}"}
Return!+b::Send "+{Home}" ;alt+shift+b 触发 shift+Home
!+n::Send "+{End}" ;alt+shift+n 触发 shift+End^+h::Send "!{Left}" ;ctrl+shift+h 触发 alt+Left
^+j::Send "!{Down}" ;ctrl+shift+j 触发 alt+Down
^+k::Send "!{Up}" ;ctrl+shift+k 触发 alt+Up
^+l::Send "!{Right}" ;ctrl+shift+l 触发 alt+Right!^w::Send "!{F4}" ;alt+ctrl+w 触发 alt+F4!.::Send "{MButton}" ;alt+. 触发 鼠标中键功能/** -------------- Windows多媒体功能 ----------------alt+ctrl+1 声音开关, alt+ctrl+2 音量减小alt+ctrl+3 音量增加 ---------------------------------------------- **/
!^1::Send "{Volume_Mute}"
!^2::Send "{Volume_Down}"
!^3::Send "{Volume_Up}"
以上脚本适合拥有AHK客户端的朋友使用,没有客户端的朋友可以下载打包好的exe程序。
exe文件毒盘地址:https://pan.baidu.com/s/1EFHEjOpe0ViBunjfPOPBPA 点击下载
提取码:4w8y
二、关于AHK的编译和开机运行问题
2.1 AHK2EXE编译器的使用
根据官网的介绍,AHK V2 Alpha中并不集成AHK2EXE编译器。需要从V1安装(解压)路径下的子文件夹Compiler中复制AHK2EXE到V2 Alpha对应的路径下。简单使用方法:
1、选择源脚本文件路径
2、选择输出exe路径
3、选择图标ico路径(默认即ahk的图标)
4、选择编译版本(32bit,64bit)
5、选择压缩方式(可忽略,未测试)官方Github中有插件
2.2 关于ahk脚本或exe程序的开机运行
开机运行的方式有4种:(注意:实测前3种均无法以高权限开机运行)
方法一、添加到开机启动路径
将exe文件或exe文件的快捷方式复制到(启动)文件夹下
以win10为例:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
方法二、添加系统服务
将程序添加到系统服务,开启自动开启即可
添加服务命令:sc create 服务名称 binPath= 路径 start= auto
添加成功后可到系统服务管理中查看管理
例如,将FlashFXP加入到系统服务中。(FlashFXP安装在D:\ProgramFiles\FlashFXP文件夹)。
sc create FlashFXP binPath= D:\Program Files\FlashFXP\FlashFXP.exe start= auto
我们要删除FlashFXP这个服务的话,只需要执行一下命令就可以了。
sc delete FlashFXP
方法三:注册表方式
1.注册表方式
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
新建字符串值,值自定义,双击新建的字符串项,数值为需要运行的路径如:D:\Win\AutoHotkey\Action\KeySettings.exe
2.注册表结合bat脚本
先写一个bat脚本,执行你的exe文件:(新建记事本,复制以下代码,保存,修改后缀为bat)
@echo off
start exe路径
开始→运行→“regdeit”,打开路径HKEY_LOCAL_MACHINE – SOFTWARE – Microsoft – Windows – CurrentVersion – Run
新建字符串值,数值名称自己定义,数值数据填bat路径,重启即可
方法四:使用系统任务计划程序(开机以管理员身份运行)
开始→搜索(任务计划程序),操作 - 创建基本任务
1、名称和描述自定义
2、触发器选当用户登录时
3、选启动程序(添加程序或脚本路径)
4、勾选,当单击”完成“时,打开此任务属性对话框(勾选常规选项卡使用最高权限运行)
5、触发器改为登陆时,当任何用户登录时。
6、重启验证吧!
基于AHK的键盘映射——高效利用CapsLock键相关推荐
- 解放右手鼠标,效率实用神器 Autohotkey 利用 Capslock 键匹配 vim 键位| Autohotkey 脚本解决 onenote 上下键问题 | Capslock++
好多年前就用一个祖传 autohotkey 脚本来在所有地方用上 hjkl 来写字,最近因为 onenote uwp 要寿终正寝了,准备用回 office 的版本,结果想起来之前一直用 UWP 是因为 ...
- linux 终端交换caps,linux系统中ctrl和capslock键互换的方法
今天这篇教程我们来为大家介绍一下,linux系统中ctrl和capslock键互换的方法,有兴趣的朋友就来参考一下吧. 1.首先,点击任务栏上的"启动器". 2.在"启动 ...
- 基于windows API的手柄/键盘映射编程(一)
开发平台:VC6.0 基于MFC 玩游戏的时候,经常遇到想用手柄但游戏本身不支持的事儿.这样的情况下,我们就要使用软件,将手柄映射为键盘,以达到目的.网上有几款比较流行的优秀的此类软件,比如JoyTo ...
- 基于多时间尺度的灵活性资源优化配置 电力系统的调度优化,通过对电负荷和热负荷的优化分配,实现电力系统的经济运行和能源的高效利用
基于多时间尺度的灵活性资源优化配置 关键词:多时间尺度:模型预测控制:日内滚动优化: 程序:matlab-yalmip-cplex 2.设备:以包含风力场.光伏电站.微型燃气轮机.蓄电池.余热锅炉.热 ...
- 《强化学习周刊》第33期:UdeM | 基于不确定性估计的样本高效深度强化学习
No.33 智源社区 强化学习组 强 化 学 习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领域的相关进展和 ...
- Android底层和中间层共同学习系列之android键盘映射
http://blog.csdn.net/hongjiujing/article/details/5016730 Android底层和中间层共同学习系列之android键盘映射 ...
- 单片机拟真电路图软件_基于MSP430单片机设计的高效数控直流电源及其测试方法与流程...
本发明涉及直流电源 技术领域: ,具体涉及一种基于MSP430单片机设计的高效数控直流电源及其测试方法. 背景技术: :电压电流源是很多电子仪器设备研制的关键设计之一,电源在工作时产生的变动或误差,将 ...
- linux红外键盘映射表,linux下修改键盘映射
有段时间特别喜欢HHKB(一款适合专业人士使用的键盘),不过被它超高的价位给打败了.后来想想喜欢它的缘由有两个,第一就是它control键的位置,它的control键位于常规键盘的capslock键的 ...
- AI+游戏:高效利用样本的强化学习 | 腾讯AI Lab学术论坛演讲
3月15日,腾讯AI Lab第二届学术论坛在深圳举行,聚焦人工智能在医疗.游戏.多媒体内容.人机交互等四大领域的跨界研究与应用.全球30位顶级AI专家出席,对多项前沿研究成果进行了深入探讨与交流.腾讯 ...
最新文章
- Clion 远程开发 配置
- conda 修改缓存路径
- bash文件外传入参数
- 笔记-中项案例题-2018年上-人力资源管理
- SQL2005 属性 IsLocked 不可用于 登录[sa]
- Spring mvc ViewResolver视图解析器实现机制
- 编写一个函数判断一个整数是不是素数c语言,设计一个函数,用来判断一个整数是否为素数。代码如下,按要求在空白处填写适当的表达式或语句,使...
- 【PyQt5】QT designer + eclipse 集成开发
- CSV Data Set Config设置
- 在你的 Linux 桌面嵌入终端窗口
- asp.net mvc(九)
- 亚马逊CloudFront
- 百度地图坐标转换的异步回调事件
- 央视《家有妙招》整理版,共250招,值得永远收藏
- Ajax访问接口报错NET::ERR_CERT_REVOKED
- gzh模板消息内外网穿透问题
- Ubuntu 阿里源更新 amp;amp; nvidia驱动安装 amp;amp; cuda 安装
- python自学成才之路 miniconda创建虚拟环境
- Nature子刊:机器学习方法扩展了anti-CRISPR蛋白家族的所有成员
- 归一化数字角频率_数字信号处理中的各种频率