diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index e0bca7d123..33f4b7c68d 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -1173,7 +1173,7 @@ TermView::KeyDown(const char *bytes, int32 numBytes) BMessage message(MSG_PREVIOUS_TAB); message.AddPointer("termView", this); Window()->PostMessage(&message); - } else if (mod & B_CONTROL_KEY) { + } else if ((mod & B_CONTROL_KEY) || (mod & B_COMMAND_KEY)) { toWrite = CTRL_LEFT_ARROW_KEY_CODE; } else toWrite = LEFT_ARROW_KEY_CODE; @@ -1186,7 +1186,7 @@ TermView::KeyDown(const char *bytes, int32 numBytes) BMessage message(MSG_NEXT_TAB); message.AddPointer("termView", this); Window()->PostMessage(&message); - } else if (mod & B_CONTROL_KEY) { + } else if ((mod & B_CONTROL_KEY) || (mod & B_COMMAND_KEY)) { toWrite = CTRL_RIGHT_ARROW_KEY_CODE; } else toWrite = RIGHT_ARROW_KEY_CODE; diff --git a/src/apps/terminal/VTkeymap.h b/src/apps/terminal/VTkeymap.h index c4b4e99b65..ca05584b72 100644 --- a/src/apps/terminal/VTkeymap.h +++ b/src/apps/terminal/VTkeymap.h @@ -69,10 +69,10 @@ #define UP_ARROW_KEY_CODE "\033OA" #define DOWN_ARROW_KEY_CODE "\033OB" -#define CTRL_LEFT_ARROW_KEY_CODE "\033[5D" -#define CTRL_RIGHT_ARROW_KEY_CODE "\033[5C" -#define CTRL_UP_ARROW_KEY_CODE "\033[5A" -#define CTRL_DOWN_ARROW_KEY_CODE "\033[5B" +#define CTRL_LEFT_ARROW_KEY_CODE "\033O5D" +#define CTRL_RIGHT_ARROW_KEY_CODE "\033O5C" +#define CTRL_UP_ARROW_KEY_CODE "\033O5A" +#define CTRL_DOWN_ARROW_KEY_CODE "\033O5B" #define DELETE_KEY_CODE "\033[3~" #define BACKSPACE_KEY_CODE "\177"