diff --git a/vt100_input.go b/vt100_input.go index 155f3cc..8879819 100644 --- a/vt100_input.go +++ b/vt100_input.go @@ -148,17 +148,17 @@ var asciiSequences []*ASCIICode = []*ASCIICode{ {Key: Enter, ASCIICode: []byte{0xa}}, {Key: Delete, ASCIICode: []byte{0x1b, 0x5b, 0x33, 0x7e}}, - {Key: ShiftDelete, ASCIICode: []byte{0x1b, 0x5b, 0x33, 0x3b, 0x02, 0x7e}}, - {Key: ControlDelete, ASCIICode: []byte{0x1b, 0x5b, 0x33, 0x3b, 0x05, 0x7e}}, - {Key: Home, ASCIICode: []byte{0x1b, 0x5b, 0x01, 0x7e}}, - {Key: End, ASCIICode: []byte{0x1b, 0x5b, 0x04, 0x7e}}, - {Key: PageUp, ASCIICode: []byte{0x1b, 0x5b, 0x05, 0x7e}}, - {Key: PageDown, ASCIICode: []byte{0x1b, 0x5b, 0x06, 0x7e}}, - {Key: Home, ASCIICode: []byte{0x1b, 0x5b, 0x07, 0x7e}}, - {Key: End, ASCIICode: []byte{0x1b, 0x5b, 0x09, 0x7e}}, + {Key: ShiftDelete, ASCIICode: []byte{0x1b, 0x5b, 0x33, 0x3b, 0x32, 0x7e}}, + {Key: ControlDelete, ASCIICode: []byte{0x1b, 0x5b, 0x33, 0x3b, 0x35, 0x7e}}, + {Key: Home, ASCIICode: []byte{0x1b, 0x5b, 0x31, 0x7e}}, + {Key: End, ASCIICode: []byte{0x1b, 0x5b, 0x34, 0x7e}}, + {Key: PageUp, ASCIICode: []byte{0x1b, 0x5b, 0x35, 0x7e}}, + {Key: PageDown, ASCIICode: []byte{0x1b, 0x5b, 0x36, 0x7e}}, + {Key: Home, ASCIICode: []byte{0x1b, 0x5b, 0x37, 0x7e}}, + {Key: End, ASCIICode: []byte{0x1b, 0x5b, 0x38, 0x7e}}, {Key: Tab, ASCIICode: []byte{0x9}}, {Key: BackTab, ASCIICode: []byte{0x1b, 0x5b, 0x5a}}, - {Key: Insert, ASCIICode: []byte{0x1b, 0x5b, 0x02, 0x7e}}, + {Key: Insert, ASCIICode: []byte{0x1b, 0x5b, 0x32, 0x7e}}, {Key: F1, ASCIICode: []byte{0x1b, 0x4f, 0x50}}, {Key: F2, ASCIICode: []byte{0x1b, 0x4f, 0x51}}, @@ -194,28 +194,28 @@ var asciiSequences []*ASCIICode = []*ASCIICode{ {Key: F20, ASCIICode: []byte{0x1b, 0x5b, 0x34, 0x7e}}, // Xterm - {Key: F13, ASCIICode: []byte{0x1b, 0x5b, 0x01, 0x3b, 0x02, 0x50}}, - {Key: F14, ASCIICode: []byte{0x1b, 0x5b, 0x01, 0x3b, 0x02, 0x51}}, - // &ASCIICode{Key: F15, ASCIICode: []byte{0x1b, 0x5b, 0x01, 0x3b, 0x02, 0x52}}, // Conflicts with CPR response - {Key: F16, ASCIICode: []byte{0x1b, 0x5b, 0x01, 0x3b, 0x02, 0x52}}, - {Key: F17, ASCIICode: []byte{0x1b, 0x5b, 0x15, 0x3b, 0x02, 0x7e}}, - {Key: F18, ASCIICode: []byte{0x1b, 0x5b, 0x17, 0x3b, 0x02, 0x7e}}, - {Key: F19, ASCIICode: []byte{0x1b, 0x5b, 0x18, 0x3b, 0x02, 0x7e}}, - {Key: F20, ASCIICode: []byte{0x1b, 0x5b, 0x19, 0x3b, 0x02, 0x7e}}, - {Key: F21, ASCIICode: []byte{0x1b, 0x5b, 0x20, 0x3b, 0x02, 0x7e}}, - {Key: F22, ASCIICode: []byte{0x1b, 0x5b, 0x21, 0x3b, 0x02, 0x7e}}, - {Key: F23, ASCIICode: []byte{0x1b, 0x5b, 0x23, 0x3b, 0x02, 0x7e}}, - {Key: F24, ASCIICode: []byte{0x1b, 0x5b, 0x24, 0x3b, 0x02, 0x7e}}, + {Key: F13, ASCIICode: []byte{0x1b, 0x5b, 0x31, 0x3b, 0x32, 0x50}}, + {Key: F14, ASCIICode: []byte{0x1b, 0x5b, 0x31, 0x3b, 0x32, 0x51}}, + // &ASCIICode{Key: F15, ASCIICode: []byte{0x1b, 0x5b, 0x31, 0x3b, 0x32, 0x52}}, // Conflicts with CPR response + {Key: F16, ASCIICode: []byte{0x1b, 0x5b, 0x31, 0x3b, 0x32, 0x52}}, + {Key: F17, ASCIICode: []byte{0x1b, 0x5b, 0x15, 0x3b, 0x32, 0x7e}}, + {Key: F18, ASCIICode: []byte{0x1b, 0x5b, 0x17, 0x3b, 0x32, 0x7e}}, + {Key: F19, ASCIICode: []byte{0x1b, 0x5b, 0x18, 0x3b, 0x32, 0x7e}}, + {Key: F20, ASCIICode: []byte{0x1b, 0x5b, 0x19, 0x3b, 0x32, 0x7e}}, + {Key: F21, ASCIICode: []byte{0x1b, 0x5b, 0x20, 0x3b, 0x32, 0x7e}}, + {Key: F22, ASCIICode: []byte{0x1b, 0x5b, 0x21, 0x3b, 0x32, 0x7e}}, + {Key: F23, ASCIICode: []byte{0x1b, 0x5b, 0x23, 0x3b, 0x32, 0x7e}}, + {Key: F24, ASCIICode: []byte{0x1b, 0x5b, 0x24, 0x3b, 0x32, 0x7e}}, - {Key: ControlUp, ASCIICode: []byte{0x1b, 0x5b, 0x01, 0x3b, 0x5a}}, - {Key: ControlDown, ASCIICode: []byte{0x1b, 0x5b, 0x01, 0x3b, 0x5b}}, - {Key: ControlRight, ASCIICode: []byte{0x1b, 0x5b, 0x01, 0x3b, 0x5c}}, - {Key: ControlLeft, ASCIICode: []byte{0x1b, 0x5b, 0x01, 0x3b, 0x5d}}, + {Key: ControlUp, ASCIICode: []byte{0x1b, 0x5b, 0x31, 0x3b, 0x35, 0x41}}, + {Key: ControlDown, ASCIICode: []byte{0x1b, 0x5b, 0x31, 0x3b, 0x35, 0x42}}, + {Key: ControlRight, ASCIICode: []byte{0x1b, 0x5b, 0x31, 0x3b, 0x35, 0x43}}, + {Key: ControlLeft, ASCIICode: []byte{0x1b, 0x5b, 0x31, 0x3b, 0x35, 0x44}}, - {Key: ShiftUp, ASCIICode: []byte{0x1b, 0x5b, 0x01, 0x2a}}, - {Key: ShiftDown, ASCIICode: []byte{0x1b, 0x5b, 0x01, 0x2b}}, - {Key: ShiftRight, ASCIICode: []byte{0x1b, 0x5b, 0x01, 0x2c}}, - {Key: ShiftLeft, ASCIICode: []byte{0x1b, 0x5b, 0x01, 0x2d}}, + {Key: ShiftUp, ASCIICode: []byte{0x1b, 0x5b, 0x31, 0x3b, 0x32, 0x41}}, + {Key: ShiftDown, ASCIICode: []byte{0x1b, 0x5b, 0x31, 0x3b, 0x32, 0x42}}, + {Key: ShiftRight, ASCIICode: []byte{0x1b, 0x5b, 0x31, 0x3b, 0x32, 0x43}}, + {Key: ShiftLeft, ASCIICode: []byte{0x1b, 0x5b, 0x31, 0x3b, 0x32, 0x44}}, // Tmux sends following keystrokes when control+arrow is pressed, but for // Emacs ansi-term sends the same sequences for normal arrow keys. Consider @@ -225,10 +225,10 @@ var asciiSequences []*ASCIICode = []*ASCIICode{ {Key: Right, ASCIICode: []byte{0x1b, 0x4f, 0x43}}, {Key: Left, ASCIICode: []byte{0x1b, 0x4f, 0x44}}, - {Key: ControlUp, ASCIICode: []byte{0x1b, 0x5b, 0x05, 0x41}}, - {Key: ControlDown, ASCIICode: []byte{0x1b, 0x5b, 0x05, 0x42}}, - {Key: ControlRight, ASCIICode: []byte{0x1b, 0x5b, 0x05, 0x43}}, - {Key: ControlLeft, ASCIICode: []byte{0x1b, 0x5b, 0x05, 0x44}}, + {Key: ControlUp, ASCIICode: []byte{0x1b, 0x5b, 0x35, 0x41}}, + {Key: ControlDown, ASCIICode: []byte{0x1b, 0x5b, 0x35, 0x42}}, + {Key: ControlRight, ASCIICode: []byte{0x1b, 0x5b, 0x35, 0x43}}, + {Key: ControlLeft, ASCIICode: []byte{0x1b, 0x5b, 0x35, 0x44}}, {Key: ControlRight, ASCIICode: []byte{0x1b, 0x5b, 0x4f, 0x63}}, // rxvt {Key: ControlLeft, ASCIICode: []byte{0x1b, 0x5b, 0x4f, 0x64}}, // rxvt