Skip to content

macro script

Latest

Choose a tag to compare

@mllcms mllcms released this 16 Feb 07:12
· 1 commit to main since this release

macro script

使用

# 运行脚本
./ms.exe
./ms.exe run ./config.toml

# 获取按键代码
./ms.exe event

# 获取坐标: AltGr(右) 获取当前鼠标坐标
./ms.exe point

在某些软件/游戏上可能没反应

  • 这些软件可能是 root 权限打开的
  • ms 也需要 root 权限打开才能生效
  • 快速运行指定配置文件可以用快捷方式配置命令

配置说明

# 全局延迟
delay = 20
# 缩放比例
scaling = 1.5
# 偏移位置(一般双屏才用)
offset = [0, 0]
# 窗口位置
point = [800, 80]
# 字体大小
font_size = 20
# 字体颜色
font_color = [97, 218, 217]

# 脚本 XXX
[[scripts]]
# 显示标题
title = "配置说明"
# 使用单独延迟(可选)
delay = 10
# 重复次数(0 不会停止; 再次触发时循环结束会重启, 循环未结束会强制停止, 强制停止可能会导致事件按下未松发释放)
repeat = 1
# 触发按键(键盘 Key 鼠标 Mouse)
trigger = [{ Key = "Home" }]
# 脚本方法(每种事件后面都可以设置 Await 等待时间, 时间到才会继续执行下一个事件。单位 ms)
methods = [
    # 鼠标点击
    { Click = "Left", Await = 30 },
    # 鼠标松开
    { ClickUp = "Left" },
    # 鼠标按下
    { ClickDown = "Left" },
    # 鼠标点击指定位置
    { ClickOn = ["Left", 800, 500] },
    # 鼠标拖拽
    { ClickTo = ["Left", 200, 100, 240, 120] },
    # 按键点击
    { Key = "KeyA" },
    # 按键松开
    { KeyUp = "KeyA" },
    # 按键按下
    { KeyDown = "KeyA" },
    # 同时点击多个按键
    { Keys = ["KeyA", "KeyB"] },
    # 鼠标移动
    { Move = [400, 500] },
    # 滚轮移动
    { Scroll = [400, 500] },
    # 休眠时间
    { Sleep = 100 },
    # 退出程序
    { Exit = 0 },
    # 脚本块(命名: 需要在 blocks 中定义同名脚本块)
    { Block = { repeat = 10, block = "测试显示" } },
    # 脚本块(具体: 直接嵌套写入)
    { Block = { repeat = 10, block = [
        { Sleep = 100 }
    ] } }
]

# 程序退出
[[scripts]]
title = "程序退出"
repeat = 1
trigger = [{ Key = "End" }]
methods = [{ Exit = 0 }]

# 测试显示
[[scripts]]
title = "测试显示"
repeat = 1
trigger = [{ Key = "KpPlus" }]
methods = [{ Block = { repeat = 10, block = "测试显示" }, Await = 3000 }]

# 脚本块(复用脚本事件或者需要循环一部分事件时使用)
# 单处使用时 repeat 应大于 1
[blocks]
"测试显示" = [
    { Sleep = 100 }
]