Pull to refresh
1
0
Send message
Да, не могли бы вы сузить набор запрашиваемых дескрипторов до минимально необходимого? Предположительно это должен быть 0xc8.
Ага, хорошо. Значит работает. Теперь я смогу это в digimend-kernel-drivers добавить, а потом в ядро. Но всё это когда время найдется.
Почитайте наше обсуждение на GitHub. По-умолчанию планшет шлёт отчеты с report ID 0x0a и обрезанным разрешением, под Windows он шлёт отчеты с report ID 0x08 и полным разрешением. Предположительно инициализация выполняется запросом определённого string descriptor.
Вы отлично разобрались с тем как работают драйверы ввода, и заставили планшет работать, поздравляю :)!

Как я уже вам писал, .report_fixup вызывается для того чтобы драйвер мог подправить, или заменить HID report descriptor — структуру полученную с утройства, и, в теории, описывающую структуру посылаемых им reports. Функция несколько неудачно названа и скорее должна называться ".report_descriptor_fixup".

Большая часть документации находится в Documentation, затем в заголовках, а потом уже нужно читать сам код. В том числе смотрите Documentation/hid, include/linux/hid.h, drivers/hid/hid-core.c, drivers/hid/hid-input.c, и drivers/hid/usbhid.

Однако, было бы хорошо, если бы вы смогли помочь проекту DIGImend вместо того чтобы разрабатывать еще один драйвер. Таким образом вы могли бы получить лучше поддержку в userspace, скорее поддержку в upstream, и научились бы еще много чему. В частности нужно подтвердить способ инициализации вашего планшета, чтобы он работал с полным разрешением, и потестировать драйвер.

Information

Rating
Does not participate
Registered
Activity