[squeak-dev] Re: Note: Squeak 4.1 Unix - preset preferences for right mouse button

Bernhard Pieber bernhard at pieber.com
Sat Apr 17 14:11:02 UTC 2010

Am 17.04.2010 um 11:05 schrieb Bert Freudenberg:
> That said, IMHO it's time to fix it. Squeak should by default use the platform conventions. That is, use ctrl-c for copy on windows and unix, and cmd-c on Mac. And the right mouse button should bring up the context menu by default on all platforms.

Like all of you I also strongly agree with this. On the out-of-the-box VMs the right mouse buttons should bring up the context menu. It should not be necessary to change any preferences when moving an image between Windows and Mac. (Using platform-specific preferences for that, like Pharo does IIRC, is is not the right solution IMO.)

Changing the behavior of the Mac VM should be easy, because the mouse button mappings are in the Info.plist config file:

SqueakMouseCmdButton1, OptionButton1, ControlButton1, NoneButton1
This logic maps the buttons pressed with modifier keys to the buttons given to the VM. Normally a three button mouse would read buttons 1,2,3. However confused wi ndows programers when they designed the common scroll button mouse think the buttons read 1,3,2 .Thus SqueakMouseNoneButton1 maps to 1, NoneButton2 to 3, and NoneButton3 to 2 inorder to get the correct historical Smalltalk feel. Now when you use the apple-cmd key buttons 1,2,3 map to 3, 3, 2. And when you use the Control-key buttons 1,2,3 map to 1,3,2 and finally the option key maps to 2,3,2. So this *should* give the same button behavior as historical macintosh carbon squeak VMs when you have a one button mouse and use the modifier keys to signal different button colors, and then also give the correct behavior when you have a three button scroll mouse. Lastly before anyone asks, the Squeak VM logic only understands 3 buttons, and the logic as supplied could be wrong, if so let me know, and of course now you have full control to map buttons anyway you want.

SqueakBrowserMouseCmdButton1, OptionButton1, ControlButton1, NoneButton1

This logic maps buttons coming from the brower when squeak is running as a result of the browser plugin. They shouldn't require changing, but if button mapping in the browser is giving you a problem, then look at these parms to address the issue.

I hope John agrees to changing it.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20100417/4243ebbd/attachment.htm

More information about the Squeak-dev mailing list