如何在 openbox 中将单个修饰键设置为快捷键?

如何在 openbox 中将单个修饰键设置为快捷键?

我想让超级键启动dmenu。我将其设置为键盘快捷键rc.xml

<keybind key="0x85">
      <action name="Execute">
        <command>dmenu_run</command>
      </action>
</keybind>

我尝试将其指定为WW-和 及其键码 ( 0x85)。W响应按下字母wW-不执行任何操作,并在 KeyPress 事件上立即0x85触发dmenu,而不是等待 KeyRelease。因此,使用 super 作为修饰符的其他组合键将改为触发dmenu

如何告诉 openbox 我只希望在按下超级键时触发快捷方式并发布无需任何其他按键就能独立运行吗?

答案1

我通过使用它来工作卡普打包在 AUR 中)。

从它的手册页中:

xcape 允许将修饰键在单独按下和释放时用作另一个键。

简而言之,我将 super 分配给一个虚拟快捷方式(⎈ Ctrl⇧ Shift⎇ AltLinux key SuperD

xcape -e 'Super_L=Control_L|Shift_L|Alt_L|Super_L|D'

请注意,每次重新启动时您都必须运行此程序,因此您可能需要将其放入~/.config/openbox/autostart脚本或类似的东西中。

openbox 会在以下位置获取此虚拟快捷方式rc.xml

<keybind key="C-A-S-W-d">
      <action name="Execute">
          <command>dmenu_run</command>
      </action>
</keybind>

我还对此写了一个更详细的答案这里

相关内容