スーパーキーを操作したいですdmenu
。私は次のショートカットに設定しましたrc.xml
。
<keybind key="0xffeb">
<action name="Execute">
<command>dmenu_run</command>
</action>
</keybind>
key
属性でW
、W-
と で指定してみましたが0xffeb
そのうち何も動作しません。
W
文字を押すと反応しますw
が、他の人は何もしないようです。
スーパーキーを押して放すときにショートカットが実行されるようにしたいと思います。可能ですか?
これはクロスパブリッシュスーパーユーザーがフォローしましたここを案内してください。私はこの質問を読んだ。ショートカットとして使用されるスーパーキー - Openboxしかし、有用な情報は表示されません。
答え1
結局使ったX角度、これを行うように特別に設計されたユーティリティです。
xcape を使用すると、修飾キーを押して放したときに別のキーとして使用できます。キーを離すまで押されたイベントは発生しないため、元のキーを押すよりも少し遅くなります。
から引用Xcapeを読む
xcapeを使用すると、プレスを割り当てることができますそしてリリース修飾キーを別のキーまたはキー範囲に変更します。たとえば、次のようにプレースホルダのショートカット Superに割り当てることができます⎈ Ctrl⇧ Shift⎇ Alt SuperD。
xcape -e 'Super_L=Control_L|Shift_L|Alt_L|Super_L|D'
Super他のキーを押さずに押して放すと、xcapeは押下をシミュレートするキーボードイベントを送信します⎈ Ctrl⇧ Shift⎇ Alt SuperD(ショートカットを押すのと同じように、すべての修飾キーを押したままにします)。
押すと Super そして別のキーを押すか長すぎる場合は、デフォルトの Superタイムアウトは500ミリ秒です。 xcapeは追加のキーをトリガーせずにキーボードイベントをそのまま渡します。
プレースホルダーのショートカットを入れると、押したrc.xml
ときにのみ実行されます。 Super Super
<keybind key="C-A-S-W-d">
<action name="Execute">
<command>dmenu_run</command>
</action>
</keybind>
関連する他のショートカットキーは Super影響を受けません。
~/.config/openbox/autostart
xcapeは起動するたびに実行する必要があるため、自動的に実行される場所に配置することをお勧めします。
答え2
xev
適切なキー名を取得するには、スーパーキーを実行して押します。鉱山はSuper_L
出力に基づいています。
KeyRelease event, serial 48, synthetic NO, window 0x3600001,
root 0x91, subw 0x0, time 1648471775, (167,-8), root:(927,138),
state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
あなたのキーが同じであると仮定すると、スーパーキー(Windowsキーとも呼ばれる)を押すと機能します。
<keybind key="Super_L">
<action name="Execute">
<command>dmenu_run</command>
</action>
</keybind>
ファイルを保存して実行してkillall -SIGUSR2 openbox
構成を再ロードします。
しかし、私はローカルユーザーのための設定ファイルを扱っています$HOME/.config/openbox/lxde-rc.xml
。組み合わせて使用時はW
レジスタのみスーパーキーとして使用されますが、Super_L
文字で読み込まずに個別に使用が可能ですw
。