ゲームをプレイするときにホットコーナーと画面のエッジボタンをクリックするためのCompizバインディングを無効にするにはどうすればよいですか?

ゲームをプレイするときにホットコーナーと画面のエッジボタンをクリックするためのCompizバインディングを無効にするにはどうすればよいですか?

ちょうどXFCEデバイスにCompizを再インストールし、Scaleのようなウィンドウ切り替えCompizプラグインのためにエッジをマップし、画面の上部をクリックしました。 90%の場合はうまく機能しますが、ゲームをプレイすると誤って実行され続けます。問題は、ゲームをプレイするときにCompizホットコーナーとボタンクリックバインディング(Compiz用語はエッジとボタンバインディングだと思います)をどのように無効にするのですか?

答え1

メモ:これは私が直接使用するために開発したシステムであり、Q&A形式であなたと共有したいと思いました。誰かが別のシステムを思いついたら、答えを投稿してください。

すべてのCompiz機能に加えて、以下が必要です。xdoツール、LinuxのAutohotkeyに少し似ています。 Compizプラグインを実行するために、シェルスクリプトからショートカットキーの組み合わせを送信できます。

ズーム中にCompizが最小化されたウィンドウを表示することに興味がある場合は、私が投稿したこの質問と回答をご覧ください。


戦略


Scaleなどのプラグインを使用すると、Scaleプラグイン自体内でホットスポット(最も近い位置とボタンのマッピング)をマッピングするのではなく、キーの組み合わせのみをマッピングできます。その後、xdotoolsを使用してこれらのキーの組み合わせを送信するシェルスクリプトを作成し、そのシェルスクリプトをコマンドセクションの目的のエッジとボタンのバインディングにマッピングできます。その後、エッジとボタンのバインディングを有効にしたくない場合は、別の名前に名前を変更し、機能を復元したい場合は元の名前を復元するスクリプトを作成できます。


利点


ゲームプレイ中にCompizを一時的にMetacityまたはxfwmに置き換えてCompizを完全に無効にすることと比較して、この方法を使用すると、残りの機能を維持しながら、ゲームCompiz機能を妨げるいくつかの機能を簡単かつ即座に無効にできる柔軟性があります提供するということです。触れていない。そのため、ウィンドウを切り替えるためにホットコーナーを無効にすることができますが、ショートカットキーとDesktop Cube、Show Desktop、またはExpoなどのCompizの他のすべての機能を使用してウィンドウを切り替える機能はそのままです。また、すべての compiz キーバインディングを失うことなく、各ウィンドウマネージャに対して 2 つのセットを作成する必要があります。名前変更スクリプトのいくつかを切り替えるのは即座に安定していますが、ゲームを開始して終了するたびにウィンドウマネージャを切り替えるには5〜10秒かかります。私は個人的にウィンドウマネージャを切り替えた後、ログアウトして再度ログインする必要がありました。安定。


これは例です


マウスを右上隅と左隅に移動するときに、スケールプラグインで実行ウィンドウセレクタを有効にしたいと思います。また、画面の上部をマウスの左ボタンでクリックすると、「すべてのウィンドウに対してウィンドウセレクタを実行」が必要になる場合があります。前者のショートカットを「Alt Tab」に設定し、後者のショートカットを「Win Tab」に設定しました。


ステップ1:シェルスクリプトを作成します。ホームディレクトリに入れてください:


Initiate_Window_Picker_on.sh

xdotool keydown Alt key Tab keyup Alt

Initiate_Window_Picker_AllWindows_on.sh

xdotool keydown Super key Tab keyup Super

ゲームモードスイッチ.sh

~/./gamemode-on.sh

gamemode-on.sh

mv -T ~/Initiate_Window_Picker_on.sh ~/Initiate_Window_Picker_off.sh
mv -T ~/Initiate_Window_Picker_AllWindows_on.sh ~/Initiate_Window_Picker_AllWindows_off.sh

echo ~/./gamemode-off > ~/gamemode-toggle.sh
chmod +x ~/gamemode-toggle.sh

ゲームモードoff.sh

mv -T ~/Initiate_Window_Picker_off.sh ~/Initiate_Window_Picker_on.sh
mv -T ~/Initiate_Window_Picker_AllWindows_off.sh ~/Initiate_Window_Picker_AllWindows_on.sh

echo ~/./gamemode-on > ~/gamemode-toggle.sh
chmod +x ~/gamemode-toggle.sh

端末ですべてのスクリプトに実行権限を付与します。

chmod +x ~/*.sh

ステップ2:ショートカットキーをそのまま維持しながら、ズームプラグイン自体内でエッジとボタンのバインディングをマッピング解除します。


ステップ3:Compiz設定マネージャでコマンドに移動し(まだアクティブでない場合はプラグインを有効にする必要があります)、エッジとボタンをシェルスクリプトにバインドします。また、ショートカットをgamemode-toggle.shスクリプトにマップし、ゲーム内のエッジとボタンのバインディングを切り替えることもできます。


例えば。

命令を受けて(〜文字はここでは動作しません)

コマンドライン0:

/home/your_username/./Initiate_Window_Picker_on.sh

コマンドライン 1:

/home/your_username/./Initiate_Window_Picker_AllWindows_on.sh

コマンドライン2:

/home/your_username/./gamemode-toggle.sh   

キーバインディングから:

コマンド0の実行:

コマンド 1 を実行します。

コマンド2を実行します。

<Super>F12

ボタンバインディング

コマンド0の実行:

コマンド 1 を実行します。

<TopEdge>Button1

コマンド2を実行します。


下のバインディング

コマンド0の実行:

TopLeft|TopRight

コマンド 1 を実行します。

コマンド2を実行します。

関連情報