Here is my code in c# that works on Windows. Event separates visible and hidden characters, so I can handle both:
public void TxtScanPlace_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
keyDiff = DateTime.Now.Millisecond;
if (e.Text.Length > 0)
{
SCANTXT += e.Text;
SCANTXTRAW += e.Text;
}
else if (e.ControlText.Length > 0)
{
SCANTXT += "\u001d"; // Ubacivanje kontrolnog koda
SCANTXTRAW += e.ControlText;
controlCode++;
}
e.Handled = true; // Sprečava unos karaktera direktno u TextBox
}
Here is my code in MAUI where entry not shows hidden chars, entry just shows visible charactes, but I need hidden like char29 or group separator:
public async void OnEntryCompleted(object sender, EventArgs e)
{
if (sender is Entry entry)
{
string scannedData = entry.Text;
if (!string.IsNullOrEmpty(scannedData))
{
SCANTXT = scannedData.Replace("\u001D", "[GS]");
SCANTXTRAW = scannedData;
Console.WriteLine($"SCANTXT: {SCANTXT}");
Console.WriteLine($"SCANTXTRAW: {SCANTXTRAW}");
}
//await ProcessCodeInput();
SCANTXT = string.Empty;
entry.Text = string.Empty;
}
}