code-scanner-driver
A lightweight Rust driver for barcode scanners and keyboard-emulated input, featuring:
- GTIN validation (GTIN-8/12/13/14)
- Async streaming using Tokio
- Burst detection for grouping fast keystrokes into scan events
- Cross-platform global keyboard listener via
rdev - Supports all USB/HID scanners that behave like a keyboard
Features
-
Scanner input detection
Groups rapid keystrokes into a single scan event. -
GTIN validation
Checks GTIN-8 / GTIN-12 / GTIN-13 / GTIN-14 via checksum. -
Async stream API
Usestokio_streamfor ergonomic event consumption. -
Global keyboard hook
Powered byrdev, works across platforms.
Installation
Add to your Cargo.toml:
[]
= "0.1"
Quick Start
use ScannerStream;
use StreamExt;
async
GTIN Validation Example
use validate_gtin;
let code = "5901234123457";
match validate_gtin
Supported formats:
- GTIN-8
- GTIN-12
- GTIN-13
- GTIN-14