Skip to content

Commit

Permalink
fix keymaps snippet
Browse files Browse the repository at this point in the history
  • Loading branch information
Pullusb committed Apr 22, 2024
1 parent d328662 commit 3694c86
Showing 1 changed file with 22 additions and 15 deletions.
37 changes: 22 additions & 15 deletions snippets/dev/keymap_with_properties.py
Original file line number Diff line number Diff line change
@@ -1,39 +1,46 @@
import bpy

addon_keymaps = []

def register_keymaps():
addon = bpy.context.window_manager.keyconfigs.addon
kc = bpy.context.window_manager.keyconfigs.addon
if kc is None:
return

key_prev = "BUTTON4MOUSE"#prev
key_next = "BUTTON5MOUSE"#next
key_prev = "BUTTON4MOUSE" # Prev
key_next = "BUTTON5MOUSE" # Next

## Set origin to cursor/geometry with ctrl+shift+alt+ extra mousebutton
km = addon.keymaps.new(name = "3D View", space_type = "VIEW_3D")# valid only in 3d view
km = kc.keymaps.new(name = "3D View", space_type = "VIEW_3D") # valid only in 3d view

kmi = km.keymap_items.new("object.origin_set", type = key_prev, value = "PRESS", ctrl = True, shift = True, alt = True)
kmi.properties.type = 'ORIGIN_GEOMETRY'
addon_keymaps.append((km, kmi))

kmi = km.keymap_items.new("object.origin_set", type = key_next, value = "PRESS", ctrl = True, shift = True, alt = True)
kmi.properties.type = 'ORIGIN_CURSOR'
addon_keymaps.append((km, kmi))

addon_keymaps.append(km)

## Jump to keyframe with alt + extra mousebutton
km = addon.keymaps.new(name = "Window", space_type = "EMPTY")# valid in all editor
#kmi = km.keymap_items.new("screen.keyframe_jump", type = "BUTTON6MOUSE", value = "PRESS")#mouse button above 5 aren't recognize on logitech mouse on windaube
km = kc.keymaps.new(name = "Window", space_type = "EMPTY") # valid in all editor

## note: BUTTON6MOUSE and BUTTON7MOUSE dont seem to be detected on windows
kmi = km.keymap_items.new("screen.keyframe_jump", type = key_prev, value = "PRESS", alt = True)
kmi.properties.next = False
#kmi = km.keymap_items.new("screen.keyframe_jump", type = "BUTTON7MOUSE", value = "PRESS")#mouse button above 5 aren't recognize on logitech mouse on windaube
addon_keymaps.append((km, kmi))

kmi = km.keymap_items.new("screen.keyframe_jump", type = key_next, value = "PRESS", alt = True)
kmi.properties.next = True
addon_keymaps.append((km, kmi))

addon_keymaps.append(km)

def unregister_keymaps():
wm = bpy.context.window_manager
for km in addon_keymaps:
for kmi in km.keymap_items:
km.keymap_items.remove(kmi)
## Can't (and supposedly shouldn't ) suppress original category name...
# wm.keyconfigs.addon.keymaps.remove(km)
for km, kmi in addon_keymaps:
km.keymap_items.remove(kmi)
addon_keymaps.clear()


def register():
if not bpy.app.background:
register_keymaps()
Expand Down

0 comments on commit 3694c86

Please sign in to comment.