Frieda & others on Macs:

Here is some source code and object code to test mouse events.

Runs on any system with java 1.4 or greater

You can run it by saying.

Download it to some directory
bring up a terminal
go to that directory and type the command:
 java ShiftButtonBug


Source code is provided in case you are interested.

I cannot file the bug unless/until someone tells me which sequence of
events is not being properly reported.


Miguel
import java.awt.*;
import java.awt.event.*;

class ShiftButtonBug extends MouseAdapter {
  public static void main(String[] argv) {
    System.out.println("Demonstrates mouse event state...\n" +
                       "Contact: [EMAIL PROTECTED]" +
                       "\n" +
                       "Shift + Button2/Button3 behavior is wacky on Mac OS X\n" +
                       "\n" +
                       "Plug in a 3 button mouse, then do a Shift Right-click\n" +
                       "and see that Button1 is also being returned.\n" +
                       "And when you release the mouse state says that Button1\n" +
                       "is still pressed\n" +
                       "This breaks applications which run fine on other\n" +
                       "platforms.\n" +
                       "\n" +
                       "To exit give the focus to your terminal window and press ^C\n");

    Frame frame = new Frame("Apple SHIFT-BUTTON2/3 bug");
    frame.setSize(200,200);
    frame.addMouseListener(new ShiftButtonBug());
    frame.show();
  }

  public void mousePressed(MouseEvent e) {
    dumpEvent(e);
  }
  
  public void mouseReleased(MouseEvent e) {
    dumpEvent(e);
  }
  
  void dumpEvent(MouseEvent e) {
    int modifiers = e.getModifiersEx();
    System.out.println("\n" +
                       "e.getButton() says button " + e.getButton() + "\n" +
                       modifiers + " -> " + e.getModifiersExText(modifiers));
  }
  
}

Attachment: ShiftButtonBug.class
Description: Binary data

Reply via email to