2013-10-14 5 views
1

Мне нужно получить список устройств ввода в операционной системе Linux. Что-то похожее на парсинг/proc/bus/input/devices, но на самом деле я не хочу изобретать велосипед. Я считаю, что должны быть некоторые системные функции для перечисления устройств и тому подобного. Это встроенный Linux, поэтому я ограничен в библиотеках, которые я могу использовать.Получить устройства ввода linux

+1

Что вы на самом деле хотите сделать? В общем, «разбор/proc/bus/input/devices» действительно то, что вы хотели бы сделать, чтобы получить список устройств ввода. Сам формат вообще довольно легко разобрать ... –

+0

Я хочу переместить мышь. XWarpPointer не работает, потому что у меня нет -lX11 с arm-linux-gnueabi-gcc. Я пишу события непосредственно в/dev/input/event3, и он работает, но мне нужно точно знать, к какому входному файлу я должен писать события. Поэтому мне нужно найти устройство ввода мыши или переместить мышь любым другим способом. – axe

+0

Вы можете подумать о настройке 'udev', чтобы упростить процесс. И разбор '/ proc /' файлов действительно является предпочтительным способом взаимодействия с ядром по многим темам. –

ответ

0

Итак, чтобы найти обработчик событий мыши, вы ищете строку, которая начинается с «H:» и имеет «mouseN». Затем он будет иметь «eventM» в той же строке. Должно быть выполнимо около полудюжины строк кода для открытия/proc/bus/input/devices, прочитайте строку, проверьте, запускается ли она «H:», и если да, проанализируйте остальную часть ее для «мыши», и "события".

+0

Я нашел 9 строк с записью 'mouseN' в разделе H: например, посмотрите на эти два' H: Handlers = mouse0 event3 H: Handlers = mouse1 event4' Он работает, когда я пишу события в/dev/input/event3, но не работает для/dev/input/event4. Итак, как я должен понять, какое устройство является правильным? – axe

+0

Странно. У вас есть несколько устройств типа «указывая», прикрепленных к вашей системе? У меня есть только одна такая строка ... –

+0

Вот еще один вывод из моей виртуальной машины, запущенной ubuntu. 'H: Хендлеры = KBD event0 H: Хендлеры = KBD Event1 H: Обработчики = SysRq KBD event2 H: Обработчики = mouse0 event3 js0 H: Обработчики = mouse1 event4 H: Обработчики = event5' – axe

-1

устройства ввода мышь, клавиатура, сканер, чтобы узнать больше about all input devices

+1

Я думаю, что op спрашивает, как получить его через строку кода или что-то еще, а не определение устройства ввода – koceeng

Смежные вопросы