🐰

macOS Trackpad設定値

2023/01/18に公開

基本defaults

# 2本指で左右にスクロール
defaults read -g AppleEnableSwipeNavigateWithScrolls

# Trackpad設定ファイル 1
defaults read com.apple.AppleMultitouchTrackpad

# Trackpad設定ファイル 2
defaults read com.apple.driver.AppleBluetoothMultitouch.trackpad

# Dock設定ファイル
defaults read com.apple.Dock

Trackpad

基本は com.apple.AppleMultitouchTrackpad の設定値に対応するが、Mission Control関係は com.apple.Dock、一部左右スワイプ関係は AppleEnableSwipeNavigateWithScrolls も関わる。

クリック

  • 弱い
    • FirstClickThreshold = 0
    • FirstClickThreshold = 1
  • 強い
    • FirstClickThreshold = 2

サイレントクリック

  • ActuationStrength = 1

調べる&データ検出

条件がよくわからない

  • 1本指で強めのクリック
    • TrackpadThreeFingerTapGesture = 0
  • 3本指でタップ
    • TrackpadThreeFingerTapGesture = 2

副ボタンのクリック

  • 2本指でクリックまたはタップ
    • Clicking = 1
    • TrackpadRightClick = 1
    • TrackpadCornerSecondaryClick = 0
  • 2本指でクリック
    • Clicking = 0
    • TrackpadRightClick = 1
    • TrackpadCornerSecondaryClick = 0
  • 左下隅をクリック
    • TrackpadRightClick = 0
    • TrackpadCornerSecondaryClick = 1
  • 右下隅をクリック
    • TrackpadRightClick = 0
    • TrackpadCornerSecondaryClick = 2

タップでクリック

  • Clicking = 1

拡大/縮小/2本指でピンチ

  • TrackpadPinch = 1

スマートズーム/2本指でダブルタップ

  • TrackpadTwoFingerDoubleTapGesture = 1

回転/2本指で回転

  • TrackpadRotate = 1

通知センター/2本指で右端から左にスワイプ

  • TrackpadTwoFingerFromRightEdgeSwipeGesture = 3

ページ間をスワイプ

AppleEnableSwipeNavigateWithScrollscom.apple.AppleMultitouchTrackpad の両方を見る。

2本指で左右にスクロール

  • AppleEnableSwipeNavigateWithScrolls = 1

2本指または3本指でスワイプ

  • AppleEnableSwipeNavigateWithScrolls = 1
  • com.apple.AppleMultitouchTrackpad
    • TrackpadThreeFingerHorizSwipeGesture = 1

3本指でスワイプ

  • AppleEnableSwipeNavigateWithScrolls = 0
  • com.apple.AppleMultitouchTrackpad
    • TrackpadThreeFingerHorizSwipeGesture = 1

フルスクリーンアプリケーション間をスワイプ

AppleEnableSwipeNavigateWithScrollscom.apple.AppleMultitouchTrackpad の両方を見る。

3本指で左右にスワイプ

  • AppleEnableSwipeNavigateWithScrolls = 1
  • com.apple.AppleMultitouchTrackpad
    • TrackpadThreeFingerHorizSwipeGesture = 2
    • TrackpadFourFingerHorizSwipeGesture = 2

4本指で左右にスワイプ

  • AppleEnableSwipeNavigateWithScrolls = 1
  • com.apple.AppleMultitouchTrackpad
    • TrackpadThreeFingerHorizSwipeGesture = 0
    • TrackpadFourFingerHorizSwipeGesture = 2

Mission Control / Exposé / Launchpad / Desktop

オンオフ自体はDockの設定、ジェスチャの区別はTrackpadの設定を見る模様。

com.apple.Dock
com.apple.AppleMultitouchTrackpad

com.apple.Dock

「3本指で上にスワイプ」「4本指で上にスワイプ」共通

  • Mission Controlジェスチャを有効
    • showMissionControlGestureEnabled = 1
  • Exposéジェスチャを有効
    • showAppExposeGestureEnabled = 1
  • デスクトップを表示ジェスチャを有効
    • showDesktopGestureEnabled = 1
  • Launchpadジェスチャを有効
    • showLaunchpadGestureEnabled = 1

com.apple.AppleMultitouchTrackpad

デスクトップを表示

  • TrackpadFourFingerPinchGesture = 2

3本指と4本指の区別?

条件がよくわからない。

  • 3本指で下にスワイプ
    • TrackpadThreeFingerVertSwipeGesture = 2
  • 4本指で下にスワイプ
    • TrackpadThreeFingerVertSwipeGesture = 1

値を変更するには?

基本的に2つのplistの値を同時に書き換えると良いらしいのだが、設定がうまく反映されない。システム設定を終了、cfprefsdをkillしてもダメ。

例えば、コマンドラインのみでサイレントクリックの設定変更はうまくいかない。
(システム設定のUIは反映されるが、Trackpadから鳴る音が反映されない。)

killall cfprefsd
defaults write com.apple.AppleMultitouchTrackpad ActuationStrength 0
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad ActuationStrength 0

References

https://assert.cc/posts/maybe-dont-script-macos-prefs/
https://github.com/cmsj/ApplePrivateHeaders/blob/7d0c0200eeb7c3e326fafd4bbd7b6786f8000730/macOS/11.3/System/Library/PrivateFrameworks/PreferencePanesSupport.framework/Versions/A/PreferencePanesSupport/MTTGestureBackEnd.h
http://www.neko.ne.jp/~freewing/software/macos_touch_pad_setting_terminal_commandline/
https://community.jamf.com/t5/jamf-pro/disabling-quot-more-gestures-quot-in-10-7-5/m-p/56302
https://baqamore.hatenablog.com/entry/2015/02/09/221934
https://superuser.com/questions/1252256/changing-defaults-doesnt-change-setting-in-system-preferences-window
https://qiita.com/cakipy/items/2e5d03d5e063c6734b34

Discussion