<div dir="auto">Hello, here are my 2 cents:<div dir="auto"><br></div><div dir="auto">I do agree that having context sensitive shortcuts is a reasonable improvement and idea. (Doing Ctrl+C doesn't really make a whole lot of sense when selecting a class, doesn't it?) but aditionally also keeping global shortcuts as a possibility should also be important, like how Alt+F4 universally exits applications.</div><div dir="auto"><br></div><div dir="auto">I also think it shouldn't be too difficult to implement but I worry more about the amount of existing code that would need to be refactored to take advantage of this new system, maybe it isn't much but from what I could see most shortcuts seem to be handled in different ways (compare the KeyboardEvent I modified with focusKeyboarsFor:) maybe globally overriding all keypresses if a class demands it will break something nobody expects.</div><div dir="auto"><br></div><div dir="auto">Still, this seems like an interesting idea.</div><div dir="auto"><br></div><div dir="auto">Greetings,</div><div dir="auto">-Franco</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Dec 19, 2020, 12:36  <<a href="mailto:ken.dickey@whidbey.com">ken.dickey@whidbey.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 2020-12-19 05:48, Mauro Rizzi via Cuis-dev wrote:<br>
<br>
> Maybe we could have an object somewhere that contains a collection of <br>
> possible keyboard event triggers and the action they should perform?<br>
<br>
What happens now is that one uses mouseEnter and so forth with the hand <br>
position to determine keyboard focus.<br>
<br>
I want context sensitive keys.  E.g. Smalltalk edit bindings vs <br>
game-move bindings depending on what object has the keyboard focus.  I <br>
think of this as typical and expected.  Control is distributed. Objects <br>
decide.<br>
<br>
To "steal" keys from the current keyboard focus object for overriding <br>
keybindings would seem to require [1] a filter in the KeyboardEvent <br>
class and [2] a protocol which can be overridden (like <br>
#allowsKeyboardOverrides) so that an object which really wants keys <br>
(think gaming) can get all of them and then if it does not want one <br>
re-delegates it back to the "global" bindings.<br>
<br>
Is the above better than what exists now?  Does it carry its own weight? <br>
  [This is easy to implement, but adds code and is more complex, and adds <br>
a new protocol which everyone needs to be aware of.  There needs to be a <br>
strong motivator for change.]<br>
<br>
Other options?<br>
<br>
$0.02<br>
-KenD<br>
<br>
</blockquote></div>