
Fn+をキーの組み合わせとして使用する必要がありますが、CTRLopenboxでは機能しません(XFCE / KDE4`では機能します)。
<keybind key="Fn-C">
<action name="ToggleMaximize">
</action>
</keybind>
ジョブ名は正しいです。たとえば、他のキーの組み合わせで使用できますW-3
。
では、どう思いますか?
答え1
さまざまなウィンドウマネージャはさまざまなキーマップを使用でき、キーマップはFnキーストロークの認識方法を定義します。これがXFCEで動作することが必ずしもOpenboxでは動作しない可能性がある理由です。
X(およびOpenbox)がキーを解釈する方法を確認するにはFn:このガイド。
結果に応じて、適切なキー記号をrc.xml
代わりに使用できますFn。
Fnたとえば、Thinkpadで認識されている場合ですXF86WakeUp
。シンボルが割り当てられていない場合は、次のようにxmodmapを使用して手動でシンボルを割り当てることができます。このガイド次に、対応する記号を使用しますrc.xml
。
さらなる調査によると、Fnは一部のノートブック(IBM / Lenovo Thinkpadsなど)の特殊キーであることがわかりました。その理由は、Keypress
イベントKeyrelease
(またはMicrosoftKeydown
というKeyup
用語)がキーを離したときにのみ同時に生成されるためです。押しながらキーを押すとFn記録されません*。そしてシフ、システムでもこれが起こるかどうかを簡単に確認できます。
Fnこれは、修飾キーとして使用できないことを意味します(Altまたは他のCtrlような他のキーと組み合わせてShift)。ただし、個別にショートカットとして指定することはできます。結合するオープンボックスキーホルダー、これは修飾子として使用するのと同じくらい良いです。結合されたキーを押す前に手を離してください。
*なければならない一部FnFnLenovoの独自のWindowsツールは他のキーを押すことに反応するため、少なくともこれがThinkpadにキーを登録する方法です。しかし、これは非常に低いレベルで起こるようです。 WindowsホストのVMWareゲストにいるときにプラスFnキーを押すと、ゲストOSではなくWindowsホストでそのツールが開きます。 LinuxでThinkpadなどのツールの実装を研究し、それを処理する方法を確認してくださいFn。
ここFn+Fxキーの組み合わせがACPIイベントを生成する方法(Thinkpadツールがどのように反応するか)に関する詳細なThinkpad関連情報を見つけることができます。ただし、これらのイベントは特定のキーの組み合わせに対してのみ生成され、他のキーの組み合わせに対しては生成されないようですFx。
このページでは、ACPI イベントにキーイベントをトリガーさせる方法も説明します。しかし、keydownとkeyupが別々のイベントを生成しないと、これ以上役に立ちませんFn(Thinkpadでは発生しないと思います)。
答え2
Fluxbox / openboxのようなミニマリストのウィンドウマネージャから離れてからかなり時間が経ちましたが、以下は私が覚えているいくつかのヒントです。
実際には、以下を使用して特定のキー入力の組み合わせのキーコードを表示できます。シフ(1)
使用できるxmodmap(1) 特定のキーコードを X イベントにバインドします。
xevとxmodmapのマンページをチェックしてください;)