diff --git a/kernel/include/drivers/keyboard.hpp b/kernel/include/drivers/keyboard.hpp index e7c7000c..e49abfaa 100644 --- a/kernel/include/drivers/keyboard.hpp +++ b/kernel/include/drivers/keyboard.hpp @@ -24,6 +24,7 @@ const char KEY_LEFT_CTRL = 0x1D; const char KEY_ALT = 56; const char KEY_F1 = 59; const char KEY_F2 = 60; +const char KEY_F3 = 61; void install_driver(); char get_char(); diff --git a/kernel/src/stdio.cpp b/kernel/src/stdio.cpp index 221c4b05..2b267e7c 100644 --- a/kernel/src/stdio.cpp +++ b/kernel/src/stdio.cpp @@ -22,7 +22,7 @@ namespace { stdio::terminal_driver terminal_driver_impl; stdio::terminal_driver* tty_driver = &terminal_driver_impl; -constexpr const size_t MAX_TERMINALS = 2; +constexpr const size_t MAX_TERMINALS = 3; size_t active_terminal; std::array terminals; @@ -54,6 +54,8 @@ void input_thread(void* data){ stdio::switch_terminal(0); } else if(alt && key == keyboard::KEY_F2){ stdio::switch_terminal(1); + } else if(alt && key == keyboard::KEY_F3){ + stdio::switch_terminal(2); } if(key == keyboard::KEY_LEFT_SHIFT || key == keyboard::KEY_RIGHT_SHIFT){