keyscanjs
v0.0.2
Published
JavaScript browser-based scanner keyboard input library for seamless integration of barcode and QR code scanning into web applications
Maintainers
Readme
keyscanjs
keyscanjs is a JavaScript library that allows you to easily integrate barcode and QR code scanning into your web applications using a scanner or keyboard input.
Installation
You can install keyscanjs via npm:
npm install keyscanjsUsage
- Import the library:
import 'keyscanjs';- Create a
<key-scan>element in your HTML to enable barcode scanning:
<key-scan></key-scan>- Customize the scanner's behavior by setting attributes on the
<key-scan>element:
<key-scan
config='{
"minLength": 1,
"maxLength": 14,
"codeStartsWith": "",
"codeEndsWith": "",
"scanTimeoutMs": 3000,
"ignoreOverElements": ["INPUT"],
"toUpper": false
}'
></key-scan>- Listen for the
scanevent to capture scanned data:
document.querySelector('key-scan').addEventListener('scan', (event) => {
const scanData = event.detail;
// Handle the scanned data here
});Configuration
You can configure the scanner's behavior by setting attributes on the <key-scan> element:
minLength(default:1): Minimum length of a valid scan.maxLength(default:14): Maximum length of a valid scan.codeStartsWith(default:""): Prefix for the scanned code.codeEndsWith(default:""): Suffix for the scanned code.scanTimeoutMs(default:3000): Maximum time (in milliseconds) allowed between key presses for a valid scan.ignoreOverElements(default:["INPUT"]): An array of HTML tag names to ignore when scanning is active.toUpper(default:false): Convert scanned data to uppercase.
Example
<key-scan
config='{
"minLength": 4,
"maxLength": 12,
"codeStartsWith": "",
"codeEndsWith": "ENTER",
"scanTimeoutMs": 2000,
"ignoreOverElements": ["INPUT", "TEXTAREA"],
"toUpper": true
}'
></key-scan>Contributing
Feel free to contribute to this project by opening issues or submitting pull requests. We welcome your feedback and contributions.
License
This project is licensed under the MIT License - see the LICENSE file for details.
You can expand on this README by adding more details about the library's features, how to handle scan data, and any other relevant information.
