Ctrl2Cap версии 2.0
Марк Руссинович
Опубликовано: 1 ноября 2006 г.
Скачать CTRL2Cap(48 КБ)
Введение
Ctrl2cap — это драйвер устройства в режиме ядра, который фильтрует драйвер класса клавиатуры системы для преобразования символов caps-lock в управляющие символы. Люди, как я, которые перешли на NT из UNIX используются для того, чтобы иметь контрольный ключ, где клавиша caps-lock находится на стандартной клавиатуре пк, поэтому программа, как это важно для нашего редактирования благополучия.
Установка и использование
Установите ctrl2cap, выполнив команду CTRL2cap /install из каталога, в котором вы распаковали файлы CTRL2cap. Чтобы удалить тип ctrl2cap /uninstall.
Как работает CTRL2cap
На NT 4 Ctrlcap на самом деле довольно тривиальный. Он просто подключается к драйверу класса клавиатуры, чтобы перехватывать запросы на чтение клавиатуры. Для каждого запроса он отправляет обратный вызов завершения ввода-вывода, в котором он принимает просмотр возвращаемого кода сканирования. Если это будет блокировка с ограничением, ctrl2cap изменяет ее на левый элемент управления.
В Win2K Ctrl2cap используется драйвер фильтра WDM, который слои в стеке устройства класса клавиатуры над устройством класса клавиатуры. Это в отличие от примера kbfiltr Win2K DDK, который выполняется между устройством порта i8042 и устройством класса клавиатуры. По нескольким причинам я выбрал слой поверх устройства класса клавиатуры:
- Это означает, что код перехвата и манипуляции ctrl2cap IRP_MJ_READ совместно используется между версиями NT 4 и Win2K.
- Мне не нужно предоставлять INF-файл и пользователю нужно пройти через диспетчер устройств установить CTRL2cap . Я просто изменяю соответствующее значение реестра (значение HKLM устройств класса клавиатуры\System\CurrentControlSet\Control\Class UpperFilters).
Недостатком моего подхода является (и это преимущество или недостаток в зависимости от вашей точки зрения):
- Так как я не устанавливаю INF-файл через диспетчер устройств, пользователь не предупреждает, что файл драйвера CTRL2cap не подписан корпорацией Майкрософт.
В этом конкретном случае я чувствовал, что преимущества перевешивают недостатки. Тем не менее, прежде чем моделировать фильтр клавиатуры Win2K на ctrl2cap, настоятельно рекомендуется изучить пример kbfiltr из Win2K DDK. Точка перехвата Kbfiltr в последовательности ввода ключей упрощает внедрение нажатий клавиш в входной поток kbfiltr.
Дополнительные сведения
Дополнительные сведения о написании драйверов фильтров (драйверы, которые присоединяются к другим драйверам, чтобы они могли видеть входные и(или) выходные данные, см. в источниках для получения:
- Пример DDK для Windows NT и Windows 2000 DDK \src\storage\filter\diskperf
- Пример DDK Windows 2000 \src\input\kbfiltr
- "Изучение файловой системы Windows NT", Марк Руссинович, журнал д-р Бб, февраль 1997 г.
- Сопутствующий драйвер фильтра файловой системы, Filemon
Скачать CTRL2Cap(48 КБ)
Выполняется в:
- Клиент: Windows Vista и более поздних версий.
- Сервер: Windows Server 2008 и более поздних версий.