【问题标题】:Sending the right HID Keycode?发送正确的 HID 密钥代码?
【发布时间】:2012-03-19 20:18:22
【问题描述】:

我目前正在开发带有 atmega 微控制器的非常小型且特定的 HID 键盘。我遇到的最大问题是密钥代码对于当前在主机上设置的语言环境非常具体。

所有普通字符(如 a-z)都运行良好,但某些特殊字符在按下键时会产生不良结果。

例如,+ 键,即 0xE1 和 0x2E(LeftShift 和 KeyboardEqualSign)仅适用于美式键盘。但我使用的是德语版式,所以我得到了 ß。

我现在如何才能获得正确的德语布局键码?我找不到任何描述此类键的文档...我认为 HID 键码的设计非常糟糕,无法支持多种键盘布局:(

我需要在德国布局上查找我的钥匙吗?那么对于+ 签名,它可能是] 密钥?但是为什么它的设计如此愚蠢呢?是否有任何包装?

【问题讨论】:

    标签: keyboard hid


    【解决方案1】:

    有同样的问题。我拍了一张 en_us 键盘的照片,并将其与我的德语键盘进行了比较,然后我将其转移到了键码上……它还没有完成,因为它的工作量惊人,我现在不需要其他字符。最重要的角色应该在那里。它在 Iso8859 之后排序,我让 iso 代码保留可能对某人有帮助。

    给你:

    iso8859 十六进制代码、修饰符、usb hid 键码、字符

    • 0x22, 移位,0x1F, "
    • 0x23, 0,0x31, #
    • 0x24,移位,0x21,$
    • 0x25,移位,0x22,%
    • 0x26,移位,0x23,&
    • 0x27,移位,0x31,'
    • 0x28, 移位,0x25, (
    • 0x29,移位,0x26,
    • 0x2A,移位,0x30,*
    • 0x2B, 0,0x30 , +
    • 0x2C, 0,0x36 , ,
    • 0x2D,0,0x38,-
    • 0x2E,0,0x37,.
    • 0x2F,移位,0x24,/
    • 0x30 到 0x39 是数字,这里没有改变 en_us
    • 0x3A,移位,0x37,:
    • 0x3B,移位,0x36,;
    • 0x3C,0,0x64,
    • 0x3D,移位,0x27,=
    • 0x3E,移位,0x64,>
    • 0x3F, 移位,0x2D, ?
    • 0x40,altgr,0x14,@ *大写字母,此处未更改 en_us
    • 0x59,移位,0x1D,开关 Z,Y
    • 0x5A, 移位,0x1C;
    • 0x5B, altgr,0x25 , [
    • 0x5C, altgr,0x2D, "\"
    • 0x5D, altgr,0x26 , ]​​i>
    • 0x5E, 0,0x35 , ^
    • 0x5F,移位,0x38,_
    • 0x60,移位,0x2E,` *小写字母,此处未对 en_us 进行更改
    • 0x79, 0,0x1D , 开关 z,y
    • 0x7A, 0,0x1C
    • 0x7B, altgr,0x24, {
    • 0x7C,altgr,0x64,|
    • 0x7D, altgr,0x27 , }
    • 0x7E, altgr,0x30 , ~ *0x80 到 0x9F 未使用 0xA0 不存在“非破坏空间”
    • 还没做完
    • 0xC4, shift,0x34 ,Ä
    • 还没有完成
    • 0xD6,移位,0x33,Ö
    • 还没有完成
    • 0xDC,移位,0x2F,Ü
    • 还没有完成
    • 0xE4, 0,0x34, ä
    • 还没有完成
    • 0xF5, 0,0x33 ,ö
    • 还没有完成
    • 0xFC, 0,0x2F ,ü
    • 还没有完成

    希望对您或下一个遇到该问题的人有所帮助:)

    最好的问候

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-02
      • 2015-04-19
      • 2015-09-23
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多