For example, a USB barcode scanner can act as an HID keyboard to input characters. However, to input some foreign language other than English, e.g. Unicode, an HID keyboard could face difficulties. An HID keyboard mimics keyboard behaviors, which is subject to the chosen IME. Thus it has no unique, universal way to input certain Unicode characters.
Is there any defined "Machine Interface device" (MID) rather than HID? or How could I implement a USB device (or even other interfaces than USB) to input Unicode characters directly?