【问题标题】:JavaFX KeyEvent for media key is blank (Ubuntu)媒体键的 JavaFX KeyEvent 为空白(Ubuntu)
【发布时间】:2014-10-24 05:03:20
【问题描述】:

在 Ubuntu 14.04 中处理 JavaFX (8.0.25) 中的媒体密钥时遇到问题。我分不清他们中的任何一个!

示例:静音按钮 (XF86AudioMute / 121) 事件类型:KEY_PRESSED 代码:未定义 字符:'' 文本: '' code.isMediaKey(): false

我对任何其他媒体键以及任何未绑定的特殊应用程序键(带有“后退箭头”“前进箭头”“主页图标”等的戴尔键盘)的行为都相同

xev 可以很好地识别按键(例如:静音为 121)

如何区分 JavaFX 中的这些关键事件?

【问题讨论】:

    标签: java ubuntu javafx ubuntu-14.04


    【解决方案1】:

    用解决方法回答我自己的问题:

    我无法直接使用 JavaFX 执行此操作,而是求助于将媒体键重新绑定到功能键: (静音按钮示例)

    1.取消绑定现有的dconf设置:
    注意:这会自动持续
    dconf 编辑器或 gsettings
    包:org.gnome.settings-daemon.plugins.media-keys
    键:静音 例如:gsettings set org.gnome.settings-daemon.plugins.media-keys volume-mute ''

    2.获取keycode:
    xev | grep KeyPress -A 5
    按所需键
    记下键码

    3. 使用 xmodmap 绑定新映射:
    注意:这不会在 14.04 中自动保留,即使保存到 ~/.Xmodmap
    xmodmap -pke > ~/.Xmodmap(获取当前设置)
    编辑 ~/.Xmodmap 并进行所需的更改
    例如:键码 121 = F11 F11 F11 F11 F11 F11 XF86Switch_VT_11(静音按钮现在是 F11)
    应用:xmodmap ~/xmodmap.conf

    4.坚持
    选项 1:将“xmodmap ~/.Xmodmap”添加到登录脚本
    选项 2:将 'usermodmap="$HOME/.Xmodmap" 添加到 /etc/gdm/Xsession

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-18
      • 1970-01-01
      相关资源
      最近更新 更多