What we need us an easy way to configure key bindings. The &quot;duplicate&quot; option makes control and alt mean the same thing, and reduces the total number of keyboard shortcuts available (Chris, this is more or less your point right?)<div>
<br></div><div>The problem of which keys to use as command/alt and control is I think orthogonal. There&#39;s a pref for swapping them, so it&#39;s not hard to get the main cut copy paste stuff right for your platform.</div>
<div><br><div class="gmail_quote">On Mon, Apr 5, 2010 at 1:45 PM, Nicolas Cellier <span dir="ltr">&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
2010/4/5 Chris Muller &lt;<a href="mailto:asqueaker@gmail.com">asqueaker@gmail.com</a>&gt;:<br>
<div class="im">&gt;&gt; The intention was Ctrl+0, but we decided to add it to 7-8-9 too, because<br>
&gt;&gt; some keyboard layouts don&#39;t have 0 without other modifiers.<br>
&gt;<br>
&gt; We cannot be wasting so many keys.  Other applications want to be<br>
&gt; written in Squeak that make use of hot-keys, and so we don&#39;t want 7,<br>
&gt; 8, 9, and 0 to be all used up by one function.<br>
&gt;<br>
&gt; Under the &quot;keyboard&quot; category of Preferences, there are various<br>
&gt; settings; duplicateAllControlAndAltKeys, etc.  These ideas do not make<br>
&gt; the situation any easier to understand, and ended up consuming tons of<br>
&gt; extra keys just because there was this idea years ago that we need to<br>
&gt; cater to newbies demanding to use Control key for cut and paste.   So<br>
&gt; now we have to support this shit, &quot;dup all Alt and Control keys&quot; and,<br>
&gt; unfortuntaely, Squeak is still does not look-and-feel enough like<br>
&gt; MS-Excel for the newbies to be happy...<br>
&gt;<br>
&gt; Sorry, I was off on rant there..<br>
&gt;<br>
<br>
</div>Hi Chris,<br>
You certainly are on a Mac, so you like your cmd+c because it&#39;s<br>
uniform thru all apps.<br>
It simply respects platforms feels.<br>
Switching between ctrl+c and alt+c on other platforms is a pain, not<br>
only for newbies.<br>
I would say this is a REALLY usefull feature.<br>
Of course it&#39;s not enough...<br>
<div><div></div><div class="h5"><br>
&gt;&gt; Ctrl+9 was unused, Ctrl+( (which is Ctrl+Shift+9) is used for surrounding<br>
&gt;&gt; with ().<br>
&gt;<br>
&gt; That wasn&#39;t working, and it is *very* important to me.  I use it many<br>
&gt; times per day.  Also, Control+9 is consistent with the other &quot;shifted&quot;<br>
&gt; enclosers, which do not require a Shift+Control modifier..<br>
&gt;<br>
&gt;&gt; There&#39;s no guarantee that the Search Bar will be always the 7th item in the<br>
&gt;&gt; docking bar,<br>
&gt;<br>
&gt; Sure there is.  Have a look at TheWorldMainDockingBar&gt;&gt;#menusOn:.<br>
&gt; Each of the menus is hard-coded, along with the search-bar.  There is<br>
&gt; no variance, therefore, currently, the search bar will always be the<br>
&gt; 7th item.<br>
&gt;<br>
&gt; You might be saying, &quot;There&#39;s no guarantee *in the future*, that the<br>
&gt; Search Bar will be always the 7th item in the docking bar...&quot; and, if<br>
&gt; so, I argue that there is no guarantee that &quot;Projects&quot; menu will<br>
&gt; always be Control+2, or that &quot;Tools&quot; will be Control+3.  I doubt we<br>
&gt; will be adding many more menus in the future, but we have to accept,<br>
&gt; when using these numerical / positional hot-keys that they *might*<br>
&gt; change in the future.<br>
&gt;<br>
&gt;&gt;  therefore 0 is a better choice IMHO, since 0 is usuall on the<br>
&gt;&gt; right side of the keyboard, just like the Search Bar is on the right side of<br>
&gt;&gt; the screen (if the docking bar is up or down).<br>
&gt;<br>
&gt; What about left or right?  :)<br>
&gt;<br>
&gt; To me, positional consistency valuable, but less important than the<br>
&gt; parenthetical enclosing.  If you can find a way to have it be<br>
&gt; Control+0 without breaking Control+9 for parenthetical enclosure, I<br>
&gt; would support that (but I still think Control+7 is more consistent).<br>
&gt;<br>
&gt;  - Chris<br>
&gt;<br>
&gt;<br>
&gt;&gt;&gt; =============== Diff against Morphic-ar.408 ===============<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Item was changed:<br>
&gt;&gt;&gt;  ----- Method: DockingBarMorph&gt;&gt;handleListenEvent: (in category<br>
&gt;&gt;&gt; &#39;events-processing&#39;) -----<br>
&gt;&gt;&gt;  handleListenEvent: anEvent<br>
&gt;&gt;&gt;        &quot; I am registered as a keyboardListener of the ActiveHand,<br>
&gt;&gt;&gt;        watching for ctrl-&lt;n&gt; keystrokes, and upon them if I have<br>
&gt;&gt;&gt;        an nth menu item, I&#39;ll activate myself and select it. &quot;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;        (anEvent controlKeyPressed and: [<br>
&gt;&gt;&gt;                anEvent keyValue<br>
&gt;&gt;&gt;                        between: 48 &quot; $0 asciiValue &quot;<br>
&gt;&gt;&gt; +                       and: 55 &quot; $7 asciiValue &quot; ]) ifTrue: [<br>
&gt;&gt;&gt; -                       and: 57 &quot; $9 asciiValue &quot; ]) ifTrue: [<br>
&gt;&gt;&gt;                | index itemToSelect |<br>
&gt;&gt;&gt;                index := anEvent keyValue - 48.<br>
&gt;&gt;&gt;                itemToSelect := (submorphs select: [ :each |<br>
&gt;&gt;&gt;                        each isKindOf: DockingBarItemMorph ])<br>
&gt;&gt;&gt;                                at: index<br>
&gt;&gt;&gt;                                ifAbsent: [<br>
&gt;&gt;&gt;                                        ^self searchBarMorph ifNotNil: [<br>
&gt;&gt;&gt; :searchBar |<br>
&gt;&gt;&gt;                                                searchBar activate: anEvent<br>
&gt;&gt;&gt; ] ].<br>
&gt;&gt;&gt;                self activate: anEvent.<br>
&gt;&gt;&gt;                self<br>
&gt;&gt;&gt;                        selectItem: itemToSelect<br>
&gt;&gt;&gt;                        event: anEvent ]!<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div>