【问题标题】:Linux c++ console get key stateLinux c++ 控制台获取密钥状态
【发布时间】:2014-02-14 14:30:22
【问题描述】:

我想在 Linux 中创建命令行游戏,但我不知道如何获取关键状态。我听说过 getch() 但这会停止程序。

【问题讨论】:

    标签: c++ linux console keyboard


    【解决方案1】:

    我花了一点时间阅读。显然,如果没有图书馆的帮助,这是一件很难做到的事情。许多人推荐图书馆ncurses。如果你想尝试自己做,你需要学习切换终端模式和类似的疯狂的东西。这个帖子信息量很大:Non-blocking keyboard read - C/C++

    【讨论】:

      【解决方案2】:

      在this文章中,作者实现了一个cKeyboard类,直接监听来自/dev/event0的事件。然后按如下方式使用该类:

      #include "keyboard.h"
      
      cKeyboard kb;
      
        ...
      
      if (kb.getKeyState(KEY_UP)) {
          // do something
      }
      

      它非常适合我,但我不得不将 event0 更改为 event4。

      【讨论】:

        猜你喜欢
        • 2011-10-16
        • 2014-02-15
        • 1970-01-01
        • 2014-01-04
        • 1970-01-01
        • 2021-01-14
        • 2023-02-12
        • 1970-01-01
        • 2018-09-25
        相关资源
        最近更新 更多