作者VElysian (家瑀 致中和)
看板EzHotKey
标题Re: [AHK-] 请教 滑鼠加速
时间Thu Aug 14 20:48:55 2008
※ 引述《RIFF (企业战士)》之铭言:
: 很老的滑鼠,罗技、微软的设定工具都不支援
: 现在「希望滑鼠能加速一倍」
: 1.能直接设定remap吗
: 例如 *mousemove:: 之类的
AutoHotKey 的 remap 好像不能耶~~
: 2.或者需要写一段'抓滑鼠位置->变位'的loop ?
可以,范例如下:
执行以下的程式码後, Win + Q 可以数入数字改变滑鼠速度唷~~
数字由 0 开始, 0 表示原来速度,数字愈大滑鼠愈快。
════════════════════════════════
speed = 120
;新增一个变数 speed,内容是 120
Loop ;重复执行 {...} 内的指令。
{
MouseGetPos , X1, Y1
;撷取滑鼠的座标放进 X1, Y1。
Sleep , 25
;等待 0.025 秒。
MouseGetPos , X2, Y2
;撷取滑鼠的座标放进 X2, Y2。
X3 := (X2-X1)*
speed /50
;将右边的运算结果放进 X3 变数。
Y3 := (Y2-Y1)*
speed /50
;将右边的运算结果放进 Y3 变数。
MouseMove , %X3% , %Y3% , 0 ,
R ;移动滑鼠,往右移 X3,往下移 Y3。
}
#Q:: ;按下 Win + Q 执行 return 前的指令,
InputBox,speed,,输入速度 0(静止)~愈大愈快,,,,,,,,%speed%
;InputBox 会将输入的值放进 speed 变数中。
return ; Win + Q 指令结束
════════════════════════════════
流程说明:
speed 是一个变数,它控制滑鼠移动的速度,值愈大愈快,零则是没作用。
Loop {...} 是一个无穷回圈,它不会中断,会一直执行。
Sleep , 25 控制滑鼠的流畅度,值愈小愈流畅,但是滑鼠加速也愈不明显。
两次 MouseGetPos 决定滑鼠移动的距离。
MouseMove 则会从目前滑鼠位置移动所给的座标距离 X3 , Y3。
换句话说,每 0.025 秒,
滑鼠移动的距离都会被 AutoHotKey 侦测,然後自动帮你多移动 X3 , Y3 的距离。
════════════════════════════════
指令说明:
MouseMove , X座标 ,
Y座标 , 移动速度 , (R参数)
移动滑鼠。
移动速度:0(最慢)~100(最快)
有 R 参数的时候:
让滑鼠由目前位置往右移
X座标,往下移
Y座标。
无 R 参数的时候:
让滑鼠移到萤幕座标(
X座标,
Y座标)。
萤幕座标系:
萤幕左上角(0,0) ──→ X 上升
│
│
↓
Y 上升
InputBox , 存放变数,标题,显示文字,HIDE(显示*符号)
, 宽度,高度,X座标,Y座标,字型,几秒後消失
,
输入栏中的预设文字
让使用者输入文字。
存放变数: 将使用者输入的文字放进这个变数中。
输入栏中的预设文字:如果使用者直接按下 OK,便会以这个文字为准。
════════════════════════════════
更详细的资料请参考:
http://www.autohotkey.com/docs/commands/MouseMove.htm
http://www.autohotkey.com/docs/commands/InputBox.htm
这个程式我昨天写出来之後,玩了一个晚上。 XD
RIFF 这个点子蛮不赖的。
写完了,希望对你有帮助。 ^_^
: 例如:
: loop
: {
: MouseGetPos, x1, y1
: sleep 10
: MouseGetPos, x2, y2
: ; 移动
: x3 := x1 + (x2 - x1) * 2
: y3 := y1 + (y2 - y1) * 2
: mousemove, x3, y3, 0
: }
: 不过我好像写错了,没作用,不知道哪里错了呢?
: 新手入门 请指点 ^.^"
--
战略高手 游戏, 数位, 程设 [jzs/lostname
DigitalWare 软体 Σ软体 应用 技巧 [lostname]
EzHotKey 软体 ◎简化复杂工作的快速键软体 VElysian
EzHotKey 主要讨论一种可以把复杂的滑鼠键盘动作变成简单的快速键的软体。
例如:
重复的剪下贴上,或是将滑鼠调整音量的动作简化成只按 +/- 键。
包括:
AutoHotKey、AutoIt、EZScript、VBScript、Windows 批次档。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.62.75.197