AHK源码 继CapsLock+之后,功能更完善的CapsLockPlus

上次发表过《CapsLock+改进》,内容不太完善,而且没附带源码。本着“受着源码,归之源码”的精神,回馈于大家。再次强调,本人不是原作者,而是在原作者的基础上进行改动,加强功能,更好的使用罢了。

前言

  CapsLockPlus是根据CapsLock+(原作者版本)修改的,因为原版本不再更新了,并且功能不能满足本人的需求,所以对其进行改动。本人是个键盘党,还是个程序猿,非常不喜欢敲代码敲得嗨时,还要去碰鼠标、右手移动一段距离去操作方向键,删除键等等。
  噢,对了,还很讨厌Ctrl键,因为使用Ctrl组合键时,左手要离开键盘一段距离,神烦~~。试想下,双手不用离开字母区,是不是很爽,嘿嘿~~

CapsLockPlus源码:下载地址

概述

  CapslockPlus是一个加强 Capslock 键的功能,以提高效率的工具。让你拥有更多的组合键,例如:

  • CapsLock + 全键
  • CapsLock + Alt + 全键
  • CapsLock + Shift + 全键
  • CapsLock + Ctrl + 全键

与原版区别

CapsLock按键省略为Caps,Key为各种按键,下面对比的是大功能模块,后面再详细介绍各种小功能,QBar,QWeb,QSearch不太喜欢,所以没加上,但是原来的代码还在,想要的话自己改下。

功能 CapsLock+(原版) CapsLockPlus(新版)
Caps + Key
Caps + Alt + Key
Caps + Shift + Key
Caps + Ctrl + Key
TabScript TabScript TabSnippet
WinBind
QBar
TransplatePanel
DAAS

按键说明

1.Caps + Key

以下省略了CapsLock键,默认是要加上的,灰色表示未设置功能键,可自行设置

AHK源码 继CapsLock+之后,功能更完善的CapsLockPlus-AutoAHK

CapsLock + 鼠标
按键 功能说明
鼠标左键
鼠标中键
鼠标右键
鼠标滚轮向前 音量加
鼠标滚轮向后 音量减

2.Caps + Alt + Key

以下省略了CapsLock键,默认是要加上的,灰色表示未设置功能键,可自行设置

AHK源码 继CapsLock+之后,功能更完善的CapsLockPlus-AutoAHK

CapsLock + Alt + 鼠标
按键 功能说明
鼠标左键 双显示器有效,将当前软件移动到另外显示器
鼠标中键 记录当前鼠标灵敏度(Dpi)
鼠标右键
鼠标滚轮向前 鼠标灵敏度(Dpi)增加
鼠标滚轮向后 鼠标灵敏度(Dpi)减少

3.Caps + Shift + Key

以下省略了CapsLock键,默认是要加上的,灰色表示未设置功能键,可自行设置

AHK源码 继CapsLock+之后,功能更完善的CapsLockPlus-AutoAHK

CapsLock + Shift + 鼠标
按键 功能说明
鼠标左键 显示/关闭 AutohotKey窗口信息
鼠标中键
鼠标右键
鼠标滚轮向前
鼠标滚轮向后

4.Caps + Ctrl + Key

以下省略了CapsLock键,默认是要加上的,灰色表示未设置功能键,可自行设置

AHK源码 继CapsLock+之后,功能更完善的CapsLockPlus-AutoAHK

CapsLock + Ctrl + 鼠标
按键 功能说明
鼠标左键
鼠标中键 记录当前鼠标灵敏度(Dpi)
鼠标右键
鼠标滚轮向前
鼠标滚轮向后

TabSnippet 热字符串

按键

CapsLock + Tab

说明

举个例子,在CapsLockPlusSettings.ini文件的[TabHotString]段下有这么一条设置:email=123456789@abc.com,那么在任意能输入文字的地方输入:asdfghjklemail,按下Capslock+Tab,就会变成asdfghjkl123456789@abc.com,有点像IDE的代码段功能

WinBind

如何绑定

绑定窗口:CapsLock + Alt + (`或1~9)

关于绑定:原版有3种模式,此版本有4模式,多了1种,下面做介绍:

  • 模式1:单击,绑定当前激活的窗口到相应按键;
  • 模式2:双击,追加绑定当前激活的窗口到相应按键;
  • 模式3:三击,绑定当前激活的窗口所属程序所拥有的所有窗口到相应按键;
  • 模式4:四击,绑定当前激活的窗口,与相应按键并列窗口,即同时打开同时隐藏;

如何激活

激活窗口:CapsLock + (`或1~9)

激活/最小化绑定在该按键的窗口

说明

关于绑定

1.模式1和模式3会覆盖当前按键上已有的绑定窗口;
2.模式2绑定在按键现有模式是模式1或模式2时会追加窗口,是模式3时不追加,而会覆盖原绑定设置,绑定当前激活窗口(与模式1效果一样);
3.模式2操作示例:
 a.窗口A处于最前的情况下,依次按下CapslockAlt不放,再按两次1;
 b.激活窗口B,同样操作;
 c.激活窗口C,同样操作;
 d.按下Capslock不放,(多次)按下1来在A,B,C三个窗口之间实现类似Alt+Tab的窗口切换。
4.模式3只要在需要绑定的程序的其中一个窗口做类似模式2的操作(需要三击)即可绑定该程序所有窗口(包括绑定操作过后才打开的)。
5.模式2原有的绑定窗口被关闭至只剩下1个窗口时,将自动转换成模式1绑定(可以激活 / 最小化窗口)
6.模式4只有在模式1,2和4情况下才有效。

关于窗口激活/最小化

1.模式1下,在原窗口不存在时,激活动作会自动绑定窗口所属程序的另一个窗口;
2.模式1和模式3下,在原绑定窗口所属程序未启动时,激活动作将启动该程序;
3.模式2和模式3下,多窗口中,最近使用本功能激活的窗口在下次使用本功能时会优先激活;
4.绑定的窗口只有一个时,模式1和模式3会激活 / 最小化该窗口,模式2会自动转换成模式1;
5.模式4,窗口A、B、C和D绑定按键1,当激活按键1时,窗口A、B、C和D同时激活;

DAAS

生成应用快捷键配置文件 CapsLock + F9

说明

DAAS:动态适配应用快捷键(Dynamic Adaptation Application Shortcuts),假如说对应用A配置快捷键Caps+A,对应用B配置快捷键Caps+A,当处于应用A下则执行应用A的快捷键,处于应用B则执行应用B的快捷键,当既不处于应用A,也不处于应用B的情况下,则执行默认的快捷键.

配置软件快捷键

  1. 打开应用A,在应用A下执行CapsLock+F9,成功时会弹窗提示配置成功。
  2. 到根目录下找到AllKeys文件夹,这里存放所有应用的配置文件,此时找到对应的配置文件,例如A.ini。
  3. [FileInfos]下的内容切勿修改,在[Keys]下添加相应的快捷键配置即可,例:
      找到同级目录下的userAHK文件夹,可在UserKeySet里设置功能函数,如函数名userKeyFunc_IDEDeleteLine,然后回到你的应用配置文件里,在[Keys]下添加,caps_d=userKeyFunc_IDEDeleteLine保存即可,Caps+F11重启。

如何自行设置全局的按键

在CapsLockPlusSettings.ini里[Keys]设置,请对照 CapsLockPlussettingsDemo.ini 来配置相关设置,里面说的很详细

人已赞赏
AHKV1

AHK调用炫彩界面库6代码实现质感复选按钮

2018-3-10 23:03:44

AHKV1

AHK进程管理器,来自QQ群分享

2018-4-8 10:28:42

39 条回复 A文章作者 M管理员
  1. 看上去就很高端😎

  2. 谢谢

  3. 作为原版深度用户,转移的学习成本太高昂了,仔细看看,效率提升/效果增强并没有那么显著。
    关于功能更完善这点,
    1,扩展支持了两个辅助键:Shift,Ctrl 不难改源码,我就有。键位本来就够多了。功能没有大的扩展,大部分使用这两个辅助键的键位还是keyFunc_Nothing
    2,添加了DAAS:动态适配应用快捷键(感觉是适合geek的小众需求) 不是刚需
    一个应用一个按键配置文件,记忆负担加重。所以小众
    3,加了双显示器间发送应用的功能(我常用笔记本,PC也是单显) 这个不错
    4,加了绑定窗口的模式4,能够并列同时打开绑定的多个窗口 很棒
    5,加了记录鼠标灵敏度的补充功能(源码有增减Dpi的功能) 可有可无
    6,加了向上添加新行的补充功能(源码有向下添加新行的功能) 可有可无
    7,加了弹出所有U盘功能 可有可无

    个人而言,少了Q bar的话,这个capslock的三大主打特色功能中,最有特色的一个就少了,有点可惜了
    三大主打特色功能
    1,Q bar的快速启动应用,全局快速打开Web及搜索(倒是保留了TabScript,其他去掉了,尤其是快速搜索)
    2,丰富常用的编辑操作快捷映射,方向键和选择操作就不用再需要移开手了。(同样是码农,懂你改为适合编程的键位,我得花时间去适应,毕竟习惯这东西很流氓很强大)
    3,便于切换窗口的窗口绑定功能(虽然编号只适合用于常用的程序,但足够使用了)

    所以,只觉得这个版本只是作者带有强烈个人风格的自适应特化版本。功能并没有多大完善,特化更适合吧,毕竟原版有着一些都快习惯了的,让人无奈的小Bug,改进这方面并没有描述。还有原版真的不再更新了吗,可惜了。虽然知道GitHub页面上的issues已经晾了很久。

    • 总结相当到位!有赞

  4. Q bar的功能是去掉了吗?还是换成其他方式实现了?

  5. 关于有些bug,我会在最近几天修复,并且增加TabSnippet新功能 :mrgreen: ,如有不便,请多包涵,谢谢大家的支持 🙄

  6. Capslock+Tab我这里是失效的,怎么回事,原版本可以

    • 嗯,这个版本我不小心去掉了,因为我正在增强这个功能,你可以自行添加这个功能进去的,添加如下:打开lib目录下的lib_keysFunction.ahk,定位到keyFunc_tab这个函数,在函数体力添加funcLogic_tabScript()即可

    • 嗯,这个版本我不小心去掉了,因为我正在增强这个功能,你可以自行添加这个功能进去的,添加如下:打开lib目录下的lib_keysFunction.ahk,定位到keyFunc_tab这个函数,在函数体力添加funcLogic_tabScript()即可。

    • 修改了并没效果,我还是等增强吧,顺便问一下,启动时会锁定Capslock,每次都要解除。可以启动时不锁定嘛 🙁

  7. 如果持续更新的话,建议开一个专栏!!开专栏的话联系我!

    • 持续更新确实会的,就是不知道专栏是个怎么样的,本人小白 😕

    • 哈哈 目前网站的专栏比较松散,做成专栏的话,你可以把跟你这个软件相关的内容都通过链接等形式集中到一篇文章中,方便大家学习和使用,网站将你的专栏放在首页人气专栏进行展示,一定程度减少你的内容被淹没!!

  8. 站长你好,这个脚本打开报错,请问下怎么解决

    • 是的,忘了这事,麻烦帮我下架,谢谢。

    • 饿,找到问题所在了,不知道为什么github把我个别文件的编码方式改了,将报错的文件的编码是“UTF-8无BOM格式编码”,正确的是“UTF-8格式编码”

    • 已经修复了编码问题的了,请重新下载,非常感谢你发现的BUG 🙄

    • 重启电脑后恢复大写的锁定状态了 🙂 🙂 🙂

    • 我是故意的锁定大写键的,因为有时候按CapsLock的时候会不小心切换为大小写,那你可以Capslock+f10接触锁定

    • ➡ 我的键盘没有F10键,崩溃啊,F10隐藏在键盘下一层,能不能设置成默认大小写,组合键实现其他功能

  9. 有好的建议希望大家提出下,万分感谢 😀

    • 站长已经给予1元打赏,在您的VIP账号余额中能看到!

    • 感谢大神开发怎么好用的软件, 😈 😈 第一次用这个超级组合键真的是太爽了,默认功能已经超级强大了。
      但是觉得让新手适应这个快捷键有点困难,没有图形化界面难倒一大批新人,如果能在桌面漂浮一个帮助文件就太好了,比如按下某一个组合键就跳出组合键的名称和相应功能解释,或者能通过弹出窗口添加自己想要的宏定义功能。

    • 谢谢你的回复和建议,是对我最大的支持。本人后续也打算做成图形界面的。不过最近打算把TabSnippet这个功能再增强下。做成可切换的Snippet,即写C#的时候是一套,写js又是另外一套的 🙄 🙄

    • 请问大神,默认的快捷键想修改的话,是编辑哪个文件呢?

    • 在《CapsLockPlusSettingsDemo.ini》里有简单的说明,修改《CapsLockPlusSettings.ini》

    • 这个设置我看了,但是里面没有实例操作的。比如说我要把cap+A改成启动网址A,这个具体怎么填写。请大神指点一下

    • 1、在userAHK文件夹下,找到UserKeySet.ahk,在里面添加功能函数例如SayHelloWorld(){},复制函数名;2、在CapsLockPlusSettings.ini下的[Keys]添加键值,caps_a=SayHelloWorld即可,小写。比如caps+alt+w,就是caps_alt_w=SayHelloWorld

    • 我按照你的说明写了代码,还是不能调用

      /*
      函数与函数直接别换行,好像会调用不了
      */Test_A()
      {
      SendInput, ^{a}
      return
      }

      CapsLockPlusSettings.ini下

      ;------------ Encoding: UTF-16 ------------
      ;请对照 CapsLockPlusSettingsDemo.ini 来配置相关设置
      [Global]

      loadScript=scriptDemo.js

      [TabHotString]

      [TTranslate]

      [Keys]
      caps_esc=Test_A

      函数与函数直接别换行,好像会调用不了
      这句话怎么理解的

    • 那句话是因为文件的编码不对,可能导致读取问题。你看下UserKeySet.ahk的编码是什么,改成utf-8无bom格式,或者ucs-2big

    • 饿,不好意思,很重要的一点我忘了备注了,就是函数的开头要“userKeyFunc_”,所以就是userKeyFunc_TestA

    • 哈哈,研究好久还是不行的,貌似它根本不能获取到CapsLockPlusSettings.int文件一样的。不管我改什么都无反应。
      我把我的代码删除了,用默认的几个函数也没有反应。

    • 我去看了下原作者写的文档,终于找到问题所在了。
      函数开头是要以keyfunc开头才有效

  10. 非常不错,内容工整!

个人中心
今日签到
有新私信 私信列表
搜索