Index: trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/MouseButtonDown.java
===================================================================
--- trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/MouseButtonDown.java	(revision 944)
+++ trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/MouseButtonDown.java	(revision 945)
@@ -37,8 +37,8 @@
      * </p>
      * 
-     * @see MouseButtonInteraction#MouseButtonInteraction(Button)
+     * @see MouseButtonInteraction#MouseButtonInteraction(Button,int,int)
      */
-    public MouseButtonDown(Button button) {
-        super(button);
+    public MouseButtonDown(Button button, int x, int y) {
+        super(button, x, y);
     }
 
@@ -71,14 +71,14 @@
     public String toString() {
         if (super.getButton() == Button.LEFT) {
-            return "left mouse button down";
+            return "left mouse button down (" + getX() + "," + getY() + ")";
         }
         else if (super.getButton() == Button.MIDDLE) {
-            return "middle mouse button down";
+            return "middle mouse button down (" + getX() + "," + getY() + ")";
         }
         else if (super.getButton() == Button.RIGHT) {
-            return "right mouse button down";
+            return "right mouse button down (" + getX() + "," + getY() + ")";
         }
         else {
-            return "unknown mouse button down";
+            return "unknown mouse button down (" + getX() + "," + getY() + ")";
         }
     }
@@ -110,5 +110,8 @@
     public boolean equals(Object obj) {
         if (obj instanceof MouseButtonDown) {
-            return getButton().equals(((MouseButtonDown) obj).getButton());
+            return
+                getButton().equals(((MouseButtonDown) obj).getButton()) &&
+                (getX() == ((MouseButtonDown) obj).getX()) &&
+                (getY() == ((MouseButtonDown) obj).getY());
         }
         return false;
@@ -122,5 +125,5 @@
     @Override
     public int hashCode() {
-        return getButton().hashCode();
+        return getButton().hashCode() + getX() + getY();
     }
 
Index: trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/MouseButtonInteraction.java
===================================================================
--- trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/MouseButtonInteraction.java	(revision 944)
+++ trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/MouseButtonInteraction.java	(revision 945)
@@ -53,4 +53,18 @@
     /**
      * <p>
+     * The x coordinate, where the mouse interaction took place
+     * </p>
+     */
+    private int x;
+
+    /**
+     * <p>
+     * The y coordinate, where the mouse interaction took place
+     * </p>
+     */
+    private int y;
+
+    /**
+     * <p>
      * Constructor. Creates a new {@link MouseButtonInteraction}
      * </p>
@@ -58,7 +72,13 @@
      * @param button
      *            the button associated with the interaction
+     * @param x
+     *            the x coordinate of where the interaction took place on the target
+     * @param y
+     *            the y coordinate of where the interaction took place on the target
      */
-    public MouseButtonInteraction(Button button) {
+    public MouseButtonInteraction(Button button, int x, int y) {
         this.button = button;
+        this.x = x;
+        this.y = y;
     }
 
@@ -72,4 +92,26 @@
     public Button getButton() {
         return button;
+    }
+
+    /**
+     * <p>
+     * Returns the x coordinate of where the interaction took place on the target.
+     * </p>
+     * 
+     * @return the x coordinate
+     */
+    public int getX() {
+        return x;
+    }
+
+    /**
+     * <p>
+     * Returns the y coordinate of where the interaction took place on the target.
+     * </p>
+     * 
+     * @return the y coordinate
+     */
+    public int getY() {
+        return y;
     }
 
Index: trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/MouseButtonUp.java
===================================================================
--- trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/MouseButtonUp.java	(revision 944)
+++ trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/MouseButtonUp.java	(revision 945)
@@ -37,8 +37,8 @@
      * </p>
      * 
-     * @see MouseButtonInteraction#MouseButtonInteraction(Button)
+     * @see MouseButtonInteraction#MouseButtonInteraction(Button,int,int)
      */
-    public MouseButtonUp(Button button) {
-        super(button);
+    public MouseButtonUp(Button button, int x, int y) {
+        super(button, x, y);
     }
 
@@ -71,14 +71,14 @@
     public String toString() {
         if (super.getButton() == Button.LEFT) {
-            return "left mouse button up";
+            return "left mouse button up (" + getX() + "," + getY() + ")";
         }
         else if (super.getButton() == Button.MIDDLE) {
-            return "middle mouse button up";
+            return "middle mouse button up (" + getX() + "," + getY() + ")";
         }
         else if (super.getButton() == Button.RIGHT) {
-            return "right mouse button up";
+            return "right mouse button up (" + getX() + "," + getY() + ")";
         }
         else {
-            return "unknown mouse button up";
+            return "unknown mouse button up (" + getX() + "," + getY() + ")";
         }
     }
@@ -110,5 +110,8 @@
     public boolean equals(Object obj) {
         if (obj instanceof MouseButtonUp) {
-            return getButton().equals(((MouseButtonUp) obj).getButton());
+            return
+                getButton().equals(((MouseButtonUp) obj).getButton()) &&
+                (getX() == ((MouseButtonUp) obj).getX()) &&
+                (getY() == ((MouseButtonUp) obj).getY());
         }
         return false;
@@ -122,5 +125,5 @@
     @Override
     public int hashCode() {
-        return getButton().hashCode();
+        return getButton().hashCode() + getX() + getY();
     }
 }
Index: trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/MouseClick.java
===================================================================
--- trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/MouseClick.java	(revision 944)
+++ trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/MouseClick.java	(revision 945)
@@ -37,8 +37,8 @@
      * </p>
      * 
-     * @see MouseButtonInteraction#MouseButtonInteraction(Button)
+     * @see MouseButtonInteraction#MouseButtonInteraction(Button,int,int)
      */
-    public MouseClick(Button button) {
-        super(button);
+    public MouseClick(Button button, int x, int y) {
+        super(button, x, y);
     }
 
@@ -71,14 +71,14 @@
     public String toString() {
         if (super.getButton() == Button.LEFT) {
-            return "left mouse click";
+            return "left mouse click (" + getX() + "," + getY() + ")";
         }
         else if (super.getButton() == Button.MIDDLE) {
-            return "middle mouse click";
+            return "middle mouse click (" + getX() + "," + getY() + ")";
         }
         else if (super.getButton() == Button.RIGHT) {
-            return "right mouse click";
+            return "right mouse click (" + getX() + "," + getY() + ")";
         }
         else {
-            return "unknown mouse button click";
+            return "unknown mouse button click (" + getX() + "," + getY() + ")";
         }
     }
@@ -110,5 +110,8 @@
     public boolean equals(Object obj) {
         if (obj instanceof MouseClick) {
-            return getButton().equals(((MouseClick) obj).getButton());
+            return
+                getButton().equals(((MouseClick) obj).getButton()) &&
+                (getX() == ((MouseClick) obj).getX()) &&
+                (getY() == ((MouseClick) obj).getY());
         }
         return false;
@@ -122,5 +125,5 @@
     @Override
     public int hashCode() {
-        return getButton().hashCode();
+        return getButton().hashCode() + getX() + getY();
     }
 }
Index: trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/MouseDoubleClick.java
===================================================================
--- trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/MouseDoubleClick.java	(revision 944)
+++ trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/MouseDoubleClick.java	(revision 945)
@@ -38,8 +38,8 @@
      * </p>
      * 
-     * @see MouseButtonInteraction#MouseButtonInteraction(Button)
+     * @see MouseButtonInteraction#MouseButtonInteraction(Button, int, int)
      */
-    public MouseDoubleClick(Button button) {
-        super(button);
+    public MouseDoubleClick(Button button, int x, int y) {
+        super(button, x, y);
     }
 
@@ -72,14 +72,14 @@
     public String toString() {
         if (super.getButton() == Button.LEFT) {
-            return "left mouse double click";
+            return "left mouse double click (" + getX() + "," + getY() + ")";
         }
         else if (super.getButton() == Button.MIDDLE) {
-            return "middle mouse double click";
+            return "middle mouse double click (" + getX() + "," + getY() + ")";
         }
         else if (super.getButton() == Button.RIGHT) {
-            return "right mouse double click";
+            return "right mouse double click (" + getX() + "," + getY() + ")";
         }
         else {
-            return "unknown mouse button double click";
+            return "unknown mouse button double click (" + getX() + "," + getY() + ")";
         }
     }
@@ -111,5 +111,8 @@
     public boolean equals(Object obj) {
         if (obj instanceof MouseDoubleClick) {
-            return getButton().equals(((MouseDoubleClick) obj).getButton());
+            return
+                getButton().equals(((MouseDoubleClick) obj).getButton()) &&
+                (getX() == ((MouseDoubleClick) obj).getX()) &&
+                (getY() == ((MouseDoubleClick) obj).getY());
         }
         return false;
@@ -123,5 +126,5 @@
     @Override
     public int hashCode() {
-        return getButton().hashCode();
+        return getButton().hashCode() + getX() + getY();
     }
 }
