Small, focused software: a zero-trust remote PowerShell system, and an open-source .NET library that tells barcode scanners from typing.
A lightweight .NET library that distinguishes manual keyboard typing from the rapid input of physical barcode scanners, which emulate keystrokes. It measures the time between keystrokes to spot fast bursts of characters and fires an event when a scan is detected.
Type a few words, then press Simulate scan and compare what happens.
A small JavaScript sketch of the timing idea (scan = at least 5 characters at 35 ms or less between keys, 300 ms cooldown). The library itself is C# for .NET.
InspiredCodes.BarcodeScanDetector
Hardware-agnostic timing buffers, a 4096-character safety limit and a 300 ms debounced cooldown. Targets .NET Standard 2.0/2.1.
View on GitHubInspiredCodes.WPF.BarcodeScanDetector
A wrapper that hooks into WPF's TextInput and PreviewTextInput events for one-line registration.
View on GitHubInspiredCodes.WinForms.BarcodeScanDetector
A wrapper that hooks into Windows Forms' KeyPress events.
View on GitHubWpfDemo and WinFormsDemo
Simple WPF and WinForms apps showing scan listening, with a UUIDv7 fast-input simulator for debugging.
View on GitHubDocumentation/CharInputStateMachine.bpmn
The timing and cooldown logic is documented as a BPMN diagram you can open in bpmn.io or Camunda Modeler.
View on GitHubInspiredCodes.BarcodeScanDetector.Tests
Cover the core logic, event registration and the 4096-character cooldown limits across all three libraries.
View on GitHubEvery request is signed. The relay never holds plaintext, so it can't leak what it never sees.
Small, focused tools with a clear job, built to be understood as well as used.
Everything runs in containers behind a single edge proxy that we operate ourselves.