Keymap: partially implement changes from T55162
- Use Tab key for search. - Number keys switch modes. - The number of the current mode can open a submode menu (currently only works for edit-mode) - Ctrl-Tab, Ctrl-Shift-Tab - cycle workspaces.
This commit is contained in:
parent
929c78e33c
commit
e9cd2fb23b
@ -2369,9 +2369,7 @@ class WM_OT_toolbar(Operator):
|
||||
|
||||
cls = ToolSelectPanelHelper._tool_class_from_space_type(space_type)
|
||||
if cls is None:
|
||||
# self.report({'WARNING'}, f"Toolbar not found for {space_type!r}")
|
||||
# Passthrough to running search directly.
|
||||
bpy.ops.wm.search_menu('INVOKE_DEFAULT')
|
||||
self.report({'WARNING'}, f"Toolbar not found for {space_type!r}")
|
||||
return {'CANCELLED'}
|
||||
|
||||
wm = context.window_manager
|
||||
@ -2381,9 +2379,6 @@ class WM_OT_toolbar(Operator):
|
||||
layout = popover.layout
|
||||
cls.draw_cls(layout, context, detect_layout=False)
|
||||
|
||||
layout.operator_context = 'INVOKE_DEFAULT'
|
||||
layout.operator("wm.search_menu")
|
||||
|
||||
wm.popover(draw_menu, keymap=keymap)
|
||||
return {'FINISHED'}
|
||||
|
||||
|
@ -594,10 +594,6 @@ def keymap_from_context(context, space_type):
|
||||
for kmi in keymap.keymap_items:
|
||||
keymap.keymap_items.remove(kmi)
|
||||
|
||||
|
||||
kmi_search = wm.keyconfigs.find_item_from_operator(idname="wm.toolbar")[1]
|
||||
kmi_search_type = None if not kmi_search else kmi_search.type
|
||||
|
||||
items = []
|
||||
cls = ToolSelectPanelHelper._tool_class_from_space_type(space_type)
|
||||
for i, item in enumerate(
|
||||
@ -637,14 +633,6 @@ def keymap_from_context(context, space_type):
|
||||
)
|
||||
kmi.properties.name = item.text
|
||||
|
||||
# Disallow overlap
|
||||
if kmi_search_type == kmi_found_type:
|
||||
kmi_search_type = None
|
||||
|
||||
# Support double-tap for search.
|
||||
if kmi_search_type:
|
||||
keymap.keymap_items.new("wm.search_menu", type=kmi_search_type, value='PRESS')
|
||||
|
||||
wm.keyconfigs.update()
|
||||
return keymap
|
||||
|
||||
|
@ -290,28 +290,6 @@ static void ed_keymap_gpencil_editing(wmKeyConfig *keyconf)
|
||||
/* Move to Layer */
|
||||
WM_keymap_add_item(keymap, "GPENCIL_OT_move_to_layer", MKEY, KM_PRESS, 0, 0);
|
||||
|
||||
/* Select drawing brush using index */
|
||||
kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_select", ONEKEY, KM_PRESS, 0, 0);
|
||||
RNA_int_set(kmi->ptr, "index", 0);
|
||||
kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_select", TWOKEY, KM_PRESS, 0, 0);
|
||||
RNA_int_set(kmi->ptr, "index", 1);
|
||||
kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_select", THREEKEY, KM_PRESS, 0, 0);
|
||||
RNA_int_set(kmi->ptr, "index", 2);
|
||||
kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_select", FOURKEY, KM_PRESS, 0, 0);
|
||||
RNA_int_set(kmi->ptr, "index", 3);
|
||||
kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_select", FIVEKEY, KM_PRESS, 0, 0);
|
||||
RNA_int_set(kmi->ptr, "index", 4);
|
||||
kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_select", SIXKEY, KM_PRESS, 0, 0);
|
||||
RNA_int_set(kmi->ptr, "index", 5);
|
||||
kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_select", SEVENKEY, KM_PRESS, 0, 0);
|
||||
RNA_int_set(kmi->ptr, "index", 6);
|
||||
kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_select", EIGHTKEY, KM_PRESS, 0, 0);
|
||||
RNA_int_set(kmi->ptr, "index", 7);
|
||||
kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_select", NINEKEY, KM_PRESS, 0, 0);
|
||||
RNA_int_set(kmi->ptr, "index", 8);
|
||||
kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_select", ZEROKEY, KM_PRESS, 0, 0);
|
||||
RNA_int_set(kmi->ptr, "index", 9);
|
||||
|
||||
/* Transform Tools */
|
||||
kmi = WM_keymap_add_item(keymap, "TRANSFORM_OT_translate", GKEY, KM_PRESS, 0, 0);
|
||||
|
||||
|
@ -383,9 +383,6 @@ void ED_keymap_mesh(wmKeyConfig *keyconf)
|
||||
|
||||
WM_keymap_add_menu(keymap, "VIEW3D_MT_edit_mesh_select_similar", GKEY, KM_PRESS, KM_SHIFT, 0);
|
||||
|
||||
/* selection mode */
|
||||
WM_keymap_add_menu(keymap, "VIEW3D_MT_edit_mesh_select_mode", TABKEY, KM_PRESS, KM_CTRL, 0);
|
||||
|
||||
/* hide */
|
||||
kmi = WM_keymap_add_item(keymap, "MESH_OT_hide", HKEY, KM_PRESS, 0, 0);
|
||||
RNA_boolean_set(kmi->ptr, "unselected", false);
|
||||
|
@ -1361,12 +1361,36 @@ static int object_mode_set_poll(bContext *C)
|
||||
|
||||
static int object_mode_set_exec(bContext *C, wmOperator *op)
|
||||
{
|
||||
bool use_submode = STREQ(op->idname, "OBJECT_OT_mode_set_or_submode");
|
||||
Object *ob = CTX_data_active_object(C);
|
||||
bGPdata *gpd = CTX_data_gpencil_data(C);
|
||||
eObjectMode mode = RNA_enum_get(op->ptr, "mode");
|
||||
eObjectMode restore_mode = (ob) ? ob->mode : OB_MODE_OBJECT;
|
||||
const bool toggle = RNA_boolean_get(op->ptr, "toggle");
|
||||
|
||||
if (use_submode) {
|
||||
/* Apply arbitrary fallback modes, see: T55162. */
|
||||
if (ob) {
|
||||
if (ob->type == OB_ARMATURE) {
|
||||
if (mode == OB_MODE_TEXTURE_PAINT) {
|
||||
mode = OB_MODE_POSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (toggle == false) {
|
||||
if (mode == restore_mode) {
|
||||
switch (mode) {
|
||||
case OB_MODE_EDIT:
|
||||
WM_menu_name_call(C, "VIEW3D_MT_edit_mesh_select_mode", WM_OP_INVOKE_REGION_WIN);
|
||||
return OPERATOR_INTERFACE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (gpd) {
|
||||
/* GP Mode is not bound to a specific object. Therefore,
|
||||
* we don't want it to be actually saved on any objects,
|
||||
@ -1441,6 +1465,31 @@ void OBJECT_OT_mode_set(wmOperatorType *ot)
|
||||
RNA_def_property_flag(prop, PROP_SKIP_SAVE);
|
||||
}
|
||||
|
||||
void OBJECT_OT_mode_set_or_submode(wmOperatorType *ot)
|
||||
{
|
||||
PropertyRNA *prop;
|
||||
|
||||
/* identifiers */
|
||||
ot->name = "Set Object Mode or Submode";
|
||||
ot->description = "Sets the object interaction mode";
|
||||
ot->idname = "OBJECT_OT_mode_set_or_submode";
|
||||
|
||||
/* api callbacks */
|
||||
ot->exec = object_mode_set_exec;
|
||||
|
||||
ot->poll = object_mode_set_poll; //ED_operator_object_active_editable;
|
||||
|
||||
/* flags */
|
||||
ot->flag = 0; /* no register/undo here, leave it to operators being called */
|
||||
|
||||
ot->prop = RNA_def_enum(ot->srna, "mode", rna_enum_object_mode_items, OB_MODE_OBJECT, "Mode", "");
|
||||
RNA_def_enum_funcs(ot->prop, object_mode_set_itemsf);
|
||||
RNA_def_property_flag(ot->prop, PROP_SKIP_SAVE);
|
||||
|
||||
prop = RNA_def_boolean(ot->srna, "toggle", 0, "Toggle", "");
|
||||
RNA_def_property_flag(prop, PROP_SKIP_SAVE);
|
||||
}
|
||||
|
||||
bool ED_object_editmode_calc_active_center(Object *obedit, const bool select_only, float r_center[3])
|
||||
{
|
||||
switch (obedit->type) {
|
||||
|
@ -77,6 +77,7 @@ void OBJECT_OT_unlink_data(struct wmOperatorType *ot);
|
||||
|
||||
/* object_edit.c */
|
||||
void OBJECT_OT_mode_set(struct wmOperatorType *ot);
|
||||
void OBJECT_OT_mode_set_or_submode(struct wmOperatorType *ot);
|
||||
void OBJECT_OT_editmode_toggle(struct wmOperatorType *ot);
|
||||
void OBJECT_OT_posemode_toggle(struct wmOperatorType *ot);
|
||||
void OBJECT_OT_proxy_make(struct wmOperatorType *ot);
|
||||
|
@ -67,6 +67,7 @@ void ED_operatortypes_object(void)
|
||||
WM_operatortype_append(OBJECT_OT_origin_set);
|
||||
|
||||
WM_operatortype_append(OBJECT_OT_mode_set);
|
||||
WM_operatortype_append(OBJECT_OT_mode_set_or_submode);
|
||||
WM_operatortype_append(OBJECT_OT_editmode_toggle);
|
||||
WM_operatortype_append(OBJECT_OT_posemode_toggle);
|
||||
WM_operatortype_append(OBJECT_OT_proxy_make);
|
||||
@ -283,27 +284,28 @@ void ED_keymap_object(wmKeyConfig *keyconf)
|
||||
{
|
||||
wmKeyMap *keymap;
|
||||
wmKeyMapItem *kmi;
|
||||
int i;
|
||||
|
||||
/* Objects, Regardless of Mode -------------------------------------------------- */
|
||||
keymap = WM_keymap_find(keyconf, "Object Non-modal", 0, 0);
|
||||
|
||||
/* Note: this keymap works disregarding mode */
|
||||
kmi = WM_keymap_add_item(keymap, "OBJECT_OT_mode_set", TABKEY, KM_PRESS, 0, 0);
|
||||
RNA_enum_set(kmi->ptr, "mode", OB_MODE_EDIT);
|
||||
RNA_boolean_set(kmi->ptr, "toggle", true);
|
||||
/* modes */
|
||||
{
|
||||
short key_mode_pair[][2] = {
|
||||
{ACCENTGRAVEKEY, OB_MODE_OBJECT},
|
||||
{ONEKEY, OB_MODE_OBJECT},
|
||||
{TWOKEY, OB_MODE_EDIT},
|
||||
{THREEKEY, OB_MODE_SCULPT},
|
||||
{FOURKEY, OB_MODE_TEXTURE_PAINT}, /* or OB_MODE_POSE */
|
||||
{FIVEKEY, OB_MODE_VERTEX_PAINT},
|
||||
{SIXKEY, OB_MODE_WEIGHT_PAINT},
|
||||
{SEVENKEY, OB_MODE_PARTICLE_EDIT},
|
||||
};
|
||||
|
||||
kmi = WM_keymap_add_item(keymap, "OBJECT_OT_mode_set", TABKEY, KM_PRESS, KM_CTRL, 0);
|
||||
RNA_enum_set(kmi->ptr, "mode", OB_MODE_POSE);
|
||||
RNA_boolean_set(kmi->ptr, "toggle", true);
|
||||
|
||||
kmi = WM_keymap_add_item(keymap, "OBJECT_OT_mode_set", VKEY, KM_PRESS, 0, 0);
|
||||
RNA_enum_set(kmi->ptr, "mode", OB_MODE_VERTEX_PAINT);
|
||||
RNA_boolean_set(kmi->ptr, "toggle", true);
|
||||
|
||||
kmi = WM_keymap_add_item(keymap, "OBJECT_OT_mode_set", TABKEY, KM_PRESS, KM_CTRL, 0);
|
||||
RNA_enum_set(kmi->ptr, "mode", OB_MODE_WEIGHT_PAINT);
|
||||
RNA_boolean_set(kmi->ptr, "toggle", true);
|
||||
for (uint i = 0; i < ARRAY_SIZE(key_mode_pair); i++) {
|
||||
kmi = WM_keymap_add_item(keymap, "OBJECT_OT_mode_set_or_submode", key_mode_pair[i][0], KM_PRESS, 0, 0);
|
||||
RNA_enum_set(kmi->ptr, "mode", key_mode_pair[i][1]);
|
||||
}
|
||||
}
|
||||
|
||||
WM_keymap_add_item(keymap, "OBJECT_OT_origin_set", CKEY, KM_PRESS, KM_ALT | KM_SHIFT | KM_CTRL, 0);
|
||||
|
||||
@ -407,7 +409,7 @@ void ED_keymap_object(wmKeyConfig *keyconf)
|
||||
/* XXX No more available 'T' shortcuts... :/ */
|
||||
/* WM_keymap_verify_item(keymap, "OBJECT_OT_datalayout_transfer", TKEY, KM_PRESS, KM_SHIFT | KM_CTRL, 0); */
|
||||
|
||||
for (i = 0; i <= 5; i++) {
|
||||
for (int i = 0; i <= 5; i++) {
|
||||
kmi = WM_keymap_add_item(keymap, "OBJECT_OT_subdivision_set", ZEROKEY + i, KM_PRESS, KM_CTRL, 0);
|
||||
RNA_int_set(kmi->ptr, "level", i);
|
||||
}
|
||||
|
@ -4534,12 +4534,29 @@ static int space_context_cycle_invoke(bContext *C, wmOperator *op, const wmEvent
|
||||
PropertyRNA *prop;
|
||||
context_cycle_prop_get(CTX_wm_screen(C), CTX_wm_area(C), &ptr, &prop);
|
||||
|
||||
if (prop) {
|
||||
const int old_context = RNA_property_enum_get(&ptr, prop);
|
||||
const int new_context = RNA_property_enum_step(
|
||||
C, &ptr, prop, old_context,
|
||||
direction == SPACE_CONTEXT_CYCLE_PREV ? -1 : 1);
|
||||
RNA_property_enum_set(&ptr, prop, new_context);
|
||||
RNA_property_update(C, &ptr, prop);
|
||||
}
|
||||
else {
|
||||
/* Cycle workspace */
|
||||
Main *bmain = CTX_data_main(C);
|
||||
wmWindow *win = CTX_wm_window(C);
|
||||
if (WM_window_is_temp_screen(win)) {
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
WorkSpace *workspace_src = WM_window_get_active_workspace(win);
|
||||
WorkSpace *workspace_dst = workspace_src->id.next ? workspace_src->id.next : bmain->workspaces.first;
|
||||
if (workspace_src != workspace_dst) {
|
||||
win->workspace_hook->temp_workspace_store = workspace_dst;
|
||||
WM_event_add_notifier(C, NC_SCREEN | ND_WORKSPACE_SET, workspace_dst);
|
||||
win->workspace_hook->temp_workspace_store = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return OPERATOR_FINISHED;
|
||||
}
|
||||
@ -4563,6 +4580,51 @@ static void SCREEN_OT_space_context_cycle(wmOperatorType *ot)
|
||||
|
||||
/** \} */
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/** \name Workspace Cycle Operator
|
||||
* \{ */
|
||||
|
||||
static int space_workspace_cycle_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
|
||||
{
|
||||
wmWindow *win = CTX_wm_window(C);
|
||||
if (WM_window_is_temp_screen(win)) {
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
|
||||
Main *bmain = CTX_data_main(C);
|
||||
const int direction = RNA_enum_get(op->ptr, "direction");
|
||||
WorkSpace *workspace_src = WM_window_get_active_workspace(win);
|
||||
WorkSpace *workspace_dst = (direction == SPACE_CONTEXT_CYCLE_PREV) ? workspace_src->id.prev : workspace_src->id.next;
|
||||
if (workspace_dst == NULL) {
|
||||
workspace_dst = (direction == SPACE_CONTEXT_CYCLE_PREV) ? bmain->workspaces.last : bmain->workspaces.first;
|
||||
}
|
||||
if (workspace_src != workspace_dst) {
|
||||
win->workspace_hook->temp_workspace_store = workspace_dst;
|
||||
WM_event_add_notifier(C, NC_SCREEN | ND_WORKSPACE_SET, workspace_dst);
|
||||
win->workspace_hook->temp_workspace_store = NULL;
|
||||
}
|
||||
return OPERATOR_FINISHED;
|
||||
}
|
||||
|
||||
static void SCREEN_OT_workspace_cycle(wmOperatorType *ot)
|
||||
{
|
||||
/* identifiers */
|
||||
ot->name = "Cycle Workspace";
|
||||
ot->description = "Cycle through workspaces";
|
||||
ot->idname = "SCREEN_OT_workspace_cycle";
|
||||
|
||||
/* api callbacks */
|
||||
ot->invoke = space_workspace_cycle_invoke;
|
||||
ot->poll = ED_operator_screenactive;;
|
||||
|
||||
ot->flag = 0;
|
||||
|
||||
RNA_def_enum(ot->srna, "direction", space_context_cycle_direction, SPACE_CONTEXT_CYCLE_NEXT, "Direction",
|
||||
"Direction to cycle through");
|
||||
}
|
||||
|
||||
/** \} */
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/** \name Assigning Operator Types
|
||||
* \{ */
|
||||
@ -4599,6 +4661,7 @@ void ED_operatortypes_screen(void)
|
||||
WM_operatortype_append(SCREEN_OT_drivers_editor_show);
|
||||
WM_operatortype_append(SCREEN_OT_region_blend);
|
||||
WM_operatortype_append(SCREEN_OT_space_context_cycle);
|
||||
WM_operatortype_append(SCREEN_OT_workspace_cycle);
|
||||
|
||||
/*frame changes*/
|
||||
WM_operatortype_append(SCREEN_OT_frame_offset);
|
||||
@ -4730,6 +4793,11 @@ void ED_keymap_screen(wmKeyConfig *keyconf)
|
||||
kmi = WM_keymap_add_item(keymap, "SCREEN_OT_space_context_cycle", TABKEY, KM_PRESS, KM_CTRL | KM_SHIFT, 0);
|
||||
RNA_enum_set(kmi->ptr, "direction", SPACE_CONTEXT_CYCLE_PREV);
|
||||
|
||||
kmi = WM_keymap_add_item(keymap, "SCREEN_OT_workspace_cycle", TABKEY, KM_PRESS, KM_CTRL, 0);
|
||||
RNA_enum_set(kmi->ptr, "direction", SPACE_CONTEXT_CYCLE_NEXT);
|
||||
kmi = WM_keymap_add_item(keymap, "SCREEN_OT_workspace_cycle", TABKEY, KM_PRESS, KM_CTRL | KM_SHIFT, 0);
|
||||
RNA_enum_set(kmi->ptr, "direction", SPACE_CONTEXT_CYCLE_PREV);
|
||||
|
||||
/* tests */
|
||||
WM_keymap_add_item(keymap, "SCREEN_OT_region_quadview", QKEY, KM_PRESS, KM_CTRL | KM_ALT, 0);
|
||||
WM_keymap_verify_item(keymap, "SCREEN_OT_repeat_history", F3KEY, KM_PRESS, 0, 0);
|
||||
|
@ -493,34 +493,6 @@ static void PAINT_OT_brush_select(wmOperatorType *ot)
|
||||
RNA_def_property_flag(prop, PROP_SKIP_SAVE);
|
||||
}
|
||||
|
||||
static wmKeyMapItem *keymap_brush_select(wmKeyMap *keymap, int paint_mode,
|
||||
int tool, int keymap_type,
|
||||
int keymap_modifier)
|
||||
{
|
||||
wmKeyMapItem *kmi;
|
||||
kmi = WM_keymap_add_item(keymap, "PAINT_OT_brush_select",
|
||||
keymap_type, KM_PRESS, keymap_modifier, 0);
|
||||
|
||||
RNA_enum_set(kmi->ptr, "paint_mode", paint_mode);
|
||||
|
||||
switch (paint_mode) {
|
||||
case OB_MODE_SCULPT:
|
||||
RNA_enum_set(kmi->ptr, "sculpt_tool", tool);
|
||||
break;
|
||||
case OB_MODE_VERTEX_PAINT:
|
||||
RNA_enum_set(kmi->ptr, "vertex_paint_tool", tool);
|
||||
break;
|
||||
case OB_MODE_WEIGHT_PAINT:
|
||||
RNA_enum_set(kmi->ptr, "weight_paint_tool", tool);
|
||||
break;
|
||||
case OB_MODE_TEXTURE_PAINT:
|
||||
RNA_enum_set(kmi->ptr, "texture_paint_tool", tool);
|
||||
break;
|
||||
}
|
||||
|
||||
return kmi;
|
||||
}
|
||||
|
||||
static int brush_uv_sculpt_tool_set_exec(bContext *C, wmOperator *op)
|
||||
{
|
||||
Brush *brush;
|
||||
@ -1080,20 +1052,6 @@ void ED_operatortypes_paint(void)
|
||||
WM_operatortype_append(PAINT_OT_mask_lasso_gesture);
|
||||
}
|
||||
|
||||
|
||||
static void ed_keymap_paint_brush_switch(wmKeyMap *keymap, const char *mode)
|
||||
{
|
||||
wmKeyMapItem *kmi;
|
||||
int i;
|
||||
/* index 0-9 (zero key is tenth), shift key for index 10-19 */
|
||||
for (i = 0; i < 20; i++) {
|
||||
kmi = WM_keymap_add_item(keymap, "BRUSH_OT_active_index_set",
|
||||
ZEROKEY + ((i + 1) % 10), KM_PRESS, i < 10 ? 0 : KM_SHIFT, 0);
|
||||
RNA_string_set(kmi->ptr, "mode", mode);
|
||||
RNA_int_set(kmi->ptr, "index", i);
|
||||
}
|
||||
}
|
||||
|
||||
static void ed_keymap_paint_brush_size(wmKeyMap *keymap, const char *UNUSED(path))
|
||||
{
|
||||
wmKeyMapItem *kmi;
|
||||
@ -1298,26 +1256,11 @@ void ED_keymap_paint(wmKeyConfig *keyconf)
|
||||
RNA_int_set(kmi->ptr, "level", -1);
|
||||
RNA_boolean_set(kmi->ptr, "relative", true);
|
||||
|
||||
ed_keymap_paint_brush_switch(keymap, "sculpt");
|
||||
ed_keymap_paint_brush_size(keymap, "tool_settings.sculpt.brush.size");
|
||||
ed_keymap_paint_brush_radial_control(keymap, "sculpt", RC_ROTATION);
|
||||
|
||||
ed_keymap_stencil(keymap);
|
||||
|
||||
keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_DRAW, XKEY, 0);
|
||||
keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_SMOOTH, SKEY, 0);
|
||||
keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_PINCH, PKEY, 0);
|
||||
keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_INFLATE, IKEY, 0);
|
||||
keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_GRAB, GKEY, 0);
|
||||
keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_LAYER, LKEY, 0);
|
||||
keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_FLATTEN, TKEY, KM_SHIFT);
|
||||
keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_CLAY, CKEY, 0);
|
||||
keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_CREASE, CKEY, KM_SHIFT);
|
||||
keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_SNAKE_HOOK, KKEY, 0);
|
||||
kmi = keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_MASK, MKEY, 0);
|
||||
RNA_boolean_set(kmi->ptr, "toggle", 1);
|
||||
RNA_boolean_set(kmi->ptr, "create_missing", 1);
|
||||
|
||||
/* */
|
||||
kmi = WM_keymap_add_item(keymap, "WM_OT_context_menu_enum", EKEY, KM_PRESS, 0, 0);
|
||||
RNA_string_set(kmi->ptr, "data_path", "tool_settings.sculpt.brush.stroke_method");
|
||||
@ -1338,7 +1281,6 @@ void ED_keymap_paint(wmKeyConfig *keyconf)
|
||||
WM_keymap_add_item(keymap,
|
||||
"PAINT_OT_vertex_color_set", KKEY, KM_PRESS, KM_SHIFT, 0);
|
||||
|
||||
ed_keymap_paint_brush_switch(keymap, "vertex_paint");
|
||||
ed_keymap_paint_brush_size(keymap, "tool_settings.vertex_paint.brush.size");
|
||||
ed_keymap_paint_brush_radial_control(keymap, "vertex_paint", RC_COLOR | RC_COLOR_OVERRIDE | RC_ROTATION);
|
||||
|
||||
@ -1371,7 +1313,6 @@ void ED_keymap_paint(wmKeyConfig *keyconf)
|
||||
WM_keymap_add_item(keymap,
|
||||
"PAINT_OT_weight_set", KKEY, KM_PRESS, KM_SHIFT, 0);
|
||||
|
||||
ed_keymap_paint_brush_switch(keymap, "weight_paint");
|
||||
ed_keymap_paint_brush_size(keymap, "tool_settings.weight_paint.brush.size");
|
||||
ed_keymap_paint_brush_radial_control(keymap, "weight_paint", RC_WEIGHT);
|
||||
|
||||
@ -1412,7 +1353,6 @@ void ED_keymap_paint(wmKeyConfig *keyconf)
|
||||
WM_keymap_add_item(keymap, "PAINT_OT_grab_clone", RIGHTMOUSE, KM_PRESS, 0, 0);
|
||||
WM_keymap_add_item(keymap, "PAINT_OT_sample_color", SKEY, KM_PRESS, 0, 0);
|
||||
|
||||
ed_keymap_paint_brush_switch(keymap, "image_paint");
|
||||
ed_keymap_paint_brush_size(keymap, "tool_settings.image_paint.brush.size");
|
||||
ed_keymap_paint_brush_radial_control(
|
||||
keymap, "image_paint",
|
||||
|
@ -389,19 +389,6 @@ void view3d_keymap(wmKeyConfig *keyconf)
|
||||
RNA_boolean_set(kmi->ptr, "align_active", true);
|
||||
#endif /* WITH_INPUT_NDOF */
|
||||
|
||||
/* layers, shift + alt are properties set in invoke() */
|
||||
RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", ACCENTGRAVEKEY, KM_PRESS, 0, 0)->ptr, "nr", 0);
|
||||
RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", ONEKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 1);
|
||||
RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", TWOKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 2);
|
||||
RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", THREEKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 3);
|
||||
RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", FOURKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 4);
|
||||
RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", FIVEKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 5);
|
||||
RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", SIXKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 6);
|
||||
RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", SEVENKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 7);
|
||||
RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", EIGHTKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 8);
|
||||
RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", NINEKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 9);
|
||||
RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", ZEROKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 10);
|
||||
|
||||
/* drawtype */
|
||||
kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", ZKEY, KM_PRESS, KM_ALT, 0);
|
||||
RNA_string_set(kmi->ptr, "data_path", "space_data.shading.type");
|
||||
|
@ -1114,9 +1114,6 @@ void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spac
|
||||
kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", TABKEY, KM_PRESS, KM_SHIFT, 0);
|
||||
RNA_string_set(kmi->ptr, "data_path", "tool_settings.use_snap");
|
||||
|
||||
kmi = WM_keymap_add_item(keymap, "WM_OT_context_menu_enum", TABKEY, KM_PRESS, KM_SHIFT | KM_CTRL, 0);
|
||||
RNA_string_set(kmi->ptr, "data_path", "tool_settings.snap_element");
|
||||
|
||||
/* Will fall-through to texture-space transform. */
|
||||
kmi = WM_keymap_add_item(keymap, "OBJECT_OT_transform_axis_target", TKEY, KM_PRESS, KM_SHIFT, 0);
|
||||
|
||||
|
@ -3982,9 +3982,7 @@ void wm_window_keymap(wmKeyConfig *keyconf)
|
||||
|
||||
/* menus that can be accessed anywhere in blender */
|
||||
|
||||
#if 0 /* Now double-tap via toolbar. */
|
||||
WM_keymap_verify_item(keymap, "WM_OT_search_menu", SPACEKEY, KM_PRESS, 0, 0);
|
||||
#endif
|
||||
WM_keymap_verify_item(keymap, "WM_OT_search_menu", TABKEY, KM_PRESS, 0, 0);
|
||||
|
||||
#ifdef WITH_INPUT_NDOF
|
||||
WM_keymap_add_menu(keymap, "USERPREF_MT_ndof_settings", NDOF_BUTTON_MENU, KM_PRESS, 0, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user