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