in platf-w3c/src/jsMain/kotlin/org/jetbrains/letsPlot/platf/w3c/mapping/dom/DomEventUtil.kt [37:63]
fun dispatchKeyPress(e: KeyboardEvent, handler: (KeyEvent) -> Unit): Boolean {
val event = toKeyEvent(e)
handler(event)
//disable back button
if (event.key === Key.BACKSPACE) return false
//disable navigation keys to prevent browser scrolling
if (event.key === Key.UP || event.key === Key.DOWN || event.key === Key.LEFT || event.key === Key.RIGHT) return false
//disable space scrolling in case of unhandled space
if (event.key === Key.SPACE) return false
//disable shift+arrow selection
if (event.`is`(KeyStrokeSpecs.SELECT_LEFT) || event.`is`(KeyStrokeSpecs.SELECT_UP)
|| event.`is`(KeyStrokeSpecs.SELECT_RIGHT) || event.`is`(KeyStrokeSpecs.SELECT_DOWN)
) {
return false
}
//disable back forward with Ctrl/Cmd + [ / ]
if (event.`is`(KeyStrokeSpecs.MATCHING_CONSTRUCTS)) return false
//disable tab navigation
return if (event.`is`(Key.TAB) || event.`is`(Key.TAB, ModifierKey.SHIFT)) false else !event.isConsumed
}