hid编程 qt_c – 如何在Linux上使用Qt读取HID设备(/ dev / hidrawX)?

我正在开发一种’RepRap校准工具’,它可以使用连接到打印平台的鼠标来测量平台的运动.

现在我一直试图从/ dev / hidrawX读取原始鼠标数据,但我无法读取任何数据.

到目前为止,我已经尝试过:

第一次尝试:

QFile f("/dev/hidraw0");

f.readAll();

什么都不读.

第二次尝试:

m_file = new QFile("/dev/hidraw0");

m_sn= new QSocketNotifier(m_file->handle(),QSocketNotifier::Read);

m_sn->setEnabled(true);

connect(m_sn,SIGNAL(activated(int)),this,SLOT(readyRead()));

然后在readyRead SLOT上:

qDebug()<

此代码触发readyRead插槽一次,但它在read(64)调用时卡住,如果我注释read(64),则每次移动鼠标时都会触发插槽.

m_file.bytesAvailable()始终报告0.

用Qt读取这些设备的正确方法是什么?

解:

我重写了以下代码:

bool rcMouseHandler::openHidraw(QString device)

{

int fd =open(device.toLocal8Bit(),O_NONBLOCK);

if(fd <=0)

{

qDebug()<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值