Виртуальная мышь
Комплекс из приложения (mouse_app) и драйвера (mouse_driver). Приложение каждую секунду через sysfs передаёт драйверу, насколько сдвинуть курсор по осям x, y (случайные значения). Драйвер сдвигает.
Для этого наш драйвер mouse_driver генерирует события сдвига курсора через интерфейс (драйвер) событий evdev. Через консоль вы предварительно подключали сервер мыши GPM к evdev (/dev/input/eventX) - в итоге курсор реагирует на эти события и колеблится.
На рисунке разработанные мной драйвер и приложение выделены оранжевым:
Сборка, установка
# смотрим в реальном времени буфер сообщений ядра:
sudo dmesg -w
# собираем драйвер:
cd ./mouse_driver/
make
# устанавливаем драйвер:
sudo make install
# подключаем GPM к evdev:
sudo apt install gpm
sudo gpm -m /dev/input/eventX -t evdev
cd ..
# собираем приложение:
cd ./mouse_app/
cmake -B build .
cd ./build
make
cd ../..
Запуск программы
sudo ./mouse_app/build/mouse_app
Удаление
# удаляем драйвер:
cd ./mouse_driver/
sudo make uninstall