By default the newer VMs implement the "traditional" Unix VM behaviour: Squeak X11 ------ --- shift Shift ^ Lock ctrl Control command Mod1 option Mod1 & Control For keyboards that have more than one modifier key (Apple, Sun, etc.) a more Macintosh Squeak-like behaviour is possible by specifying which modifier keys should map to Option and Command, either on the command line or by setting the corresponding environment variables: Key X11 modifier VM option Environment --- ----------- --------- ----------- Option mod<n> -optmod n export SQUEAK_OPTMOD=n Command mod<n> -cmdmod n export SQUEAK_CMDMOD=n Examples: Apple keyboard, GNU/Linux, XFree86 4.0: -cmdmod 1 -optmod 2 Apple keyboard, NetBSD, XFree86 4.2: -cmdmod 2 -optmod 1 (these map "Option" to Option [duh] and "Apple" to Command) Sun keyboard, Solaris: -cmdmod 4 -optmod 1 (this maps "Alt" to Option and "<>" [Meta] to Command) If you don't know which modifiers are bound to which keys, then: executing `xmodmap -pm' will print the keycodes and keysyms associated with each modifier; running`xev' and hitting modifier keys will generate KeyRelease events in which the "state" field has bit N+2 set to 1 for mod<N> (bit 0 is the least significant); i.e: state=0x8 corresponds to mod1 (N = 1, N+2 = 3, 1<<3 = 8), state=0x40 is mod4, and state=0x48 means both mod1 and mod4 are active simultaneously. With a properly mapped Command key the pointer buttons and keyboard shortcuts should work as follows (Option is generally ignored by the image and is not considered below): Pointer mappings: Button1 (red) -> select (world menu on background) Button2 (yellow) -> window menu (personal menu on background) Button3 (blue) -> morph halos Button1 + Shift -> extend selection (find window menu on background) Button2 + Shift -> window "more" menu (find window on background) Button3 + Shift -> morph halos Button1 + Ctrl -> window menu (personal menu on b/g) = acts like Button2 Button2 + Ctrl -> morph menu Button3 + Ctrl -> morph menu Button1 + Command -> morph halos = acts like Button3 Button2 + Command -> window menu (personal menu on b/g) Button3 + Command -> morph halos Button1 + Shift + Ctrl -> (topmost) morph menu Button2 + Shift + Ctrl -> (topmost) morph menu Button3 + Shift + Ctrl -> (bottommost) morph menu Button1 + Shift + Command -> extend selection (find window on b/g) Button2 + Shift + Command -> window "more" menu (find window on b/g) Button3 + Shift + Command -> morph halos Button1 + Ctrl + Command -> morph menu Button2 + Ctrl + Command -> morph menu Button3 + Ctrl + Command -> morph menu Button1 + Shift + Ctrl + Command -> (topmost) morph menu Button2 + Shift + Ctrl + Command -> (topmost) morph menu Button3 + Shift + Ctrl + Command -> (topmost) morph menu Keyboard mappings (with reference to "World Menu -> help... -> command-key help"): key -> lowercase key key + Shift -> uppercase key key + Ctrl -> uppercase command key key + Command -> lowercase command key key + Shift + Ctrl -> uppercase command key key + Shift + Command -> uppercase command key key + Ctrl + Command -> uppercase command key key + Shift + Ctrl + Command -> uppercase command key (kilometrage with the others [delimiters, styles, kerning, etc.] will vary according to whether particular symbols are shifted or unshifted on a given keyboard.)