问题标签 [getch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - C中的ncurses应用程序-读取标准输入
我正在为 OS 学术课程编写 Linux 标准less命令的简化版本,并且允许我使用 ncurses 使其更容易。“简化”意味着用户应该能够使用箭头、PgUp、PgDown 滚动视图,并且还可以使用 g 和 G 跳转命令。此外,程序应该从文件(其名称作为参数给出)或标准输入流中读取输入,例如
从文件中读取很容易(在这种情况下没有问题),当我使用管道运算符时会出现问题 - getch()不断返回 -1 (EOF) 并且不响应任何按键。我当前的代码如下所示:
我认为这是刷新流的问题,但没有一个类似的解决方案对我有用。我从标准输入读取所有数据,直到最后(EOF),所以我不明白为什么 EOF 留在缓冲区中。
有什么解决方法吗?我浏览过类似的问题,但我没有找到任何线索来解决我的问题。也许 ncurses 不是我的任务的好解决方案?
linux - ncurses 的 getch() 不起作用
我需要为我的程序创建一个主循环并编写以下函数:
}
但是 getch() 不起作用并在循环中打印 -1 。我怎样做?我可以设置特殊属性或调用特殊功能吗?
scala - 如何检测控制台上的按键?
我正在用 Scala 写一个 roguelike。例如,我需要能够看到用户何时按下箭头键。我发现的所有解决方案都需要玩家按回车键。
有没有办法以与 C 中的 getch() 类似的方式检测控制台应用程序中的按键?
python - 检查 Linux 终端缓冲区中的额外字符
我尝试getch()
在 Python 中实现函数,它还应该返回特殊键(如 F1-F12 和箭头键)的字符列表。这些特殊键按顺序生成多个字符。因此getch()
在阻塞模式下读取一个字符,然后应该检查输入缓冲区中是否还有额外的字符来获取它们。
我将ioctl
call 与termios.FIONREAD一起使用来获取输入缓冲区中的字节数。它会捕获堆积在缓冲区中的非特殊按键,但会丢失特殊键中的额外符号。似乎有两个不同的缓冲区,如果有人可以解释这一点,那就太好了。
这是交互式示例:
注意sleep(1)
中间。如果您在这一秒到期之前按下一个键,输出将是:
对于一秒钟内输入的 5 个普通键(例如 'asdfg'),输出为:
但对于单个箭头键,输出:
这里有两个问题:
为什么普通按键队列中的4个符号被丢弃?是因为切换到“原始”终端模式吗?
getch()
如何在不让终端处于“原始”模式的情况下为后续运行保留字符?为什么
ioctl
单个特殊按键的缓冲区为空?这些角色是从哪里来的后续getch()
运行?如何检查它们?
c - OS X 上的箭头键
我正在尝试为控制台制作一个小游戏,所以我需要检查按下了哪个箭头键。在互联网上找不到任何有用的东西。
到目前为止,我试过这个:
但是 getch() 总是返回 27,无论我按什么箭头。
有任何想法吗?
c - getch 和 putchar 不返回就无法工作
我一直在尝试getch
在另一个项目中工作,但没有成功。所以我已经制作了最基本的程序,我可以使用getch
我希望它在主程序中工作的方式。
我研究了对noecho
,和的需求cbreak
,我也尝试过使用但没有成功。initscr
nodelay
newscr()
我遇到的问题是字符不会被打印到屏幕上,直到我点击“输入”,当它们应该在put
每个循环时出现在屏幕上时。为什么会这样?此外,光标不会在新行处返回屏幕左侧。例如。
我一直在寻找答案,但又被难住了……
c++ - eclipse C++ alternative for getch()
I am using C++ under Eclipse. With the Borland compiler I have used getch() function to take user input without showing what was entered.
The getch() function is not working under Eclipse.
Is there another way to get the user input without displaying on the screen the symbols which he enters?
c - getch 和箭头代码
我正在编写一个getch()
用于扫描箭头键的程序。到目前为止,我的代码是:
问题是当我按下'A'
,或代码也会执行,因为'B'
是十进制代码,等等......'C'
'D'
65
'A'
有没有办法在不打电话给别人的情况下检查箭头键?
谢谢!
c++ - _getch 不将输入读入变量
我在使用 _getch() 函数时遇到问题,我想要它以便用户在从菜单中选择内容时不需要按 ENTER。但是,当我尝试使用它时,它要么不会将数据输入到变量中,要么会跳过我拥有的开关。我正在使用 Windows 7 和 CodeBlocks IDE。我做错了什么?提前致谢。
python - 如何将密码回显为星号
我正在尝试创建一个登录窗口,提示用户输入他们的用户名和密码,尽管输入密码时我正在寻找要打印的星号,例如常见的密码输入(即 - Sekr3t 被回显为:* * * * * *)。
这是我到目前为止的代码,我不知道为什么它不回显星号:
任何帮助,将不胜感激。