Bluetooth HID Profile in Windows Mobile 6.5
This article provides an overview of how the Bluetooth Human Interface Device (HID) profile enabled external physical keyboards on devices running Windows Mobile 6.5. It examines the technical role of the HID specification, the shift from fragmented third-party driver stacks to native operating system support, and how this integration improved text input and enterprise productivity on legacy mobile hardware.
The Role of the Bluetooth HID Profile
The profile responsible for enabling external physical keyboards in Windows Mobile 6.5 is the Bluetooth Human Interface Device (HID) Profile.
The HID profile is based on the USB HID class specification. It defines how low-latency devices—such as keyboards, mice, pointing sticks, and game controllers—communicate with a host system over a short-range wireless Bluetooth link. By adhering to standard HID reports, peripheral keyboards transmit standardized scancodes to the mobile device, allowing the operating system to interpret keystrokes, key combinations, and character repeat rates accurately.
Evolution from Third-Party Drivers to Native Support
Prior to Windows Mobile 6.5, Microsoft's default Bluetooth stack natively supported profiles like Serial Port Profile (SPP), Hands-Free Profile (HFP), and Advanced Audio Distribution Profile (A2DP), but typically lacked built-in HID support. Users and enterprise deployments requiring physical keyboards had to rely on:
- OEM-Specific Bluetooth Stacks: Hardware manufacturers (such as HTC or HP) frequently licensed third-party stacks like the Broadcom (formerly Widcomm) Bluetooth stack, which included proprietary HID implementations.
- Third-Party Driver Applications: Software utilities such as BlueInput or Teksoft KeyCard translated Bluetooth SPP data into virtual keystrokes inside the Windows Mobile core.
Windows Mobile 6.5 integrated native HID profile support directly into the core operating system's Bluetooth software stack. This eliminated the need for secondary translation software, enabling plug-and-play functionality for compliant Bluetooth keyboards.
How It Functioned in Windows Mobile 6.5
When a user placed a Bluetooth keyboard into pairing mode, the Windows Mobile 6.5 Bluetooth manager detected the peripheral and identified its service class as an HID device. The process operated as follows:
- Service Discovery Protocol (SDP): The device queried the peripheral's SDP records, identifying it as a standard keyboard input device.
- Authentication and Pairing: A passkey exchange established an encrypted link between the phone and keyboard.
- Driver Binding: The operating system bound the incoming HID input stream directly to the Graphic, Windowing, and Event Subsystem (GWES).
- Input Handling: Keystrokes bypassed the on-screen Software-based Input Panel (SIP) and mapped directly to standard Windows virtual-key codes, enabling high-speed text entry across native applications such as Pocket Office and Messaging.