I ran into this problem when I realised that there was a bug in Safari which brakes the column-count property in the print version. Since I didn’t find a solution for this (and I didn’t want o revamp the entire structure) we agreed with the customer on displaying a message to Safari users once they hit CTRL+P or CMD+P.

I combine the detection of CTRL+P or CMD+P press and the browser used :

			document.addEventListener("keydown", function (event) {
			//   event.stopPropagation();
			//   event.preventDefault();

			if(event.ctrlKey && event.keyCode == 80) // pour CTRL

			{
				console.log("CTRL + P was pressed!");
				var ua = navigator.userAgent.toLowerCase(); 
				if (ua.indexOf('safari') != -1) { 
				if (ua.indexOf('chrome') > -1) {
					//alert("1chrome") // Chrome
				} else {
					alert("For best printing experience please use one of the following browsers // Pour une meilleure expérience d'impression, veuillez utiliser l'un des navigateurs suivants: Chrome, Firefox, Edge, Opera... autre que Safari!") // Safari
				}
				}


			}

			else if(event.metaKey && event.keyCode == 80) { // pour CMD mac
				console.log("CMD + P was pressed!");
				var ua = navigator.userAgent.toLowerCase(); 
				if (ua.indexOf('safari') != -1) { 
				if (ua.indexOf('chrome') > -1) {
					alert("1chrome") // Chrome
				} else {
					alert("For best printing experience please use one of the following browsers // Pour une meilleure expérience d'impression, veuillez utiliser l'un des navigateurs suivants: Chrome, Firefox, Edge, Opera... autre que Safari!") // Safari
				}
				}

			}

			else
			{
			//   console.log("Something else was pressed.");
			}
			}); // document add listener