Skip to content

Codice Input Services

Codice Input Services turn scanner input into external Codice events without a separate middleware service.

Services page before a scanner service is configured

Choose Add Service to add a Codice Input service. The empty state confirms no scanner currently owns an input device.

Keyboard-wedge setup

  1. Connect the scanner and configure it to append Enter.
  2. Open ServicesAdd ServiceCodice Input.
  3. Select keyboard-wedge mode and the exact /dev/input/by-id/...-event-kbd device.
  4. Choose extraction rules: prefix/suffix stripping, optional regex/capture, digits-only, uppercase, and trimming.
  5. Select destination/drop zone and save.
  6. Use the test panel, then scan a non-production code.
  7. Verify the status is healthy and the expected resolved event reaches the player.

On Linux the service needs permission to read and exclusively grab the input device. Exclusive grab prevents the scan from typing into other applications.

Serial setup

  1. Connect the serial/USB scanner and identify its stable device path.
  2. Select serial mode.
  3. Configure the device and supported baud rate (9600, 19200, 38400, 57600, or 115200).
  4. Configure CR, LF, or CRLF termination as required by the scanner.
  5. Apply the same extraction and routing settings as keyboard-wedge.
  6. Save and test two consecutive scans.

Serial support assumes line-oriented text. Proprietary binary protocols, vendor drivers, and unsupported baud/framing combinations require separate integration work.

Status and reconnect

The player reports configured-service health and available devices to the editor. Disconnect should move the service out of healthy state; reconnecting the same stable device should recover without restarting Showcase. Configure each device once. Multiple services must have distinct device IDs and routing destinations.

Troubleshooting

  • No scan: verify device appears, permissions, exclusive-grab owner, terminator, baud, and service/player connection.
  • Wrong scan: inspect prefix/suffix, regex capture, digits-only, uppercase, and whitespace settings in the test panel.
  • Duplicate scan: ensure only one service owns the device and the scanner emits one terminator.
  • Permission denied: add the Showcase runtime user to the appropriate input/serial group or udev rule, then re-login/restart as required.
  • Does not recover: prefer /dev/input/by-id or /dev/serial/by-id over changing eventN/ttyUSBn paths.

Always complete the final acceptance check with the real scanner, cable, player, and routing destination. An emulated scanner does not verify the physical device or its operating-system permissions.