Как переместить курсор мыши из кода пользователя?

Мои данные поступают от Arduino (который получает их от датчика).
Я бы хотел, чтобы данные обрабатывались пользовательской программой (после чтения из / dev / ttyUSB0).
После этого мне нужно управлять курсором мыши, используя вывод программы.
(Я действительно хотел бы избежать написания драйвера ядра в данный момент.)

Каков рекомендуемый способ сделать это (в среде Linux)?
Возможно, библиотека поверх X … или какой-нибудь инструмент / скрипт, в который я могу напрямую передать данные?

3

Решение

Взято из DZone:

#include <stdio.h>
#include <stdlib.h>

#include <X11/Xlib.h>
#include <X11/Xutil.h>

void mouseMove(int x, int y)
{
Display *displayMain = XOpenDisplay(NULL);

if(displayMain == NULL)
{
fprintf(stderr, "Errore nell'apertura del Display !!!\n");
exit(EXIT_FAILURE);
}

XWarpPointer(displayMain, None, None, 0, 0, 0, 0, x, y);

XCloseDisplay(displayMain);
}
4

Другие решения

Есть несколько вариантов, которые я знаю:

  1. xte — инструмент командной строки: http://linux.die.net/man/1/xte
  2. если вы можете использовать Python, Xaut может быть вам больше по душе: http://xautomation.sourceforge.net/index.html
1

Или с Узел-x11:

var x = 100;
var y = 200;
require('x11').createClient(function(err, display) {
display.client.WarpPointer(0, display.screen[0].root, 0, 0, 0, 0, x, y);
});
0
По вопросам рекламы [email protected]