From 1cbaecbbcd8bf601f1f35998d6a4fcdeb6df1e35 Mon Sep 17 00:00:00 2001 From: Ralf Date: Mon, 26 May 2025 18:30:33 +0300 Subject: [PATCH] Terminal update --- .../kb-layouts/linux_backspace_7f.keytab | 186 ------------------ .../Libs/Konsole/kb-layouts/vt100.keytab | 133 ------------- .../Libs/Konsole/kb-layouts/vt420pc.keytab | 168 ---------------- .../Libs/Konsole/kb-layouts/x11r5.keytab | 71 ------- AdaptixClient/Libs/Konsole/res.qrc | 6 +- .../Libs/Konsole/util/KeyboardTranslator.cpp | 18 +- .../Source/UI/Widgets/TerminalWidget.cpp | 12 +- 7 files changed, 13 insertions(+), 581 deletions(-) delete mode 100644 AdaptixClient/Libs/Konsole/kb-layouts/linux_backspace_7f.keytab delete mode 100644 AdaptixClient/Libs/Konsole/kb-layouts/vt100.keytab delete mode 100644 AdaptixClient/Libs/Konsole/kb-layouts/vt420pc.keytab delete mode 100644 AdaptixClient/Libs/Konsole/kb-layouts/x11r5.keytab diff --git a/AdaptixClient/Libs/Konsole/kb-layouts/linux_backspace_7f.keytab b/AdaptixClient/Libs/Konsole/kb-layouts/linux_backspace_7f.keytab deleted file mode 100644 index 0562305d..00000000 --- a/AdaptixClient/Libs/Konsole/kb-layouts/linux_backspace_7f.keytab +++ /dev/null @@ -1,186 +0,0 @@ -# Linux Backspace 0x7f Keyboard Table -# -# To customize your keyboard, copy this file to something -# ending with .keytab and change it to meet you needs. -# Please read the README.KeyTab and the README.keyboard -# in this case. -# -# -------------------------------------------------------------- - -keyboard "Linux Backspace 0x7f" - -# -------------------------------------------------------------- -# -# Note that this particular table is a "risc" version made to -# ease customization without bothering with obsolete details. -# See VT100.keytab for the more hairy stuff. -# -# -------------------------------------------------------------- - -# common keys - -key Escape : "\E" - -key Tab -Shift : "\t" -key Tab +Shift+Ansi : "\E[Z" -key Tab +Shift-Ansi : "\t" -key Backtab +Ansi : "\E[Z" -key Backtab -Ansi : "\t" - -key Return-Shift-NewLine : "\r" -key Return-Shift+NewLine : "\r\n" - -key Return+Shift : "\EOM" - -# Backspace and Delete codes are preserving CTRL-H. -# -# Backspace without CTRL sends '^H'; this matches XTerm behaviour -# BS, hex \x08, \b -# key Backspace -Control : "\b" -key Backspace -Control : "\x7f" - -# Match xterm behaviour: Backspace sends '^?' when Control is pressed -# key Backspace +Control : "\x7f" - -# Arrow keys in VT52 mode -# shift up/down are reserved for scrolling. -# shift left/right are reserved for switching between tabs (this is hardcoded). - -key Up -Shift-Ansi : "\EA" -key Down -Shift-Ansi : "\EB" -key Right-Shift-Ansi : "\EC" -key Left -Shift-Ansi : "\ED" - -# Arrow keys in ANSI mode with Application - and Normal Cursor Mode) - -key Up -Shift-AnyMod+Ansi+AppCuKeys : "\EOA" -key Down -Shift-AnyMod+Ansi+AppCuKeys : "\EOB" -key Right -Shift-AnyMod+Ansi+AppCuKeys : "\EOC" -key Left -Shift-AnyMod+Ansi+AppCuKeys : "\EOD" - -key Up -Shift-AnyMod+Ansi-AppCuKeys : "\E[A" -key Down -Shift-AnyMod+Ansi-AppCuKeys : "\E[B" -key Right -Shift-AnyMod+Ansi-AppCuKeys : "\E[C" -key Left -Shift-AnyMod+Ansi-AppCuKeys : "\E[D" - -key Up -Shift+AnyMod+Ansi : "\E[1;*A" -key Down -Shift+AnyMod+Ansi : "\E[1;*B" -key Right -Shift+AnyMod+Ansi : "\E[1;*C" -key Left -Shift+AnyMod+Ansi : "\E[1;*D" - -key Up +Shift+AppScreen : "\E[1;*A" -key Down +Shift+AppScreen : "\E[1;*B" -key Left +Shift+AppScreen : "\E[1;*D" -key Right +Shift+AppScreen : "\E[1;*C" -key PgUp +Shift+AppScreen : "\E[5;2~" -key PgDown +Shift+AppScreen : "\E[6;2~" - -# Keypad keys with NumLock ON -# (see "Numeric Keypad" section at http://www.nw.com/nw/WWW/products/wizcon/vt100.html ) -# -# Not enabled for now because it breaks the keypad in Vim. -# -#key 0 +KeyPad+AppKeyPad : "\EOp" -#key 1 +KeyPad+AppKeyPad : "\EOq" -#key 2 +KeyPad+AppKeyPad : "\EOr" -#key 3 +KeyPad+AppKeyPad : "\EOs" -#key 4 +KeyPad+AppKeyPad : "\EOt" -#key 5 +KeyPad+AppKeyPad : "\EOu" -#key 6 +KeyPad+AppKeyPad : "\EOv" -#key 7 +KeyPad+AppKeyPad : "\EOw" -#key 8 +KeyPad+AppKeyPad : "\EOx" -#key 9 +KeyPad+AppKeyPad : "\EOy" -#key + +KeyPad+AppKeyPad : "\EOl" -#key - +KeyPad+AppKeyPad : "\EOm" -#key . +KeyPad+AppKeyPad : "\EOn" -#key * +KeyPad+AppKeyPad : "\EOM" -#key Enter +KeyPad+AppKeyPad : "\r" - -# Keypad keys with NumLock Off -key Up -Shift+Ansi+AppCuKeys+KeyPad : "\EOA" -key Down -Shift+Ansi+AppCuKeys+KeyPad : "\EOB" -key Right -Shift+Ansi+AppCuKeys+KeyPad : "\EOC" -key Left -Shift+Ansi+AppCuKeys+KeyPad : "\EOD" - -key Up -Shift+Ansi-AppCuKeys+KeyPad : "\E[A" -key Down -Shift+Ansi-AppCuKeys+KeyPad : "\E[B" -key Right -Shift+Ansi-AppCuKeys+KeyPad : "\E[C" -key Left -Shift+Ansi-AppCuKeys+KeyPad : "\E[D" - -key Home +AppCuKeys+KeyPad : "\EOH" -key End +AppCuKeys+KeyPad : "\EOF" -key Home -AppCuKeys+KeyPad : "\E[H" -key End -AppCuKeys+KeyPad : "\E[F" - -key Insert +KeyPad : "\E[2~" -key Delete +KeyPad : "\E[3~" -key PgUp -Shift+KeyPad : "\E[5~" -key PgDown -Shift+KeyPad : "\E[6~" - -key Clear -AnyMod+KeyPad+AppKeyPad : "\E[OE" -key Clear +AnyMod+KeyPad+AppKeyPad : "\E[1;*E" - -# other grey PC keys - -key Enter+NewLine : "\r\n" -key Enter-NewLine : "\r" - -key Home -AnyMod-AppCuKeys : "\E[H" -key End -AnyMod-AppCuKeys : "\E[F" -key Home -AnyMod+AppCuKeys : "\EOH" -key End -AnyMod+AppCuKeys : "\EOF" -key Home +AnyMod : "\E[1;*H" -key End +AnyMod : "\E[1;*F" - -key Insert -AnyMod : "\E[2~" -key Delete -AnyMod : "\E[3~" -key Insert +AnyMod : "\E[2;*~" -key Delete +AnyMod : "\E[3;*~" - -key PgUp -Shift-AnyMod : "\E[5~" -key PgDown -Shift-AnyMod : "\E[6~" -key PgUp -Shift+AnyMod : "\E[5;*~" -key PgDown -Shift+AnyMod : "\E[6;*~" - -# Function keys -key F1 -AnyMod : "\EOP" -key F2 -AnyMod : "\EOQ" -key F3 -AnyMod : "\EOR" -key F4 -AnyMod : "\EOS" -key F5 -AnyMod : "\E[15~" -key F6 -AnyMod : "\E[17~" -key F7 -AnyMod : "\E[18~" -key F8 -AnyMod : "\E[19~" -key F9 -AnyMod : "\E[20~" -key F10 -AnyMod : "\E[21~" -key F11 -AnyMod : "\E[23~" -key F12 -AnyMod : "\E[24~" - -key F1 +AnyMod : "\EO*P" -key F2 +AnyMod : "\EO*Q" -key F3 +AnyMod : "\EO*R" -key F4 +AnyMod : "\EO*S" -key F5 +AnyMod : "\E[15;*~" -key F6 +AnyMod : "\E[17;*~" -key F7 +AnyMod : "\E[18;*~" -key F8 +AnyMod : "\E[19;*~" -key F9 +AnyMod : "\E[20;*~" -key F10 +AnyMod : "\E[21;*~" -key F11 +AnyMod : "\E[23;*~" -key F12 +AnyMod : "\E[24;*~" - -# Work around dead keys - -key Space +Control : "\x00" - -# Some keys are used by konsole to cause operations. -# The scroll* operations refer to the history buffer. - -key Up +Shift-AppScreen : scrollLineUp -key PgUp +Shift-AppScreen : scrollPageUp -key Home +Shift-AppScreen : scrollUpToTop -key Down +Shift-AppScreen : scrollLineDown -key PgDown +Shift-AppScreen : scrollPageDown -key End +Shift-AppScreen : scrollDownToBottom - -key ScrollLock : scrollLock diff --git a/AdaptixClient/Libs/Konsole/kb-layouts/vt100.keytab b/AdaptixClient/Libs/Konsole/kb-layouts/vt100.keytab deleted file mode 100644 index 590e45d6..00000000 --- a/AdaptixClient/Libs/Konsole/kb-layouts/vt100.keytab +++ /dev/null @@ -1,133 +0,0 @@ -# [vt100.keytab] Konsole Keyboard Table (VT100 keys) -# -# -------------------------------------------------------------- - -keyboard "vt100 (historical)" - -# -------------------------------------------------------------- -# -# This configuration table allows to customize the -# meaning of the keys. -# -# The syntax is that each entry has the form : -# -# "key" Keyname { ("+"|"-") Modename } ":" (String|Operation) -# -# Keynames are those defined in with the -# "Qt::Key_" removed. (We'd better insert the list here) -# -# Mode names are : -# -# - Shift -# - Alt -# - Control -# -# The VT100 emulation has two modes that can affect the -# sequences emitted by certain keys. These modes are -# under control of the client program. -# -# - Newline : effects Return and Enter key. -# - Application : effects Up and Down key. -# -# - Ansi : effects Up and Down key (This is for VT52, really). -# -# Operations are -# -# - scrollUpLine -# - scrollUpPage -# - scrollDownLine -# - scrollDownPage -# -# - emitSelection -# -# If the key is not found here, the text of the -# key event as provided by QT is emitted, possibly -# preceded by ESC if the Alt key is pressed. -# -# -------------------------------------------------------------- - -key Escape : "\E" -key Tab : "\t" - -# VT100 can add an extra \n after return. -# The NewLine mode is set by an escape sequence. - -key Return-NewLine : "\r" -key Return+NewLine : "\r\n" - -# Some desperately try to save the ^H. - -key Backspace : "\x7f" -key Delete : "\E[3~" - -# These codes are for the VT52 mode of VT100 -# The Ansi mode (i.e. VT100 mode) is set by -# an escape sequence - -key Up -Shift-Ansi : "\EA" -key Down -Shift-Ansi : "\EB" -key Right-Shift-Ansi : "\EC" -key Left -Shift-Ansi : "\ED" - -# VT100 emits a mode bit together -# with the arrow keys.The AppCuKeys -# mode is set by an escape sequence. - -key Up -Shift+Ansi+AppCuKeys : "\EOA" -key Down -Shift+Ansi+AppCuKeys : "\EOB" -key Right-Shift+Ansi+AppCuKeys : "\EOC" -key Left -Shift+Ansi+AppCuKeys : "\EOD" - -key Up -Shift+Ansi-AppCuKeys : "\E[A" -key Down -Shift+Ansi-AppCuKeys : "\E[B" -key Right-Shift+Ansi-AppCuKeys : "\E[C" -key Left -Shift+Ansi-AppCuKeys : "\E[D" - -# function keys (FIXME: make pf1-pf4) - -key F1 : "\E[11~" -key F2 : "\E[12~" -key F3 : "\E[13~" -key F4 : "\E[14~" -key F5 : "\E[15~" - -key F6 : "\E[17~" -key F7 : "\E[18~" -key F8 : "\E[19~" -key F9 : "\E[20~" -key F10 : "\E[21~" -key F11 : "\E[23~" -key F12 : "\E[24~" - -key Home : "\E[H" -key End : "\E[F" - -key PgUp -Shift : "\E[5~" -key PgDown -Shift : "\E[6~" -key Insert -Shift : "\E[2~" - -# Keypad-Enter. See comment on Return above. - -key Enter+NewLine : "\r\n" -key Enter-NewLine : "\r" - -key Space +Control : "\x00" - -# some of keys are used by konsole. - -key Up +Shift : scrollLineUp -key PgUp +Shift : scrollPageUp -key Down +Shift : scrollLineDown -key PgDown +Shift : scrollPageDown - -key ScrollLock : scrollLock - - -#---------------------------------------------------------- - -# keypad characters as offered by Qt -# cannot be recognized as such. - -#---------------------------------------------------------- - -# Following other strings as emitted by konsole. diff --git a/AdaptixClient/Libs/Konsole/kb-layouts/vt420pc.keytab b/AdaptixClient/Libs/Konsole/kb-layouts/vt420pc.keytab deleted file mode 100644 index 33e8a23f..00000000 --- a/AdaptixClient/Libs/Konsole/kb-layouts/vt420pc.keytab +++ /dev/null @@ -1,168 +0,0 @@ -# -# NOTE: This keyboard binding is not installed because it -# apparently doesn't work with actual VT420 systems -# (see BUG:170220) -# -# [vt420pc.keytab] Konsole Keyboard Table (VT420pc keys) -# adapted by ferdinand gassauer f.gassauer@aon.at -# Nov 2000 -# -################################################################ -# -# The escape sequences emitted by the -# keys Shift+F1 to Shift+F12 might not fit your needs -# -################# IMPORTANT NOTICE ############################# -# the key bindings (Kcontrol -> look and feel -> keybindgs) -# overrule the settings in this file. The key bindings might be -# changed by the user WITHOUT notification of the maintainer of -# the keytab file. Konsole will not work as expected by -# the maintainer of the keytab file. -################################################################ -# -# -------------------------------------------------------------- - -keyboard "DEC VT420 Terminal" - -# -------------------------------------------------------------- -# -# This configuration table allows to customize the -# meaning of the keys. -# -# The syntax is that each entry has the form : -# -# "key" Keyname { ("+"|"-") Modename } ":" (String|Operation) -# -# Keynames are those defined in with the -# "Qt::Key_" removed. (We'd better insert the list here) -# -# Mode names are : -# -# - Shift -# - Alt -# - Control -# -# The VT100 emulation has two modes that can affect the -# sequences emitted by certain keys. These modes are -# under control of the client program. -# -# - Newline : effects Return and Enter key. -# - Application : effects Up and Down key. -# -# - Ansi : effects Up and Down key (This is for VT52, really). -# -# Operations are -# -# - scrollUpLine -# - scrollUpPage -# - scrollDownLine -# - scrollDownPage -# -# - emitSelection -# -# If the key is not found here, the text of the -# key event as provided by QT is emitted, possibly -# preceded by ESC if the Alt key is pressed. -# -# -------------------------------------------------------------- - -key Escape : "\E" -key Tab : "\t" -key Backtab: "\E[Z" - -# VT100 can add an extra \n after return. -# The NewLine mode is set by an escape sequence. - -key Return-NewLine : "\r" -key Return+NewLine : "\r\n" - -# Some desperately try to save the ^H. -# may be not everyone wants this - -key Backspace : "\x08" # Control H -key Delete : "\x7f" - -# These codes are for the VT420pc -# The Ansi mode (i.e. VT100 mode) is set by -# an escape sequence - -key Up -Shift-Ansi : "\EA" -key Down -Shift-Ansi : "\EB" -key Right-Shift-Ansi : "\EC" -key Left -Shift-Ansi : "\ED" - -# VT100 emits a mode bit together -# with the arrow keys.The AppCuKeys -# mode is set by an escape sequence. - -key Up -Shift+Ansi+AppCuKeys : "\EOA" -key Down -Shift+Ansi+AppCuKeys : "\EOB" -key Right-Shift+Ansi+AppCuKeys : "\EOC" -key Left -Shift+Ansi+AppCuKeys : "\EOD" - -key Up -Shift+Ansi-AppCuKeys : "\E[A" -key Down -Shift+Ansi-AppCuKeys : "\E[B" -key Right-Shift+Ansi-AppCuKeys : "\E[C" -key Left -Shift+Ansi-AppCuKeys : "\E[D" - -# function keys - -key F1 -Shift : "\E[11~" -key F2 -Shift : "\E[12~" -key F3 -Shift : "\E[13~" -key F4 -Shift : "\E[14~" -key F5 -Shift : "\E[15~" -key F6 -Shift : "\E[17~" -key F7 -Shift : "\E[18~" -key F8 -Shift : "\E[19~" -key F9 -Shift : "\E[20~" -key F10-Shift : "\E[21~" -key F11-Shift : "\E[23~" -key F12-Shift : "\E[24~" -# -# Shift F1-F12 -# -key F1 +Shift : "\E[11;2~" -key F2 +Shift : "\E[12;2~" -key F3 +Shift : "\E[13;2~" -key F4 +Shift : "\E[14;2~" -key F5 +Shift : "\E[15;2~" -key F6 +Shift : "\E[17;2~" -key F7 +Shift : "\E[18;2~" -key F8 +Shift : "\E[19;2~" -key F9 +Shift : "\E[20;2~" -key F10+Shift : "\E[21;2~" -key F11+Shift : "\E[23;2~" -key F12+Shift : "\E[24;2~" - -key Home : "\E[H" -key End : "\E[F" - -key PgUp -Shift : "\E[5~" -key PgDown -Shift : "\E[6~" -key Insert -Shift : "\E[2~" - -# Keypad-Enter. See comment on Return above. - -key Enter+NewLine : "\r\n" -key Enter-NewLine : "\r" - -key Space +Control : "\x00" - -# some of keys are used by konsole. - -key Up +Shift : scrollLineUp -key PgUp +Shift : scrollPageUp -key Down +Shift : scrollLineDown -key PgDown +Shift : scrollPageDown - -key ScrollLock : scrollLock - -#---------------------------------------------------------- - -# keypad characters as offered by Qt -# cannot be recognized as such. - -#---------------------------------------------------------- - -# Following other strings as emitted by konsole. diff --git a/AdaptixClient/Libs/Konsole/kb-layouts/x11r5.keytab b/AdaptixClient/Libs/Konsole/kb-layouts/x11r5.keytab deleted file mode 100644 index e17da0d4..00000000 --- a/AdaptixClient/Libs/Konsole/kb-layouts/x11r5.keytab +++ /dev/null @@ -1,71 +0,0 @@ -# [x11r5.Keytab] Keyboard Table for X11 R5 - -keyboard "XTerm (XFree 3.x.x)" - -# -------------------------------------------------------------- -# -# Note that this particular table is a "risc" version made to -# ease customization without bothering with obsolete details. -# See VT100.keytab for the more hairy stuff. -# -# -------------------------------------------------------------- - -# common keys - -key Escape : "\E" -key Tab : "\t" - -key Return : "\r" - -# Backspace and Delete codes are preserving CTRL-H. - -key Backspace : "\x7f" - -# cursor keys - -key Up -Shift : "\EOA" -key Down -Shift : "\EOB" -key Right -Shift : "\EOC" -key Left -Shift : "\EOD" - -# other grey PC keys - -key Enter : "\r" - -key Home : "\E[1~" -key Insert-Shift : "\E[2~" -key Delete : "\E[3~" -key End : "\E[4~" -key PgUp -Shift : "\E[5~" -key PgDown -Shift : "\E[6~" - -# function keys - -key F1 : "\E[11~" -key F2 : "\E[12~" -key F3 : "\E[13~" -key F4 : "\E[14~" -key F5 : "\E[15~" -key F6 : "\E[17~" -key F7 : "\E[18~" -key F8 : "\E[19~" -key F9 : "\E[20~" -key F10 : "\E[21~" -key F11 : "\E[23~" -key F12 : "\E[24~" - -# Work around dead keys - -key Space +Control : "\x00" - -# Some keys are used by konsole to cause operations. -# The scroll* operations refer to the history buffer. - -key Up +Shift : scrollLineUp -key PgUp +Shift : scrollPageUp -key Down +Shift : scrollLineDown -key PgDown +Shift : scrollPageDown - -key ScrollLock : scrollLock - -# keypad characters are not offered differently by Qt. diff --git a/AdaptixClient/Libs/Konsole/res.qrc b/AdaptixClient/Libs/Konsole/res.qrc index 25be0b83..45df3fa2 100644 --- a/AdaptixClient/Libs/Konsole/res.qrc +++ b/AdaptixClient/Libs/Konsole/res.qrc @@ -7,14 +7,10 @@ ./color-schemes/MaterialOcean.colorscheme ./kb-layouts/linux_console.keytab ./kb-layouts/linux_default.keytab - ./kb-layouts/linux_backspace_7f.keytab ./kb-layouts/macos_default.keytab ./kb-layouts/macos_macbook.keytab + ./kb-layouts/solaris.keytab ./kb-layouts/windows_conpty.keytab ./kb-layouts/windows_winpty.keytab - ./kb-layouts/solaris.keytab - ./kb-layouts/vt420pc.keytab - ./kb-layouts/vt100.keytab - ./kb-layouts/x11r5.keytab diff --git a/AdaptixClient/Libs/Konsole/util/KeyboardTranslator.cpp b/AdaptixClient/Libs/Konsole/util/KeyboardTranslator.cpp index 995d6c47..6680f98c 100644 --- a/AdaptixClient/Libs/Konsole/util/KeyboardTranslator.cpp +++ b/AdaptixClient/Libs/Konsole/util/KeyboardTranslator.cpp @@ -93,22 +93,17 @@ KeyboardTranslator * KeyboardTranslatorManager::loadTranslator(const QString &na } const KeyboardTranslator *KeyboardTranslatorManager::defaultTranslator() { - // Try to find the default.keytab file if it exists, otherwise - // fall back to the hard-coded one + #if defined(Q_OS_WIN) #if defined(Q_CC_MSVC) - const KeyboardTranslator *translator = - findTranslator(QLatin1String("windows_conpty")); + const KeyboardTranslator *translator = findTranslator(QLatin1String("windows_conpty")); #else - const KeyboardTranslator *translator = - findTranslator(QLatin1String("windows_winpty")); + const KeyboardTranslator *translator = findTranslator(QLatin1String("windows_winpty")); #endif #elif defined(Q_OS_MAC) - const KeyboardTranslator *translator = - findTranslator(QLatin1String("macos_default")); + const KeyboardTranslator *translator = findTranslator(QLatin1String("macos_default")); #else - const KeyboardTranslator *translator = - findTranslator(QLatin1String("linux_default")); + const KeyboardTranslator *translator = findTranslator(QLatin1String("linux_default")); #endif if (!translator) { QBuffer textBuffer; @@ -747,8 +742,7 @@ void KeyboardTranslator::removeEntry(const Entry &entry) { _entries.remove(entry.keyCode(), entry); } -KeyboardTranslator::Entry KeyboardTranslator::findEntry(int keyCode, Qt::KeyboardModifiers modifiers, - States state) const { +KeyboardTranslator::Entry KeyboardTranslator::findEntry(int keyCode, Qt::KeyboardModifiers modifiers, States state) const { for (auto it = _entries.cbegin(), end = _entries.cend(); it != end; ++it) { if (it.key() == keyCode) if (it.value().matches(keyCode, modifiers, state)) diff --git a/AdaptixClient/Source/UI/Widgets/TerminalWidget.cpp b/AdaptixClient/Source/UI/Widgets/TerminalWidget.cpp index 91125de9..550b1655 100644 --- a/AdaptixClient/Source/UI/Widgets/TerminalWidget.cpp +++ b/AdaptixClient/Source/UI/Widgets/TerminalWidget.cpp @@ -154,12 +154,12 @@ void TerminalWidget::SetSettings() termWidget->setColorScheme("iTerm2 Default"); - for (const QString &arg : QApplication::arguments()) { - if (termWidget->availableColorSchemes().contains(arg)) - termWidget->setColorScheme(arg); - if (termWidget->availableKeyBindings().contains(arg)) - termWidget->setKeyBindings(arg); - } + if (this->agent->data.Os == OS_WINDOWS) + termWidget->setKeyBindings("windows_conpty"); + else if (this->agent->data.Os == OS_MAC) + termWidget->setKeyBindings("macos_macbook"); + else if (this->agent->data.Os == OS_LINUX) + termWidget->setKeyBindings("linux_console"); termWidget->setContextMenuPolicy(Qt::CustomContextMenu); }