You can get Keyboard events by setting ChromiumWebBrowser.KeyboardHandler to IKeyboardHandler even multiThreadedMessageLoop = true.
You can do it by implementing interface on form:
public partial class WinWebForm : Form, IKeyboardHandler
And then assigning it to webbrowser component:
webBrowser.KeyboardHandler = this;
You need to capture RawKeyDownEvent:
public bool OnKeyEvent(IWebBrowser chromiumWebBrowser, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey)
{
if (type == KeyType.RawKeyDown)
{
When you are accessing Form inside OnKeyEvent you need to use
Form.BeginInvoke to ensure you are accessing Form components on right thread:
this.BeginInvoke(new Action(() => {
DoZoom(-0.1);
}));