Ubuntu下使用Tobii Eye Tracker 4C眼动仪控制鼠标光标

之前成功在 Ubuntu 下使用了 4C 眼动仪,但是不知道什么原因目前无法使用 TobiiProEyeTrackerManager 软件来进行眼动仪的标定,也就无法使用它的 gaze visualization 功能来查看注视点的位置。虽然程序里可以输出注视点的归一化坐标,但是这样还是不直观,所以尝试了一下用 tobii 检测到的注视点位置来控制鼠标光标的位置。

除了之前那个 github 工程,还参考了这个工程: https://github.com/lhy0403/TobiiMouse.讲道理这个应该可以直接用的,不过调通后怎么也检测不到设备,所以将其中控制鼠标的部分提出来和之前的结合。

其中和鼠标控制有关的部分在 mouse_integrationnoise_cancellation
在主函数一开始添加

MouseIntegration::init();//get the width and height of current screen
MouseIntegration::SetWorkingMode(TOBII_MOUSE_MODE_ABSOLUTE);

gaze_point_callback 中添加

MouseIntegration::OnGaze(gaze_point->position_xy[0], gaze_point->position_xy[1]);

mouse_integration 如下, noise_cancellation 没有改
mouse_integration.h

#ifndef MOUSE_INTEGRATION_H
#define MOUSE_INTEGRATION_H

#include <tuple>
//#include "tobiimouse.h"
#include "noise_cancellation.h"


#include <X11/X.h>
#include "X11/Xlib.h"
#include <X11/extensions/Xrandr.h>


using namespace std;

enum MOUSEWORKINGMODE_E{
   
   
    TOBII_MOUSE_MODE_ABSOLUTE,
    TOBII_MOUSE_MODE_MOVE_BY_POSITION,
};

namespace MouseIntegration
{
   
   
    void SetWorkingMode(MOUSEWORKINGMODE_E mode);
    void init();
    void MoveMouseTo(int x
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值