Some screens want a function key pressed before the scan lands: F7 opens the entry field, the barcode fills it, Enter commits it, and the operator should get all three from one trigger pull. Whether a given scanner can do that comes down to one firmware feature, key codes in the keyboard-wedge prefix, and to nothing you can bolt on afterwards. This explainer covers what that feature is, what the reader transmits on the wire, how to program it as a rule you can switch on and off, and what to do when a reader lacks it. If you specify or deploy handheld readers, you will answer 'can this one send F7?' from its programming guide in under a minute.
The answer: it is a prefix rule, not a character
A handheld scanner in keyboard mode is a USB HID keyboard. It does not press anything the way a finger does; it emits keyboard reports, and a prefix rule tells it to emit the F7 report before the first character of the barcode, with a suffix rule adding Enter at the end. The whole capability lives in the reader's firmware, programmed either with the setup barcodes printed in the guide or with the maker's configuration utility over USB.
The pattern shows up wherever a fixed screen expects a keypress first: production terminals, tool cribs, legacy ERP front-ends. A barcode tool checkout workflow is one typical host. So is the fixed screen behind barcode data collection on maintenance rounds.
The one-minute test: open the programming guide and find the prefix value table. If the table lists F1 through F12, usually as a printed symbol or a hex pair per key, the reader can send them. If the table stops at characters, the reader cannot, and no configuration will add it. It is not a brand alliance either: several industrial families carry the feature and most consumer-grade units do not, so the table, not the logo, decides.
Why no character trick can fake it
ASCII defines 128 values and none of them is a function key. Carriage return (13), tab (9) and escape (27) exist; F1 to F12 do not, so there is no byte to encode, no character to prepend, and nothing to hide inside the barcode. Code 128 can carry any ASCII value, which is why you can hard-wire a carriage return into a printed symbol, but the trick stops at the ASCII boundary.
When a seller 'adds F7' and the letters F and 7 arrive before your data, that text is exactly what was programmed: a two-character prefix. It is not the key, and no application listening for F7 will react to it. For how prefixes and suffixes are assembled around the data in general, see prefix and suffix framing for barcode scanner input; function keys are the one case that framing cannot reach with characters.
What the reader actually sends
A USB HID keyboard report is eight bytes: one modifier byte, one reserved byte, and six key slots. A press fills the first free slot with a usage code; a release repeats the report with zeros. The function row runs from 0x3A (F1) to 0x45 (F12), so F7 is 0x40 and F10 is 0x43. Digits 1 to 6 are 0x1E to 0x23, and Enter is 0x28.
Worked example: prefix F7, barcode 123456, suffix Enter.
Some readers are set to an 8 ms poll, which simply multiplies the line time to about 128 ms. On top of that comes the intercharacter delay you configure: at 10 ms per keystroke the same scan needs roughly 8 × 10 ms + 16 ms ≈ 96 ms end to end. That delay exists for a reason: slow legacy screens drop key events that arrive back to back, so 5 to 10 ms is the working range when characters go missing. Characters are mapped through the active keyboard layout by the operating system; the F row passes through unchanged.
Program it as a rule you can toggle
- Scan the guide's 'set prefix' barcode, then the F7 symbol from the key-code table, then the save barcode.
- Set the suffix the same way, usually Enter.
- Store a second rule with no function key, data plus Enter only, and leave both rules in the reader.
Keep the rule-enable and rule-disable barcodes printed at the station. One of your applications wants the key and the other must not receive it; scanning one barcode switches the reader between them, and both rules survive power cycles. That toggle is the whole reason to use rules instead of a single hardcoded prefix.
For a fleet, build the rule once in the maker's configuration utility and push it to every reader over USB. Save each generated configuration file against the reader that carries it, the habit that also pays off when you identify barcode scanners by serial number after reconnects.
Why the low-cost readers fail
On most low-cost handhelds the prefix register accepts characters only. A listing that says 'supports prefix and suffix' is true and useless, because every keyboard-wedge reader supports those. A spec that says 'control characters' means the ASCII control range, CR, TAB, ESC, never function keys. And support channels at that tier frequently map 'send F7' onto the two characters F and 7, which is why the config file they send changes nothing.
One bench test settles it: program the prefix, then scan into a keystroke-display utility or the target application itself. Literal 'F7' text, or silence, means the firmware has no key codes to send. Stop there; no setup barcode adds a feature the reader never had.
The same failure appears with ring and finger scanners paired to tablets: the radio link is fine, the keyboard emulation is the limit, and the prefix table is still the thing to check.
Three fixes when the reader cannot do it
Software wedge on the host. If you own the PC and may install software, a small wedge utility watches the input for a trigger token and sends the key first, then the data. It works with any keyboard-mode reader, including the one already on your desk. This is the zero-hardware fix.
Change what the host consumes. If the application can accept device input instead of keystrokes, drop keyboard mode and read the scanner through its other interface, the approach in USB barcode scanner data capture in your application, or feed a controller as covered in handheld barcode scanner to a PLC without Ethernet. The function key stops being the scanner's problem; host logic owns it.
Replace the reader. When the screen is fixed and you cannot install anything, the clean fix is a reader whose guide lists key codes. Interface checks still matter before you swap, the same discipline as the USB power and interface checks for barcode scanners.
The host interface is the honest way to compare candidates, because it decides where the data lands:
| Specification | MV-IDH2000P/13NR/05RN/U | MV-IDH3000/13NR/05RN/LE | LS-HCR-0001 |
|---|---|---|---|
| Symbologies | 1D codes: Code 39, Code 93, Code 128, GS1-Code128, CodaBar, EAN 8, EAN 13, ISBN, ISSN, ITF 25, ITF 14, UPCA, UPCE; 2D codes: QR Code, Data Matrix, MicroQR, Aztec; Stacked code: PDF417 | 1D codes: Code 39, Code 93, Code 128, GS1-Code128, CodaBar, EAN 8, EAN 13, ISBN, ISSN, ITF 25, ITF 14, UPCA, UPCE; 2D matrix codes: QR Code, Data Matrix, MicroQR, Aztec, GS1-DM, GS1-QR, Han Xin; Stacked code: PDF417 | – |
| Min. accuracy | 1D codes: 3 mil; 2D codes: 4 mil | 3 mil | – |
| Sensor type | CMOS | CMOS | – |
| Resolution | 1280 × 1024 | 1280 × 1024 | 1280 x 800 |
| Depth of field | Code 128 (3 mil): 30 mm to 105 mm; Code 128 (10 mil): 20 mm to 200 mm; Data Matrix (5 mil): 40 mm to 80 mm; QR Code (10 mil): 20 mm to 135 mm; QR Code (20 mil): 20 mm to 195 mm | Code 128 (3 mil): 25 mm to 70 mm; Code 128 (10 mil): 10 mm to 170 mm; Code 39 (5 mil): 15 mm to 100 mm; Data Matrix (5 mil): 30 mm to 60 mm; Data Matrix (10 mil): 5 mm to 115 mm | – |
| Field of view | Horizontal 39°, vertical 29° | Horizontal 40°, vertical 34° | – |
| Detection angle | Tilt angle ± 65°, skew angle ± 65°, rotation angle 360° | Tilt angle ± 60°, skew angle ± 60°, rotation angle 360° | – |
| Communication protocol | SmartSDK, Serial, USB (HID/CDC) | SmartSDK, TCP Client, FTP, TCP Server, Profinet, Ethernet/IP, Modbus, UDP, Serial, MC/SLMP, FINS1 | USB (HID/CDC) |
| Data interface | USB 2.0 | Fast Ethernet (100 Mbit/s), RS-232, DC terminal | – |
| Power supply | 5 VDC | 12 VDC to 24 VDC | – |
| Current consumption | 0.9 A (max.), 0.5 A (typical) | 0.5 A (max.), 0.28 A (typical) | – |
| Ambient illumination | 0 lux to 100000 lux | 0 lux to 100000 lux | – |
| Price | $179.00 | $379.00 | $539.00 |
All 3 share: Symbol contrast 20%. Values as printed in each product's data sheet; open a part for its drawing and full specifications.
A USB keyboard-wedge reader types into whatever has focus, which is what an F-key host needs. A Fast Ethernet reader is a network device for PLC and MES collection, where keystrokes do not exist. Wireless stations run the same check once the radio link is up:
- Connection
- Wireless
- Resolution
- Up to 3 MP
- Shutter
- Global
On the line, the question never arises
Fixed readers on conveyors and inside machines speak Ethernet or serial, so they never type keystrokes and no function-key prefix exists to want. There the 'press F7' is host logic: a command or field selection in the receiving program, planned as in barcode reader PLC communication or wired as in the RS232 barcode scanner connection to an embedded host. Browse fixed code readers when the host is a controller rather than a screen; the cables, adapters and I/O boxes for those hosts sit in reader accessories.
The decision, case by case
| Situation | Decision |
|---|---|
| Screen wants F7 then data; guide lists key codes | Program prefix F7, suffix Enter; store a second rule without the key |
| Guide's prefix table lists characters only | Stop configuring. Software wedge on the PC, or replace the reader |
| Host PC is locked, no software allowed | Replace with a reader that lists F1 to F12 in its prefix table |
| Reader is Ethernet or serial on the line | No keystrokes exist; implement the function in host or controller logic |
| Two apps share one scanner | Two stored rules, switched with the enable and disable barcodes |
Checks before you order
- The prefix value table lists F1 to F12, the one capability test and the first document to request.
- Two formatting rules can be stored and toggled, for the two-app station.
- The suffix sets to Enter and the intercharacter delay adjusts into the 5 to 10 ms range, for slow screens.
- Configuration saves to file and pushes fleet-wide, for multi-reader rollouts.
- On wireless handhelds, the paired link presents the same keyboard emulation, so test through it rather than over a bench cable.
The handheld code readers range covers both host interfaces, the handheld finder filters by them, and the rest of the code reading guides cover the host-side plumbing. Before you commit to a model, talk to us and we will check the programming guide's prefix table for the exact reader you have in mind; that is the fastest way to be certain the F-key support is there.
Handheld 1D/2D scanners
137 models · from $159.00Questions
Can I encode a function key inside the barcode symbol itself?
No. Code 128 carries the 128 ASCII values, so a carriage return or tab can live in the symbol, but F1 to F12 are not part of ASCII and have nothing to encode. Code 39 full-ASCII reaches control characters only through long two-character shift sequences, and it still stops at the ASCII limit. The key must come from the reader's keyboard emulation, never from the printed code.
The scanner sends the key but the app ignores it. What do I check?
Check focus first: a keyboard wedge types into whatever window is active, so the field must be selected when the scan lands. If focus is right, raise the scanner's intercharacter delay to about 10 ms per keystroke; apps with slow input loops drop key events that arrive back to back. Also confirm the suffix terminates with Enter, because some screens buffer input until a terminator arrives.
Do I need to match the PC's keyboard country layout?
For the function key itself, no: HID usage codes are layout-independent and the operating system maps them. For the data, yes in effect: the same usage codes map through the active layout, so set the scanner's country type to match the PC or digits and symbols can shift. F7 lands identically on a US and a German layout; the barcode characters may not.
Does a wireless handheld with a cradle behave the same as a wired one?
Yes at the PC: the cradle or dongle presents a standard USB keyboard, so the same prefix rules apply. Verify with the dongle paired rather than over a serial profile, because some handhelds expose both modes and only the keyboard mode types keys. The handheld's firmware, not the dongle, decides whether key codes are allowed in the prefix.
How do I switch the key on and off when two apps share one scanner?
Store two formatting rules: one sends the function-key prefix, the data and Enter; the other sends the data and Enter only. Keep the rule-enable and rule-disable programming barcodes from the guide at the station, and scan the one you need when you change screens. Both rules stay stored through power cycles, so nothing is reprogrammed between uses.

