在控制台应用程序和ssh中的鼠标移动

Mouse movement in console application and ssh

本文关键字:鼠标 移动 ssh 控制台 应用程序      更新时间:2023-10-16

我正在尝试构建一个应用程序,将运行在一个显示较少的raspi。应用程序应该通过ssh启动。它应该能捕捉到鼠标的移动。(想想机器人需要鼠标来导航)

SDL需要一个窗口,而这并不是ssh和console的真正选项。GPM只返回按下键。

任何想法?

编辑:鼠标在树莓上。该应用程序将通过ssh启动,但这只是为了帮助调试。

在较低级别访问鼠标,例如通过HID-层,直接访问相关的/dev/input/event*设备,例如使用libhid

您可以每隔一段时间轮询鼠标位置,然后如果位置发生了变化,则通过ssh将鼠标位置发送给raspi(发送新位置减去最后位置)

POINT lastpos;
void SendMousePos()
{
    POINT currpos;
    if (GetCursorPos(&currpos))
    {
        if(currpos != lastpos)
        {
            SendMovementToRaspi(currpos.x - lastpos.x, currpos.y - lastpos.y);
            lastpos = currpos;
        }
    }
}