【问题标题】:Using int16h to read shift+arrow使用 int16h 读取 shift+arrow
【发布时间】:2018-12-03 05:45:48
【问题描述】:

我正在使用 TASM 程序集编写程序,并且在该程序中我正在听用户的按键操作。我想听听用户何时按住 shift 和箭头键。但是,该组合似乎既没有唯一的扫描码也没有唯一的 ascii 字符。有没有办法收听这种组合,还是只使用 ctrl+箭头键更实用,因为它们有唯一的扫描码?

谢谢

【问题讨论】:

  • 如果您正在阅读扫描码,您应该能够自己跟踪 shift 键的状态。
  • ...这个组合好像没有唯一的扫描码...你是怎么决定的?如果您使用的是int 16h,那么您查看过它的文档吗?例如,看ah = 02h的情况。
  • 我的程序打印出我按下的键盘按钮的扫描码,按 shift 似乎对扫描码没有影响。

标签: assembly dos tasm dosbox


【解决方案1】:

您应该等待箭头键按下,并在按下时检查转换键的状态(Ctrl、Alt、Shift)。如果您同时满足这两个要求,那么您刚刚发现用户按下了组合键。

【讨论】:

    猜你喜欢
    • 2020-09-14
    • 2015-07-15
    • 2021-08-11
    • 2022-01-26
    • 2021-03-19
    • 2016-07-20
    • 1970-01-01
    • 2020-02-24
    • 2021-07-19
    相关资源
    最近更新 更多