Start with a short user story. ( e.g. kbd focus) (from refactoring morphic thread)

Bill Schwab BSchwab at anest.ufl.edu
Thu Dec 14 22:44:02 UTC 2006


Lukas,

Well said.  Another common shortcut is control-enter for multi-line
text fields.  I agree that the exact key sequences should be
configurable; the goal is to match the expectations of the user, which
will vary with OS and time, if not other factors.

Squeak's lists are far too eager to grab keyboard focus.  I am
(slowly!!) working on a fix (see MouseOverMadness.cs on Mantis), and
Doug Way (IIRC) provided some very useful constructive criticism of the
first draft.  Feel free to beat me to it, or to organize a larger effort
to get this right.

One thing that MS does that I actually think is smart is to direct
mouse wheel messages to the top view at the cursor location, regardless
of focus.  A user turning a wheel is probably doing it deliberately and
expecting the effect to apply at the cursor location, but a user typing
is not necessarily expecting the keyboard focus to follow a mouse cursor
that has been "moved out of the way".

Bill


Lukas Renggli wrote:

> How does the user indicate he wants the keyboard focus
> to attend to a particular place?
> What moves it?
> What would not be allowed to move it?

I would stick with existing practices of common operating systems,
such as Mac OS X [1] or Aero [2]:

- there is at most one focused element at a time.

- tab: moves the focus to the next item in a sequence (except for
text-oriented controls that want tab characters, where alt-tab should
be used to move to the next one).

- shift-tab: moves the focus in reverse direction (except for
text-oriented controls, where alt-shift-tab should be used to move to
the previous one).

- ctrl-tab: moves to the next window.

- shift-ctrl-tab: moves to the previous window.

- enter: presses the default button (e.g. accept a method).

- esc: presses the cancel button (e.g. cancel a method).

Of course the exact keys to be pressed should be discussed (maybe
freely configurable), this is just an example. These stories
(features) would already increase my productivity in Squeak heavily.

Lukas




Wilhelm K. Schwab, Ph.D.
University of Florida
Department of Anesthesiology
PO Box 100254
Gainesville, FL 32610-0254

Email: bills at anest4.anest.ufl.edu
Tel: (352) 846-1285
FAX: (352) 392-7029




More information about the Squeak-dev mailing list