LabTrackQR is a background desktop application designed to intercept, process, and log barcode and QR code scans from physical scanning hardware. It establishes a direct Serial (Virtual COM) connection to prevent standard HID keyboard emulation, allowing users to scan tags without interfering with active system windows.
The application features a self-healing hardware watchdog, local data logging, and a stacking UI notification overlay.
For the application to capture data correctly, the physical scanner must be configured using the control barcodes provided in the manufacturer's manual.
Scan the configuration codes in this exact order (reference scanner settings to change for using the app.txt):
- Default (Resets the scanner to factory baseline)
- Serial Port / USB Virtual Serial Port (Disables HID Keyboard mode and routes data to COM ports)
- Manual Mode (If applicable to your scanning workflow)
- Speed: 1 second (Hardware-level buffer delay to ensure rapid-fire scans are processed cleanly)
Note: Ensure the scanner is configured and work as Virtual COM USB Device, scanners often force HID keyboard emulation as default.
- Python 3.x
- Git
Note: if you are using VS Code or Visual Studio, I highly recommend installing the To Do Tasks extension for keeping upcoming and done tasks clean and organized.
Clone the repository and install the required dependencies:
git clone [https://github.com/YOUR_USERNAME/LabTrackQR.git](https://github.com/YOUR_USERNAME/LabTrackQR.git)
cd LabTrackQR
pip install -r requirements.txtTo distribute LabTrackQR without requiring a local Python environment, you can compile the application into a standalone Windows executable (.exe) using PyInstaller (which is automatically installed during the Setup Process).
Open your terminal in the root project folder (the folder containing icon.png and the src directory) and run the following command:
pyinstaller --onefile --noconsole --icon=icon.png --add-data "icon.png;." --paths src src\main.pyCommand Breakdown:
--onefile: Compresses everything into a single.exefile.--noconsole: Hides the black background terminal window when the app is running.--icon=icon.png: Uses the custom logo for the desktop icon.--add-data "icon.png;.": Bundles the image inside the.exeso the System Tray icon doesn't break.--paths src: Tells the compiler where to find the rest of the Python modules (config.py,overlay.py, etc.).
Once the build process is complete, your packaged main.exe will be located inside the newly generated dist/ folder. You can rename it to LabTrackQR.exe and move it anywhere on your PC!