[ANN] New keymapping on SqueakMap

David Shaffer cdshaffer at acm.org
Sun Dec 19 18:29:15 UTC 2004


It's sweeter than cake.  It's shinier than nail polish.  It's better 
than the crappy old version I posted a while back...my most recent 
development version of Keymapping is now on SqueakMap.  Load it, place 
your mouse over a morph, like the class name pane in a browser, press 
control-k and be amazed.  Be warned:

    - requires Monticello (not just MczInstaller)
    - not compatible with Services framework
    - not compatible with older versions of Keymapping (don't load into 
same image)

This is a substantial improvement over the existing Keymapping 
framework.  It allows keymaps for any morph.  It supports "keymap 
categories" so that apps can share keymaps.  It support per-morph 
keymaps (although there is still an issue with the lifetime of those 
keymaps).  It support a hackish display of keyboard shortcuts for menu 
items.

I am at a crossroads with this work.  In order to make this more than 
just a proof-of-concept I modified all of the tools in my image (Full + 
some stuff) so that they can have editable keymaps.  Maintaining these 
tools alone isn't prohibitive but trying to adapt more tools to use KM 
is probably unrealistic unless one of two things happens:

    1) we agree on an "action framework" for buttons, menu items etc, or,
    2) we adopt Keymapping into the base

I don't think 2 is very realistic at the moment so I'd like to work on 
1.  Can people developing tools please look at my UI classes (those in 
Keymapping-UI) and the way in which the employ actions so we can start a 
dialog about this?  I think the Services framework is a necessary part 
of that dialog.  Basically they way I see it is that a tool provides 
(through a registration mechanism) two things:

    - a list of context specific actions which can have keyboard shortcuts
    - a list of global services the application can provide

What I'm proposing is that I make another pass through Keymapping to 
factor out the "actions" so that applications/morphs can register 
actions which can then be assigned to buttons, menu items and keyboard 
shortcuts.  This would give the user the ability to customize at least 
the shortcuts and potentially the menus and buttons as well (like for a 
toolbar).

David



More information about the Squeak-dev mailing list