Ответ 1
Прежде всего, вам придется иметь какой-то интерфейс между вашим компьютером (или сетью) и управляемым джойстиком.
Если речь идет о создании специального оборудования для управления аналоговым джойстиком (например, он контролирует пневматику или гидравлику или что-то в этом роде, а не только вещь типа джойстика для ПК), то да, вам почти наверняка понадобится драйвер, позволяющий сетевому приложению move (рука робота или что-то еще) переместит этот джойстик.
Если вы можете удалить физический джойстик из уравнения, возможно, вы можете написать программное обеспечение, которое эмулирует вход везде, где используется джойстик (джойстик/последовательный порт?), или эмулирует его полностью (достаточно простой драйвер может это сделать). Вы можете сделать это полностью без написания драйвера, если джойстик использовал стандартный коммуникационный интерфейс (например, RS232), поскольку существуют библиотеки, которые будут обрабатывать все это, и вы можете настроить виртуальные COM-порты, которые будут неотличимы от того, с чем вы пытаетесь установить связь.
Лучшая книга, которую вы можете купить на разработке драйверов на данный момент, Разработка драйверов с помощью Windows Driver Foundation
Rootkits: Подчинение ядра Windows - еще одна отличная книга, но не покрывает много новых вещей WDF. У него больше внимания с точки зрения безопасности, но есть несколько удивительных глав драйверов устройств с примерами с полной ложкой, которые разбиваются на действительно доступный способ.