繁体   English   中英

获取C中当前按下的键?

Get currently pressed key in C?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我需要能够在不完全停止程序的情况下按下当前角色。 理想情况下,我希望程序继续运行,在while循环的每次迭代后检查密钥。 由于这个原因, getch()是有问题的。 我想在按下'q'键时突破while循环,但是while循环继续运行直到那时。 我使用Linux和gcc作为我的编译器。

1 个回复

在实践中,您应该使用库 ,这取决于您是在编写终端应用程序还是GUI。

对于终端应用程序 ,请阅读TTY揭秘页面并使用ncursesreadline 请注意,在熟模式下(这是默认情况), tty具有内核管理的行缓冲区,因此通过getc获取单个字符是不可能的。 另请参见termios(3)tty(4)以及tty_ioctl(4) (您可以在原始模式中设置tty的痛苦 - 例如http://shtrom.ssji.net/skb/getc.html中的建议sjr的评论 - ,但我建议使用库)。

对于在桌面上运行的图形应用程序 ,请使用GTKQt等工具包

顺便说一下,在这两种情况下,编程模型都不再与天真的getc函数兼容。

另请阅读高级Linux编程,并注意Linux有多个多路复用系统调用 (这些在syscalls(2)中列出),特别是poll(2) - 可能由ncursesreadlineQtGtk库使用。

1 获取当前在 c 中按下的所有键

我正在制作一个命令行程序,当您使用箭头键时,我需要更改光标的位置。 以前我用raw.c_lflag &= ~(ECHO | ICANON);关闭了规范模式raw.c_lflag &= ~(ECHO | ICANON); ,以及带有read() git 输入(在unistd.h定义) ...

2 获取当前按下的键

我正在为Javascript编写一个小插件,此刻,我需要隐藏其他元素模糊的元素。 但是,如果按下shift或ctrl,则不应隐藏元素。 所以... 我需要找到代码中任何给定时间内按下的键。 在任何给定类型,我的意思是,在按键事件之外。 在我的代码中,我需要找到在模糊事件期间 ...

3 在检查器中获取当前按下的键

我目前正在为我的 Unity 项目构建一个简单的快捷方式系统。 目前我正在按字符串在检查器中插入快捷方式,例如:“Control+Alt+A”。 但是每次都写太烦了。 所以我想为它创建一个自定义编辑器,其中文本框会自动填充用户按下的键。 不幸的是,我发现获取此信息的唯一方法是使用 OnScene ...

4 在不按 ENTER 键的情况下获取输入 - 在 C 中

正如您从标题中所了解的那样,我想在不按 ENTER 键的情况下从用户那里获得输入。 如果我需要谈论我想做的程序: 我正在编写一个键盘速度测试程序。 你可以猜到我想用空格键而不是回车键来获取输入。 我设计的程序是这样的: 示例文本 = "... an apple ..." 我将获取用户按下的每 ...

5 读取Clojure中当前按下的所有键

有没有办法获取Lanterna终端/屏幕中所有当前按键的列表? 即没有得到最后一个按下的键,也没有等待按下一个键。 我想获得当前正在按下的所有键的列表。 我意识到这可能是带有终端灯笼的限制。 如果是这样,是否有替代方法来实现支持轮询按键的文本UI? ...

7 如何检测当前按下的键?

在Windows Forms中, 借助Cursors类,您可以随时知道光标的当前位置。 键盘似乎无法使用相同的功能。 是否可以知道是否按了Shift键? 跟踪每个键盘通知(KeyDown和KeyUp事件)是否绝对必要? ...

8 获取在EditText中按下的键

我想知道在EditText按下了哪个键。 例如,如果一个被按下,我想要得到的数值为“A”。 我怎样才能做到这一点? ...

2011-05-31 17:10:02 2 11114   android
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM