Здравствуйте. Прошу немедвежьего совета помощи в проблеме: Имеется стандартный драйвер клавиатуры DDK, контроллер на pic(USB), который прошит и распознается как стандартная клавиатура. Задача - передавать байты контроллеру в реальном времени. Я узнал, что обращаться к устройству можно только через этот драйвер. Только, как я подразумеваю, в стандартном драйвере не предусмотренные функции отправки всякой информации клаве. Что pic при подключении по USB отправляет дескрипторы, определяющие его как хид клаву, затем он передает байты в пакетах на конечную точку компа, обработчик конечной точки пересылает эту информацию драйверу. Мои вопросы: 1. есть ли какие дополнения или исправления в моем мышлении. 2. Драйвер обрабатывая инфу с КТ передает команды другой программе или сам выполняет "нажатия клавиши"? (читал что - отправляет команды другой проге, но хочется уточнить) 3. Возможно добавить свой код в стд драйвер, позволяющий передавать байты на pic. Как или что почитать? 4. Или же проще свой драйвер написать с 0? Спасибо. PS - C# не поможет в апгрейде стд драйверов, потому что там чистый C? Ух, а я об этом не подумал, спасибо valterg.
Драйвер клавиатуры должен уметь передавать данные в нее - например для включения светодиодов режимов Numlock, Capslock и ScrollLock. Про остальное не скажу - не спец по драйверам
поиск, заюзаю. Все что нового узнал из статьи - прочитать про WRITE_PORT_UCHAR и IOCTRL. Там же контроллер другой и интерфес другой, значит порты, прерывания и фу-ии другиие, а мне то какраз и фу-ии нуны. Причем принимать я уже могу, мне бы только научится передавать из компа в usb(через драйвер клавы). Благодарю за помощь.
botcser Тут в другой теме кто-то утверждал, что драйвер USB-клавиатуры тупо пихает байты в порты PS/2 Значит писать байты надо в порты PS/2 тоже...
но у меня клава на USB сидит. http://junglewin.narod.ru/usb.html - прочитал, кто ее решил, можете помочь в ней - 4й пункт, ни как не могу наладить, ругается когда пытаюсь определить ntstatus структуру. Мне то нужно пользовательское ПО для разговора с драйвером, а если я буду компилить DDK компилятором он выдаст sis. Говорят что просто можно как через файл обращаться к драйверу. Поделитесь Хорошей статьей про это. А еще нашел статью и проект работающий с USB HID на C#, но автор пишет что с мышами и клавами не работает, хотя и коннектится, я проверял, не вызывается EventBuffer, при получении в буфер приема данных, который должен вызываться.
valterg - пихать байты в порт ps/2, можно конечно попробовать. а если у компа всего один ps/2 под клаву, а клавы две(по USB)... ссылку на статью бы на всякий, а то вдруг не найду. Кароче, я читал читал и пришел к выводу, что использовать готовый драйвер клавы kbusbhid.sys не получится, в этом варианте придется переписывать этот драйвер с помошью DDK.