【问题标题】:What are the scan codes for keyboard arrows? (right,left,down,up)键盘箭头的扫描码是什么? (右、左、下、上)
【发布时间】:2014-06-04 23:52:42
【问题描述】:

我需要箭头的扫描码(右、左、下、上)。我在 Assembler 中制作软件,我需要知道键盘箭头扫描代码的十六进制值。

【问题讨论】:

  • 您需要键盘箭头键的扫描码,还是箭头字符的 ASCII 码?这些是不同的数字。后者可能依赖于代码页。
  • 键盘方向键的代码
  • 没有“代码”之类的东西。是否要检测箭头键按下或在屏幕上显示箭头?
  • 检测方向键按下
  • 然后扫码。看我的回答。

标签: assembly keyboard hex


【解决方案1】:

这是您要查找的代码...

  • 左:AC
  • 向上:AD
  • 右:AE
  • 向下:AF

【讨论】:

    【解决方案2】:

    这些是 ASCII 代码页下部箭头字符的字符代码:

    • 向上:0x18
    • 向下:0x19
    • 右:0x1A
    • 左:0x1B

    方向键的扫描码是:

    • 向上:0x48
    • 左:0x4B
    • 右:0x4D
    • 向下:0x50

    注意不同的顺序。

    例如,从 BIOS 中断 16h 返回扫描代码。通常,扫描码不对应 ASCII 字符,因为某些键不代表一个字符,例如 Shift、Caps Lock 或箭头键。它们不会在输入流中产生字符,但它们确实具有扫描码,并且程序能够检索这些码。

    即使是与字符相对应的字母数字键也可能在不同时间表示不同的字符,具体取决于 Shift 和所选的键盘布局。

    无论 Linux 怎么想,键盘和屏幕都不是字节流。

    【讨论】:

      【解决方案3】:

      伟大的可以通过以下方式在linux中获取扫描码:

      sudo showkey -s
      
      • 向上:0x48(按下)0xc8(释放)
      • 向下:0x50(按下)0xd0(释放)
      • 左:0x4b(按下)0xcb(释放)
      • 右:0x4d(按下)0xcd(释放)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-03-16
        • 2016-02-14
        • 2013-10-21
        • 1970-01-01
        • 2011-11-21
        • 2014-01-19
        • 1970-01-01
        相关资源
        最近更新 更多