当前位置: 技术问答>linux和unix
Linux驱动,从USB接口读取设备数据,转化为鼠标事件?
来源: 互联网 发布时间:2017-01-10
本文导语: 有一个设备,可以产生一些数据,通过USB连接PC,PC上运行的是Linux系统。现在需要开发一个驱动来读取USB数据,并产生相应的鼠标事件。请各位高手支招,多谢多谢! 写了一个demo,直接模拟鼠标输入,代码如下: #...
有一个设备,可以产生一些数据,通过USB连接PC,PC上运行的是Linux系统。现在需要开发一个驱动来读取USB数据,并产生相应的鼠标事件。请各位高手支招,多谢多谢!
写了一个demo,直接模拟鼠标输入,代码如下:
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
int main()
{
int m_fd = open("/dev/input/mice", O_RDWR);
input_event m_evt;
input_event m_evt0;
int x = 10;
int y = 10;
m_evt.type = EV_ABS;
m_evt.code = ABS_X;
m_evt.value = x;
gettimeofday(&m_evt.time, 0);
bool success1 = write(m_fd, &m_evt, sizeof(m_evt)) == sizeof(m_evt);
printf("writeX %sn", success1 ? "sucess" : "failed");
m_evt.code = ABS_Y;
m_evt.value = y;
gettimeofday(&m_evt.time, 0);
bool success2 = write(m_fd, &m_evt, sizeof(m_evt)) == sizeof(m_evt);
printf("writeY %sn", success2 ? "sucess" : "failed");
bool success3 = write(m_fd, &m_evt0, sizeof(m_evt0)) == sizeof(m_evt0);
printf("write empty %sn", success3 ? "sucess" : "failed");
close(m_fd);
cout
写了一个demo,直接模拟鼠标输入,代码如下:
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
int main()
{
int m_fd = open("/dev/input/mice", O_RDWR);
input_event m_evt;
input_event m_evt0;
int x = 10;
int y = 10;
m_evt.type = EV_ABS;
m_evt.code = ABS_X;
m_evt.value = x;
gettimeofday(&m_evt.time, 0);
bool success1 = write(m_fd, &m_evt, sizeof(m_evt)) == sizeof(m_evt);
printf("writeX %sn", success1 ? "sucess" : "failed");
m_evt.code = ABS_Y;
m_evt.value = y;
gettimeofday(&m_evt.time, 0);
bool success2 = write(m_fd, &m_evt, sizeof(m_evt)) == sizeof(m_evt);
printf("writeY %sn", success2 ? "sucess" : "failed");
bool success3 = write(m_fd, &m_evt0, sizeof(m_evt0)) == sizeof(m_evt0);
printf("write empty %sn", success3 ? "sucess" : "failed");
close(m_fd);
cout