在 C 中模拟键盘事件箭头键

Posted

技术标签:

【中文标题】在 C 中模拟键盘事件箭头键【英文标题】:Emulate keyboard event arrow keys in C 【发布时间】:2021-11-30 07:29:57 【问题描述】:

Short:帮助在linux下用C代码模拟键盘事件(方向键、回车)。

Long:我正在将 iPod clickwheel 与 Raspberry Pi 连接起来。目前我可以 printf 到终端,比如“按下按钮 1”。但我需要系统范围的事件,就像真正键盘上的按键一样。我的其他代码在 C 上,所以我无法实现 Python。

【问题讨论】:

【参考方案1】:

您确实应该使用第三方库。在 ANSI C 中绝对没有独立于平台的方法。您可以尝试使用 conio.h 及其 kbhit() 函数,该库可以从 conio 下载。

或者您可以从终端读取上/下/右/左键 like

【讨论】:

【参考方案2】:

您可以使用 SDL2,它适用于 Raspberry Pi 和 Linux,您可以管理输入事件,例如键盘、鼠标、键盘等。

更多信息在这里:https://wiki.libsdl.org/SDL_Event

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。 谢谢,但我找不到这个对我来说很新的图书馆足够简单的例子。我很乐意找到类似这样的原型代码:keyboardEvent(KEY_UP,1); 如何编写一段代码来管理按键输入的简单示例:` SDL_Event event; bool continuer = true while (continuer) SDL_WaitEvent(&event); switch (event.type) case SDL_KEYDOWN: switch (event.key.keysym.sym) case SDLK_1: continuer=false; break; 代码永远循环,直到按下 1 键。如果您搜索“如何管理 SDL 事件和输入,可以找到更多信息

以上是关于在 C 中模拟键盘事件箭头键的主要内容,如果未能解决你的问题,请参考以下文章

28-30 键盘事件

三个键盘事件的区别:

js 键盘事件(onkeydownonkeyuponkeypress)

我无法绑定箭头键事件

VB6模拟键盘事件

js 键盘上Tab键,进行切换焦点时,这个事件执行的是哪个方法