перед "АстроСофт" задача заключалась в разработке компонента операционной системы, позволяющего различать данные, поступающие с разных клавиатур, поскольку в эксперименте участвуют одновременно несколько человек. На аппаратном уровне задача использования нескольких клавиатур с одним компьютером решается использованием устройств, подключаемых по шине USB (возможно подключение до 127 устройств). Для решения задачи разделения потоков данных с разных клавиатур был разработан фильтр-драйвер клавиатуры, который перехватывал ввод непосредственно от порта, к которому подключена клавиатура, до того, как он попадал в системную очередь. Фильтр-драйвер формировал отдельную очередь ввода для каждой клавиатуры и предоставлял приложению доступ к ней по запросу.

Поделитесь материалом с коллегами и друзьями