161
168
/* ************************** registration - keymaps **********************************/
163
static void nla_keymap_channels (wmKeyConfig *keyconf, wmKeyMap *keymap)
170
static void nla_keymap_channels(wmKeyMap *keymap)
165
174
/* NLA-specific (different to standard channels keymap) -------------------------- */
167
176
/* click-select */
168
177
// XXX for now, only leftmouse....
169
WM_keymap_add_item(keymap, "NLA_OT_channels_click", LEFTMOUSE, KM_PRESS, 0, 0);
170
RNA_boolean_set(WM_keymap_add_item(keymap, "NLA_OT_channels_click", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "extend", 1);
178
kmi = WM_keymap_add_item(keymap, "NLA_OT_channels_click", LEFTMOUSE, KM_PRESS, 0, 0);
179
RNA_boolean_set(kmi->ptr, "extend", FALSE);
180
kmi = WM_keymap_add_item(keymap, "NLA_OT_channels_click", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0);
181
RNA_boolean_set(kmi->ptr, "extend", TRUE);
172
183
/* channel operations */
174
WM_keymap_add_item(keymap, "NLA_OT_tracks_add", AKEY, KM_PRESS, KM_SHIFT, 0);
175
RNA_boolean_set(WM_keymap_add_item(keymap, "NLA_OT_tracks_add", AKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0)->ptr, "above_selected", 1);
185
kmi = WM_keymap_add_item(keymap, "NLA_OT_tracks_add", AKEY, KM_PRESS, KM_SHIFT, 0);
186
RNA_boolean_set(kmi->ptr, "above_selected", FALSE);
187
kmi = WM_keymap_add_item(keymap, "NLA_OT_tracks_add", AKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
188
RNA_boolean_set(kmi->ptr, "above_selected", TRUE);
177
190
/* delete tracks */
178
191
WM_keymap_add_item(keymap, "NLA_OT_delete_tracks", XKEY, KM_PRESS, 0, 0);
179
192
WM_keymap_add_item(keymap, "NLA_OT_delete_tracks", DELKEY, KM_PRESS, 0, 0);
181
/* General Animation Channels keymap (see anim_channels.c) ----------------------- */
183
/* borderselect - not in tweakmode */
184
WM_keymap_add_item(keymap, "ANIM_OT_channels_select_border", BKEY, KM_PRESS, 0, 0);
186
/* deselect all - not in tweakmode */
187
WM_keymap_add_item(keymap, "ANIM_OT_channels_select_all_toggle", AKEY, KM_PRESS, 0, 0);
188
RNA_boolean_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_select_all_toggle", IKEY, KM_PRESS, KM_CTRL, 0)->ptr, "invert", 1);
191
WM_keymap_add_item(keymap, "ANIM_OT_channels_setting_toggle", WKEY, KM_PRESS, KM_SHIFT, 0);
192
WM_keymap_add_item(keymap, "ANIM_OT_channels_setting_enable", WKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
193
WM_keymap_add_item(keymap, "ANIM_OT_channels_setting_disable", WKEY, KM_PRESS, KM_ALT, 0);
195
/* settings - specialised hotkeys */
196
WM_keymap_add_item(keymap, "ANIM_OT_channels_editable_toggle", TABKEY, KM_PRESS, 0, 0);
198
/* expand/collapse */
199
WM_keymap_add_item(keymap, "ANIM_OT_channels_expand", PADPLUSKEY, KM_PRESS, 0, 0);
200
WM_keymap_add_item(keymap, "ANIM_OT_channels_collapse", PADMINUS, KM_PRESS, 0, 0);
202
RNA_boolean_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_expand", PADPLUSKEY, KM_PRESS, KM_CTRL, 0)->ptr, "all", 1);
203
RNA_boolean_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_collapse", PADMINUS, KM_PRESS, KM_CTRL, 0)->ptr, "all", 1);
206
195
static void nla_keymap_main (wmKeyConfig *keyconf, wmKeyMap *keymap)
211
200
/* click select */
212
WM_keymap_add_item(keymap, "NLA_OT_click_select", SELECTMOUSE, KM_PRESS, 0, 0);
213
kmi= WM_keymap_add_item(keymap, "NLA_OT_click_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0);
214
RNA_boolean_set(kmi->ptr, "extend", 1);
215
kmi= WM_keymap_add_item(keymap, "NLA_OT_click_select", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
216
RNA_enum_set(kmi->ptr, "left_right", NLAEDIT_LRSEL_TEST);
201
kmi = WM_keymap_add_item(keymap, "NLA_OT_click_select", SELECTMOUSE, KM_PRESS, 0, 0);
202
RNA_boolean_set(kmi->ptr, "extend", FALSE);
203
kmi = WM_keymap_add_item(keymap, "NLA_OT_click_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0);
204
RNA_boolean_set(kmi->ptr, "extend", TRUE);
206
/* select left/right */
207
kmi = WM_keymap_add_item(keymap, "NLA_OT_select_leftright", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
208
RNA_boolean_set(kmi->ptr, "extend", FALSE);
209
RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_TEST);
210
kmi = WM_keymap_add_item(keymap, "NLA_OT_select_leftright", SELECTMOUSE, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
211
RNA_boolean_set(kmi->ptr, "extend", TRUE);
212
RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_TEST);
214
kmi = WM_keymap_add_item(keymap, "NLA_OT_select_leftright", LEFTBRACKETKEY, KM_PRESS, 0, 0);
215
RNA_boolean_set(kmi->ptr, "extend", FALSE);
216
RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_LEFT);
217
kmi = WM_keymap_add_item(keymap, "NLA_OT_select_leftright", RIGHTBRACKETKEY, KM_PRESS, 0, 0);
218
RNA_boolean_set(kmi->ptr, "extend", FALSE);
219
RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_RIGHT);
218
222
/* deselect all */
219
WM_keymap_add_item(keymap, "NLA_OT_select_all_toggle", AKEY, KM_PRESS, 0, 0);
220
RNA_boolean_set(WM_keymap_add_item(keymap, "NLA_OT_select_all_toggle", IKEY, KM_PRESS, KM_CTRL, 0)->ptr, "invert", 1);
223
/* TODO: uniformize with other select_all ops? */
224
kmi = WM_keymap_add_item(keymap, "NLA_OT_select_all_toggle", AKEY, KM_PRESS, 0, 0);
225
RNA_boolean_set(kmi->ptr, "invert", FALSE);
226
kmi = WM_keymap_add_item(keymap, "NLA_OT_select_all_toggle", IKEY, KM_PRESS, KM_CTRL, 0);
227
RNA_boolean_set(kmi->ptr, "invert", TRUE);
222
229
/* borderselect */
223
WM_keymap_add_item(keymap, "NLA_OT_select_border", BKEY, KM_PRESS, 0, 0);
224
RNA_boolean_set(WM_keymap_add_item(keymap, "NLA_OT_select_border", BKEY, KM_PRESS, KM_ALT, 0)->ptr, "axis_range", 1);
230
kmi = WM_keymap_add_item(keymap, "NLA_OT_select_border", BKEY, KM_PRESS, 0, 0);
231
RNA_boolean_set(kmi->ptr, "axis_range", FALSE);
232
kmi = WM_keymap_add_item(keymap, "NLA_OT_select_border", BKEY, KM_PRESS, KM_ALT, 0);
233
RNA_boolean_set(kmi->ptr, "axis_range", TRUE);
237
//WM_keymap_add_item(keymap, "NLA_OT_previewrange_set", PKEY, KM_PRESS, KM_CTRL|KM_ALT, 0);
238
WM_keymap_add_item(keymap, "NLA_OT_view_all", HOMEKEY, KM_PRESS, 0, 0);
239
WM_keymap_add_item(keymap, "NLA_OT_view_selected", PADPERIOD, KM_PRESS, 0, 0);