; Google translate from clipboard
sc159 & T::
en_text := LC_UriEncode(CLIPBOARD)
Keywait, T, U
Keywait, T, D T0.3
if (ErrorLevel) {
en_text := StrReplace(en_text, "%2F", "%5C%2F")
Run,https://www.deepl.com/translator#en/ja/%en_text% ; DeepL Translator if T is single-pressed
} else {
Run,https://translate.google.co.jp/#en/ja/%en_text% ; Google Translator if T is double-pressed
}
Return
; ------------- Methods --------------
; Reference http://goo.gl/0a0iJq
LC_UriEncode(Uri, RE="[0-9A-Za-z]") {
VarSetCapacity(Var, StrPut(Uri, "UTF-8"), 0), StrPut(Uri, &Var, "UTF-8")
While Code := NumGet(Var, A_Index - 1, "UChar")
Res .= (Chr:=Chr(Code)) ~= RE ? Chr : Format("%{:02X}", Code)
Return, Res
}
在宅勤務が続いて、国内の人ともZoomやMicrosoft Teams で会議をすることが増えた。Web会議でありがちなのは、ミュートし忘れ・解除し忘れだ。コレ自体を防ぐには今のところ「気を付ける」しか方法がなさそうであるが、いかんせんトグルミュートのキーボードショートカットキーは使いづらいし、アプリによってまちまちだ。
ということで、効率化マニア御用達のAutohotkeyを使って、ZoomでもMicrosoft TeamsでもPauseキー1ボタンでトグルミュートが出来るスクリプトを作った。ついでにディスコンが決まっているSkype for Businessも仲間に入れてあげた。
; Unify "Toggle Mute" across all video conference apps
Pause::
if ( WinActive("ahk_class ZPContentViewWndClass") ){
Send, !a ;Zoom
}else if ( WinActive("ahk_exe Teams.exe") ) {
Send, ^+m ; Microsoft Teams
}else if ( WinActive("ahk_exe lync.exe") ) {
Send, #{F4} ; Skype for business
}
ちなみに、
Zoomのミュートは[Alt] + A
Microsoft Teamsのミュートは[Ctrl] + [Shift] + M
さっとググったらWebExも同じっぽい
Skype for businessは[Win] + F4
WinActive関数の中に対象のウィンドウを突っ込めば、アプリケーションに応じて別のキーを送る事が出来るようになる。(ところでSkype for businessのキーボードショートカットセンス悪すぎない?)