-1

我正在尝试将钢琴键解释为键盘输入。我在 Raspberry Pi 上通过 UART 接收钢琴键号。我有一个使用 GTK 用 C 语言制作的 GUI,当我检测到某些钢琴键时,我需要将它们作为键盘输入或箭头键发送以导航 GUI。有人知道怎么做吗?

4

2 回答 2

1

据我所知,您不希望将钢琴键解释为键盘输入;相反,您希望以与键盘输入相同的方式处理钢琴键。在接收到指定的钢琴键事件时,让它调用与相应键盘键相同的函数。

于 2013-04-11T15:36:07.060 回答
1

在 Linux 中,最简单的方法是使用 X11 的 XTest 扩展,尤其是函数XTestFakeKeyEvent.

但不要忘记调用XTestQueryExtension初始化扩展!这是一个常见的陷阱:如果您不调用此函数,其他XTest*函数将根本不起作用!

您还可以让您的钢琴成为一个真正的键盘,编写用户空间驱动程序:您可以创建输入设备并将输入事件发送到内核使用uinput内核驱动程序:基本上它创建一个/dev/uinput您可以使用ioctls 操作的设备以执行您需要的任何操作.

于 2013-04-11T15:45:30.690 回答