samhenrigold氏によるLid Angle SensorをCocoa Framework化して呼び出して、MacBook Air/MacBook Proのディスプレイ開閉角度を取得するAppleScriptです。画面角度センサーを持たないMac miniなどで実行した場合には値を返さず処理終了します。
▲左:119度 右:90度 センサーが返してくる値と実際の画面角度の値には若干の「差」がある。0度の開始値が若干画面が開いた状態になっている?
本記事に掲載しているAppleScriptのプログラムリストだけでは実行できないため、下記のリンクからFrameworkバイナリ入りのScript Bundleをダウンロードして実行してください。
Apple Silicon Macでは実行確認していますが、Intel Macで動くかどうかは未検証です。一応、githubのsamhenrigoldの説明によると2019年のMacBook Pro以降で導入されたセンサーとのことで、Intel Macでも当該モデルであれば動作することが期待されます。
ただし、M1 MacBook Air/Proで問題が発生することが報告されているようです(自分は実機で確認していません。センサー値の取得だけなら問題が起きないのか、センサー値の取得で問題が起きているのか)。
同プログラムをCocoa Framework化して呼び出しているため(Universal Binary)、Script Debuggerおよび同環境で書き出したEnhanced Appletなどで実行可能です。
→ Download Script Bundle with Framework
→ Download angleSensorKit Xcode Project
AppleScript名:画面開閉角度センサーの値を取得.scptd |
— – Created by: Takaaki Naganoya – Created on: 2025/09/07 — – Copyright © 2025 Piyomaru Software, All Rights Reserved — use AppleScript version "2.4" — Yosemite (10.10) or later use framework "Foundation" use framework "angleSensorKit" — Created by Sam on 2025-09-06. https://github.com/samhenrigold/LidAngleSensor use scripting additions set anASensor to current application’s LidAngleSensor’s alloc()’s init() set aRes to anASensor’s isAvailable() as boolean if aRes = false then return —Maybe not MacBook Air/Pro set sensorVal to anASensor’s lidAngle() return sensorVal |