Correctly send \r instead of \n for returns and fix some other combinations. Fixes #76.
This commit is contained in:
@@ -9,7 +9,7 @@ public final class TerminalInput {
|
||||
private static final Int2ObjectArrayMap<Int2ObjectArrayMap<byte[]>> KEYCODE_SEQUENCES = new Int2ObjectArrayMap<>();
|
||||
|
||||
static {
|
||||
addSequence(GLFW.GLFW_KEY_ENTER, '\n');
|
||||
addSequence(GLFW.GLFW_KEY_ENTER, '\r');
|
||||
addSequence(GLFW.GLFW_KEY_TAB, '\t');
|
||||
addSequence(GLFW.GLFW_KEY_BACKSPACE, '\b');
|
||||
|
||||
@@ -21,26 +21,54 @@ public final class TerminalInput {
|
||||
addSequence(GLFW.GLFW_KEY_PAGE_UP, "\033[5~");
|
||||
addSequence(GLFW.GLFW_KEY_PAGE_DOWN, "\033[6~");
|
||||
|
||||
addSequence(GLFW.GLFW_KEY_F1, "\033[11~");
|
||||
addSequence(GLFW.GLFW_KEY_F2, "\033[12~");
|
||||
addSequence(GLFW.GLFW_KEY_F3, "\033[13~");
|
||||
addSequence(GLFW.GLFW_KEY_F4, "\033[14~");
|
||||
addSequence(GLFW.GLFW_KEY_F5, "\033[15~");
|
||||
addSequence(GLFW.GLFW_KEY_F6, "\033[17~");
|
||||
addSequence(GLFW.GLFW_KEY_F7, "\033[18~");
|
||||
addSequence(GLFW.GLFW_KEY_F8, "\033[19~");
|
||||
addSequence(GLFW.GLFW_KEY_F9, "\033[20~");
|
||||
addSequence(GLFW.GLFW_KEY_F10, "\033[21~");
|
||||
addSequence(GLFW.GLFW_KEY_F11, "\033[23~");
|
||||
addSequence(GLFW.GLFW_KEY_F12, "\033[24~");
|
||||
|
||||
addSequence(GLFW.GLFW_KEY_UP, "\033[A");
|
||||
addSequence(GLFW.GLFW_KEY_DOWN, "\033[B");
|
||||
addSequence(GLFW.GLFW_KEY_RIGHT, "\033[C");
|
||||
addSequence(GLFW.GLFW_KEY_LEFT, "\033[D");
|
||||
|
||||
for (int i = 'A'; i <= 'Z'; i++) {
|
||||
addSequence(GLFW.GLFW_MOD_CONTROL,
|
||||
addSequence(
|
||||
GLFW.GLFW_MOD_CONTROL,
|
||||
GLFW.GLFW_KEY_A + (i - 'A'),
|
||||
(byte) (1 + i - 'A'));
|
||||
addSequence(GLFW.GLFW_MOD_CONTROL | GLFW.GLFW_MOD_ALT,
|
||||
(byte) (1 + i - 'A')
|
||||
);
|
||||
addSequence(
|
||||
GLFW.GLFW_MOD_CONTROL | GLFW.GLFW_MOD_SHIFT,
|
||||
GLFW.GLFW_KEY_A + (i - 'A'),
|
||||
(byte) 27, (byte) ('a' + i - 'A'));
|
||||
addSequence(GLFW.GLFW_MOD_CONTROL | GLFW.GLFW_MOD_ALT | GLFW.GLFW_MOD_SHIFT,
|
||||
(byte) (1 + i - 'A')
|
||||
);
|
||||
|
||||
addSequence(
|
||||
GLFW.GLFW_MOD_ALT,
|
||||
GLFW.GLFW_KEY_A + (i - 'A'),
|
||||
(byte) 27, (byte) i);
|
||||
(byte) '\033', (byte) ('a' + i - 'A')
|
||||
);
|
||||
addSequence(
|
||||
GLFW.GLFW_MOD_ALT | GLFW.GLFW_MOD_SHIFT,
|
||||
GLFW.GLFW_KEY_A + (i - 'A'),
|
||||
(byte) '\033', (byte) (i + 128)
|
||||
);
|
||||
}
|
||||
|
||||
addSequence(GLFW.GLFW_MOD_CONTROL, GLFW.GLFW_KEY_LEFT_BRACKET, (byte) 27);
|
||||
addSequence(GLFW.GLFW_MOD_CONTROL, GLFW.GLFW_KEY_BACKSLASH, (byte) 28);
|
||||
addSequence(GLFW.GLFW_MOD_CONTROL, GLFW.GLFW_KEY_RIGHT_BRACKET, (byte) 29);
|
||||
addSequence(GLFW.GLFW_MOD_CONTROL, GLFW.GLFW_KEY_LEFT_BRACKET, (byte) '\033');
|
||||
addSequence(GLFW.GLFW_MOD_CONTROL | GLFW.GLFW_MOD_SHIFT, GLFW.GLFW_KEY_LEFT_BRACKET, (byte) '\033');
|
||||
addSequence(GLFW.GLFW_MOD_CONTROL, GLFW.GLFW_KEY_BACKSLASH, (byte) '\034');
|
||||
addSequence(GLFW.GLFW_MOD_CONTROL | GLFW.GLFW_MOD_SHIFT, GLFW.GLFW_KEY_BACKSLASH, (byte) '\034');
|
||||
addSequence(GLFW.GLFW_MOD_CONTROL, GLFW.GLFW_KEY_RIGHT_BRACKET, (byte) '\035');
|
||||
addSequence(GLFW.GLFW_MOD_CONTROL | GLFW.GLFW_MOD_SHIFT, GLFW.GLFW_KEY_RIGHT_BRACKET, (byte) '\035');
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user