見出し画像

MacBookのキーボード清掃用Script

Apple Silicon Macでは、電源を落としていても画面を開いたり、何かのキーを押しただけで電源が入ってしまい、キーボードの掃除をするのに不便という話を見かけました。そこで、キー入力があっても無視すればいいじゃない、ということで簡単なAppleScriptを書いてみました。


不屈のMacBook

Apple Silicon Macのポータブル機を手にしたのはM2 MacBook Airがはじめてのことなので、割と驚きの連続です。

いわく、

・電源をオフにしても画面をひらくと電源がオンになる

・電源をオフにしても、何かキーを押すと電源がオンになる

などなど。つまりこのマシンは、電源をオフにしても完全にはオフになっていないわけですよね……。○しても◯なない、ゾンビのような挙動です。NVRAMにパラメータを書き込めば、個別の挙動をマスクできるらしいのですが……

キーボード清掃をどうすればいいの?

キーボード清掃は、電源をオフにした状態で行うのが通例ですが、この仕様だと電源をオフにしても掃除ができません。

そこで発想の転換

モーダルなダイアログを表示して、サウンド出力を消せば、どんなキーを押しても関係ありません

そういうダイアログをAppleScriptで表示させてみました。

キーボード清掃用AppleScript

そのまま、「アプリケーション」フォルダ内の「ユーティリティ」フォルダに入っている「スクリプトエディタ」を起動して、以下の内容をコピペして、実行してみてください(実行ボタンを押すか、Command-Rを実行)。

すると、ダイアログの表示時間の選択(分単位)を求められるので、

キーボード清掃時間を選択。その間だけ、モーダルなダイアログが表示され、消音状態になります。

心ゆくまでキーボード掃除をしてください。

set wTimeList to {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"}
set sTime to choose from list wTimeList with prompt "ダイアログ表示時間(分)を選択" without empty selection allowed
set sItem to first item of sTime
set wTime to 60 * (sItem as integer) 
set volume with output muted
display dialog "お掃除してください" buttons {"清掃終了"} giving up after wTime with title (sItem & "分間、ダイアログ表示を維持します")
set volume without output muted


指定時間が終了するとダイアログは消えます。あるいは、「清掃終了」ボタンをクリックすれば、ダイアログ表示は終了します。

スクリプトエディタの使い方の解説書あります

ちょっとした用途にも便利なAppleScript。

そのスクリプトエディタの使い方について、わかりやすくまとめた電子書籍を刊行しています。

また、AppleScriptによるダイアログ表示について、詳細にまとめた電子書籍もご用意しています!


この記事が気に入ったらサポートをしてみませんか?