1
1
input/devi/hid/main.c

86 строки
2.1 KiB
C

/*
* (c) 2010, SWD Embedded Systems Limited, http://www.kpda.ru
*/
/*
* Предостережение:
*
* Предоставленный исходный код драйвера devi-hid рекомендуется использовать
* только для отладочных целей при разработке HID-драйверов. Для всех остальных
* задач следует использовать штатный системный драйвер devi-hid.
*
* В общем случае не существует задач, которые требуется решать в этом драйвере
* при поддержке нового оборудования (для этого должен быть написан/модифицирован
* отдельный драйвер ввода или HID-драйвер).
*/
/*
* main.c
*
* Main resourse manager module.
*
*/
#include <sys/devi.h>
#include "hid.h"
extern input_module_t mouse;
extern input_module_t kbd;
extern input_module_t touch;
extern input_module_t joystick;
extern input_module_t control;
static int post_init();
static int post_shutdown();
input_module_t *modules[] = {
&kbd,
&mouse,
&touch,
&joystick,
&control,
NULL
};
common_callbacks_t callbacks = {
4,
NULL, // Pre-init
post_init, // Post-init
NULL, // Pre-shutdown
post_shutdown // Post-shutdown
};
int
main(int argc, char *argv[])
{
devi_init(&callbacks); // Set driver callback function
devi_hid_init(); // Initialize USB interface
pServ_name = NULL; // Optional HID server name ( may be reassign in command line)
return begin(argc, argv);
}
int post_init()
{
// We cannot connect to USB stack until initialization is finished
// because as soon as connection established, input data may come to
// input channel, and processing bus must be ready to this event.
devi_hid_server_connect(pServ_name); // Connect to USB server
return 0;
}
int post_shutdown()
{
devi_hid_server_disconnect();
return 0;
}