#barcode #scanner #usb #scan

barcode-scanner

Linux接口用于条码USB手持扫描仪

1 个不稳定版本

0.1.0 2023年2月24日

#1530硬件支持

BSD-2-Clause OR Apache-2.0

10KB
125

barcode-scanner

使用手持扫描仪扫描Rust的1D条码。

barcode-scanner crate 提供了Linux接口,用于条码USB手持扫描仪。它与来自 evdev crate 的 Device 结构体一起工作。

当前支持的功能

  • 一个 BarcodeScanner 结构体,用于所有作为键盘操作的手持USB扫描仪。
  • 通过抓取来防止其他客户端从所选设备接收事件。
  • 读取由数字和字母组成的1D条码。
  • 在条码中省略特殊字符。

示例

此示例抓取一个手持扫描仪并打印读取的条码。

	use barcode_scanner::BarcodeScanner;

	let scanner = BarcodeScanner::new("usb-0000:00:14.0-3/input0")?;
	loop {
    	let barcode = scanner.read()?;
    	println!("{}", barcode);
	}

许可:BSD-2-Clause OR Apache-2.0


lib.rs:

使用手持扫描仪扫描Rust的1D条码。

barcode-scanner crate 提供了Linux上USB条码扫描仪的接口。它构建在 evdev crate 的基础上。它与任何作为键盘操作的条码扫描仪一起工作。

当前支持的功能

  • 一个 BarcodeScanner 结构体,用于所有作为键盘操作的手持USB扫描仪。
  • 通过抓取来防止其他客户端从所选设备接收事件。
  • 读取由数字和字母组成的1D条码。
  • 在条码中省略特殊字符。

示例

此示例抓取一个手持扫描仪并打印读取的条码。

   use barcode_scanner::BarcodeScanner;

   let mut scanner = BarcodeScanner::open("/dev/input/by-id/usb-USB_Adapter_USB_Device-event-kbd")?;
   loop {
       let barcode = scanner.read()?;
       println!("{}", barcode);
   }

依赖项

~3–4.5MB
~99K SLoC