Пишущий драйвер устройства? - PullRequest
4 голосов
/ 28 апреля 2011

Интересно, правильно ли я понимаю ...

Скажем, если я хочу контролировать, как работает моя мышь, т. Е. Открытое окно левой кнопки, нажатие правой кнопки "A" и т. Д.

Но я не говорю о том, чтобы написать что-то вроде следующего в приложении:

void MouseDown(xxxxEventArgs e, sender object)
{

}

Я хочу полностью контролировать работу устройства, тогда мне нужно будет написать драйвер для него? Из того, что я узнал на ассемблере ранее, для управления устройством мне нужно знать их порт для связи с устройством. Но скажите, если я куплю мышь Logitech, можно ли самому написать драйвер мыши для ее использования?

Поскольку я видел какой-то проект, по которому они покупают веб-камеру USB в магазине, и они могли контролировать вращение сети, получать изображение с веб-камеры, мне интересно, не потому ли, что веб-камера предоставила API ?

Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 28 апреля 2011

Если вы хотите полностью управлять устройством, то вам действительно нужно написать драйвер устройства. Это нетривиальная задача, и вы должны прочитать об этом. Здесь есть учебное пособие здесь и книга по разработке драйвера для Windows здесь .

Если вы хотите написать драйверы устройства, вы должны очень хорошо разбираться в C и / или C ++.

0 голосов
/ 09 апреля 2019

В таких случаях вы можете приступить к написанию собственного драйвера устройства на C ++ и сборке lyem

0 голосов
/ 05 июля 2011

Вам не нужно писать драйвер устройства для того, что вы пытаетесь сделать. Драйвер устройства не имеет ничего, кроме как в соответствии с таблицей данных адреса устройства регистров, где он может читать, записывать, выполнять IOMMU и т. Д. Или что-то другоеВещи, в которых вы нуждаетесь, это что-то вроде взлома прикладной программной части того, чего вы пытаетесь достичь.

Поскольку код драйвера устройства просто считывает данные с устройства и записывает обратно, это приложение, котороеНо в некоторых случаях программист драйвера устройства предоставляет метод (функцию) программисту приложения, чтобы они могли написать свое приложение и вызвать эти методы. В вашем случае вам нужно просто понять, как код приложения взаимодействует с драйвером устройства.Если вы хотите написать драйвер устройства, отметьте это http://www.freesoftwaremagazine.com/articles/drivers_linux?page=0%2C0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...