What happened?
I need to intercept Ctrl+P in JavaScript inside a WebView2-hosted component.
In Microsoft Edge, my keydown handler detects Ctrl+P correctly, but in WebView2 the onkeydown event never captures this shortcut. Instead, WebView2 opens the built-in print preview directly.
I want to capture Ctrl+P in JavaScript so I can override or prevent the default print behavior.
Importance
Important. My app's user experience is significantly compromised.
Runtime Channel
Stable release (WebView2 Runtime)
Runtime Version
146.0.3856.72
SDK Version
1.0.3296.44
Framework
WPF
Operating System
Windows 11
OS Version
10.0.26100.8037
Repro steps
Following example i am using to capture CTrl+P. this example works pretty well in Edge browser, but not in Webview2 hosted component.
`function handleKeyboardEvent(event) {
const key = (event.key || "").toLowerCase();
const isP = key === "p" || event.code === "KeyP" || event.keyCode === 80;
if(event.keyCode === 80) {
console.log("Key code 80 was detected");
console.log("event.keyCode: " + event.keyCode);
console.log("event.keyCode type: " + typeof (event.keyCode));
} else if(key === "p") {
console.log("Key 'P' was pressed");
console.log("event.keyCode: " + event.keyCode);
console.log("event.keyCode type: " + typeof (event.keyCode));
} else if(event.code === "KeyP") {
console.log("Key code 'KeyP' was detected");
console.log("event.keyCode: " + event.keyCode);
console.log("event.keyCode type: " + typeof (event.keyCode));
}
const isPrintShortcut = event.ctrlKey && isP; // matches Ctrl+P and Ctrl+Shift+P
if(isPrintShortcut) {
console.log("Print will " + (isPrintShortcut ? "happen" : "not happen"));
}
}
// Register once
document.addEventListener("keydown", handleKeyboardEvent, true);`
Repros in Edge Browser
No, issue does not reproduce in the corresponding Edge version
Regression
No, this never worked
Last working version (if regression)
No response
What happened?
I need to intercept Ctrl+P in JavaScript inside a WebView2-hosted component.
In Microsoft Edge, my keydown handler detects Ctrl+P correctly, but in WebView2 the onkeydown event never captures this shortcut. Instead, WebView2 opens the built-in print preview directly.
I want to capture Ctrl+P in JavaScript so I can override or prevent the default print behavior.
Importance
Important. My app's user experience is significantly compromised.
Runtime Channel
Stable release (WebView2 Runtime)
Runtime Version
146.0.3856.72
SDK Version
1.0.3296.44
Framework
WPF
Operating System
Windows 11
OS Version
10.0.26100.8037
Repro steps
Following example i am using to capture CTrl+P. this example works pretty well in Edge browser, but not in Webview2 hosted component.
`function handleKeyboardEvent(event) {
const key = (event.key || "").toLowerCase();
const isP = key === "p" || event.code === "KeyP" || event.keyCode === 80;
if(event.keyCode === 80) {
console.log("Key code 80 was detected");
console.log("event.keyCode: " + event.keyCode);
console.log("event.keyCode type: " + typeof (event.keyCode));
} else if(key === "p") {
console.log("Key 'P' was pressed");
console.log("event.keyCode: " + event.keyCode);
console.log("event.keyCode type: " + typeof (event.keyCode));
} else if(event.code === "KeyP") {
console.log("Key code 'KeyP' was detected");
console.log("event.keyCode: " + event.keyCode);
console.log("event.keyCode type: " + typeof (event.keyCode));
}
const isPrintShortcut = event.ctrlKey && isP; // matches Ctrl+P and Ctrl+Shift+P
if(isPrintShortcut) {
console.log("Print will " + (isPrintShortcut ? "happen" : "not happen"));
}
}
// Register once
document.addEventListener("keydown", handleKeyboardEvent, true);`
Repros in Edge Browser
No, issue does not reproduce in the corresponding Edge version
Regression
No, this never worked
Last working version (if regression)
No response