2013-04-11 124 views
-1

我试图将钢琴键解释为键盘输入。我正在通过Raspberry Pi上的UART接收钢琴键号。我有一个使用GTK在C中制作的GUI,当我检测到某些钢琴键时,我需要将它们作为键盘输入或箭头键发送以导航GUI。任何人有任何想法如何做到这一点?GTK非标准输入

回答

1

从我收集你不希望钢琴键被解释为键盘输入;相反,您希望按照与键盘输入相同的方式处理钢琴键。在收到指定的钢琴键盘事件时,让它调用与相应的键盘键相同的功能。

1

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

但是别忘了打电话给XTestQueryExtension初始化扩展!这是一个常见的错误:如果你不打电话给这个功能,其他的XTest*功能根本不起作用!

你也可以让你的钢琴真实的键盘编写用户空间的驱动程序:您可以创建输入设备,通过使用uinput内核驱动程序发送输入事件到内核:基本上它创建了一个/dev/uinput的设备,可以与操纵ioctl s可以做任何你需要的。