[Bf-committers] Developer support for new keymap

Nathan Vegdahl cessen at cessen.com
Sat May 12 02:36:38 CEST 2012


> you can resolve this totally by select gestures:

I already have replace/extend/deselect working for border select via a
similar abuse.  But this doesn't help for standard click-select
(a.k.a. view3d.select()), because border select selects everything
within the bounds, which is not the same behavior as click-select
which only selects one of the items under the cursor.

Besides which, we'll eventually I'll want to move away from weird
hacks and workarounds like that anyway.  So I'd rather take care of it
properly if I can.

--Nathan


On Fri, May 11, 2012 at 5:00 PM, Yousef Hurfoush <bat3a at msn.com> wrote:
>
> you can resolve this totally by select gestures:
>
> here is a shot from my key map:
> http://www.pasteall.org/pic/show.php?id=31658
>
> simply add another select border with shit and extend, and change them to tweak left.
> then modify the gestures as seen in the shot
>
> hope this helps :)
>
>
>
> Regards
> Yousef Harfoush
> bat3a at msn.com
>
>
>
>> Date: Fri, 11 May 2012 13:46:41 -0700
>> From: cessen at cessen.com
>> To: bf-committers at blender.org
>> Subject: Re: [Bf-committers] Developer support for new keymap
>>
>> > "add_to_selection" is usually called "extend"
>>
>> The problem is that in many cases (such as view3d.select()) "extend"
>> actually acts as a sort of toggle, rather than as a pure extend (e.g.
>> clicking on an already active object will unselect the object).
>>
>> But I do prefer that naming convention.  Extend and Unselect make a
>> lot of sense.  Perhaps in operators where the "extend" option
>> currently makes them behave as a toggle, we can shift that behavior to
>> be triggered by a "toggle" option instead, and then reserve "extend"
>> for pure extending of selections?
>>
>> > I'm not volunteering to implement these but
>> > don't mind reviewing patches.
>>
>> Awesome.  If no one else volunteers, I'll start hacking away then.  Thanks!
>>
>> --Nathan
>>
>>
>> On Fri, May 11, 2012 at 1:19 PM, Brecht Van Lommel
>> <brechtvanlommel at pandora.be> wrote:
>> > Hi,
>> >
>> > "add_to_selection" is usually called "extend", and
>> > "remove_from_selection" "deselect". In the interest of preserving
>> > compatibility with existing keymaps it might be good to stick with
>> > those property names? I'm not volunteering to implement these but
>> > don't mind reviewing patches.
>> >
>> > Brecht.
>> >
>> > On Fri, May 11, 2012 at 10:07 PM, Nathan Vegdahl <cessen at cessen.com> wrote:
>> >> Hi everyone,
>> >> As I'm working on the new keymap, I'm running into cases where I need
>> >> certain operators to be extended or added.  In most cases I am able to
>> >> do this via writing my own operators in Python, but there are a few
>> >> cases where this is not the case.
>> >>
>> >> The main ones right now relate to selection.  My intent is to make it
>> >> so that all selection tools Replace Selection by default, but can also
>> >> Add To Selection and Remove From Selection via the shift and ctrl
>> >> modifier keys respectively.  I am at a loss in many cases for how I
>> >> would accomplish this via pure python.
>> >>
>> >> For example, the view3d.select() operator has the following options:
>> >> - extend
>> >> - center
>> >> - enumerate
>> >> - object
>> >>
>> >> I propose that we add two more options:
>> >> - add_to_selection
>> >> - remove_from_selection
>> >> (The names aren't important to me--these may be too verbose.  Or we
>> >> could instead, perhaps, add a "selection_model" enum that would
>> >> replace "extend" and have three possible values.  Or whatever.  The
>> >> specific mechanism is not important.)
>> >>
>> >> add_to_selection would make the operator add whatever is clicked upon
>> >> to the selection if it is not already selected, making it active as
>> >> well.  But unlike extend, it will _not_ unselect an item if it is
>> >> already selected/active (acting as a sort of toggle), it will instead
>> >> at most make the item active if it is not already.
>> >>
>> >> Complementary to that, remove_from_selection will unselect the clicked
>> >> upon item, and will do nothing if the item is already unselected.
>> >>
>> >> That is just one example, but other changes I need are similar sorts
>> >> of things.  The intent is to keep the operators fully compatible with
>> >> the current keymap, whilst also adding support for the needs of the
>> >> new keymap.  The intent is also to only add/modify C operators in
>> >> cases where accomplishing the goal via python is not reasonable.
>> >>
>> >> I am happy to either attempt to make these changes myself in Blender's
>> >> C code (I will submit patches since I am not familiar enough with
>> >> those areas of the code to be confident yet), or if these sorts of
>> >> things are fairly quick changes then I would be very appreciative if
>> >> someone familiar with the code would be willing to work with me.
>> >>
>> >> Any volunteers?
>> >>
>> >> Thanks!
>> >>
>> >> --Nathan
>> >> _______________________________________________
>> >> Bf-committers mailing list
>> >> Bf-committers at blender.org
>> >> http://lists.blender.org/mailman/listinfo/bf-committers
>> > _______________________________________________
>> > Bf-committers mailing list
>> > Bf-committers at blender.org
>> > http://lists.blender.org/mailman/listinfo/bf-committers
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers


More information about the Bf-committers mailing list