(2024/5/20、Teamsの仕様変更に伴い、新しいスクリプトの記事を書きました「「TeamsのマイクオンオフをPAUSEキーで行う方法」で、Teamsの仕様変更が……」)
Teamsで会議を行うときに、話をしないときは雑音防止のために、マイクをオフにしている。で、しゃべるときだけオンにするのだが、マウスでしかできないので結構面倒だ。
公然の秘密だが、オンライン会議に参加しているときに、まぁ内職をやっていることが多く、Teamsの会議画面が後ろに隠れているときも多い。そのため、急に発言しなければいけなくなったときに結構手間取る。
Teamsでは、SHIFT+CTRL+Mを押せばマイクのオンオフができるという情報まではたどり着いていたのだが、当然Teamsの会議画面にフォーカスがあたっていないといけないし、フォーカスを当ててからショートカットキーを押していたのではあまり手間削減にはならない。
そんなわけで、どうにかWindowsのホットキーでマイクを切り替えられないかなぁと日頃から思っていた。
あるときふと、もしかしたら世の中にはTeamsでフットスイッチを使っている強者がいるんではないかと思ってググってみたら、やっぱりいた。見つけました!
ここではAutoHotKeyを使って実現していて、フォーカスの問題も解決している。フットスイッチが使えれば本当に理想的だとは思うが、働く場所がコロコロ変わるので、フットスイッチを持ち歩くのもなかなか難しい。じゃぁ、このアイデアを使ってホットキーで実現してみようと考えた。記事を参考に、ちょっと頑張ってみるかとAutoHotKeyをインストールしてスクリプトを書いてみた。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Pause:: ToggleMuteTeams() ToggleMuteZoom() Return ToggleMuteTeams() { SetTitleMatchMode,Regex IfWinNotExist, Microsoft Teams ahk_exe ms-teams.exe return WinGet, active_id, ID, A WinActivate, Microsoft Teams$ ahk_exe ms-teams.exe Send, ^+m Sleep, 100 WinActivate, ahk_id %active_id% } ToggleMuteZoom() { IfWinNotExist, ahk_exe Zoom.exe return WinGet, active_id, ID, A WinActivate, ahk_exe Zoom.exe Send, !a Sleep, 100 WinActivate, ahk_id %active_id% } |
AutoHotKeyは初めての経験で少し動作原理の理解に手間取ったが、このスクリプトを実行するだけでマイクを切り替えられることが確認できた。仮にTeamsにフォーカスがあたっていなくても、フォーカスを当ててショートカットキーを送ってから、元のアプリケーションにフォーカスを当て直してくれる。元記事の作者さんに感謝です。
Teamsは、会議画面もメイン画面も区別がつかないので、会議画面がなくても、メイン画面にSHIFT+CTRL+Mを送ってしまうが、特に問題はなさそうなので、そこは目をつぶっている。唯一会議画面の方がTeamsのメイン画面より上にいないと(Zオーダーで前)、会議画面じゃなくてメイン画面にショートカットを送ってしまうので、マイクオンオフが動作しない。そこは注意が必要。(2021/10/28追記:メインウィンドウはウィンドウタイトルの最後に[QSP]とついているようなので、スクリプトを正規表現を使った物に変更して、メインウィンドウにはキーを送らないように変更した)(2022/7/16追記:2021/10/28で確認していた「メインウィンドウタイトルの最後に[QSP]とつく仕様は、現時点ついておらず、メインウィンドウとミーティングウィンドウを区別する方法はまた無くなっている。ただし、メインウィンドウにSHIFT+CTRL+Mを送れば、マイクオンオフが動作するような仕様変更を確認した。これで結果的に、2021/10/28のスクリプトでも動作に支障はないようだ[参考])(2024/1/18追記:新しいTeams用にスクリプトを変更(ank_exeをms-teams.exeに変更))
このファイルのショートカットファイルを作成して、デスクトップか直下のフォルダに移動させ、ショートカットファイルのプロパティからホットキーを割り当ててやれば、どのアプリケーションにフォーカスが当たっていても、マイクのオンオフができるようになる。
さて、どのショートカットキーにするかだが、はじめはCTRL+ALT+Aとかでやってみた。できないことはないが、やっぱりあまりお手軽ではない。できれば、使っていないキーであるPAUSEキーが使いたいなと思う。すべての環境にミニサイズキーボードはあるし、PUASEは一番端だから簡単に押せるので理想的だと思う。しかしながら、PAUSEキーをホットキーにする方法をググってみたが見つけることができなかった。
仕方がないので、伝家の宝刀を抜いた。TTBaseの登場である。(TTBaseはいにしえの拙作で、オープンソース化してあるので、有志によって開発が続けられている)
TTBaseはホットキーにPAUSEも使える。そして何でも起動することのできるももたろさん作のプラグイン、「何でも起動 Ver.0.04」を入れる。
http://www.momo-lab.net/inu/anylaunch.html
iniファイルには以下のように設定。
1 2 3 |
<del>[Command] ; URLの指定例 0=Teamsのマイクオンオフ|C:\Tools\TeamsMicToggle.ahk</del> |
これで、TTBaseの設定画面から、PAUSEキーに「Teamsのマイクオンオフ」を割り当ててやればOK。
これで、PUASEキーワンプッシュで、Teamsのオンオフを切り替えることができるようになった。
(2021/10/28追記)AutoHotKeyは、Pauseキーにも機能割り当てができることに気づいたので、ソースファイルを修正。またZOOMも同時にマイクのオンオフができるように修正した。
このファイルを、Windowsのスタートアップにいれておけば、Windowsの起動時にPauseキーにマッピングしてくれる。
いやぁ、これはむっちゃ便利です!
久しぶりになかなか楽しい作業でした。明日からは会議が大分楽になりそう。
コメント