This is a fork of original EasyQRScan project with a few modifications to support a default orientation at the time of launching the scanner and to support toggling the front and back camera
EasyQRScan: Compose Multiplatform QR-Code Scanner

QR-Code (or other 2D/3D-Codes, see below) Scanner for Compose Multiplatform (Android/iOS).
Currently, the implementation is rather rudimentary.
Supported Compose version:
Dependency
Add the dependency to your commonMain sourceSet (KMP) / Android dependencies (android only):
implementation("io.github.sunragav.easyqrscan:scanner:0.1.1")
Or, for your libs.versions.toml:
[versions]
easyqrscan = "0.1.1"
[libraries]
easyqrscan = { module = "io.github.sunragav.easyqrscan:scanner", version.ref = "easyqrscan" }
Usage
Camera Permissions
Include this at root level in your AndroidManifest.xml:
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-permission android:name="android.permission.CAMERA"/>
Add this key to the Info.plist in your xcode project:
NSCameraUsageDescription
and provide a description as value
Compose UI
ScannerWithPermissions(onScanned = { println(it); true }, types = listOf(CodeType.QR))
Scanner(onScanned = { println(it); true }, types = listOf(CodeType.QR))
Check out the sample app included in the repository.
Code Types
Code types supported are:
Codabar, Code39, Code93, Code128, EAN8, EAN13, ITF, UPCE, Aztec, DataMatrix, PDF417, QR