基于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、重启验证吧!

  • 4
    点赞
  • 9
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吕酥酥

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值