[plt-scheme] 350.4
MzScheme and MrEd are now version 350.3 in the SVN repository trunk.
The changes are related to keyboard handling and menu shortcuts:
At Mon, 19 Jun 2006 10:00:26 +0200, Erich Rast wrote:
> Now there's only two features left that I'm still desparately missing,
> both in MrEd:
>
> - Full support for multiple modifier key menu shortcuts (please... give
> me at least the shift key!)
>
> [...]
The menu-item% and checkable-menu-item% classes now accept a
`shortcut-prefix' initialization argument. The default, which is
returned by `get-default-shortcut-prefix', is '(ctl) under Windows,
'(cmd) under Mac OS X, and '(ctl) under X. For example, add 'shift to
the default to get a shift-modified shortcut: '(shift ctl) for Windows
and X, or '(shift cmd) for Mac OS X.
In addition, key-code symbols are allowed as menu shortcuts. For
example, you can map a menu item to 'f1 with a prefix of '().
Note: '() as a prefix works only for function keys, unless you
override the default `on-menu-key' method. See the `on-menu-key' docs
for more information.
Finally, shortcut matching is more liberal for combinations that do not
include ASCII letters and digits. For example, Cmd-+ and Cmd-= match
the same thing on a U.S. keyboard, whether or not the Shift key is
pressed. If both Shift-Cmd-+ and Cmd-+ are mapped, then the former
takes precedence when the Shift key is actually pressed. If both Cmd-=
and Cmd-+ are mapped, the result depends on the platform.
More:
* Added `get-other-shift-key-code' to key-event%, which (sometimes)
returns a character or key code that would have been produced if the
Shift key were treated opposite from the treatment for
`get-key-code'.
See the documentation for details. This functionality is needed to
make Shift-prefixed menu shortcuts work sensibly, and it helps when
mapping keys to characters like "+" and "=".
A related change is that, under Mac OS X, Command cancels Option
when translating a key event to a key code. That way, Option
combinations work sensibly for menu shortcuts.
* Added a "?:" modifier to keymap state strings, which lets the key
combination match the result of `get-other-shift-key-code' as well
as `get-key-code'.
* Removed `get-x-shortcut-prefix' and `set-x-shortcut-prefix' from
selectable-menu-item<%>.
* Changed internal handling of keyboard events. Under X, the changes
should allow DrScheme to receive characters that it used to ignore,
such as Greek and Cyrillic characters. Under Windows, Control-key
combinations should be much more consistent across keyboard layouts.
Matthew