Normal mouse operations are Middle Click and Drag to Pan and Middle Click-Shift and Drag to Orbit.
I found a few workaround for the trackpad:
- https://www.instructables.com/Pan-and-Orbit-in-Fusion-360-With-a-Trackpad-No-Mid/
This says to change the interface to Inventor where you can use an Function key-left mouse click chord to allow for Panning, Zooming and Orbit. I found this to be not that nice as the keys on the keyboard are not conveniently located. The chord mappings are as follows:
- F2-Left Click and Drag to Pan.
- F3-Left Click and Drag to Zoom.
- F4-Left Click and Drag to Orbit.
- https://www.youtube.com/watch?v=Kq1SQ5ZVwYM
This uses AHK to map the Left Alt to the Middle Mouse Button and the Left Shift to Shift and the Middle Mouse Button. I like the positioning of the keyboard buttons better, but this simplistic mapping interferes with the Window's Task Switcher (Alt-Tab). - As I know AHK, I've made the following script that minimally interferes with the Window's Task Switcher. I say minimally because it is a AHK script and due to its non-deterministic behaviour I may have missed some test case(s).
Either Alt is now equivalent to the Middle Mouse Button and will work with Shift as you would expect it would (transition from panning to orbiting mode). Feel free to use it if you find it useful. If you modify it that's great too. I'd be interested in knowing what you did. Enjoy!
#IfWinActive ahk_exe Fusion360.exe ; Only active in Fusion 360
;; As Fusion360 doesn't support touchpads, this AHK script will make the Alt
;; keys equivalent to the Middle Mouse Button, while not interfering with the
;; Windows Task Switcher.
;;
;; Pan by:
;; - press and hold the Alt while dragging
;; Orbit by:
;; - press and hold the Alt
;; - then press and hold either Shift
;; - then drag
;; - Can go from pan to orbit and back again by pressing and holding Alt,
;; then press and release Shift
;; Zoom extents:
;; - double tap the Alt
;; Switch tasks:
;; - press and hold the Alt
;; - press Tab as you would do normally
;; - finally release the Alt
;;
;; Bugs: When switching to another application and then coming back to Fusion,
;; may sometime cause the Fusion display to suddenly pan. This is caused
;; by Fusion not getting the middle mouse up event and my attempt to
;; force release the panning mode by monitoring when Fusion becomes
;; active again and pressing Escape to unlock panning mode and releasing
;; MButton. This doesn't happen often, but listing here as a known bug.
;;
;; Made by: Adrian Hawryluk 2024
;; CC: https://creativecommons.org/licenses/by/4.0/
*~Alt::
LastShiftState = 0
Send, {MButton Down}
hFusion360 := WinExist("A")
FusionDebugTooltip("Handle: " hFusion360)
While (GetKeyState("Alt", "P")) { ; While Alt is held
hwnd := WinExist("A") ; Get the handle of the currently active window
if (hwnd != hFusion360 || GetKeyState("Tab", "P")) {
; Active window has changed from Fusion or the Tab key was pressed
; so it's likely that the Task Switcher is active.
HandleTaskSwitcher()
Send, {MButton Up}
SetTimer, MonitorActiveWindow, 100 ; Check every 100ms
return
}
ShiftState := GetKeyState("Shift")
if (ShiftState != LastShiftState) {
ShiftCommand := ShiftState ? "{Shift Down}" : "{Shift Up}"
Send,% "{MButton Up}" ShiftCommand "{MButton Down}"
LastShiftState := ShiftState
}
Sleep, 10
}
Send, {MButton Up}
FusionDebugTooltip("Exited Fusion Alt > MButton remap")
Return
;; Monitor's when Fusion becomes active again.
MonitorActiveWindow:
hwnd := WinExist("A") ; Get the handle of the currently active window
if (hwnd == hFusion360) {
; To prevent Fusion from missing the mouse up event, when returning to it,
; press Escape to cancel panning, send Mbutton up and then turn off window monitoring.
sleep, 100 ; give some time to bring Fusion to forground.
Send, {Esc}{MButton Up}
SetTimer, MonitorActiveWindow, Off
}
Return
;; When the Windows Task Switcher is active, call this to prevent its premature closure.
HandleTaskSwitcher() {
FusionDebugTooltip("Entered Task Switcher: " GetExeNameFromHandle(hwnd))
; Tab was pressed with Alt or the active window has changed
; So as not to interfere with the windows task switcher, we stay in this sub loop until Alt is released.
While (GetKeyState("Alt", "P")) {
sleep, 10
}
FusionDebugTooltip("Exited Task Switcher")
}
; A debugging tooltip that stays for only 2 seconds.
FusionDebugTooltip(msg, timeout = -2000) {
return ; Comment this line to enable debugging tooltips
Tooltip %msg%
SetTimer, FusionRemoveDebugTooltip, %timeout%
}
; Handler to turn off debugging tooltip
FusionRemoveDebugTooltip:
Tooltip
return
#IfWinActive