From 98e4f73cfeec45645b1e205bbc41ae1620783924 Mon Sep 17 00:00:00 2001 From: Stone_Red <56473591+Stone-Red-Code@users.noreply.github.com> Date: Wed, 10 Jun 2026 03:03:28 +0200 Subject: [PATCH] Properly ignore control characters when adding input in CLI and Terminal processes --- Processes/CliProcess.cs | 7 +++++-- Processes/TerminalProcess.cs | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Processes/CliProcess.cs b/Processes/CliProcess.cs index db2e213..174e39c 100644 --- a/Processes/CliProcess.cs +++ b/Processes/CliProcess.cs @@ -41,8 +41,11 @@ internal class CliProcess() : Process("Cli") break; default: - currentInput += key.KeyChar; - Console.Write(key.KeyChar); + if (!char.IsControl(key.KeyChar)) + { + currentInput += key.KeyChar; + Console.Write(key.KeyChar); + } break; } } diff --git a/Processes/TerminalProcess.cs b/Processes/TerminalProcess.cs index de71942..d29c39b 100644 --- a/Processes/TerminalProcess.cs +++ b/Processes/TerminalProcess.cs @@ -81,7 +81,7 @@ public class TerminalProcess : Process UpdateDisplay(); } } - else if (keyEvent.KeyChar is >= (char)32 and <= (char)126) // Printable chars + else if (!char.IsControl(keyEvent.KeyChar)) { currentInput += keyEvent.KeyChar; UpdateDisplay();