Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save MattOstgard/c97acbbc837773a29e1e25a1b2b1c681 to your computer and use it in GitHub Desktop.
Save MattOstgard/c97acbbc837773a29e1e25a1b2b1c681 to your computer and use it in GitHub Desktop.
import bpy, os
# I run this script whenever I install a new version of blender so I can use new official key bindings
# but still use mouse side buttons for paning, rotating and zooming.
wm = bpy.context.window_manager
kc = wm.keyconfigs.user
km = kc.keymaps['View2D']
kmi = km.keymap_items.new('view2d.zoom', 'BUTTON4MOUSE', 'PRESS')
kmi = km.keymap_items.new('view2d.zoom', 'BUTTON4MOUSE', 'PRESS', shift=True)
kmi = km.keymap_items.new('view2d.pan', 'BUTTON5MOUSE', 'PRESS')
km = kc.keymaps['View2D Buttons List']
kmi = km.keymap_items.new('view2d.scroller_activate', 'BUTTON4MOUSE', 'PRESS')
kmi = km.keymap_items.new('view2d.pan', 'BUTTON5MOUSE', 'PRESS')
kmi = km.keymap_items.new('view2d.zoom', 'BUTTON4MOUSE', 'PRESS', shift=True)
km = kc.keymaps['3D View']
kmi = km.keymap_items.new('view3d.rotate', 'BUTTON4MOUSE', 'PRESS')
kmi = km.keymap_items.new('view3d.move', 'BUTTON5MOUSE', 'PRESS')
kmi = km.keymap_items.new('view3d.zoom', 'BUTTON4MOUSE', 'PRESS', shift=True, ctrl=True)
kmi = km.keymap_items.new('view3d.dolly', 'BUTTON4MOUSE', 'PRESS', shift=True)
km = kc.keymaps['View3D Fly Modal']
kmi = km.keymap_items.new_modal('PAN_ENABLE', 'BUTTON5MOUSE', 'PRESS', any=True)
kmi = km.keymap_items.new_modal('PAN_DISABLE', 'BUTTON5MOUSE', 'RELEASE', any=True)
km = kc.keymaps['View3D Rotate Modal']
kmi = km.keymap_items.new_modal('CONFIRM', 'BUTTON4MOUSE', 'RELEASE', any=True)
km = kc.keymaps['View3D Move Modal']
kmi = km.keymap_items.new_modal('CONFIRM', 'BUTTON5MOUSE', 'RELEASE', any=True)
km = kc.keymaps['View3D Zoom Modal']
kmi = km.keymap_items.new_modal('CONFIRM', 'BUTTON4MOUSE', 'RELEASE', any=True)
km = kc.keymaps['View3D Dolly Modal']
kmi = km.keymap_items.new_modal('CONFIRM', 'BUTTON4MOUSE', 'RELEASE', any=True)
km = kc.keymaps['Image']
kmi = km.keymap_items.new('image.view_pan', 'BUTTON4MOUSE', 'PRESS')
kmi = km.keymap_items.new('image.view_pan', 'BUTTON5MOUSE', 'PRESS')
kmi = km.keymap_items.new('image.view_zoom', 'BUTTON4MOUSE', 'PRESS', shift=True)
km = kc.keymaps['Node Editor']
kmi = km.keymap_items.new('node.backimage_move', 'BUTTON5MOUSE', 'PRESS', alt=True)
km = kc.keymaps['Clip Editor']
kmi = km.keymap_items.new('clip.view_pan', 'BUTTON4MOUSE', 'PRESS')
kmi = km.keymap_items.new('clip.view_pan', 'BUTTON5MOUSE', 'PRESS', ctrl=True)
kmi = km.keymap_items.new('clip.view_zoom', 'BUTTON4MOUSE', 'PRESS', shift=True)
bpy.ops.wm.save_userpref()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment