gpt4 book ai didi

c++ - Linux - 丢弃键盘输入

转载 作者:太空狗 更新时间:2023-10-29 11:46:17 25 4
gpt4 key购买 nike

首先,介绍一些背景知识:我在 VirtualBox VM 中运行最新稳定版的 Crunchbang Linux。我正在设计一个自定义的基于文本的用户界面以在 bash 之上运行。这是通过 C++ 和 bash 脚本的组合完成的。

有时,我需要完全彻底地消除用户为系统提供任何类型的标准键盘输入的能力。这是因为,当我运行系统的一部分时,用户被迫等待一定的时间。
不幸的是,在此过程中用户仍然可以键入,并且他们键入的任何内容都会显示在屏幕上。当我同时运行 C++ 程序和 bash 脚本时会发生这种情况。这是一个问题的原因是屏幕上有用户要阅读的文本,如果他们可以键入,它会取代文本。稍后还会有其他用途,比如让系统看起来像是卡住了。

所以,问题 - 我该怎么做

  1. 禁用键盘,或者
  2. 防止键盘上按下的任何内容显示在屏幕上?

最佳答案

使用 stty -echo 或等效的 C 代码(将使用 tcgetattrtcsetattr)关闭 echo 模式。当您准备好再次接受输入时,将其重新打开。您可能还希望丢弃意外到达的输入。这将通过 tcflush 完成,但请注意,某些用户(如我)会认为这是一种烦恼。 Typeahead 是一项功能,而不是错误!

关于c++ - Linux - 丢弃键盘输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12223736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com