TChromium.OnVirtualKeyboardRequested - одно из событий ICefRenderHandler, и этот обработчик используется только браузерами в внеэкранном режиме (режим OSR).
Демонстрация PopupBrowser2 использует браузеры в обычном режиме (он же «оконный режим»). "), что означает, что ни одно из событий ICefRenderHandler не будет запущено.
С PopupBrowser2 вам нужно будет использовать другое событие с именем GlobalCEFApp.OnFocusedNodeChanged
Проверьте имя узла с помощью HTML имена тегов, которые должны отображать виртуальную клавиатуру, например «input» или «textarea» внутри GlobalCEFApp.OnFocusedNodeChanged.
Это событие выполняется в процессе рендеринга, и вам нужно будет отправить сообщение процесса в основной процесс браузера, чтобы показать клавиатуру.
Демонстрация DOMVisitor показывает вам, как отправить это сообщение процесса с некоторыми параметрами, если они вам нужны: https://github.com/salvadordf/CEF4Delphi/blob/132edb2e8895d998d3e3810982c95b9f845d78f8/demos/Delphi_VCL/DOMVisitor/uDOMVisitor.pas#L305
Процесс браузера получит это сообщение в TChromium.OnProcessMessageReceived, как вы можете видеть здесь: https://github.com/salvadordf/CEF4Delphi/blob/132edb2e8895d998d3e3810982c95b9f845d78f8/demos/Delphi_VCL/DOMVisitor/uDOMVisitor.pas#L432
Обратите внимание, что TCefProcessMessageRef создается функцией «New» с именем. Когда вы реализуете TChromium.OnProcessMessageReceived в своем приложении, вам нужно будет сравнить это message.name с таким же значением имени перед его обработкой.