diff options
Diffstat (limited to 'src/jsMain')
-rw-r--r-- | src/jsMain/kotlin/moe/nea89/website/KConsole.kt | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/jsMain/kotlin/moe/nea89/website/KConsole.kt b/src/jsMain/kotlin/moe/nea89/website/KConsole.kt index 3c5fad1..a7b1102 100644 --- a/src/jsMain/kotlin/moe/nea89/website/KConsole.kt +++ b/src/jsMain/kotlin/moe/nea89/website/KConsole.kt @@ -1,5 +1,6 @@ package moe.nea89.website +import kotlinx.browser.window import kotlinx.browser.document import kotlinx.dom.addClass import kotlinx.html.InputType @@ -178,7 +179,11 @@ class KConsole( } fun keydown(event: KeyboardEvent) { - if (event.altKey || event.ctrlKey || event.metaKey) return + if (event.altKey || event.metaKey) return + if (event.ctrlKey) { + handleControlDown(event) + return + } if (event.isComposing) return if (state != ConsoleState.SHELLPROMPT) return if (justHandledInput) { @@ -208,4 +213,16 @@ class KConsole( rerender() scrollDown() } + + + fun handleControlDown(event: KeyboardEvent){ + if (event.key == "v"){ + event.preventDefault() + window.navigator.clipboard.readText().then { + input += it + rerender() + scrollDown() + } + } + } } |