Skip to content

brother-ql


brother-ql / core/src / DEVICE_REGISTRY

Variable: DEVICE_REGISTRY

const DEVICE_REGISTRY: object = REGISTRY

Type Declaration

devices

readonly devices: readonly [{ engines: readonly [{ capabilities: { autocut: true; highResDpi: 360; mediaDetection: true; }; dpi: 180; headDots: 128; mediaCompatibility: readonly ["tze", "hse-2to1", "hse-3to1"]; protocol: "pt-raster"; role: "primary"; }]; family: "brother-ql"; hardwareQuirks: "Cutter requires compression to be enabled — encoder enforces this when (autocut: true && compress: false). Source: nbuchwitz/ptouch:PTE550W ("E550W requires compression ON for cutting to work"). Pin configurations from Brother spec cv_pte550wp750wp710bt_eng_raster_102.pdf p.20 §2.3, transcribed into media.json5 via nbuchwitz/ptouch."; key: "PT_E550W"; name: "PT-E550W"; support: { status: "untested"; }; supportStatus: "unverified"; transports: { tcp: { port: 9100; }; usb: { pid: "0x2060"; vid: "0x04f9"; }; }; }, { capabilities: { massStoragePid: "0x2065"; }; engines: readonly [{ capabilities: { autocut: true; highResDpi: 360; mediaDetection: true; }; dpi: 180; headDots: 128; mediaCompatibility: readonly ["tze", "hse-2to1", "hse-3to1"]; protocol: "pt-raster"; role: "primary"; }]; family: "brother-ql"; hardwareQuirks: "PID disagreement between driver projects on which mode 0x2062 vs 0x2065 represents: libptouch.c says 0x2062 is the printer PID and 0x2065 is PLite mass-storage; nbuchwitz/ptouch says 0x2065 is the printer PID. We treat libptouch.c as authoritative; flip via a contributor report if discovery fails on real hardware. Pin configurations from Brother spec cv_pte550wp750wp710bt_eng_raster_102.pdf p.20 §2.3."; key: "PT_P750W"; name: "PT-P750W"; support: { status: "untested"; }; supportStatus: "unverified"; transports: { tcp: { port: 9100; }; usb: { pid: "0x2062"; vid: "0x04f9"; }; }; }, { engines: readonly [{ capabilities: { autocut: true; highResDpi: 720; mediaDetection: true; }; dpi: 360; headDots: 560; mediaCompatibility: readonly ["tze", "hse-2to1", "hse-3to1"]; protocol: "pt-raster"; role: "primary"; }]; family: "brother-ql"; hardwareQuirks: "Pin configurations from Brother spec cv_ptp900_eng_raster_102.pdf pp.23-24 §2.3.5, transcribed into media.json5 via nbuchwitz/ptouch:PTP900Series. Note nbuchwitz/ptouch:PTP900Series.DEFAULT_USE_COMPRESSION = False — unlike PT-E550W, P900 does NOT require compression for the cutter."; key: "PT_P900"; name: "PT-P900"; support: { status: "untested"; }; supportStatus: "unverified"; transports: { usb: { pid: "0x2083"; vid: "0x04f9"; }; }; }, { engines: readonly [{ capabilities: { autocut: true; highResDpi: 720; mediaDetection: true; }; dpi: 360; headDots: 560; mediaCompatibility: readonly ["tze", "hse-2to1", "hse-3to1"]; protocol: "pt-raster"; role: "primary"; }]; family: "brother-ql"; hardwareQuirks: "PID 0x2085 sourced from nbuchwitz/ptouch:PTP900W; not in most public USB-ID databases — phase 4 hardware verification should confirm."; key: "PT_P900W"; name: "PT-P900W"; support: { status: "untested"; }; supportStatus: "unverified"; transports: { tcp: { port: 9100; }; usb: { pid: "0x2085"; vid: "0x04f9"; }; }; }, { engines: readonly [{ capabilities: { autocut: true; highResDpi: 720; mediaDetection: true; }; dpi: 360; headDots: 560; mediaCompatibility: readonly ["tze"]; protocol: "pt-raster"; role: "primary"; }]; family: "brother-ql"; hardwareQuirks: "Bluetooth assumed classic SPP per nbuchwitz/ptouch — phase 4 hardware verification should confirm classic vs BLE GATT before users rely on it. HSe heat-shrink unsupported (TZe-only); engine.mediaCompatibility excludes hse-2to1 and hse-3to1 so the lookup never returns those entries."; key: "PT_P910BT"; name: "PT-P910BT"; support: { status: "untested"; }; supportStatus: "unverified"; transports: { bluetooth-spp: { namePrefix: "PT-P910"; }; usb: { pid: "0x20c7"; vid: "0x04f9"; }; }; }, { engines: readonly [{ capabilities: { autocut: true; highResDpi: 720; mediaDetection: true; }; dpi: 360; headDots: 560; mediaCompatibility: readonly ["tze", "hse-2to1", "hse-3to1"]; protocol: "pt-raster"; role: "primary"; }]; family: "brother-ql"; hardwareQuirks: "PID 0x2086 sourced from nbuchwitz/ptouch:PTP950NW. Pin configurations from Brother spec cv_ptp900_eng_raster_102.pdf via nbuchwitz/ptouch."; key: "PT_P950NW"; name: "PT-P950NW"; support: { status: "untested"; }; supportStatus: "unverified"; transports: { tcp: { port: 9100; }; usb: { pid: "0x2086"; vid: "0x04f9"; }; }; }, { engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; }; dpi: 300; headDots: 1296; mediaCompatibility: readonly ["dk", "dk-wide"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_1050"; name: "QL-1050"; support: { status: "untested"; }; supportStatus: "expected"; transports: { usb: { pid: "0x2027"; vid: "0x04f9"; }; }; }, { engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; }; dpi: 300; headDots: 1296; mediaCompatibility: readonly ["dk", "dk-wide"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_1060N"; name: "QL-1060N"; support: { status: "untested"; }; supportStatus: "expected"; transports: { tcp: { port: 9100; }; usb: { pid: "0x2028"; vid: "0x04f9"; }; }; }, { capabilities: { editorLite: true; massStoragePid: "0x20a9"; }; engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; }; dpi: 300; headDots: 1296; mediaCompatibility: readonly ["dk", "dk-wide"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_1100"; name: "QL-1100"; support: { status: "untested"; }; supportStatus: "expected"; transports: { usb: { pid: "0x20a7"; vid: "0x04f9"; }; }; }, { capabilities: { editorLite: true; massStoragePid: "0x20aa"; }; engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; }; dpi: 300; headDots: 1296; mediaCompatibility: readonly ["dk", "dk-wide"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_1110NWB"; name: "QL-1110NWB"; support: { status: "untested"; }; supportStatus: "expected"; transports: { tcp: { port: 9100; }; usb: { pid: "0x20a8"; vid: "0x04f9"; }; }; }, { capabilities: { editorLite: true; massStoragePid: "0x20ac"; }; engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; }; dpi: 300; headDots: 1296; mediaCompatibility: readonly ["dk", "dk-wide"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_1115NWB"; name: "QL-1115NWB"; support: { status: "untested"; }; supportStatus: "expected"; transports: { tcp: { port: 9100; }; usb: { pid: "0x20ab"; vid: "0x04f9"; }; }; }, { engines: readonly [{ capabilities: { mediaDetection: true; }; dpi: 300; headDots: 720; mediaCompatibility: readonly ["dk"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_500"; name: "QL-500"; support: { status: "untested"; }; supportStatus: "expected"; transports: { usb: { pid: "0x2013"; vid: "0x04f9"; }; }; }, { engines: readonly [{ capabilities: { mediaDetection: true; }; dpi: 300; headDots: 720; mediaCompatibility: readonly ["dk"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_550"; name: "QL-550"; support: { status: "untested"; }; supportStatus: "expected"; transports: { usb: { pid: "0x2016"; vid: "0x04f9"; }; }; }, { engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; }; dpi: 300; headDots: 720; mediaCompatibility: readonly ["dk"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_560"; name: "QL-560"; support: { status: "untested"; }; supportStatus: "expected"; transports: { usb: { pid: "0x2018"; vid: "0x04f9"; }; }; }, { engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; }; dpi: 300; headDots: 720; mediaCompatibility: readonly ["dk"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_570"; name: "QL-570"; support: { status: "untested"; }; supportStatus: "expected"; transports: { usb: { pid: "0x2019"; vid: "0x04f9"; }; }; }, { engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; }; dpi: 300; headDots: 720; mediaCompatibility: readonly ["dk"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_580N"; name: "QL-580N"; support: { status: "untested"; }; supportStatus: "expected"; transports: { tcp: { port: 9100; }; usb: { pid: "0x201b"; vid: "0x04f9"; }; }; }, { engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; }; dpi: 300; headDots: 720; mediaCompatibility: readonly ["dk"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_600"; name: "QL-600"; support: { status: "untested"; }; supportStatus: "expected"; transports: { usb: { pid: "0x2100"; vid: "0x04f9"; }; }; }, { engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; }; dpi: 300; headDots: 720; mediaCompatibility: readonly ["dk"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_650TD"; name: "QL-650TD"; support: { status: "untested"; }; supportStatus: "expected"; transports: { usb: { pid: "0x201c"; vid: "0x04f9"; }; }; }, { capabilities: { editorLite: true; }; engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; }; dpi: 300; headDots: 720; mediaCompatibility: readonly ["dk"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; hardwareQuirks: "Cassette-based media detection. Printer hard-rejects with an error code if the host job dimensions do not match the loaded DK cassette. Apps that compare detected vs selected media should switch to the matching cassette before sending."; key: "QL_700"; name: "QL-700"; support: { status: "untested"; }; supportStatus: "expected"; transports: { usb: { pid: "0x2042"; vid: "0x04f9"; }; }; }, { capabilities: { editorLite: true; }; engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; }; dpi: 300; headDots: 720; mediaCompatibility: readonly ["dk"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_710W"; name: "QL-710W"; support: { status: "untested"; }; supportStatus: "expected"; transports: { tcp: { port: 9100; }; usb: { pid: "0x2044"; vid: "0x04f9"; }; }; }, { engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; }; dpi: 300; headDots: 720; mediaCompatibility: readonly ["dk"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_720NW"; name: "QL-720NW"; support: { status: "untested"; }; supportStatus: "expected"; transports: { tcp: { port: 9100; }; usb: { pid: "0x2045"; vid: "0x04f9"; }; }; }, { capabilities: { editorLite: true; }; engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; twoColor: true; }; dpi: 300; headDots: 720; mediaCompatibility: readonly ["dk"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_800"; name: "QL-800"; support: { status: "untested"; }; supportStatus: "expected"; transports: { usb: { pid: "0x209b"; vid: "0x04f9"; }; }; }, { capabilities: { editorLite: true; }; engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; twoColor: true; }; dpi: 300; headDots: 720; mediaCompatibility: readonly ["dk"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; key: "QL_810W"; name: "QL-810W"; support: { status: "untested"; }; supportStatus: "expected"; transports: { tcp: { port: 9100; }; usb: { pid: "0x209c"; vid: "0x04f9"; }; }; }, { capabilities: { editorLite: true; }; engines: readonly [{ capabilities: { autocut: true; mediaDetection: true; twoColor: true; }; dpi: 300; headDots: 720; mediaCompatibility: readonly ["dk"]; protocol: "ql-raster"; role: "primary"; }]; family: "brother-ql"; hardwareQuirks: "QL-820NWB and QL-820NWBc share PID 0x209d; this entry covers both marketing names. Bluetooth on this device is classic SPP (paired at the OS level via RFCOMM), not GATT — the runtime serial implementation opens the OS-paired RFCOMM device path. macOS dropped classic Bluetooth SPP support so that route is unavailable there; Linux and Windows both work."; key: "QL_820NWBc"; name: "QL-820NWBc"; support: { lastVerified: "2026-04-27"; packageVersion: "0.2.1"; quirks: "Reference test device. Two-colour printing on DK-22251 confirmed, auto-cut works on USB and TCP, WebUSB demo prints correctly. The QL-820NWB and QL-820NWBc share PID 0x209d; this entry covers both marketing names."; reports: readonly [{ date: "2026-04-27"; issue: 0; notes: "Bench verification by the maintainer at the time of seeding this entry. Issue #0 is a placeholder — replace with the real issue number when a public verification report is filed."; os: "Linux"; reporter: "@mannes"; result: "verified"; selfVerified: true; }]; status: "verified"; transports: { bluetooth-spp: "untested"; tcp: "verified"; usb: "verified"; }; }; supportStatus: "verified"; transports: { bluetooth-spp: { namePrefix: "QL-820NWB"; }; tcp: { port: 9100; }; usb: { pid: "0x209d"; vid: "0x04f9"; }; }; }]

driver

readonly driver: "brother-ql" = "brother-ql"

schemaVersion

readonly schemaVersion: 1 = 1