🐙

TrackballControlsのPan移動をShift, Commandキーに変える

2024/05/04に公開

ThrackballControlsはRotate / Zoom / Panのモード切替がデフォルトでKeyA, KeyS, KeyDが割り当たってます。
trackballControls.keys = [] で全て無効化できますが、OrbitControlsと同様にShift, Commandキーの場合にPan移動させたい場合は以下でいけました(Macで動作確認)

document.body.onkeydown = (e: KeyboardEvent) => {
  // Shift, commandキーはPan操作に割り当てる
  if (
    e.code === 'ShiftLeft' ||
    e.code === 'ShiftRight' ||
    e.code === 'MetaLeft' ||
    e.code === 'MetaRight'
  ) {
    trackballControls.keys = ['', '', e.code];
  }
};

Discussion