mirror of
https://github.com/TermoraDev/termora.git
synced 2026-01-15 18:02:58 +08:00
feat: left right key
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package app.termora.terminal
|
||||
|
||||
import com.formdev.flatlaf.util.SystemInfo
|
||||
import java.awt.event.KeyEvent
|
||||
|
||||
@Suppress("MemberVisibilityCanBePrivate")
|
||||
@@ -24,6 +25,7 @@ open class KeyEncoderImpl(private val terminal: Terminal) : KeyEncoder, DataList
|
||||
keypadAnsiSequences()
|
||||
}
|
||||
|
||||
configureLeftRight()
|
||||
|
||||
putCode(TerminalKeyEvent(keyCode = 8), String(byteArrayOf(127)))
|
||||
|
||||
@@ -102,6 +104,40 @@ open class KeyEncoderImpl(private val terminal: Terminal) : KeyEncoder, DataList
|
||||
putCode(TerminalKeyEvent(keyCode = 0x27), encode = "${ControlCharacters.ESC}[C")
|
||||
}
|
||||
|
||||
fun configureLeftRight() {
|
||||
if (SystemInfo.isMacOS) {
|
||||
putCode(
|
||||
TerminalKeyEvent(keyCode = KeyEvent.VK_LEFT, TerminalEvent.ALT_MASK),
|
||||
encode = "${ControlCharacters.ESC}b"
|
||||
)
|
||||
putCode(
|
||||
TerminalKeyEvent(keyCode = KeyEvent.VK_RIGHT, TerminalEvent.ALT_MASK),
|
||||
encode = "${ControlCharacters.ESC}f"
|
||||
)
|
||||
} else {
|
||||
// ^[[1;5D
|
||||
putCode(
|
||||
TerminalKeyEvent(keyCode = KeyEvent.VK_LEFT, TerminalEvent.CTRL_MASK),
|
||||
"${ControlCharacters.ESC}[1;5D"
|
||||
)
|
||||
// ^[[1;5C
|
||||
putCode(
|
||||
TerminalKeyEvent(keyCode = KeyEvent.VK_RIGHT, TerminalEvent.CTRL_MASK),
|
||||
"${ControlCharacters.ESC}[1;5C"
|
||||
)
|
||||
// ^[[1;3D
|
||||
putCode(
|
||||
TerminalKeyEvent(keyCode = KeyEvent.VK_LEFT, TerminalEvent.ALT_MASK),
|
||||
"${ControlCharacters.ESC}[1;3D"
|
||||
)
|
||||
// ^[[1;3C
|
||||
putCode(
|
||||
TerminalKeyEvent(keyCode = KeyEvent.VK_RIGHT, TerminalEvent.ALT_MASK),
|
||||
"${ControlCharacters.ESC}[1;3C"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun keypadApplicationSequences() {
|
||||
// Up
|
||||
|
||||
Reference in New Issue
Block a user