Ввод с PIN Keypad¶
Наиболее часто применяемым на УС устройством ввода является PIN Keypad (EPP). Поскольку данный узел не является HID в терминах Windows, управление вводом осуществляется посредством ActiveX-компонента ContentManager. Основная задача ContentManagerа заключается в инициации процесса ожидания ввода пользователя и рассылке оповещений о нажатиях на клавиши EPP (как на цифровые, так на функциональные). Для того чтобы компонент получал оповещения о нажатиях, необходимо, чтобы он реализовал интерфейс IKeyHandler.
Данный модуль не совместим с модулем уравления крипто-модулем (PinManager), поэтому на html-странице может быть размещен либо ContentManager, либо PinManager.
Идентификаторы подключения¶
ProgID: AXContentManager.ContentManager;
CLSID: 3F1386E7-CF10-4290-A305-3B89C0F34B9D.
Свойства¶
BaseUrl – базовый Url-адрес, к которому добавляется относительный адрес, указанный в свойствах обработчиков оповещения;
DefaultButton – имя функциональной кнопки EPP, нажатие на которую эмулируется при нажатии на кнопку ACCEPT;
bGenerateJavascriptEvents – разрешения генерации событий о нажатиях кнопок ПИН-клавиатуры (дополнительно к рассылке через BroadcastKey);
bFreezeForEditString – флаг блокирования нажатий в адрес AXEditString (в адрес AXButton сообщения по-прежнему поступают).
Методы¶
- SetKeyMask(ULONG ulStates, ULONG ulMask)
Задание состояния группе функциональных клавиш в соответствии с указанной маской.
ulStates – битовая карта, определяющая состояние конкретной клавиши. На каждую клавишу отводится 2 бита: 0-й – флаг видимости ассоциированного элемента управления, 1-й – флаг активности кнопки. Биты учитываются последовательно, для FDK01 используются биты 0 и 1, для FDK02 – 2 и 3, и т.д.
ulMask – битовая карта, определяющая актуальность соответствующих битов ulStates.
- InputKeys()
Инициация процесса ожидания ввода пользователя.
Уведомления¶
- OnError(ULONG ulErrorCode, BSTR bstrErrorText)
Уведомление приходит в случае возникновения какой-либо ошибки в процессе работы компонента.
- OnPinKeyPressed(ULONG ulKeyCode)
Уведомление о нажатой клавише.
- OnFdkKeyPressed(ULONG ulKeyCode)
Уведомление о нажатой FDK-клавише.