Skip to content
On this page

鼠标与外设 AI 规范

本文档用于 AI 生成鼠标、键盘、DHZ、KmBoxNet、Makcu 等外设控制代码。参数规则按 HexLuaAPI_Mouse.hpp 整理。

通用鼠标接收器

lua
local mouse = newMouseReceiver()

常用读取:

lua
local left = mouse:Get_Mouse_Left()
local right = mouse:Get_Mouse_Right()
local middle = mouse:Get_Mouse_Middle()
local side1 = mouse:Get_Mouse_Side1()
local side2 = mouse:Get_Mouse_Side2()
local key = mouse:Get_Key_State(65)

常用操作:

lua
mouse:Mouse_MoreR(10, -5)
mouse:Mouse_Scroll(1)
mouse:Mouse_Click(1, true)
mouse:Mouse_Click(1, false)
mouse:Keyboard_PressKey(65)
mouse:Keyboard_ReleaseKey(65)
mouse:stop()

规则:

  • 鼠标移动参数 x, y 是相对移动量,数字。
  • 键盘参数是键码整数。
  • 点击建议成对生成按下和释放。

Makcu / CustomKM

lua
local km = newCustomKM()
-- 或旧别名
local km2 = newMakcu()

常用方法:

lua
km:Mouse_MoreR(10, 5)
km:Mouse_MoreR_Smooth(10, 5)
km:Mouse_MoveMock(10, 5)
km:Mouse_Click(1, true)
km:Mouse_Click_Async(1)
km:stop()

读取按键:

lua
local left = km:Get_Mouse_Left()
local side1 = km:Get_Mouse_Side1()

DHZ

常用方法名:

lua
dhz:Init(...)
dhz:Mouse_MoreR(x, y)
dhz:Mouse_Wheel(delta)
dhz:Mouse_Click(button, press)
dhz:Mouse_Click_Async(button)
dhz:KeyDown(key)
dhz:KeyUp(key)

读取状态:

lua
dhz:Get_Mouse_Left()
dhz:Get_Mouse_Right()
dhz:Get_Mouse_Middle()
dhz:Get_Mouse_Side1()
dhz:Get_Mouse_Side2()
dhz:Isdown(key)

屏蔽输入:

lua
dhz:Mask_left()
dhz:Mask_right()
dhz:Mask_middle()
dhz:Mask_side1()
dhz:Mask_side2()
dhz:DisMask_keyboard()

KmBoxNet

lua
local km = newKMNet(...)

鼠标:

lua
km:mouse_move(x, y)
km:mouse_left(press)
km:mouse_right(press)
km:mouse_middle(press)
km:mouse_wheel(delta)
km:mouse_side1(press)
km:mouse_side2(press)
km:mouse_all(left, right, middle, side1, side2)
km:mouse_move_auto(x, y, time)
km:mouse_move_beizer(x, y, time)

键盘:

lua
km:keydown(key)
km:keyup(key)
km:keypress(key)

监听:

lua
km:monitor()
km:monitor_mouse_left()
km:monitor_mouse_xy()
km:monitor_keyboard()

屏蔽:

lua
km:mask_mouse_left()
km:mask_keyboard()
km:unmask_keyboard()
km:unmask_all()

AI 生成禁忌

  • 不要混用不同设备对象的方法,例如把 km:mouse_move 写到 newMouseReceiver() 对象上。
  • 不要把绝对坐标当作相对移动传入 Mouse_MoreR / mouse_move
  • 不要只按下不释放键鼠,除非用户明确要求保持按下。
  • 不要在循环中无延迟高速移动鼠标,应加 sleep 或控制频率。