~ubuntu-branches/ubuntu/trusty/blender/trusty

« back to all changes in this revision

Viewing changes to release/scripts/addons_contrib/presets/keyconfig/blender_2012_experimental.py

  • Committer: Package Import Robot
  • Author(s): Matteo F. Vescovi
  • Date: 2012-05-12 20:02:22 UTC
  • mfrom: (14.2.16 sid)
  • Revision ID: package-import@ubuntu.com-20120512200222-lznjs2cxzaq96wua
Tags: 2.63a-1
* New upstream bugfix release
  + debian/patches/: re-worked since source code changed

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
""" An experimental new keymap for Blender.
2
 
    Work in progress!
3
 
"""
4
 
import bpy
5
 
 
6
 
###############################################################
7
 
# Some configuration variables to toggle various ideas on/off #
8
 
###############################################################
9
 
DEVELOPER_HOTKEYS = False  # Weird hotkeys that only developers use
10
 
 
11
 
WINDOW_TYPE_SWITCHING = False  # Shift-f# hotkeys for switching window types
12
 
 
13
 
SUBSURF_RELATIVE = True  # Make subsurf hotkeys work by relative
14
 
                         # shifting instead of absolute setting
15
 
 
16
 
MAYA_STYLE_MANIPULATORS = False  # Maya-style "QWER" hotkeys for manipulators
17
 
 
18
 
 
19
 
 
20
 
 
21
 
###############################
22
 
# Custom operators/menus/etc. #
23
 
###############################
24
 
 
25
 
class ShiftSubsurfLevel(bpy.types.Operator):
26
 
    ''' Shifts the subsurf level of the selected objects up or
27
 
        down by the given amount.  Has maximum limit, to avoid
28
 
        going crazy and running out of RAM.
29
 
    '''
30
 
    bl_idname = "object.shift_subsurf_level"
31
 
    bl_label = "Shift Subsurf Level"
32
 
 
33
 
    delta = bpy.props.IntProperty(name="Delta", description="Amount to increase/decrease the subsurf level.", default=1)
34
 
    min = bpy.props.IntProperty(name="Minimum", description="The lowest subsurf level to shift to.", default=0)
35
 
    max = bpy.props.IntProperty(name="Maximum", description="The highest subsurf level to shift to.", default=4)
36
 
 
37
 
    @classmethod
38
 
    def poll(cls, context):
39
 
        return context.active_object is not None
40
 
 
41
 
    def execute(self, context):
42
 
        for obj in context.selected_objects:
43
 
            # Find the last subsurf modifier in the stack
44
 
            m = None
45
 
            for mod in obj.modifiers:
46
 
                if mod.type == "SUBSURF":
47
 
                    m = mod
48
 
 
49
 
            # Add a subsurf modifier if necessary
50
 
            if not m and self.delta > 0:
51
 
                m = obj.modifiers.new(name="Subsurf", type='SUBSURF')
52
 
                m.levels = 0
53
 
 
54
 
            # Adjust it's subsurf level
55
 
            if m:
56
 
                if self.delta > 0:
57
 
                    if (m.levels + self.delta) <= self.max:
58
 
                        m.levels += self.delta
59
 
                elif self.delta < 0:
60
 
                    if (m.levels + self.delta) >= self.min:
61
 
                        m.levels += self.delta
62
 
        return {'FINISHED'}
63
 
bpy.utils.register_class(ShiftSubsurfLevel)
64
 
 
65
 
 
66
 
class SetManipulator(bpy.types.Operator):
67
 
    '''Set's the manipulator mode.'''
68
 
    bl_idname = "view3d.manipulator_set"
69
 
    bl_label = "Set Manipulator"
70
 
    mode = bpy.props.EnumProperty(items=[("NONE", "None", ""),
71
 
                                         ("TRANSLATE", "Translate", ""),
72
 
                                         ("ROTATE", "Rotate", ""),
73
 
                                         ("SCALE", "Scale", "")],
74
 
                                         default="NONE")
75
 
 
76
 
    def execute(self, context):
77
 
        if self.mode == "NONE":
78
 
            context.space_data.show_manipulator = False
79
 
        elif self.mode == "TRANSLATE":
80
 
            context.space_data.show_manipulator = True
81
 
            context.space_data.use_manipulator_translate = True
82
 
            context.space_data.use_manipulator_rotate = False
83
 
            context.space_data.use_manipulator_scale = False
84
 
        elif self.mode == "ROTATE":
85
 
            context.space_data.show_manipulator = True
86
 
            context.space_data.use_manipulator_translate = False
87
 
            context.space_data.use_manipulator_rotate = True
88
 
            context.space_data.use_manipulator_scale = False
89
 
        elif self.mode == "SCALE":
90
 
            context.space_data.show_manipulator = True
91
 
            context.space_data.use_manipulator_translate = False
92
 
            context.space_data.use_manipulator_rotate = False
93
 
            context.space_data.use_manipulator_scale = True
94
 
 
95
 
        return {'FINISHED'}
96
 
bpy.utils.register_class(SetManipulator)
97
 
 
98
 
 
99
 
class ModeSwitchMenu(bpy.types.Menu):
100
 
    """ A menu for switching between object modes.
101
 
    """
102
 
    bl_idname = "OBJECT_MT_mode_switch_menu"
103
 
    bl_label = "Switch Mode"
104
 
 
105
 
    def draw(self, context):
106
 
        layout = self.layout
107
 
        layout.operator_enum("object.mode_set", "mode")
108
 
 
109
 
bpy.utils.register_class(ModeSwitchMenu)
110
 
# Work around
111
 
bpy.ops.object.mode_set(mode='OBJECT', toggle=False)  # XXX, WHY IS THE KEYMAP DOING THIS? - campbell
112
 
 
113
 
 
114
 
 
115
 
 
116
 
 
117
 
 
118
 
######################################################################
119
 
######################################################################
120
 
############### KEYMAP BEGINS ########################################
121
 
######################################################################
122
 
######################################################################
123
 
wm = bpy.context.window_manager
124
 
kc = wm.keyconfigs.new('Blender 2012 (experimental!)')
125
 
 
126
 
 
127
 
##############
128
 
# Map Window #
129
 
##############
130
 
km = kc.keymaps.new('Window', space_type='EMPTY', region_type='WINDOW', modal=False)
131
 
 
132
 
#------
133
 
# Quit
134
 
#------
135
 
kmi = km.keymap_items.new('wm.quit_blender', 'Q', 'PRESS', ctrl=True)
136
 
 
137
 
#----------------------
138
 
# Operator search menu
139
 
#----------------------
140
 
kmi = km.keymap_items.new('wm.search_menu', 'TAB', 'PRESS')
141
 
 
142
 
#-----------------
143
 
# File management
144
 
#-----------------
145
 
# Open
146
 
kmi = km.keymap_items.new('wm.read_homefile', 'N', 'PRESS', ctrl=True)
147
 
kmi = km.keymap_items.new('wm.save_homefile', 'U', 'PRESS', ctrl=True)
148
 
kmi = km.keymap_items.new('wm.open_mainfile', 'O', 'PRESS', ctrl=True)
149
 
kmi = km.keymap_items.new('wm.link_append', 'O', 'PRESS', ctrl=True, alt=True)
150
 
 
151
 
# Save
152
 
kmi = km.keymap_items.new('wm.save_mainfile', 'S', 'PRESS', ctrl=True)
153
 
kmi = km.keymap_items.new('wm.save_as_mainfile', 'S', 'PRESS', shift=True, ctrl=True)
154
 
 
155
 
#------------------
156
 
# Window switching
157
 
#------------------
158
 
if WINDOW_TYPE_SWITCHING:
159
 
    kmi = km.keymap_items.new('wm.context_set_enum', 'F2', 'PRESS', shift=True)
160
 
    kmi.properties.data_path = 'area.type'
161
 
    kmi.properties.value = 'LOGIC_EDITOR'
162
 
    kmi = km.keymap_items.new('wm.context_set_enum', 'F3', 'PRESS', shift=True)
163
 
    kmi.properties.data_path = 'area.type'
164
 
    kmi.properties.value = 'NODE_EDITOR'
165
 
    kmi = km.keymap_items.new('wm.context_set_enum', 'F4', 'PRESS', shift=True)
166
 
    kmi.properties.data_path = 'area.type'
167
 
    kmi.properties.value = 'CONSOLE'
168
 
    kmi = km.keymap_items.new('wm.context_set_enum', 'F5', 'PRESS', shift=True)
169
 
    kmi.properties.data_path = 'area.type'
170
 
    kmi.properties.value = 'VIEW_3D'
171
 
    kmi = km.keymap_items.new('wm.context_set_enum', 'F6', 'PRESS', shift=True)
172
 
    kmi.properties.data_path = 'area.type'
173
 
    kmi.properties.value = 'GRAPH_EDITOR'
174
 
    kmi = km.keymap_items.new('wm.context_set_enum', 'F7', 'PRESS', shift=True)
175
 
    kmi.properties.data_path = 'area.type'
176
 
    kmi.properties.value = 'PROPERTIES'
177
 
    kmi = km.keymap_items.new('wm.context_set_enum', 'F8', 'PRESS', shift=True)
178
 
    kmi.properties.data_path = 'area.type'
179
 
    kmi.properties.value = 'SEQUENCE_EDITOR'
180
 
    kmi = km.keymap_items.new('wm.context_set_enum', 'F9', 'PRESS', shift=True)
181
 
    kmi.properties.data_path = 'area.type'
182
 
    kmi.properties.value = 'OUTLINER'
183
 
    kmi = km.keymap_items.new('wm.context_set_enum', 'F10', 'PRESS', shift=True)
184
 
    kmi.properties.data_path = 'area.type'
185
 
    kmi.properties.value = 'IMAGE_EDITOR'
186
 
    kmi = km.keymap_items.new('wm.context_set_enum', 'F11', 'PRESS', shift=True)
187
 
    kmi.properties.data_path = 'area.type'
188
 
    kmi.properties.value = 'TEXT_EDITOR'
189
 
    kmi = km.keymap_items.new('wm.context_set_enum', 'F12', 'PRESS', shift=True)
190
 
    kmi.properties.data_path = 'area.type'
191
 
    kmi.properties.value = 'DOPESHEET_EDITOR'
192
 
 
193
 
#-------------
194
 
# NDof Device
195
 
#-------------
196
 
kmi = km.keymap_items.new('wm.call_menu', 'NDOF_BUTTON_MENU', 'PRESS')
197
 
kmi.properties.name = 'USERPREF_MT_ndof_settings'
198
 
kmi = km.keymap_items.new('wm.ndof_sensitivity_change', 'NDOF_BUTTON_PLUS', 'PRESS')
199
 
kmi.properties.decrease = False
200
 
kmi.properties.fast = False
201
 
kmi = km.keymap_items.new('wm.ndof_sensitivity_change', 'NDOF_BUTTON_MINUS', 'PRESS')
202
 
kmi.properties.decrease = True
203
 
kmi.properties.fast = False
204
 
kmi = km.keymap_items.new('wm.ndof_sensitivity_change', 'NDOF_BUTTON_PLUS', 'PRESS', shift=True)
205
 
kmi.properties.decrease = False
206
 
kmi.properties.fast = True
207
 
kmi = km.keymap_items.new('wm.ndof_sensitivity_change', 'NDOF_BUTTON_MINUS', 'PRESS', shift=True)
208
 
kmi.properties.decrease = True
209
 
kmi.properties.fast = True
210
 
 
211
 
#------
212
 
# Misc
213
 
#------
214
 
kmi = km.keymap_items.new('wm.window_fullscreen_toggle', 'F11', 'PRESS', alt=True)
215
 
 
216
 
#-----------------------
217
 
# Development/debugging
218
 
#-----------------------
219
 
if DEVELOPER_HOTKEYS:
220
 
    kmi = km.keymap_items.new('wm.redraw_timer', 'T', 'PRESS', ctrl=True, alt=True)
221
 
    kmi = km.keymap_items.new('wm.debug_menu', 'D', 'PRESS', ctrl=True, alt=True)
222
 
 
223
 
#-----
224
 
# ???
225
 
#-----
226
 
kmi = km.keymap_items.new('info.reports_display_update', 'TIMER', 'ANY', any=True)
227
 
 
228
 
 
229
 
 
230
 
 
231
 
##################
232
 
# 3D View Global #
233
 
##################
234
 
km = kc.keymaps.new('3D View', space_type='VIEW_3D', region_type='WINDOW', modal=False)
235
 
 
236
 
#-----------------
237
 
# View navigation
238
 
#-----------------
239
 
# ???
240
 
kmi = km.keymap_items.new('view3d.rotate', 'MOUSEROTATE', 'ANY')
241
 
kmi = km.keymap_items.new('view3d.smoothview', 'TIMER1', 'ANY', any=True)
242
 
 
243
 
# Perspective/ortho
244
 
kmi = km.keymap_items.new('view3d.view_persportho', 'NUMPAD_5', 'PRESS')
245
 
 
246
 
# Camera view
247
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_0', 'PRESS')
248
 
kmi.properties.type = 'CAMERA'
249
 
 
250
 
# Basics with mouse
251
 
kmi = km.keymap_items.new('view3d.rotate', 'MIDDLEMOUSE', 'PRESS')
252
 
kmi = km.keymap_items.new('view3d.move', 'MIDDLEMOUSE', 'PRESS', shift=True)
253
 
kmi = km.keymap_items.new('view3d.zoom', 'MIDDLEMOUSE', 'PRESS', ctrl=True)
254
 
kmi = km.keymap_items.new('view3d.dolly', 'MIDDLEMOUSE', 'PRESS', shift=True, ctrl=True)
255
 
 
256
 
# Basics with mouse wheel
257
 
kmi = km.keymap_items.new('view3d.zoom', 'WHEELINMOUSE', 'PRESS')
258
 
kmi.properties.delta = 1
259
 
kmi = km.keymap_items.new('view3d.zoom', 'WHEELOUTMOUSE', 'PRESS')
260
 
kmi.properties.delta = -1
261
 
kmi = km.keymap_items.new('view3d.view_pan', 'WHEELUPMOUSE', 'PRESS', ctrl=True)
262
 
kmi.properties.type = 'PANRIGHT'
263
 
kmi = km.keymap_items.new('view3d.view_pan', 'WHEELDOWNMOUSE', 'PRESS', ctrl=True)
264
 
kmi.properties.type = 'PANLEFT'
265
 
kmi = km.keymap_items.new('view3d.view_pan', 'WHEELUPMOUSE', 'PRESS', shift=True)
266
 
kmi.properties.type = 'PANUP'
267
 
kmi = km.keymap_items.new('view3d.view_pan', 'WHEELDOWNMOUSE', 'PRESS', shift=True)
268
 
kmi.properties.type = 'PANDOWN'
269
 
kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELUPMOUSE', 'PRESS', ctrl=True, alt=True)
270
 
kmi.properties.type = 'ORBITLEFT'
271
 
kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELDOWNMOUSE', 'PRESS', ctrl=True, alt=True)
272
 
kmi.properties.type = 'ORBITRIGHT'
273
 
kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELUPMOUSE', 'PRESS', shift=True, alt=True)
274
 
kmi.properties.type = 'ORBITUP'
275
 
kmi = km.keymap_items.new('view3d.view_orbit', 'WHEELDOWNMOUSE', 'PRESS', shift=True, alt=True)
276
 
kmi.properties.type = 'ORBITDOWN'
277
 
 
278
 
# Basics with trackpad
279
 
kmi = km.keymap_items.new('view3d.rotate', 'TRACKPADPAN', 'ANY', alt=True)
280
 
kmi = km.keymap_items.new('view3d.move', 'TRACKPADPAN', 'ANY')
281
 
kmi = km.keymap_items.new('view3d.zoom', 'TRACKPADZOOM', 'ANY')
282
 
 
283
 
# Basics with numpad
284
 
kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_8', 'PRESS')
285
 
kmi.properties.type = 'ORBITUP'
286
 
kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_2', 'PRESS')
287
 
kmi.properties.type = 'ORBITDOWN'
288
 
kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_4', 'PRESS')
289
 
kmi.properties.type = 'ORBITLEFT'
290
 
kmi = km.keymap_items.new('view3d.view_orbit', 'NUMPAD_6', 'PRESS')
291
 
kmi.properties.type = 'ORBITRIGHT'
292
 
kmi = km.keymap_items.new('view3d.view_pan', 'NUMPAD_8', 'PRESS', ctrl=True)
293
 
kmi.properties.type = 'PANUP'
294
 
kmi = km.keymap_items.new('view3d.view_pan', 'NUMPAD_2', 'PRESS', ctrl=True)
295
 
kmi.properties.type = 'PANDOWN'
296
 
kmi = km.keymap_items.new('view3d.view_pan', 'NUMPAD_4', 'PRESS', ctrl=True)
297
 
kmi.properties.type = 'PANLEFT'
298
 
kmi = km.keymap_items.new('view3d.view_pan', 'NUMPAD_6', 'PRESS', ctrl=True)
299
 
kmi.properties.type = 'PANRIGHT'
300
 
kmi = km.keymap_items.new('view3d.zoom', 'NUMPAD_PLUS', 'PRESS')
301
 
kmi.properties.delta = 1
302
 
kmi = km.keymap_items.new('view3d.zoom', 'NUMPAD_MINUS', 'PRESS')
303
 
kmi.properties.delta = -1
304
 
 
305
 
# Zoom in/out alternatives
306
 
kmi = km.keymap_items.new('view3d.zoom', 'EQUAL', 'PRESS', ctrl=True)
307
 
kmi.properties.delta = 1
308
 
kmi = km.keymap_items.new('view3d.zoom', 'MINUS', 'PRESS', ctrl=True)
309
 
kmi.properties.delta = -1
310
 
 
311
 
# Front/Right/Top/Back/Left/Bottom
312
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_1', 'PRESS')
313
 
kmi.properties.type = 'FRONT'
314
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_3', 'PRESS')
315
 
kmi.properties.type = 'RIGHT'
316
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_7', 'PRESS')
317
 
kmi.properties.type = 'TOP'
318
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_1', 'PRESS', ctrl=True)
319
 
kmi.properties.type = 'BACK'
320
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_3', 'PRESS', ctrl=True)
321
 
kmi.properties.type = 'LEFT'
322
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_7', 'PRESS', ctrl=True)
323
 
kmi.properties.type = 'BOTTOM'
324
 
 
325
 
# Selection-aligned Front/Right/Top/Back/Left/Bottom
326
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_1', 'PRESS', shift=True)
327
 
kmi.properties.type = 'FRONT'
328
 
kmi.properties.align_active = True
329
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_3', 'PRESS', shift=True)
330
 
kmi.properties.type = 'RIGHT'
331
 
kmi.properties.align_active = True
332
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_7', 'PRESS', shift=True)
333
 
kmi.properties.type = 'TOP'
334
 
kmi.properties.align_active = True
335
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_1', 'PRESS', shift=True, ctrl=True)
336
 
kmi.properties.type = 'BACK'
337
 
kmi.properties.align_active = True
338
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_3', 'PRESS', shift=True, ctrl=True)
339
 
kmi.properties.type = 'LEFT'
340
 
kmi.properties.align_active = True
341
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NUMPAD_7', 'PRESS', shift=True, ctrl=True)
342
 
kmi.properties.type = 'BOTTOM'
343
 
kmi.properties.align_active = True
344
 
 
345
 
# NDOF Device
346
 
kmi = km.keymap_items.new('view3d.ndof_orbit', 'NDOF_BUTTON_MENU', 'ANY')
347
 
kmi = km.keymap_items.new('view3d.ndof_pan', 'NDOF_BUTTON_MENU', 'ANY', shift=True)
348
 
kmi = km.keymap_items.new('view3d.view_selected', 'NDOF_BUTTON_FIT', 'PRESS')
349
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_FRONT', 'PRESS')
350
 
kmi.properties.type = 'FRONT'
351
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_BACK', 'PRESS')
352
 
kmi.properties.type = 'BACK'
353
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_LEFT', 'PRESS')
354
 
kmi.properties.type = 'LEFT'
355
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_RIGHT', 'PRESS')
356
 
kmi.properties.type = 'RIGHT'
357
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_TOP', 'PRESS')
358
 
kmi.properties.type = 'TOP'
359
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_BOTTOM', 'PRESS')
360
 
kmi.properties.type = 'BOTTOM'
361
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_FRONT', 'PRESS', shift=True)
362
 
kmi.properties.type = 'FRONT'
363
 
kmi.properties.align_active = True
364
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_RIGHT', 'PRESS', shift=True)
365
 
kmi.properties.type = 'RIGHT'
366
 
kmi.properties.align_active = True
367
 
kmi = km.keymap_items.new('view3d.viewnumpad', 'NDOF_BUTTON_TOP', 'PRESS', shift=True)
368
 
kmi.properties.type = 'TOP'
369
 
kmi.properties.align_active = True
370
 
 
371
 
# Fly mode
372
 
kmi = km.keymap_items.new('view3d.fly', 'F', 'PRESS', shift=True)
373
 
 
374
 
# Misc
375
 
kmi = km.keymap_items.new('view3d.view_selected', 'NUMPAD_PERIOD', 'PRESS')
376
 
kmi = km.keymap_items.new('view3d.view_center_cursor', 'NUMPAD_PERIOD', 'PRESS', ctrl=True)
377
 
kmi = km.keymap_items.new('view3d.zoom_camera_1_to_1', 'NUMPAD_ENTER', 'PRESS', shift=True)
378
 
kmi = km.keymap_items.new('view3d.view_center_camera', 'HOME', 'PRESS')
379
 
kmi = km.keymap_items.new('view3d.view_all', 'HOME', 'PRESS')
380
 
kmi.properties.center = False
381
 
kmi = km.keymap_items.new('view3d.view_all', 'C', 'PRESS', shift=True)
382
 
kmi.properties.center = True
383
 
 
384
 
#-----------
385
 
# Selection
386
 
#-----------
387
 
# Click select
388
 
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS')
389
 
kmi.properties.extend = False
390
 
kmi.properties.center = False
391
 
kmi.properties.enumerate = False
392
 
kmi.properties.object = False
393
 
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', shift=True)
394
 
kmi.properties.extend = True
395
 
kmi.properties.center = False
396
 
kmi.properties.enumerate = False
397
 
kmi.properties.object = False
398
 
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', ctrl=True)
399
 
kmi.properties.extend = False
400
 
kmi.properties.center = True
401
 
kmi.properties.enumerate = False
402
 
kmi.properties.object = True
403
 
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', alt=True)
404
 
kmi.properties.extend = False
405
 
kmi.properties.center = False
406
 
kmi.properties.enumerate = True
407
 
kmi.properties.object = False
408
 
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True)
409
 
kmi.properties.extend = True
410
 
kmi.properties.center = True
411
 
kmi.properties.enumerate = False
412
 
kmi.properties.object = False
413
 
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', ctrl=True, alt=True)
414
 
kmi.properties.extend = False
415
 
kmi.properties.center = True
416
 
kmi.properties.enumerate = True
417
 
kmi.properties.object = False
418
 
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)
419
 
kmi.properties.extend = True
420
 
kmi.properties.center = False
421
 
kmi.properties.enumerate = True
422
 
kmi.properties.object = False
423
 
kmi = km.keymap_items.new('view3d.select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True, alt=True)
424
 
kmi.properties.extend = True
425
 
kmi.properties.center = True
426
 
kmi.properties.enumerate = True
427
 
kmi.properties.object = False
428
 
 
429
 
# Box select
430
 
kmi = km.keymap_items.new('view3d.select_border', 'B', 'PRESS')
431
 
 
432
 
# Lasso select
433
 
kmi = km.keymap_items.new('view3d.select_lasso', 'EVT_TWEAK_A', 'ANY', ctrl=True)
434
 
kmi.properties.deselect = False
435
 
kmi = km.keymap_items.new('view3d.select_lasso', 'EVT_TWEAK_A', 'ANY', shift=True, ctrl=True)
436
 
kmi.properties.deselect = True
437
 
 
438
 
# Paint select
439
 
kmi = km.keymap_items.new('view3d.select_circle', 'C', 'PRESS')
440
 
 
441
 
#-------------
442
 
# Manipulator
443
 
#-------------
444
 
kmi = km.keymap_items.new('view3d.manipulator', 'LEFTMOUSE', 'PRESS', any=True)
445
 
kmi.properties.release_confirm = True
446
 
 
447
 
if MAYA_STYLE_MANIPULATORS:
448
 
    kmi = km.keymap_items.new('view3d.manipulator_set', 'Q', 'PRESS')
449
 
    kmi.properties.mode = 'NONE'
450
 
    kmi = km.keymap_items.new('view3d.manipulator_set', 'W', 'PRESS')
451
 
    kmi.properties.mode = 'TRANSLATE'
452
 
    kmi = km.keymap_items.new('view3d.manipulator_set', 'E', 'PRESS')
453
 
    kmi.properties.mode = 'ROTATE'
454
 
    kmi = km.keymap_items.new('view3d.manipulator_set', 'R', 'PRESS')
455
 
    kmi.properties.mode = 'SCALE'
456
 
else:
457
 
    kmi = km.keymap_items.new('wm.context_toggle', 'SPACE', 'PRESS', ctrl=True)
458
 
    kmi.properties.data_path = 'space_data.show_manipulator'
459
 
 
460
 
#-----------------------
461
 
# Transforms via hotkey
462
 
#-----------------------
463
 
# Grab, rotate scale
464
 
kmi = km.keymap_items.new('transform.translate', 'G', 'PRESS')
465
 
kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_S', 'ANY')
466
 
kmi = km.keymap_items.new('transform.rotate', 'R', 'PRESS')
467
 
kmi = km.keymap_items.new('transform.resize', 'S', 'PRESS')
468
 
 
469
 
# Mirror, shear, warp, to-sphere
470
 
kmi = km.keymap_items.new('transform.mirror', 'M', 'PRESS', ctrl=True)
471
 
kmi = km.keymap_items.new('transform.shear', 'S', 'PRESS', shift=True, ctrl=True, alt=True)
472
 
kmi = km.keymap_items.new('transform.warp', 'W', 'PRESS', shift=True)
473
 
kmi = km.keymap_items.new('transform.tosphere', 'S', 'PRESS', shift=True, alt=True)
474
 
 
475
 
#-------------------------
476
 
# Transform texture space
477
 
#-------------------------
478
 
kmi = km.keymap_items.new('transform.translate', 'T', 'PRESS', shift=True)
479
 
kmi.properties.texture_space = True
480
 
kmi = km.keymap_items.new('transform.resize', 'T', 'PRESS', shift=True, alt=True)
481
 
kmi.properties.texture_space = True
482
 
 
483
 
#------------------
484
 
# Transform spaces
485
 
#------------------
486
 
kmi = km.keymap_items.new('transform.select_orientation', 'SPACE', 'PRESS', alt=True)
487
 
kmi = km.keymap_items.new('transform.create_orientation', 'SPACE', 'PRESS', ctrl=True, alt=True)
488
 
kmi.properties.use = True
489
 
 
490
 
#----------
491
 
# Snapping
492
 
#----------
493
 
kmi = km.keymap_items.new('wm.context_toggle', 'TAB', 'PRESS', shift=True)
494
 
kmi.properties.data_path = 'tool_settings.use_snap'
495
 
kmi = km.keymap_items.new('transform.snap_type', 'TAB', 'PRESS', shift=True, ctrl=True)
496
 
 
497
 
#---------------
498
 
# Snapping Menu
499
 
#---------------
500
 
kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
501
 
kmi.properties.name = 'VIEW3D_MT_snap'
502
 
 
503
 
#-----------
504
 
# 3d cursor
505
 
#-----------
506
 
kmi = km.keymap_items.new('view3d.cursor3d', 'ACTIONMOUSE', 'PRESS')
507
 
 
508
 
#-------------------
509
 
# Toggle local view
510
 
#-------------------
511
 
kmi = km.keymap_items.new('view3d.localview', 'NUMPAD_SLASH', 'PRESS')
512
 
 
513
 
#--------
514
 
# Layers
515
 
#--------
516
 
kmi = km.keymap_items.new('view3d.layers', 'ACCENT_GRAVE', 'PRESS')
517
 
kmi.properties.nr = 0
518
 
kmi = km.keymap_items.new('view3d.layers', 'ONE', 'PRESS', any=True)
519
 
kmi.properties.nr = 1
520
 
kmi = km.keymap_items.new('view3d.layers', 'TWO', 'PRESS', any=True)
521
 
kmi.properties.nr = 2
522
 
kmi = km.keymap_items.new('view3d.layers', 'THREE', 'PRESS', any=True)
523
 
kmi.properties.nr = 3
524
 
kmi = km.keymap_items.new('view3d.layers', 'FOUR', 'PRESS', any=True)
525
 
kmi.properties.nr = 4
526
 
kmi = km.keymap_items.new('view3d.layers', 'FIVE', 'PRESS', any=True)
527
 
kmi.properties.nr = 5
528
 
kmi = km.keymap_items.new('view3d.layers', 'SIX', 'PRESS', any=True)
529
 
kmi.properties.nr = 6
530
 
kmi = km.keymap_items.new('view3d.layers', 'SEVEN', 'PRESS', any=True)
531
 
kmi.properties.nr = 7
532
 
kmi = km.keymap_items.new('view3d.layers', 'EIGHT', 'PRESS', any=True)
533
 
kmi.properties.nr = 8
534
 
kmi = km.keymap_items.new('view3d.layers', 'NINE', 'PRESS', any=True)
535
 
kmi.properties.nr = 9
536
 
kmi = km.keymap_items.new('view3d.layers', 'ZERO', 'PRESS', any=True)
537
 
kmi.properties.nr = 10
538
 
 
539
 
#------------------
540
 
# Viewport drawing
541
 
#------------------
542
 
kmi = km.keymap_items.new('wm.context_toggle_enum', 'Z', 'PRESS')
543
 
kmi.properties.data_path = 'space_data.viewport_shade'
544
 
kmi.properties.value_1 = 'SOLID'
545
 
kmi.properties.value_2 = 'WIREFRAME'
546
 
kmi = km.keymap_items.new('wm.context_toggle_enum', 'Z', 'PRESS', alt=True)
547
 
kmi.properties.data_path = 'space_data.viewport_shade'
548
 
kmi.properties.value_1 = 'TEXTURED'
549
 
kmi.properties.value_2 = 'SOLID'
550
 
 
551
 
#-------------
552
 
# Pivot point
553
 
#-------------
554
 
kmi = km.keymap_items.new('wm.context_set_enum', 'COMMA', 'PRESS')
555
 
kmi.properties.data_path = 'space_data.pivot_point'
556
 
kmi.properties.value = 'BOUNDING_BOX_CENTER'
557
 
kmi = km.keymap_items.new('wm.context_set_enum', 'COMMA', 'PRESS', ctrl=True)
558
 
kmi.properties.data_path = 'space_data.pivot_point'
559
 
kmi.properties.value = 'MEDIAN_POINT'
560
 
kmi = km.keymap_items.new('wm.context_toggle', 'COMMA', 'PRESS', alt=True)
561
 
kmi.properties.data_path = 'space_data.use_pivot_point_align'
562
 
kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS')
563
 
kmi.properties.data_path = 'space_data.pivot_point'
564
 
kmi.properties.value = 'CURSOR'
565
 
kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS', ctrl=True)
566
 
kmi.properties.data_path = 'space_data.pivot_point'
567
 
kmi.properties.value = 'INDIVIDUAL_ORIGINS'
568
 
kmi = km.keymap_items.new('wm.context_set_enum', 'PERIOD', 'PRESS', alt=True)
569
 
kmi.properties.data_path = 'space_data.pivot_point'
570
 
kmi.properties.value = 'ACTIVE_ELEMENT'
571
 
 
572
 
#------
573
 
# Misc
574
 
#------
575
 
kmi = km.keymap_items.new('view3d.clip_border', 'B', 'PRESS', alt=True)
576
 
kmi = km.keymap_items.new('view3d.zoom_border', 'B', 'PRESS', shift=True)
577
 
kmi = km.keymap_items.new('view3d.render_border', 'B', 'PRESS', shift=True)
578
 
kmi = km.keymap_items.new('view3d.camera_to_view', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
579
 
kmi = km.keymap_items.new('view3d.object_as_camera', 'NUMPAD_0', 'PRESS', ctrl=True)
580
 
 
581
 
 
582
 
 
583
 
#######################
584
 
# Transform Modal Map #
585
 
#######################
586
 
km = kc.keymaps.new('Transform Modal Map', space_type='EMPTY', region_type='WINDOW', modal=True)
587
 
 
588
 
# Cancel
589
 
kmi = km.keymap_items.new_modal('CANCEL', 'ESC', 'PRESS', any=True)
590
 
 
591
 
# Confirm
592
 
kmi = km.keymap_items.new_modal('CONFIRM', 'LEFTMOUSE', 'PRESS', any=True)
593
 
kmi = km.keymap_items.new_modal('CONFIRM', 'RET', 'PRESS', any=True)
594
 
kmi = km.keymap_items.new_modal('CONFIRM', 'NUMPAD_ENTER', 'PRESS', any=True)
595
 
 
596
 
# Snapping
597
 
kmi = km.keymap_items.new_modal('SNAP_TOGGLE', 'TAB', 'PRESS', shift=True)
598
 
kmi = km.keymap_items.new_modal('SNAP_INV_ON', 'LEFT_CTRL', 'PRESS', any=True)
599
 
kmi = km.keymap_items.new_modal('SNAP_INV_OFF', 'LEFT_CTRL', 'RELEASE', any=True)
600
 
kmi = km.keymap_items.new_modal('SNAP_INV_ON', 'RIGHT_CTRL', 'PRESS', any=True)
601
 
kmi = km.keymap_items.new_modal('SNAP_INV_OFF', 'RIGHT_CTRL', 'RELEASE', any=True)
602
 
kmi = km.keymap_items.new_modal('ADD_SNAP', 'A', 'PRESS')
603
 
kmi = km.keymap_items.new_modal('REMOVE_SNAP', 'A', 'PRESS', alt=True)
604
 
 
605
 
# Proportional edit adjusting
606
 
kmi = km.keymap_items.new_modal('PROPORTIONAL_SIZE_UP', 'PAGE_UP', 'PRESS')
607
 
kmi = km.keymap_items.new_modal('PROPORTIONAL_SIZE_DOWN', 'PAGE_DOWN', 'PRESS')
608
 
kmi = km.keymap_items.new_modal('PROPORTIONAL_SIZE_UP', 'WHEELDOWNMOUSE', 'PRESS')
609
 
kmi = km.keymap_items.new_modal('PROPORTIONAL_SIZE_DOWN', 'WHEELUPMOUSE', 'PRESS')
610
 
 
611
 
# Auto-ik adjusting
612
 
kmi = km.keymap_items.new_modal('AUTOIK_CHAIN_LEN_UP', 'PAGE_UP', 'PRESS', shift=True)
613
 
kmi = km.keymap_items.new_modal('AUTOIK_CHAIN_LEN_DOWN', 'PAGE_DOWN', 'PRESS', shift=True)
614
 
kmi = km.keymap_items.new_modal('AUTOIK_CHAIN_LEN_UP', 'WHEELDOWNMOUSE', 'PRESS', shift=True)
615
 
kmi = km.keymap_items.new_modal('AUTOIK_CHAIN_LEN_DOWN', 'WHEELUPMOUSE', 'PRESS', shift=True)
616
 
 
617
 
# Constraining to axes
618
 
kmi = km.keymap_items.new_modal('AXIS_X', 'X', 'PRESS')
619
 
kmi = km.keymap_items.new_modal('AXIS_Y', 'Y', 'PRESS')
620
 
kmi = km.keymap_items.new_modal('AXIS_Z', 'Z', 'PRESS')
621
 
kmi = km.keymap_items.new_modal('PLANE_X', 'X', 'PRESS', shift=True)
622
 
kmi = km.keymap_items.new_modal('PLANE_Y', 'Y', 'PRESS', shift=True)
623
 
kmi = km.keymap_items.new_modal('PLANE_Z', 'Z', 'PRESS', shift=True)
624
 
 
625
 
# ???
626
 
#kmi = km.keymap_items.new_modal('TRANSLATE', 'G', 'PRESS')
627
 
#kmi = km.keymap_items.new_modal('ROTATE', 'R', 'PRESS')
628
 
#kmi = km.keymap_items.new_modal('RESIZE', 'S', 'PRESS')
629
 
 
630
 
 
631
 
 
632
 
####################
633
 
# Object Non-modal #
634
 
####################
635
 
km = kc.keymaps.new('Object Non-modal', space_type='EMPTY', region_type='WINDOW', modal=False)
636
 
 
637
 
 
638
 
#-----------------------
639
 
# Object mode switching
640
 
#-----------------------
641
 
kmi = km.keymap_items.new('wm.call_menu', 'SPACE', 'PRESS')
642
 
kmi.properties.name = 'OBJECT_MT_mode_switch_menu'
643
 
 
644
 
 
645
 
 
646
 
#############
647
 
# Mesh Edit #
648
 
#############
649
 
km = kc.keymaps.new('Mesh', space_type='EMPTY', region_type='WINDOW', modal=False)
650
 
 
651
 
#---------------------------------
652
 
# Vertex/Edge/Face mode switching
653
 
#---------------------------------
654
 
kmi = km.keymap_items.new('wm.call_menu', 'TAB', 'PRESS', ctrl=True)
655
 
kmi.properties.name = 'VIEW3D_MT_edit_mesh_select_mode'
656
 
 
657
 
#-----------
658
 
# Selection
659
 
#-----------
660
 
kmi = km.keymap_items.new('mesh.loop_select', 'SELECTMOUSE', 'PRESS', alt=True)
661
 
kmi.properties.extend = False
662
 
kmi = km.keymap_items.new('mesh.loop_select', 'SELECTMOUSE', 'PRESS', shift=True, alt=True)
663
 
kmi.properties.extend = True
664
 
kmi = km.keymap_items.new('mesh.edgering_select', 'SELECTMOUSE', 'PRESS', ctrl=True, alt=True)
665
 
kmi.properties.extend = False
666
 
kmi = km.keymap_items.new('mesh.edgering_select', 'SELECTMOUSE', 'PRESS', shift=True, ctrl=True, alt=True)
667
 
kmi.properties.extend = True
668
 
kmi = km.keymap_items.new('mesh.select_shortest_path', 'SELECTMOUSE', 'PRESS', ctrl=True)
669
 
kmi = km.keymap_items.new('mesh.select_all', 'A', 'PRESS')
670
 
kmi.properties.action = 'TOGGLE'
671
 
kmi = km.keymap_items.new('mesh.select_all', 'I', 'PRESS', ctrl=True)
672
 
kmi.properties.action = 'INVERT'
673
 
kmi = km.keymap_items.new('mesh.select_more', 'NUMPAD_PLUS', 'PRESS', ctrl=True)
674
 
kmi = km.keymap_items.new('mesh.select_less', 'NUMPAD_MINUS', 'PRESS', ctrl=True)
675
 
kmi = km.keymap_items.new('mesh.select_non_manifold', 'M', 'PRESS', shift=True, ctrl=True, alt=True)
676
 
kmi = km.keymap_items.new('mesh.select_linked', 'L', 'PRESS', ctrl=True)
677
 
kmi = km.keymap_items.new('mesh.select_linked_pick', 'L', 'PRESS')
678
 
kmi.properties.deselect = False
679
 
kmi = km.keymap_items.new('mesh.select_linked_pick', 'L', 'PRESS', shift=True)
680
 
kmi.properties.deselect = True
681
 
kmi = km.keymap_items.new('mesh.faces_select_linked_flat', 'F', 'PRESS', shift=True, ctrl=True, alt=True)
682
 
kmi = km.keymap_items.new('mesh.select_similar', 'G', 'PRESS', shift=True)
683
 
 
684
 
#----------------------
685
 
# Proportional editing
686
 
#----------------------
687
 
kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS')
688
 
kmi.properties.data_path = 'tool_settings.proportional_edit'
689
 
kmi.properties.value_1 = 'DISABLED'
690
 
kmi.properties.value_2 = 'ENABLED'
691
 
kmi = km.keymap_items.new('wm.context_cycle_enum', 'O', 'PRESS', shift=True)
692
 
kmi.properties.data_path = 'tool_settings.proportional_edit_falloff'
693
 
kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'PRESS', alt=True)
694
 
kmi.properties.data_path = 'tool_settings.proportional_edit'
695
 
kmi.properties.value_1 = 'DISABLED'
696
 
kmi.properties.value_2 = 'CONNECTED'
697
 
 
698
 
#--------
699
 
# Hiding
700
 
#--------
701
 
kmi = km.keymap_items.new('mesh.hide', 'H', 'PRESS')
702
 
kmi.properties.unselected = False
703
 
kmi = km.keymap_items.new('mesh.hide', 'H', 'PRESS', shift=True)
704
 
kmi.properties.unselected = True
705
 
kmi = km.keymap_items.new('mesh.reveal', 'H', 'PRESS', alt=True)
706
 
 
707
 
#--------
708
 
# Create
709
 
#--------
710
 
kmi = km.keymap_items.new('mesh.loopcut_slide', 'R', 'PRESS', ctrl=True)
711
 
kmi = km.keymap_items.new('mesh.knifetool', 'K', 'PRESS')
712
 
kmi = km.keymap_items.new('view3d.edit_mesh_extrude_move_normal', 'E', 'PRESS')
713
 
kmi = km.keymap_items.new('wm.call_menu', 'E', 'PRESS', alt=True)
714
 
kmi.properties.name = 'VIEW3D_MT_edit_mesh_extrude'
715
 
kmi = km.keymap_items.new('mesh.edge_face_add', 'F', 'PRESS')
716
 
kmi = km.keymap_items.new('mesh.vert_connect', 'J', 'PRESS')
717
 
kmi = km.keymap_items.new('mesh.spin', 'R', 'PRESS', alt=True)
718
 
kmi = km.keymap_items.new('mesh.fill', 'F', 'PRESS', alt=True)
719
 
kmi = km.keymap_items.new('mesh.beautify_fill', 'F', 'PRESS', shift=True, alt=True)
720
 
kmi = km.keymap_items.new('mesh.duplicate_move', 'D', 'PRESS', shift=True)
721
 
kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True)
722
 
kmi.properties.name = 'INFO_MT_mesh_add'
723
 
kmi = km.keymap_items.new('mesh.dupli_extrude_cursor', 'ACTIONMOUSE', 'CLICK', ctrl=True)
724
 
kmi.properties.rotate_source = True
725
 
kmi = km.keymap_items.new('mesh.dupli_extrude_cursor', 'ACTIONMOUSE', 'CLICK', shift=True, ctrl=True)
726
 
kmi.properties.rotate_source = False
727
 
 
728
 
#--------
729
 
# Delete
730
 
#--------
731
 
kmi = km.keymap_items.new('wm.call_menu', 'X', 'PRESS')
732
 
kmi.properties.name = 'VIEW3D_MT_edit_mesh_delete'
733
 
kmi = km.keymap_items.new('wm.call_menu', 'DEL', 'PRESS')
734
 
kmi.properties.name = 'VIEW3D_MT_edit_mesh_delete'
735
 
 
736
 
#----------
737
 
# Separate
738
 
#----------
739
 
kmi = km.keymap_items.new('mesh.rip_move', 'V', 'PRESS')
740
 
kmi = km.keymap_items.new('mesh.split', 'Y', 'PRESS')
741
 
kmi = km.keymap_items.new('mesh.separate', 'P', 'PRESS')
742
 
 
743
 
#-------
744
 
# Merge
745
 
#-------
746
 
kmi = km.keymap_items.new('mesh.merge', 'M', 'PRESS', alt=True)
747
 
 
748
 
#-----------
749
 
# Transform
750
 
#-----------
751
 
kmi = km.keymap_items.new('transform.shrink_fatten', 'S', 'PRESS', alt=True)
752
 
kmi = km.keymap_items.new('transform.edge_crease', 'E', 'PRESS', shift=True)
753
 
kmi = km.keymap_items.new('mesh.quads_convert_to_tris', 'T', 'PRESS', ctrl=True)
754
 
kmi = km.keymap_items.new('mesh.quads_convert_to_tris', 'T', 'PRESS', shift=True, ctrl=True)
755
 
kmi.properties.use_beauty = False
756
 
kmi = km.keymap_items.new('mesh.tris_convert_to_quads', 'J', 'PRESS', alt=True)
757
 
 
758
 
#------------
759
 
# Tool Menus
760
 
#------------
761
 
kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS')
762
 
kmi.properties.name = 'VIEW3D_MT_edit_mesh_specials'
763
 
kmi = km.keymap_items.new('wm.call_menu', 'F', 'PRESS', ctrl=True)
764
 
kmi.properties.name = 'VIEW3D_MT_edit_mesh_faces'
765
 
kmi = km.keymap_items.new('wm.call_menu', 'E', 'PRESS', ctrl=True)
766
 
kmi.properties.name = 'VIEW3D_MT_edit_mesh_edges'
767
 
kmi = km.keymap_items.new('wm.call_menu', 'V', 'PRESS', ctrl=True)
768
 
kmi.properties.name = 'VIEW3D_MT_edit_mesh_vertices'
769
 
 
770
 
#------
771
 
# UV's
772
 
#------
773
 
kmi = km.keymap_items.new('wm.call_menu', 'U', 'PRESS')
774
 
kmi.properties.name = 'VIEW3D_MT_uv_map'
775
 
 
776
 
#-------------------
777
 
# Calculate normals
778
 
#-------------------
779
 
kmi = km.keymap_items.new('mesh.normals_make_consistent', 'N', 'PRESS', ctrl=True)
780
 
kmi.properties.inside = False
781
 
kmi = km.keymap_items.new('mesh.normals_make_consistent', 'N', 'PRESS', shift=True, ctrl=True)
782
 
kmi.properties.inside = True
783
 
 
784
 
#-------------------
785
 
# Subsurf shortcuts
786
 
#-------------------
787
 
 
788
 
if SUBSURF_RELATIVE:
789
 
    kmi = km.keymap_items.new('object.shift_subsurf_level', 'EQUAL', 'CLICK')
790
 
    kmi.properties.delta = 1
791
 
    kmi.properties.max = 4
792
 
    kmi = km.keymap_items.new('object.shift_subsurf_level', 'MINUS', 'CLICK')
793
 
    kmi.properties.delta = -1
794
 
    kmi.properties.min = 0
795
 
else:
796
 
    kmi = km.keymap_items.new('object.subdivision_set', 'ZERO', 'PRESS', ctrl=True)
797
 
    kmi.properties.level = 0
798
 
    kmi = km.keymap_items.new('object.subdivision_set', 'ONE', 'PRESS', ctrl=True)
799
 
    kmi.properties.level = 1
800
 
    kmi = km.keymap_items.new('object.subdivision_set', 'TWO', 'PRESS', ctrl=True)
801
 
    kmi.properties.level = 2
802
 
    kmi = km.keymap_items.new('object.subdivision_set', 'THREE', 'PRESS', ctrl=True)
803
 
    kmi.properties.level = 3
804
 
    kmi = km.keymap_items.new('object.subdivision_set', 'FOUR', 'PRESS', ctrl=True)
805
 
    kmi.properties.level = 4
806
 
    kmi = km.keymap_items.new('object.subdivision_set', 'FIVE', 'PRESS', ctrl=True)
807
 
    kmi.properties.level = 5
808
 
 
809
 
#---------
810
 
# Rigging
811
 
#---------
812
 
kmi = km.keymap_items.new('object.vertex_parent_set', 'P', 'PRESS', ctrl=True)
813
 
kmi = km.keymap_items.new('wm.call_menu', 'H', 'PRESS', ctrl=True)
814
 
kmi.properties.name = 'VIEW3D_MT_hook'
815
 
kmi = km.keymap_items.new('wm.call_menu', 'G', 'PRESS', ctrl=True)
816
 
kmi.properties.name = 'VIEW3D_MT_vertex_group'