【问题标题】:Using keyboard interrupt to display something different than what the user typed使用键盘中断显示与用户键入的内容不同的内容
【发布时间】:2010-09-20 09:23:28
【问题描述】:

在 C 语言中,使用键盘中断,我如何显示用户键入的备用键?例如,当我按键盘上的“Q”时,屏幕应显示“A”。

【问题讨论】:

  • 呃,因为它被标记为社区 wiki 并且我是编辑它以保持连贯性的人,现在看起来我是提出这个问题的人。这有点恶心...
  • 您应该评论一下您工作的环境。Mac?经验? Linux?你用的是什么编译器?你打算用这个做什么?提供更好的上下文可能会产生更好的答案。

标签: c input interrupt


【解决方案1】:

在任何平台上处理键盘中断都不是一个好主意。 usb 键盘呢,没有可以捕捉到的中断?

对于 Windows 操作系统,您可能想要编写过滤器驱动程序,您可以找到 this replay 部分相关。
键盘过滤器驱动示例见here
对于 Linux,您可能需要修补 HID 层驱动程序。 Mac 完全超出了我的范围 :)

【讨论】:

    【解决方案2】:

    我们需要更多关于您的环境的信息。

    据我了解您的问题,您想替换 用你自己的键盘中断处理程序这样:

    • 保存原键盘处理程序的入口地址。
    • 安装您自己的,调用原始代码并操作键码值。

    但是,在大多数现代操作系统上,定义和安装新的键盘布局要容易得多。

    【讨论】:

      猜你喜欢
      • 2014-08-23
      • 2016-05-17
      • 2011-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-07
      相关资源
      最近更新 更多