编辑:我正在尝试不同的策略/dev/midi
通过使用C 来解决问题。
大家好!我最近买了一个 Akai MPD24 MIDI 控制器,它是我正在编写的一个软件的一部分。我希望使用它上面的拨盘来控制 OpenGL 窗口的视图。我已经让 OpenGL 部分与 GTK+ 滑块一起工作,所以唯一的问题是设置 MIDI 设备。
我找到了 OSS MIDI 库,看起来它们工作正常,但由于某种原因,它无法正确探测它。
dmesg
输出:
...
usb 3-1: USB disconnect, address 2
usb 3-1: new full speed USB device using uhci_hcd and address 3
usb 3-1: configuration #1 chosen from 1 choice
Reinsert of an audioctl device 1/0 - USB sound device
oss_usb: probe of 3-1:1.1 failed with error -5
...
有人能够通过 Linux 使用 MIDI 设备吗?或者有人知道神秘的“错误 -5”是什么吗?
答案1
-5 是 EIO - IO 错误(无论如何在 ANSI C 中;希望 Linux 使用标准错误代码)
我将附上我在研究这个问题时发现的一些 URL:
http://manuals.opensound.com/sources/usb_wrapper.inc.2.html http://ubuntuforums.org/showthread.php?t=955243 http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Errors/unix_system_errors.html
所以,谜团虽然解开了,但问题仍然存在。如果这没有帮助,请见谅。-Paul
答案2
检查程序 xev 以查看您是否收到任何输入。您可能不需要它是 MIDI 设备,而只是将键 (xbindkeys) 映射到其他功能按钮等。
有用的命令
xev -name GetKeys - 显示一个监控所有输入的小框。适合查找鼠标按钮编号。
xbindkeys -k - 显示一个小框,您可以突出显示它并按下一个键来找出它的名称。适用于您的键盘。
xmodmap [文件名] - 修改或创建密钥。稍后我会讲到这个
xbindkeys -f [文件名] - 将文件传递到 xbindkeys,并将键绑定到命令
xdotool - 模拟按键,你需要用鼠标来实现