c - 如何从 ncurses getch() 返回 Ctrl+M?
问题描述
我正在使用 ncurses 编写应用程序并尝试从键盘获取 CTRL-M 按键。每当我按下 CTRL-M(又名 \r)时,Ncurses 都会返回 CTRL-J(又名 \n),所以我怀疑它在某处进行 CRLF 翻译。我的程序在 raw() 模式下运行,所以我认为它不应该进行任何翻译。这是一个 ncurses 问题还是来自上游的某个地方,比如终端驱动程序?
我怎样才能让它在没有翻译的情况下给我原始按键?
FWIW 我在 Linux 上使用 ncurses,在 xfce4-terminal 中运行 bash。我的术语是 xterm-256color。我在 Google 上搜索并检查了 ncurses 文档,但在此问题上找不到任何内容。
解决方案
你需要打电话nonl()
。尽管它记录在outopts
手册部分,但它也会影响输入。
推荐阅读
- microsoft-cognitive - 自定义语音 TTS 示例返回“HTTP/1.1 503 合成失败。状态代码:不可用,详细信息:连接失败”
- android - Making View in XML
- python - 在 selenium python 中直接在非美国语言键盘之后键入字符串
- ios - Swifter 项目中的 ??= 运算符是什么
- java - 使用 P7B 证书在 Spring Boot Java 应用程序中启用 HTTPS
- authentication - How to pass SAML assertions in jenkins to scripts used in jobs?
- javascript - FP 风格的 OOP 原型代码示例
- typescript - Can we write a cloud function that can be used to check if a mobile number exists for the user trying to sign in in firebase?
- json - 部署后反应在 dist 文件夹中添加的读取文件
- oracle - Oracle:需要在相关更新中存在