Closed k9i closed 1 year ago
Keyhac(+pyauto)では、マウスのサイドボタンのコントロールはできないようです。
少し、Windows 10版の MS Teams を使ってみましたが、マウスのサイドボタンに割り当てられている機能は、PageUp、PageDown ではないでしょうか?
そうであれば、Alt+Left/Right に割り当てることは可能なのですが..。(Ctrl+v/Alt+v であれば標準設定で動作します。)
確認ください。よろしくお願いします。
分かりました。私のマウスの設定がPageUp、PageDownになっておりました。 ご希望のこと(戻る/進むをキーに割り当てたい)を理解しましたが、今のところ対応する方法はわかりません。 ご期待に添えず、申し訳ありません。
sendMessage や postMessage を使えないか調べていたところ、以下にヒントがありました。
例えば、F1とF2に「進む」と「戻る」を割り当ててみました。
define_key(keymap_global, "F1", lambda: keymap.getWindow().postMessage(0x020C, 0x10000))
define_key(keymap_global, "F2", lambda: keymap.getWindow().postMessage(0x020C, 0x20000))
0x020C は次の意味となります。
Keyhac の postMessage は次を参照ください。
後は、MS Teams 専用のキーマップを作成し、そのキーマップに A-Left と A-Right のキーバインドを設定すれば良いのではないかと思います。
こんな感じでしょうか。
keymap_msteams = keymap.defineWindowKeymap(exe_name="msedgewebview2.exe")
define_key(keymap_msteams, "A-Left", lambda: keymap.getWindow().postMessage(0x020C, 0x10000))
define_key(keymap_msteams, "A-Right", lambda: keymap.getWindow().postMessage(0x020C, 0x20000))
これを config_personal.py の [section-base-2] のところに記載して、リロードではどうでしょうか?
ありがとうございます! config_personal.py の [section-base-2] に下記を設定したところ、マウスサイドボタンのクリック同様、(戻る/進む) が機能するようになりました。
keymap_msteams = keymap.defineWindowKeymap(exe_name="Teams.exe")
define_key(keymap_msteams, "A-Left", lambda: keymap.getWindow().postMessage(0x020C, 0x10000))
define_key(keymap_msteams, "A-Right", lambda: keymap.getWindow().postMessage(0x020C, 0x20000))
自分の環境(Windows10)では、Teams アプリは Keyhac 内部ログには下記のように表示されていました。
Window : exe : Teams.exe
: class : Chrome_WidgetWin_1
: text : コミュニティ | Microsoft Teams Classic
重ね重ね、どうもありがとうございました。
会社のWindows10にインストールされているTeamsと自宅のWindows11にインストールされているTeamsの挙動が異なっていたのですが、アプリが違うものだったようです。Teams.exeで動いたということであれば、良かったです。
本件も解決ということで、クローズとさせていただきます。
マウスのサイドボタンに「戻る/進む」が割り当てられているものの、ショートカットキー(Alt-Left/Right)には割り当てられていないアプリがあります。 (具体的にはアプリ版 MS Teams になります)
このアプリのショートカットキーに、マウスサイドボタンのクリック処理を割り当て、キーボードで「戻る/進む」を行えるように設定することは可能でしょうか?
度々済みませんがよろしくお願いいたします。