Wie kann man einen einzelnen Modifikator als Verknüpfung in Openbox einstellen?

667
gandalf3

Ich möchte meinen Superschlüssel starten dmenu. Ich habe es als Tastenkombination in meinem festgelegt rc.xml:

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

Ich habe versucht, es als W, W-und mit seinem Schlüsselcode ( 0x85) anzugeben . Wreagiert auf das Drücken des Buchstabens w, W-tut nichts und 0x85löst dmenusofort das KeyPress-Ereignis aus, anstatt auf KeyRelease zu warten. Daher werden dmenustattdessen andere Tastenkombinationen ausgelöst, die Super als Modifikator verwenden.

Wie kann man openbox mitteilen, dass die Verknüpfung nur ausgelöst werden soll, wenn die Supertaste alleine gedrückt und wieder losgelassen wird, ohne dass andere Tasten gedrückt werden ?

1

1 Antwort auf die Frage

1
gandalf3

Ich habe es mit xcape ( in der AUR verpackt ) zum Laufen gebracht .

Von seiner Manpage:

Mit xcape kann eine Zusatztaste als weitere Taste verwendet werden, wenn sie alleine gedrückt und losgelassen wird.

Kurz gesagt, ich habe super mit einem Dummy-Shortcut ( ⎈ Ctrl⇧ Shift⎇ AltLinux key SuperD) belegt

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

Beachten Sie, dass Sie dies bei jedem Neustart ausführen müssen, so dass Sie es in Ihr ~/.config/openbox/autostartSkript oder etwas anderes einfügen möchten .

Diese Dummy-Abkürzung wird von openbox mit einem Eintrag in aufgenommen rc.xml:

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

Ich schrieb auch eine etwas ausführlichere Antwort darüber hier .