如何使键盘快捷键在按键释放时注册,而不是在按键时注册?

iju*_*ath 18 xfce xubuntu keyboard shortcut-keys xfce-panel

我想要像 Windows 一样的快捷方式;Super打开开始菜单,Super+S打开搜索窗口,Super+E打开Thunar等。

我知道如何设置键盘快捷键,但是当我设置Super为 open 时whiskermenuwhiskermenu也会在Super+* 快捷键的所有其他实例中弹出。我认为这是因为 XFCE 会在快捷方式出现时注册它们,而不是等待同时发布(如在 Windows 中)。

我该如何设置?

Sev*_*Tux 8

您可以通过这种方式实现:**

  1. 安装 xbindkeys

    sudo apt install xbindkeys
    
    Run Code Online (Sandbox Code Playgroud)
  2. 运行命令:

    xbindkeys --key
    
    Run Code Online (Sandbox Code Playgroud)

    在出现的白框中,按您的组合键。示例Win+E将返回以下内容:

    "(Scheme function)"
        m:0x50 + c:26
        Mod2+Mod4 + e
    
    Run Code Online (Sandbox Code Playgroud)

    现在复制最后(或最后一秒)行并按如下所示使用它。

    在较新的版本中,您需要这样做,这让您可以跳到下一步:

    请用“ xbindkeys --defaults > /home/$USER/.xbindkeysrc”创建一个。
    或者,如果您想要方案配置样式,请
    使用“ xbindkeys --defaults-guile > /home/$USER/.xbindkeysrc.scm

  3. .xbindkeysrc在您的主目录中创建一个新文件

    touch $HOME/.xbindkeysrc
    
    Run Code Online (Sandbox Code Playgroud)

    打开它

    nano $HOME/.xbindkeysrc
    
    Run Code Online (Sandbox Code Playgroud)

    输入您所需的命令和键,如下所示

    "nautilus"
        release+Mod2+Mod4 + e
    
    Run Code Online (Sandbox Code Playgroud)

    注意:不要忘记release,用任何命令替换“nautilus”。)

    同样添加所有需要的命令键组合一个在另一个下面

  4. 现在添加xbindkeysxinitrc

    sudo nano /etc/X11/xinit/xinitrc
    
    Run Code Online (Sandbox Code Playgroud)

    添加xbindkeys到起始(第一行或之前. /etc/X11/Xsession

重新启动你的系统,你应该得到预期的行为

提示:确保您没有在 xbindkeys 和您的 DE 提供的 GUI 方法中设置冲突的配置

有关更多示例,man xbindkeys.