USB Composite Device Splitting and Redirection

A USB composite device is a single hardware device with one USB port that acts as multiple independent USB devices, each with its own function or interface. For composite devices, it’s possible to redirect the device partially, leaving some functionality on the local workstation while redirecting other interfaces to the remote session.

Example: The Bloomberg Keyboard v.4 or v.5 consists of several interfaces (sub-devices):

  • Keyboard
  • Sound Device
  • Fingerprint Scanner
  • Special HID Keys
  • Card Reader (in some models)

The example below demonstrates how to redirect only the Sound Device and Fingerprint Scanner to the remote session while keeping the rest (including the Keyboard) on the local side. There is a command-line utility, usbwkscmd.exe, that allows you to apply the proper device redirection configuration.

1. List available USB devices

Run the command:

usbwkscmd.exe list

Output example:

ID   VID  PID  REV           Location     Status     Serial         Device name
0    1188:9545:0100               1-8  Connected         ""  Bloomberg LP Keybo
1    04a9:190e:0704               1-6    Visible         ""      Canon CanoScan
2    093a:2510:0100               1-2    Visible         ""  PixArt USB Optical

In this example, the Bloomberg keyboard has ID: 0.

2. Get device information, including interfaces

Run the command:

  usbwkscmd.exe list -i 0

Output example:

C:\Program Files\FabulaTech\USB for Remote Desktop (Workstation)>usbwkscmd.exe list -i 0
ID   VID  PID  REV           Location     Status     Serial         Device name
0    1188:9545:0100               1-8  Connected         ""  Bloomberg LP Keybo
        - interfaceID:3 - #3 - USB Audio Device (#003) - Unshared
        - interfaceID:4 - #0 - USB Input Device (#000) - Unshared
        - interfaceID:5 - #1 - USB Input Device (#001) - Unshared
        - interfaceID:6 - #2 - USB Input Device (#002) - Unshared

Interface 3 corresponds to the Audio device.

Interfaces 4, 5, and 6 correspond to other functions (i.e., keyboard, special keys or fingerprint scanner).

Note: The only way to determine which interface is responsible for the fingerprint scanner is to try redirecting the interfaces one by one since all interfaces appear with the same description (USB Input Device).

3. Configure audio interface redirection

Run the command:

usbwkscmd.exe share 3

Output example:

Device shared successfully.

Check the current configuration:

C:\Program Files\FabulaTech\USB for Remote Desktop (Workstation)>usbwkscmd.exe list -i 0
ID   VID  PID  REV           Location     Status     Serial         Device name
0    1188:9545:0100               1-8  Connected         ""  Bloomberg LP Keybo
        - interfaceID:3 - #3 - USB Audio Device (#003) - Visible
        - interfaceID:4 - #0 - USB Input Device (#000) - Unshared
        - interfaceID:5 - #1 - USB Input Device (#001) - Unshared
        - interfaceID:6 - #2 - USB Input Device (#002) - Unshared
  • Status "Visible" → Interface is configured for redirection.
  • Status "Unshared" → Interface remains on the local PC.

4. Locate the fingerprint reader interface

Important: Plug a second keyboard into the workstation. There is a risk the Bloomberg keyboard may become inaccessible for local use while testing redirection.

Important: By default, HID devices are prohibited from redirection. Make sure HID device redirection is enabled on the Server before proceeding.

Procedure:

  1. Disconnect the device in the remote session
  2. Redirect each remaining interface (4, 5, 6) one by one:
    usbwkscmd.exe share N
  3. In the remote session, connect the device using system tray icon.
  4. Check if the fingerprint scanner is functional.
  5. If the interface does not correspond to the fingerprint scanner, revert the redirection:
    usbwkscmd.exe unshare N

Repeat for the next interface until the fingerprint scanner is correctly redirected.

5. Final configuration

Once you identify the interface responsible for the fingerprint reader (e.g., interface 5): Ensure all required interfaces (Audio + Fingerprint) are configured for redirection.

usbwkscmd.exe list -i 0
C:\Program Files\FabulaTech\USB for Remote Desktop (Workstation)>usbwkscmd.exe list -i 0
ID   VID  PID  REV           Location     Status     Serial         Device name
0    1188:9545:0100               1-8  Connected         ""  Bloomberg LP Keybo
        - interfaceID:3 - #3 - USB Audio Device (#003) - Visible
        - interfaceID:4 - #0 - USB Input Device (#000) - Unshared
        - interfaceID:5 - #1 - USB Input Device (#001) - Visible
        - interfaceID:6 - #2 - USB Input Device (#002) - Unshared

Both interfaces should appear with "Visible" status.