Ordovee
WMS 6 min

DataWedge in the browser: fix scans in a web app

Fast Zebra scans can drop or scramble characters in a browser. Turn on Send Characters as Events so every barcode lands clean in Ordovee's web scan field.

A Zebra TC-series handheld held in a parts warehouse aisle, showing Ordovee's Location Inventory screen for bin F-2-05 with seven items, beside the scanned F-2-05 QR label on the shelf beam
One scan of the shelf label, and the browser has the bin open.

You set up your Zebra scanner, tested it in the notes app, and every barcode typed in perfectly. Then you opened the web app you actually work in, scanned the same label, and the result came out short a character or two — or landed scrambled. The scanner is fine. The barcode is fine. What tripped is a timing quirk between a fast scanner and a browser.

Ordovee is Structured Disassembly Management that runs entirely in a browser, so this is a scan problem worth ten minutes to fix once and forget. There is a single DataWedge setting that makes it go away, plus a few supporting choices that keep ODV scanning fast on a shared handheld. This walkthrough covers all of them. It assumes you already have the core Enter-key setup in place — if you don’t, read Setting Up Zebra Scanners with DataWedge for Ordovee first, because this guide builds directly on it.


Why scans misbehave in a browser but work in a text box

A modern scanner can send keystrokes faster than a browser field accepts them, so a few characters get lost on the way in. A plain text box keeps up; a busy web field sometimes drops one.

Here is what is happening under the hood, in plain terms. When you scan, DataWedge types the decoded barcode into whatever field has focus, one keystroke at a time, very quickly. A simple notes app catches every one. A web page is doing more work per keystroke — watching the field, validating input, redrawing the screen — and on a fast scan it can miss the tail end of a long SKU. Zebra documents this exact symptom for scanning into Chrome: the scanner outruns the web app.

The result looks random. A twelve-character SKU comes in as ten. A location code reads clean five times, then drops a digit on the sixth. Because it is intermittent, it is easy to blame the label or the scanner. It is neither. The next section is the fix.

The fix: turn on Send Characters as Events

Open your DataWedge profile, go to Keystroke output, then Key event options, and switch Send Characters as Events on. That one toggle makes every barcode land clean in a browser.

The zConfigure folder open on a Zebra handheld home screen, showing the DataWedge app icon beside StageNow, License Manager, and DWDemo.

Start here — DataWedge sits in the zConfigure folder.

Here is the path step by step on the handheld:

  1. Open DataWedge and tap the profile you use for the browser (the same one from the core setup guide).
  2. Scroll to Keystroke output and make sure it is enabled.
  3. Tap into Key event options.
  4. Turn Send Characters as Events on.

The DataWedge Profiles list showing Profile0 (default), Launcher, DWDemo, MobileInventory greyed out as disabled, and IdentityGuardian.

Tap the profile you scan with.

A DataWedge profile settings screen with Profile enabled checked, Data Capture Plus unchecked, and Barcode input enabled.

Scroll past Barcode input.

The Keystroke output section of a DataWedge profile, with output enabled and the Key event options row listed below Action key character.

Open Key event options.

That is the whole change. Instead of injecting characters as raw keystrokes — the delivery a browser can’t always keep up with — DataWedge now sends each character as a discrete key event the web field reliably receives. Ordovee reads the full barcode every time, and the intermittent short scans stop.

The DataWedge Key event options screen with Send Characters as Events checked, described as key event dispatch for ASCII code range 32 to 126.

Send Characters as Events, on. That is the fix.

Back out of the screen when you’re done. DataWedge saves the profile as you exit — there’s no separate save button. Then scan a long SKU label into an ODV scan field a few times to confirm the full code lands on every pull.

Associate the profile with your actual browser

A DataWedge profile only takes effect when it’s tied to the app in the foreground. For a browser, add the browser’s package name under Associated apps and leave the activity as *.

If you’re editing Profile0 (default), it already applies everywhere and you can skip this. If you built a dedicated profile, open Associated apps, tap the + icon, and add whichever browser you run Ordovee in:

  • Chrome: com.android.chrome
  • Chrome on some newer Zebra builds: com.google.android.chrome
  • Zebra Enterprise Browser (if you use it): com.symbol.enterprisebrowser

Add the package and leave the activity field set to *. The asterisk means “any screen inside that app,” so the profile stays active on every ODV page — the picking screen, a location lookup, the receiving screen — without you listing each one. If scans behave in the notes app but do nothing in the browser, a missing association is almost always why.

The DataWedge associations screen listing a package name with its activity beneath it, including an entry whose activity field is set to an asterisk.

Package on top, activity below. An asterisk covers every screen in that app.

Keep only the decoders you use

Under Barcode input, Decoders, turn off the symbologies you never scan. Fewer active decoders means the scanner locks onto your labels faster and misreads less.

By default Zebra enables a long list of barcode types. Every one the scanner has to consider adds a moment of work and one more chance to misread a scuffed label as the wrong format. Ordovee generates a small, predictable set — QR Code for part and location labels, and Code 128 or Code 39 where a 1D barcode is in play — so those are the ones to keep on.

Leave on:

  • QR Code — part labels, location labels, packing-slip codes.
  • Code 128 and Code 39 — if any of your existing labels use them.
  • Data Matrix — only if a supplier’s labels arrive in it.

Turn the rest off. You’ll get a faster, more confident lock on the labels you actually scan all day, with fewer misreads to chase down. If a label suddenly won’t read after this, you likely switched off the one decoder it needed — walk back into Decoders and turn that symbology back on.

Keystroke or intent output — which for a web app?

Use Keystroke output. It types the scan into the focused browser field, which is exactly what a web app needs. Intent output is for native Android apps and won’t reach a page running in a browser.

DataWedge can hand a scan to an app two ways. Keystroke output types the characters into whatever field has focus — the browser field where you’re scanning. Intent output packages the scan into an Android message and delivers it to an app that’s written to listen for one, which a web page in Chrome is not.

So for Ordovee, keep Keystroke output on and leave Intent output off. Turning both on is a common source of “it scans twice” confusion — the scan arrives once as typed characters and again as an intent nothing catches. One output, Keystroke, is all a web app wants.

Per-app profiles for a shared handheld

If one handheld runs Ordovee plus other apps, build a profile per app. DataWedge routes each profile to the app it’s associated with, so ODV scanning behaves one way and everything else behaves however it needs to.

This is worth doing when a device isn’t dedicated to picking. Give ODV its own profile — Send Characters as Events on, only your decoders enabled, Keystroke output, associated with the browser package. Leave Profile0 (default) for the other apps with their own settings. When the browser is in front, DataWedge applies the ODV profile; when another app is, it falls back to the default. Each app gets the scanner behavior it needs, and nobody has to flip a setting when they switch tasks.

The steps are the same ones you just walked — you’re simply keeping the browser tuning on its own profile instead of changing the device-wide default.


Get these four right — Send Characters as Events on, the browser associated, only your decoders enabled, Keystroke output — and scanning into Ordovee’s web app is as solid as scanning into any native app. The scanner behaves like a fast, reliable keyboard, and every pull lands the full barcode. From here, the payoff shows up on the warehouse floor, where a clean scan is the difference between a pick that verifies itself and one that stalls.

→ See the picking flow this scanning powers: Scanner-first picking on the warehouse floor → Missing the core one-scan setup? Set up the Enter-key fix in DataWedge → How the scanner and the software fit together: The hardware-software handshake → See how ODV handles the whole part lifecycle: Product overview → Still fighting a scan that won’t cooperate? Let’s sort it out

See Ordovee in your operation.

The fastest way to know if ODV fits your shop is to see the workflow with your own data — no slides, no scripted demo.