What we have:
keydownevent +preventDefaultpreventskeypressevent (proof: https://stackoverflow.com/a/57401334/9398364)stopPropagationdoesn't help at all- We can't simulate keypress with dispatchEvent because we don't know full list of unprintable 
event.keyvalues (which we can't just throw as unicode value usingevent.key.codePointAt(0)) 
What we need:
Disable default browser keys reaction (i.e.
tabpress in chrome) without huge switch expressionDetect
keydownevents because we needshift,ctrland other keys events (event.codematters)Detect
keypressevents because we need to input unicode characters (event.keymatters) withoutinputevent and without checking if it is unprintable character (such asshiftandctrl)
How?
UPD: Seems like non-unicode event.key has >1 length (source: https://stackoverflow.com/a/70401792/9398364) Is there any proof?