unicode - 如何直接从设备输入 Unicode?我想要一个 "Machine interface device"而不是 "Human interface device"(HID)

标签 unicode keyboard hid

例如,USB 条码扫描器可以充当 HID 键盘来输入字符。但是,要输入英语以外的一些外语,例如Unicode,一个 HID 键盘可能会遇到困难。 HID 键盘模仿键盘行为,受所选 IME 的影响。因此,它没有输入某些 Unicode 字符的唯一通用方法。

是否有任何定义的“机器接口(interface)设备”(MID)而不是 HID?或者我如何实现 USB 设备(甚至 USB 以外的其他接口(interface))直接输入 Unicode 字符?

最佳答案

USB HID 规范需要键盘布局,这意味着按键作为按键发送到操作系统,操作系统会将按键转换为相应的文本。规范中有一个“Unicode”布局,但不幸的是:

  • 它使用UCS-2编码,所以只支持平面0;
  • 没有广泛使用的操作系统实现它。

  • 因此,如果你想输入一些 Unicode 字符,要么在操作系统中定义自定义键盘布局,要么编写自己的键盘驱动程序。

    引用:https://github.com/kiibohd/KiiConf/issues/30

    关于unicode - 如何直接从设备输入 Unicode?我想要一个 "Machine interface device"而不是 "Human interface device"(HID),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37203616/

    相关文章:

    c# - 如何在 C# 中可靠地确定字符的宽度?

    python - 在 Python 3 中显示 Unicode 符号的文本表示

    unit-testing - Mocha 测试输出字体丢失?

    ios - 为什么这种自动布局不适用于 iOS 自定义键盘?

    ios - 虚拟键盘和我的 UIView 正在发生冲突(不断地互相覆盖)

    python - 重音字符的问题

    keyboard - 是否有一种编程语言使用(非扩展)ascii 表中的字符以外的字符?

    c++ - 通用 Windows 平台 - CustomHidDevice(错误 : Value is blocked)

    windows - HID 软件设备(仿真)

    c - 在 WDK 驱动程序中包含 hidpi.h 会导致编译错误