Bagaimana cara menetapkan kunci pengubah tunggal sebagai pintasan di openbox?

1

Saya ingin memulai kunci super saya dmenu. Saya menetapkannya sebagai pintasan keyboard di rc.xml:

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

Aku mencoba menentukan sebagai W, W-, dan dengan kode kunci ( 0x85). Wmerespons dengan menekan surat itu w, W-tidak melakukan apa-apa, dan langsung 0x85memicu dmenupada acara KeyPress alih-alih menunggu KeyRelease. Jadi kombo kunci lain yang menggunakan super sebagai pengubah akan memicu dmenusebagai gantinya.

Bagaimana bisa memberitahu openbox bahwa saya hanya ingin pintasan untuk dipicu ketika tombol super ditekan dan dilepaskan pada itu sendiri tanpa penekanan tombol lainnya?

gandalf3
sumber

Jawaban:

1

Saya membuatnya bekerja dengan menggunakan xcape ( dikemas dalam AUR ).

Dari halaman manualnya:

xcape memungkinkan kunci pengubah untuk digunakan sebagai tombol lain ketika ditekan dan dilepaskan dengan sendirinya.

Singkatnya, saya menugaskan super ke shortcut dummy ( ⎈ Ctrl⇧ Shift⎇ AltLinux key SuperD) dengan

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

Perhatikan bahwa Anda harus menjalankan ini setiap kali Anda reboot, jadi Anda mungkin ingin memasukkannya ke dalam ~/.config/openbox/autostartskrip atau sesuatu.

Pintasan dummy ini diambil oleh openbox dengan entri di rc.xml:

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

Saya juga menulis jawaban yang sedikit lebih rinci tentang ini di sini .

gandalf3
sumber