SharpNow Vidoo SDK  2.02
微动开发指南

虚拟外设概述

微动在驱动层对常用的计算机外设进行了模拟,包括:一个虚拟鼠标,一个虚拟键盘,两个虚拟摇杆与一个多点触摸屏。 通过调用SDK的虚拟设备模拟接口 sharpnow::EmulateHID(HIDEvent event, int data) ,您可以编写适配程序,控制第三方游戏与应用软件。

操纵外设时,一般通过连续调用接口进行参数设置,最后进行刷新,同时,虚拟外设将向系统抛出相应虚拟事件。调用方式的不同,可能导致模拟效果不同,或执行效率的差异。

虚拟鼠标

微动虚拟了两轴、带滚轮的五按键鼠标。通过设置参数,可以对虚拟鼠标的绝对位置、滚轮、与按键状态进行设置。相关的操作命令如下:

注解
模拟鼠标点击事件时,操作系统可能需要鼠标按键的按下与抬起具有一定的时间间隔。

以下代码将模拟鼠标的移动:

int width = ::GetSystemMetrics(SM_CXSCREEN);
int height = ::GetSystemMetrics(SM_CYSCREEN);
for (int i = 0; i < 10; ++i)
{
int x = 100 + i * 20, y = 200 + i * 50;
::Sleep(100);
}

虚拟键盘

微动的虚拟键盘可以模拟绝大多数键盘的按键操作(一些开关功能键除外)。设置以下参数,可以改变虚拟键盘状态:

注解
  • 可见字符与特殊按键,需使用不同的参数设置
  • 可见字符不区分大小写
  • 模拟键盘敲击事件时,操作系统可能需要按键的按下与抬起具有一定的时间间隔。

以下代码将模拟'A'的一次敲击过程:

虚拟摇杆

微动在驱动层虚拟了两个8轴,16键,带瞄准器的摇杆设备。可用于进行复杂的飞行游戏模拟,也可简单映射为游戏手柄。 以下参数可分别设置两个游戏杆的状态:

游戏杆一:

游戏杆二:

虚拟触屏

微动在系统中虚拟了多点触摸屏,最多同时支持10个接触点。操作虚拟触屏请遵循一定的流程,否则可能无法达到预期效果。以下参数用于触屏控制:

在进行触屏模拟时,请依次设置各接触点的坐标,完成所有接触点设置后调用一次刷新操作。Touch_ContactID 代表接触点的跟踪序号,该序号不变则标识同一触摸点。 Touch_Height 等于0表示接触,大于0表示浮空操作,此时系统一般不会做出响应。

注解
Windows 系统在识别触摸操作时,需要一个从浮空到接触的状态,否则将不识别为一次触摸事件。触摸事件模拟涉及较多系统的设定,请您查阅相关文档。

以下示例虚拟了三点触摸:

int width = ::GetSystemMetrics(SM_CXSCREEN);
int height = ::GetSystemMetrics(SM_CYSCREEN);
for (int i = 0; i < 10; ++i)
{
for (int t = 0; t < 3; ++t)
{
int x = 100 + i * 5 + t * 50, y = 200 + i * 5;
}
::Sleep(100);
}

上一章: 手部识别
下一章: 开发范例