cliclick
v5.1
Cliclick(“命令行接口單擊”的簡稱)是用於從Shell/終端執行與鼠標和鍵盤相關的操作的工具。它用Objective-C編寫,並在MACOS 10.15或更高版本上運行。
作者:CarstenBlüm,www.bluem.net
您可以自己構建Cliclick(請參閱下文),從發行版中選擇二進製文件,也可以使用自製或MacPorts安裝它。
重要的是:有必要授予終端(或ITERM或您使用的任何內容)控制計算機的權限。這可以在系統偏好➔安全性➔可訪問性中完成。如果您調用Cliclick,而什麼也不會發生,那麼可能會丟失許可。自Cliclick 5.1以來,在這種情況下,將寫信給Stderr。
為了獲得快速的第一印象,這是您調用cliclick -h時會得到的:
USAGE
cliclick [-r] [-m <mode>] [-d <target>] [-e <num>] [-f <file>] [-w <num>] command1 [command2]
OPTIONS
-r Restore initial mouse location when finished
-m <mode> The mode can be either “verbose” (cliclick will print a
description of each action to stdout just before it is
performed) or “test” (cliclick will only print the
description, but not perform the action)
-d <target> Specify the target when using the “p” (“print”) command.
Possible values are: stdout, stderr, clipboard or the path
to a file (which will be overwritten if it exists).
By default (if option not given), stdout is used for printing
-e <easing> Set an easing factor for mouse movements. The higher this
value is (default: 0), the more will mouse movements seem
“natural” or “human-like”, which also implies: will be slower.
If this option is used, the actual speed will also depend
on the distance between the start and the end position, i.e.
the time needed for moving will be higher if the distance
is larger.
-f <file> Instead of passing commands as arguments, you may instead
specify a file from which cliclick will read the commands
(or stdin, when - is given as filename).
Each line in the file is expected to contain a command
in the same format/syntax as commands given as arguments
at the shell. Additionally, lines starting with the hash
character # are regarded as comments, i.e.: ignored. Leading
and trailing whitespace is ignored, too.
-w <num> Wait the given number of milliseconds after each event.
If you find that you use the “w” command too often,
using -w could make things easier. Please note that “w”
is additive with -w. This means that invoking
“cliclick -w 200 w:500” will wait for 700 milliseconds.
The default (and minimum) value for -w is 20.
-V Show cliclick version number and release date
-o Open version history in a browser
-n Send a donation
COMMANDS
To use cliclick, you pass an arbitrary number of commands as arguments. A command consists of a command identifier (a string that tells cliclick what kind of action to perform) and usually one or more arguments to the command, which are separated from the command identifier with a colon. Example: “c:123,456” is the command for clicking (the “c” is the command identifier for clicking) at the position with x coordinate 123 and y coordinate 456. See below for a list of all commands and the arguments they expect.
Whenever a command expects a pair of coordinates, you may provide relative values by prefixing the number with “+” or “-”. For example, “m:+50,+0” will move the mouse 50 pixels to the right. Of course, relative and absolute values can be mixed, and negative values are possible, so “c:100,-20” would be perfectly valid. (If you need to specify absolute negative values in case you have a setup with a second display arranged to the left of your main display, prefix the number with “=”, for instance “c:100,=-200”.)
LIST OF COMMANDS
rc:x,y Will RIGHT-CLICK at the point with the given coordinates.
Example: “rc:12,34” will right-click at the point with x coordinate
12 and y coordinate 34. Instead of x and y values, you may
also use “.”, which means: the current position. Using “.” is
equivalent to using relative zero values “c:+0,+0”.
m:x,y Will MOVE the mouse to the point with the given coordinates.
Example: “m:12,34” will move the mouse to the point with
x coordinate 12 and y coordinate 34.
kd:keys Will trigger a KEY DOWN event for a comma-separated list of
modifier keys. Possible keys are:
- alt
- cmd
- ctrl
- fn
- shift
Example: “kd:cmd,alt” will press the command key and the
option key (and will keep them down until you release them
with another command)
kp:key Will emulate PRESSING A KEY (key down + key up). Possible keys are:
- arrow-down
- arrow-left
- arrow-right
- arrow-up
- brightness-down
- brightness-up
- delete
- end
- enter
- esc
- f1
- f2
- f3
- f4
- f5
- f6
- f7
- f8
- f9
- f10
- f11
- f12
- f13
- f14
- f15
- f16
- fwd-delete
- home
- keys-light-down
- keys-light-toggle
- keys-light-up
- mute
- num-0
- num-1
- num-2
- num-3
- num-4
- num-5
- num-6
- num-7
- num-8
- num-9
- num-clear
- num-divide
- num-enter
- num-equals
- num-minus
- num-multiply
- num-plus
- page-down
- page-up
- play-next
- play-pause
- play-previous
- return
- space
- tab
- volume-down
- volume-up
Example: “kp:return” will hit the return key.
tc:x,y Will TRIPLE-CLICK at the point with the given coordinates.
Example: “tc:12,34” will triple-click at the point with x
coordinate 12 and y coordinate 34. Instead of x and y values,
you may also use “.”, which means: the current position.
Note: If you find that this does not work in a target application,
please try if double-clicking plus single-clicking does.
ku:keys Will trigger a KEY UP event for a comma-separated list of
modifier keys. Possible keys are:
- alt
- cmd
- ctrl
- fn
- shift
Example: “ku:cmd,ctrl” will release the command key and the
control key (which will only have an effect if you performed
a “key down” before)
dm:x,y Will continue the DRAG event to the given coordinates.
Example: “dm:112,134” will drag and continue to the point with x
coordinate 112 and y coordinate 134.
c:x,y Will CLICK at the point with the given coordinates.
Example: “c:12,34” will click at the point with x coordinate
12 and y coordinate 34. Instead of x and y values, you may
also use “.”, which means: the current position. Using “.” is
equivalent to using relative zero values “c:+0,+0”.
dd:x,y Will press down to START A DRAG at the given coordinates.
Example: “dd:12,34” will press down at the point with x
coordinate 12 and y coordinate 34. Instead of x and y values,
you may also use “.”, which means: the current position.
w:ms Will WAIT/PAUSE for the given number of milliseconds.
Example: “w:500” will pause command execution for half a second
p[:str] Will PRINT the given string. If the string is “.”, the current
MOUSE POSITION is printed. As a convenience, you can skip the
string completely and just write “p” to get the current position.
Example: “p:.” or “p” will print the current mouse position
Example: “p:'Hello world'” will print “Hello world”
du:x,y Will release to END A DRAG at the given coordinates.
Example: “du:112,134” will release at the point with x
coordinate 112 and y coordinate 134.
cp:str Will PRINT THE COLOR value at the given screen location.
The color value is printed as three decimal 8-bit values,
representing, in order, red, green, and blue.
Example: “cp:123,456” might print “127 63 0”
dc:x,y Will DOUBLE-CLICK at the point with the given coordinates.
Example: “dc:12,34” will double-click at the point with x
coordinate 12 and y coordinate 34. Instead of x and y values,
you may also use “.”, which means: the current position.
t:text Will TYPE the given TEXT into the frontmost application.
If the text includes space(s), it must be enclosed in quotes.
Example: “type:Test” will type “Test”
Example: “type:'Viele Grüße'” will type “Viele Grüße”
像往常一樣,在Xcode中構建,或通過cd進入項目目錄從外殼中構建,然後調用xcodebuild或make (無論您喜歡什麼)。無論哪種情況,都不會安裝Cliclick,但是您只需在項目目錄中獲得一個稱為“ Cliclick”的可執行文件,然後您可以將其移動到任何想要的地方。 (您可以將其放置在您喜歡的任何地方。)要將其安裝到/usr/local/bin ,您也可以簡單地調用sudo make install ,這將為您做到這一點。
請注意,雖然代碼將在OS X 10.9及以後運行,但基本SDK和XCode項目中選擇的架構設置為當前SDK。因此,如果您想為較舊的系統構建,請確保相應地更改這些設置。如果您在構建並收到有關未定義符號的消息時遇到問題,則很可能可以通過在構建設置中禁用“隱式鏈接Objection-C運行時支持”來解決。
如果您想貢獻一項新功能,錯誤插圖或其他改進,請使用拉動請求進行。但是,請注意: