Skip to content
Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time
Oct 16, 2016
Apr 7, 2020
Oct 16, 2016
Aug 28, 2019
Oct 16, 2016
Apr 24, 2020
Oct 16, 2016
Apr 24, 2020

English | 中文

master branch: v3.0+

v2 branch: v2.x


How to run the source code?

  1. Download and install AutoHotkey (v1.1.+)
  2. Clone the Capslock+ source code
  3. Run Capslock+.ahk

How to set a custom function to a hotkey?

  1. There is a key function keyFunc_example2 in demo.ahk.
  2. Add below setting under the [Keys] section in CapsLock+settings.ini: caps_f7=keyFunc_example2
  3. Save, reload Capslock+ (CapsLock+F5)
  4. Press CapsLock+F7 to invoke the function
  • In order to avoid calling the internal functions, all the key functions are restricted to start with keyfunc_

An example here:

Replace Capslock+Q with Listary

Listary is a good app launcher, now I want to add two features to it:

  1. Activate Listary with CapsLock+Q
  2. I want to fill the selected text into the pop-up text input box

We can make it like this:

  1. Copy the following code to /userAHK/main.ahk:
    ; Get the selected text

    ; Send win+F (the default hotkey of Listary) to activate Listary
    sendinput, #{f}

    ; Wait until Listary is activated
    winwait, ahk_exe Listary.exe, , 0.5

    ; If there is any selected text
        ; Add "gg " before the selected text to google
        selText:="gg " . selText

        ; Fill the text, and press `home` key to move the cursor to the beginning,
        ; in order to add other keywords if you need.
        sendinput, %selText%{home}
  1. Add a setting caps_q=keyfunc_listary() under [Keys] section in CapsLock+settings.ini, save, press CapsLock+F5 to reload, done.

How to modify the original functions?

CapsLock+.ahk is the entry file, library files are in the /lib folder, the function of each file is as follows:

Filename Description
lib_bindWins.ahk Window binding
lib_clQ.ahk qbar
lib_clTab.ahk CapsLock+Tab
lib_functions.ahk Some utils
lib_init.ahk Program initialization
lib_jsEval.ahk The calculation function implemented by using the IE engine, required by Math Board and CapsLock+Tab
lib_json.ahk json library
lib_keysFunction.ahk All the key functions
lib_keysSet.ahk Hotkey layouts
lib_loadAnimation.ahk Loading animation when the program starts
lib_mathBoard.ahk Math Board
lib_mouseSpeed.ahk Mouse speed modification
lib_settings.ahk Load the settings in CapsLock+settings.ini
lib_ydTrans.ahk Youdao Translation