无法在 QJoyPad 中映射 XF86AudioRaiseVolume 键

无法在 QJoyPad 中映射 XF86AudioRaiseVolume 键

我想映射我的 PSone 游戏手柄以执行一些基本的 KDE/键盘/鼠标功能,除了一件事之外,一切都运行良好。我使用 Logitech Ultra-x 键盘,它有几个多媒体按钮(播放、主页、音量调高、音量调低......),我想将音量调高和音量调低键以及其他所有键映射到我的游戏手柄上。

调低音量效果很好,但调高音量会出现一些问题。在我启动 qjoypad 并映射它之后 - 它确实可以工作,但在映射它之后我仍然看到“[无键]”(当它正在工作时 - 调高音量;这很奇怪).. 在我关闭并打开 qjoypad 之后,我收到此错误:“读取按钮 6 时出错”,然后是“读取操纵杆 0 的定义时出错”

这是我的布局:

QJoyPad 4.1 Layout File

Joystick 1 {
    Axis 4: gradient, dZone 6505, maxSpeed 11, tCurve 2, sens 2, mouse+h
    Axis 5: gradient, dZone 6264, maxSpeed 11, tCurve 2, mouse+v
    Button 1: key 114
    Button 2: mouse 3
    Button 3: mouse 1
    Button 4: key 113
    Button 5: key 122
    Button 6: key 123
    Button 7: key 62
    Button 8: key 105
    Button 9: key 23
    Button 10: key 65
}

使用 xev 我得到了 122 和 123 是什么(当我按下它们时,它们在 KDE 下正常工作,只是 123 不会映射并保持映射到我的 pad)

keycode 122 = XF86AudioLowerVolume
keycode 123 = XF86AudioRaiseVolume

有什么提示我应该怎么做才能修复这个问题并保持我的配置不变?如果它有任何意义,或者无论如何有帮助 - 系统是 arch,内核是 2.6.35,kde 4.5.1,如果你需要任何其他信息,我可以提供

非常感谢=)

答案1

我遇到了同样的问题,但我找到了解决方案。如果你检查源代码,它会在 src/constant.h 中将 MAXKEY 值定义为 122。只需将该行更改为更大的数字即可。我的超级密钥为 133,我将其更改为 133。重新编译、安装,然后就可以开始了。

顺便说一句,作者可能有理由将 MAXKEY 限制在 122。更改它需要您自担风险。

答案2

您是否知道导致 pad 按钮无法工作的原因?这是在重启/登录时发生的吗?还是在常规会话期间发生的?pad 是否被拔下/重新插入?您是否可以采取一些措施,导致 pad 按钮无法用于 VolumeUp?

(我去扫描了 qjoypad 文档……)

qjoypad 文档确实显示了一个怪现象,即当配置窗口以焦点打开时,不会生成任何事件。您的配置窗口关闭了吗?

qjoypad 是否会随意更改布局?当它正常工作时,您可以检查您使用的布局,当它不工作时,您再检查一次吗?

如果在注销/重新启动后直到启动 qjoypad 为止按键都不起作用,那么我建议编写一个简短的脚本:

#
# start up qjoypad with my 'default' layout
qjoypad "Default"

(或任何你命名的)

并将其复制/符号链接到 ~/.kde/Autostart 中(或者更好的是,使用系统设置 -> 高级选项卡 -> 自动启动面板进行设置)

这会导致系统在启动时自动加载您喜欢的默认布局。这有帮助吗?

qjoypad 看起来很整洁,我得去看看。

相关内容