跳到主要内容

键盘助手

提示

键盘助手经历了2个月的改写,新版本发布。JavaScript脚本支持,可通过脚本编写,轻松实现控制鼠标/键盘自动化操作,自带取色,识图,定时器,开关控制等等。

时间相关

1000 等于 1 秒

如何使用脚本

打开软件在【在线脚本】点击【初始化脚本】或者【加载示例脚本】后编辑 kb.js

命令说明

update() 保存 kb.js 代码自动加载并且生效,无需手写自动带入

注册热键

使用命令 hotkey 参考例子

  • 屏蔽左键鼠标
hotkey("lbutton", function () {});
  • 鼠标左键发送键盘命令
hotkey("lbutton", function () {
send("1");
send("2");
sleep(1000);
});
  • 开放模式鼠标左键,发送按键1
hotkey("~lbutton", function () {
send("1");
});

组合快捷键

名称描述
#win键
^ctrl键
!alt键
+shift键
$原生功能,防止按键冲突
~开放模式

按键列表

功能和数字英文按键

名称描述
f1 - f12f1 到 f12
a - za 到 z
0 - 90 到 9

鼠标按键

名称描述
LButton鼠标左键
RButton鼠标右键
MButton鼠标中键
XButton1鼠标测上按键
XButton2鼠标测下按键
WheelDown向下转动鼠标滚轮(朝向您的方向).
WheelUp向上转动鼠标滚轮(远离您的方向).

常规按键

名称描述
CapsLockCapsLock(大小写锁定键)
SpaceSpace(空格键)
TabTab(Tab 键)
EnterEnter(回车键)
Escape(或 Esc)Esc(退出键)
Backspace(或 BS)Backspace(退格键)

光标控制

名称描述
ScrollLockScrollLock(滚动锁定键)
Delete(或 Del) Del(删除键)
Insert(或 Ins) Ins(插入改写切换键)
HomeHome
EndEnd
PgUpPgUp(向上翻页键)
PgDnPgDn(向下翻页键)
Up↑(向上方向键)
Down↓(向下方向键)
Left←(向左方向键)
Right→(向右方向键)

数字键

名称描述
Numpad0 / NumpadIns0 / Ins
Numpad1 / NumpadEnd1 / End
Numpad2 / NumpadDown2 / ↓
Numpad3 / NumpadPgDn3 / PgDn
Numpad4 / NumpadLeft4 / ←
Numpad5 / NumpadClear5 / 通常什么都不做
Numpad6 / NumpadRight6 / →
Numpad7 / NumpadHome7 / Home
Numpad8 / NumpadUp8 / ↑
Numpad9 / NumpadPgUp9 / PgUp
NumpadDot / NumpadDel. / Del
NumLockNumLock(数字锁定键)
NumpadDiv/(除号)
NumpadMult*(乘号)
NumpadAdd+(加号)
NumpadSub-(减号)
NumpadEnterEnter

所有按键都支持按下和弹起的发送

注册一个 f11 按下

hotkey("f11", function () {
//
});

注册一个 f11 弹起

hotkey("f11 up", function () {
//
});

注册一个 alt + z 的全局热键

hotkey("!z", function () {
//
});

注册一个 ctrl + q 的全局热键

hotkey("^q", function () {
//
});

注册一个 f5 的全局热键

hotkey("f5", function () {
//
});

注册一个 q 的全局热键

hotkey("q", function () {
//
});

注册一个原生 ctrl + q 的全局热键

hotkey("$^q", function () {
//
});

注册一个开放模式的a键,不影响原来的a功能

hotkey("~a", function () {
// 触发a后执行的操作
});

延迟命令

sleep 参数 t 时间参数 为整数

sleep(1000); //休眠1秒

定时命令

setTimer 定时 参数 fn t

  • 定时发送按键
setTimer(function(){
//5秒发送一次鼠标左键
send("lbutton");
},5000);

进程控制

只针对某个进程生效可以使用下面的命令: win_exe 参数 p 进程名字

if (win_exe("JX3ClientX64.exe"))
{
//只对剑三生效
}

开关控制

这里演示一个使用 alt 作为开关的例子

/**
* 声明一个开关变量名字可以随意
* 注册一个全局alt热键, 使用 ~*alt 注册非全局
*/
var x = false;
hotkey("alt", function () {
x = !x
if (x == true) {
//这里执行打开的命令
} else {
//这里执行关闭的命令
}
});

定时里使用开关控制

setTimer(function(){
//使用alt开启后执行5秒发送鼠标左键
if (x == true)
send("lbutton");
},5000);

鼠标移动

mouse_move 参数 x 移动的x坐标 y 移动的y坐标

  • 移动到屏幕中央,假设屏幕是 1920 1080
mouse_move(1920/2,1080/2);

鼠标相关

  • 发送鼠标左键双击
send("dbclick");
  • 发送鼠标左键
send("lbutton");
  • 发送鼠标右键
send("rbutton");
  • 发送鼠标左键按下和弹起
send("lbutton down");
send("lbutton up");
  • 发送鼠标右键按下和弹起
send("rbutton down");
send("rbutton up");

键盘相关

  • 发送 a-z 0-9 f1-f12 esc tab space shift numpad0-numpad9
  • numpad 小键盘 0-9 代表小键盘0-9

esc

send("esc");

tab

send("tab");

numpad5

send("numpad5");

f1

send("f1");

通知提示

window_alert 参考例子 参数 texttime

 window_alert("动作模式开启", 1500);

开启取色

find_color

  • 注册一个热键实现取色自动生成代码在剪切板,ctrl+v粘贴出来
hotkey("f1", function () {
find_color();
});

开启识图

find_pic

  • 注册一个热键实现识图自动生成代码在剪切板,ctrl+v粘贴出来
hotkey("f2", function () {
find_pic();
});

获取当前鼠标位置

mouse_get_pos

  • 注册一个热键实现获取鼠标位置自动生成代码在剪切板,ctrl+v粘贴出来
hotkey("f3", function () {
mouse_get_pos();
});

获取鼠标范围

get_range

  • 注册一个热键实现获取鼠标范围自动生成代码在剪切板,ctrl+v粘贴出来
hotkey("f4", function () {
get_range();
});

软件重启

restart

  • alt + z 实现软件重启
hotkey("!z", function () {
restart();
});

软件退出

quit

  • alt + f1 实现软件退出
hotkey("!f1", function () {
quit();
});

UI相关

print

  • print 可以实现对ui的输出调试和测试
  • 注册鼠标侧键按下后实现ui界面调试
hotkey("xbutton1", function () {
print("演示程序主界面信息");
});

例子

//开关控制
var open = false;

//修改js自动生效
update();

hotkey("f1", function () {
find_pic();
});

hotkey("f2", function () {
find_color();
});

hotkey("f3", function () {
mouse_get_pos();
});

hotkey("f4", function () {
get_range();
});

hotkey("f5", function () {
quit();
});

hotkey("f10", function () {
restart();
});

//alt 屏蔽鼠标左右键
hotkey("alt", function () {
open = !open
if (open == true) {
//屏蔽鼠标左右键
window_alert("动作模式开启", 1500);
FN('move_center');
send("rbutton down");
hotkey('lbutton', function () {
//优先打技能
if (skill("无我无剑")) {
send(2);
} else {
//没有打三环套月
send('5');
send('3');
send('1');
}
});
hotkey('rbutton', function () { });

} else {
window_alert("动作模式关闭", 1500);
send("rbutton up");
hotkey('lbutton', 'off');
hotkey('rbutton', 'off');
}
});


(function () {
setTimer(function () {
let pos = [
[2279, 1275, 2279, 1275],
[2279 + 10, 1275, 2279 + 10, 1275],
[2279 + 20, 1275, 2279 + 20, 1275],
[2279 + 50, 1275, 2279 + 50, 1275]
]
let Index = Math.floor(Math.random() * pos.length);
// 根据随机索引从数组中取出一个数组
let x = pos[Index];
a = x[0], b = x[1], c = x[2], d = x[3]
let color = queryColor(a, b, c, d, 0x20B8CA, "0");
if (color == "ok") {
//打断技能
send("3");
}
}, 10000);
})();

(function () {
setTimer(function () {
let color = queryColor(961, 304, 961, 304, 0x20B8CA, "3");
if (color == "ok") {
//打断技能
send("esc");

}

}, 20000);
})();