[squeak-dev] Re: How/when should tools grab the keyboard?
marcel.taeumel
Marcel.Taeumel at hpi.de
Sat Jun 4 13:35:23 UTC 2016
Chris Muller-3 wrote
> Hi Marcel, I like this idea about a application-driven keyboard focus,
> and it would be great to add some hot-key to cycle the keyboard focus
> around the widgets, as Windows and other OS's do. Hmm, there's
> somewhat of a semantic tangle -- because mouseOverForKeyboardFocus
> means the focus is always under the mouse pointer... I know for
> pop-up dialogs, it works by opening it directly under where the mouse
> pointer is. I suppose the ListChooser could do the same, but what
> about other windows? I mean, isn't the reason one spawns an Inspector
> or Browser window usually to interact with it? It would seem so!
>
> So, what widget? I think top-left is a good default.
>
> But if there is no ability to switch focus with the keyboard, then it
> may not be worth it at all because one would have to use the mouse to
> set the focus 90% of the time..
>
> But which keys? Tab and back-Tab are obvious candidates except, we
> need Tab in code editors and back-Tab doesn't work in Linux.....
>
> On Thu, Jun 2, 2016 at 8:55 AM, marcel.taeumel <
> Marcel.Taeumel@
> > wrote:
>> Hi, there.
>>
>> If you enable the following preferences.
>>
>> [x] mouseOverForKeyboardFocus
>> [x] Windows' Contents Are Always Active
>>
>> You might be suprised that, for example, CMD+I opens an inspector but the
>> keyboard focus is still in the current tool, maybe a workspace. Even if
>> you
>> disable "mouseOverForKeyboardFocus", the workspace will keep its keyboard
>> focus. If you also disable "Window's Contents Are Always Active", at
>> least
>> the new window looks focused, although no widget insided grabbed the
>> focus.
>> Actually, no widget will have the keyboard focus then.
>>
>> So, I added focus grabbing for lists and text morphs. I used it for our
>> list
>> chooser:
>> http://forum.world.st/The-Trunk-Morphic-mt-1157-mcz-tp4898664.html
>> http://forum.world.st/The-Trunk-ToolBuilder-Morphic-mt-165-mcz-tp4898662.html
>>
>> It is quite simple. Models can say "self changed: #inputRequested with:
>> #someSelector" and the correct widget will grab the keyboard. Easy for
>> the
>> list chooser because you want to type in a filter and hit return to
>> choose.
>> (Try it out in the code browser category list via CMD+F to find a class.)
>>
>> But what about other tools?
>>
>> System Browser
>> Inspector
>> Object Explorer
>> ...
>>
>> Any idea which widgets should grab the keyboard focus if opened? The
>> first
>> list? The code widget? We can make different choices for each tool.
>>
>> Suggestions are welcome. This discussion affects general keyboard
>> interaction in Squeak.
>>
>> Passionate mouse users will not notice any problem, though. ;o)
>>
>> Best,
>> Marcel
>>
>>
>>
>> --
>> View this message in context:
>> http://forum.world.st/How-when-should-tools-grab-the-keyboard-tp4898814.html
>> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>>
Yeah, #mouseOverForKeyboardFocus is tricky since we cannot control the mouse
coordinates programmatically. For keyboard-driven navigation, such a
preference might not be well suited.
Best,
Marcel
--
View this message in context: http://forum.world.st/How-when-should-tools-grab-the-keyboard-tp4898814p4899143.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.
More information about the Squeak-dev
mailing list
|