Index: trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/gui/KeyInteractionCorrectorTest.java
===================================================================
--- trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/gui/KeyInteractionCorrectorTest.java	(revision 945)
+++ trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/gui/KeyInteractionCorrectorTest.java	(revision 946)
@@ -389,13 +389,13 @@
         // Check if mouse events stay where they are
         input.add(new Event(new KeyPressed(VirtualKey.LETTER_A), guiElement));
-        input.add(new Event(new MouseButtonDown(Button.LEFT), guiElement));
-        input.add(new Event(new MouseButtonUp(Button.LEFT), guiElement));
-        input.add(new Event(new MouseClick(Button.LEFT), guiElement));
-        input.add(new Event(new KeyReleased(VirtualKey.LETTER_A), guiElement));
-
-        expected.add(new Event(new KeyTyped(VirtualKey.LETTER_A), guiElement));
-        expected.add(new Event(new MouseButtonDown(Button.LEFT), guiElement));
-        expected.add(new Event(new MouseButtonUp(Button.LEFT), guiElement));
-        expected.add(new Event(new MouseClick(Button.LEFT), guiElement));
+        input.add(new Event(new MouseButtonDown(Button.LEFT, 0, 0), guiElement));
+        input.add(new Event(new MouseButtonUp(Button.LEFT, 0, 0), guiElement));
+        input.add(new Event(new MouseClick(Button.LEFT, 0, 0), guiElement));
+        input.add(new Event(new KeyReleased(VirtualKey.LETTER_A), guiElement));
+
+        expected.add(new Event(new KeyTyped(VirtualKey.LETTER_A), guiElement));
+        expected.add(new Event(new MouseButtonDown(Button.LEFT, 0, 0), guiElement));
+        expected.add(new Event(new MouseButtonUp(Button.LEFT, 0, 0), guiElement));
+        expected.add(new Event(new MouseClick(Button.LEFT, 0, 0), guiElement));
 
         List<Event> output = sorter.sortKeyInteractions(input);
Index: trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/gui/MouseClickCondenserTest.java
===================================================================
--- trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/gui/MouseClickCondenserTest.java	(revision 945)
+++ trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/gui/MouseClickCondenserTest.java	(revision 946)
@@ -55,14 +55,14 @@
         IGUIElement element2 = new DummyGUIElement("elem2");
 
-        simulateEvent(new MouseButtonDown(leftBtn), element1);
-        simulateEvent(new MouseButtonUp(leftBtn), element1);
-        simulateEvent(new MouseClick(leftBtn), element1);
+        simulateEvent(new MouseButtonDown(leftBtn, 0, 0), element1);
+        simulateEvent(new MouseButtonUp(leftBtn, 0, 0), element1);
+        simulateEvent(new MouseClick(leftBtn, 0, 0), element1);
         assertCondensedMouseClicks("elem1");
 
         simulateEvent(new DummyInteraction("bla", 1), element1);
         simulateEvent(new DummyInteraction("bli", 1), element1);
-        simulateEvent(new MouseButtonDown(middleBtn), element1);
-        simulateEvent(new MouseButtonUp(middleBtn), element1);
-        simulateEvent(new MouseClick(middleBtn), element1);
+        simulateEvent(new MouseButtonDown(middleBtn, 0, 0), element1);
+        simulateEvent(new MouseButtonUp(middleBtn, 0, 0), element1);
+        simulateEvent(new MouseClick(middleBtn, 0, 0), element1);
         simulateEvent(new DummyInteraction("blo", 1), element1);
         simulateEvent(new DummyInteraction("blu", 1), element1);
@@ -71,20 +71,20 @@
         simulateEvent(new DummyInteraction("bla", 1), element2);
         simulateEvent(new DummyInteraction("bli", 1), element2);
-        simulateEvent(new MouseButtonDown(rightBtn), element2);
-        simulateEvent(new MouseButtonUp(rightBtn), element2);
-        simulateEvent(new MouseClick(rightBtn), element2);
+        simulateEvent(new MouseButtonDown(rightBtn, 0, 0), element2);
+        simulateEvent(new MouseButtonUp(rightBtn, 0, 0), element2);
+        simulateEvent(new MouseClick(rightBtn, 0, 0), element2);
         simulateEvent(new DummyInteraction("blo", 1), element2);
         simulateEvent(new DummyInteraction("blu", 1), element2);
         assertCondensedMouseClicks("elem1", "", "", "elem1", "", "", "", "", "elem2", "", "");
 
-        simulateEvent(new MouseButtonDown(leftBtn), element1);
-        simulateEvent(new MouseButtonUp(leftBtn), element1);
-        simulateEvent(new MouseClick(leftBtn), element2);
+        simulateEvent(new MouseButtonDown(leftBtn, 0, 0), element1);
+        simulateEvent(new MouseButtonUp(leftBtn, 0, 0), element1);
+        simulateEvent(new MouseClick(leftBtn, 0, 0), element2);
         assertCondensedMouseClicks("elem1", "", "", "elem1", "", "", "", "", "elem2", "", "",
                                    "", "", "elem2");
 
-        simulateEvent(new MouseButtonDown(middleBtn), element1);
-        simulateEvent(new MouseButtonUp(middleBtn), element1);
-        simulateEvent(new MouseClick(rightBtn), element1);
+        simulateEvent(new MouseButtonDown(middleBtn, 0, 0), element1);
+        simulateEvent(new MouseButtonUp(middleBtn, 0, 0), element1);
+        simulateEvent(new MouseClick(rightBtn, 0, 0), element1);
         simulateEvent(new DummyInteraction("bla", 1), element2);
         assertCondensedMouseClicks("elem1", "", "", "elem1", "", "", "", "", "elem2", "", "",
Index: trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/gui/TextInputDetectorTest.java
===================================================================
--- trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/gui/TextInputDetectorTest.java	(revision 945)
+++ trunk/autoquest-core-events-test/src/test/java/de/ugoe/cs/autoquest/eventcore/gui/TextInputDetectorTest.java	(revision 946)
@@ -164,5 +164,5 @@
         IGUIElement element3 = new DummyGUIElement("elem3");
         
-        simulateEvent(new MouseClick(MouseClick.Button.LEFT), element2);
+        simulateEvent(new MouseClick(MouseClick.Button.LEFT, 0, 0), element2);
         simulateEvent(new KeyPressed(VirtualKey.LETTER_A), element1);
         simulateEvent(new KeyReleased(VirtualKey.LETTER_A), element1);
@@ -173,23 +173,23 @@
         assertTextInput("", "abc");
 
-        simulateEvent(new MouseClick(MouseClick.Button.LEFT), element2);
-        simulateEvent(new MouseClick(MouseClick.Button.LEFT), element3);
-        simulateEvent(new KeyPressed(VirtualKey.LETTER_A), element1);
-        simulateEvent(new KeyReleased(VirtualKey.LETTER_A), element1);
-        simulateEvent(new KeyPressed(VirtualKey.LETTER_B), element1);
-        simulateEvent(new KeyReleased(VirtualKey.LETTER_B), element1);
-        simulateEvent(new KeyPressed(VirtualKey.LETTER_C), element1);
-        simulateEvent(new KeyReleased(VirtualKey.LETTER_C), element1);
-        simulateEvent(new MouseClick(MouseClick.Button.LEFT), element3);
+        simulateEvent(new MouseClick(MouseClick.Button.LEFT, 0, 0), element2);
+        simulateEvent(new MouseClick(MouseClick.Button.LEFT, 0, 0), element3);
+        simulateEvent(new KeyPressed(VirtualKey.LETTER_A), element1);
+        simulateEvent(new KeyReleased(VirtualKey.LETTER_A), element1);
+        simulateEvent(new KeyPressed(VirtualKey.LETTER_B), element1);
+        simulateEvent(new KeyReleased(VirtualKey.LETTER_B), element1);
+        simulateEvent(new KeyPressed(VirtualKey.LETTER_C), element1);
+        simulateEvent(new KeyReleased(VirtualKey.LETTER_C), element1);
+        simulateEvent(new MouseClick(MouseClick.Button.LEFT, 0, 0), element3);
         assertTextInput("", "abc", "", "", "abc", "");
 
-        simulateEvent(new MouseClick(MouseClick.Button.LEFT), element2);
-        simulateEvent(new MouseClick(MouseClick.Button.LEFT), element3);
-        simulateEvent(new KeyPressed(VirtualKey.LETTER_A), element1);
-        simulateEvent(new KeyReleased(VirtualKey.LETTER_A), element1);
-        simulateEvent(new KeyPressed(VirtualKey.LETTER_B), element1);
-        simulateEvent(new KeyReleased(VirtualKey.LETTER_B), element1);
-        simulateEvent(new KeyPressed(VirtualKey.LETTER_C), element1);
-        simulateEvent(new MouseClick(MouseClick.Button.LEFT), element3);
+        simulateEvent(new MouseClick(MouseClick.Button.LEFT, 0, 0), element2);
+        simulateEvent(new MouseClick(MouseClick.Button.LEFT, 0, 0), element3);
+        simulateEvent(new KeyPressed(VirtualKey.LETTER_A), element1);
+        simulateEvent(new KeyReleased(VirtualKey.LETTER_A), element1);
+        simulateEvent(new KeyPressed(VirtualKey.LETTER_B), element1);
+        simulateEvent(new KeyReleased(VirtualKey.LETTER_B), element1);
+        simulateEvent(new KeyPressed(VirtualKey.LETTER_C), element1);
+        simulateEvent(new MouseClick(MouseClick.Button.LEFT, 0, 0), element3);
         simulateEvent(new KeyReleased(VirtualKey.LETTER_C), element1);
         
Index: trunk/autoquest-plugin-jfc/src/main/java/de/ugoe/cs/autoquest/plugin/jfc/JFCLogParser.java
===================================================================
--- trunk/autoquest-plugin-jfc/src/main/java/de/ugoe/cs/autoquest/plugin/jfc/JFCLogParser.java	(revision 945)
+++ trunk/autoquest-plugin-jfc/src/main/java/de/ugoe/cs/autoquest/plugin/jfc/JFCLogParser.java	(revision 946)
@@ -533,13 +533,19 @@
         if (JFCEventId.MOUSE_CLICKED == eventId)
         {
-            return new MouseClick(button);
+            int x = Integer.parseInt(eventParameters.get("X"));
+            int y = Integer.parseInt(eventParameters.get("Y"));
+            return new MouseClick(button, x, y);
         }
         else if (JFCEventId.MOUSE_PRESSED == eventId)
         {
-            return new MouseButtonDown(button);
+            int x = Integer.parseInt(eventParameters.get("X"));
+            int y = Integer.parseInt(eventParameters.get("Y"));
+            return new MouseButtonDown(button, x, y);
         }
         else if (JFCEventId.MOUSE_RELEASED == eventId)
         {
-            return new MouseButtonUp(button);
+            int x = Integer.parseInt(eventParameters.get("X"));
+            int y = Integer.parseInt(eventParameters.get("Y"));
+            return new MouseButtonUp(button, x, y);
         }
         else
Index: trunk/autoquest-plugin-mfc/src/main/java/de/ugoe/cs/autoquest/plugin/mfc/eventcore/MFCEventTypeFactory.java
===================================================================
--- trunk/autoquest-plugin-mfc/src/main/java/de/ugoe/cs/autoquest/plugin/mfc/eventcore/MFCEventTypeFactory.java	(revision 945)
+++ trunk/autoquest-plugin-mfc/src/main/java/de/ugoe/cs/autoquest/plugin/mfc/eventcore/MFCEventTypeFactory.java	(revision 946)
@@ -75,6 +75,8 @@
      */
     public IEventType getEventType(String eventName, Map<String, String> messageParameters) {
+        // TODO create scrolls were necessary and correct the coordinates of scrolls and mouse
+        // clicks
         if ("LeftClickButton".equals(eventName)) {
-            return new MouseClick(MouseButtonInteraction.Button.LEFT);
+            return new MouseClick(MouseButtonInteraction.Button.LEFT, -1, -1);
         }
         else if ("LeftClickListBox".equals(eventName)) {
@@ -82,17 +84,17 @@
         }
         else if ("TabChange".equals(eventName)) {
-            return new MouseClick(MouseButtonInteraction.Button.LEFT);
+            return new MouseClick(MouseButtonInteraction.Button.LEFT, -1, -1);
         }
         else if ("LeftClickCommand".equals(eventName)) {
-            return new MouseClick(MouseButtonInteraction.Button.LEFT);
+            return new MouseClick(MouseButtonInteraction.Button.LEFT, -1, -1);
         }
         else if ("LeftClickSysCommand".equals(eventName)) {
-            return new MouseClick(MouseButtonInteraction.Button.LEFT);
+            return new MouseClick(MouseButtonInteraction.Button.LEFT, -1, -1);
         }
         else if ("NCLeftClickSysCommand".equals(eventName)) {
-            return new MouseClick(MouseButtonInteraction.Button.LEFT);
+            return new MouseClick(MouseButtonInteraction.Button.LEFT, -1, -1);
         }
         else if ("LeftClickMenuItemCmd".equals(eventName)) {
-            return new MouseClick(MouseButtonInteraction.Button.LEFT);
+            return new MouseClick(MouseButtonInteraction.Button.LEFT, -1, -1);
         }
         else if ("HScroll_TrackBar".equals(eventName)) {
@@ -103,11 +105,11 @@
         }
         else if ("HScroll_ScrollBar".equals(eventName)) {
-            return new MouseClick(MouseButtonInteraction.Button.LEFT);
+            return new MouseClick(MouseButtonInteraction.Button.LEFT, -1, -1);
         }
         else if ("VScroll_ScrollBar".equals(eventName)) {
-            return new MouseClick(MouseButtonInteraction.Button.LEFT);
+            return new MouseClick(MouseButtonInteraction.Button.LEFT, -1, -1);
         }
         else if ("VScrollNC".equals(eventName)) {
-            return new MouseClick(MouseButtonInteraction.Button.LEFT);
+            return new MouseClick(MouseButtonInteraction.Button.LEFT, -1, -1);
         }
         else if ("LeftClickSetFocus".equals(eventName)) {
@@ -130,17 +132,17 @@
         }
         else if ("LeftClickCoordinates".equals(eventName)) {
-            return new MouseClick(MouseButtonInteraction.Button.LEFT);
+            return new MouseClick(MouseButtonInteraction.Button.LEFT, -1, -1);
         }
         else if ("NCLeftClickCoordinates".equals(eventName)) {
-            return new MouseClick(MouseButtonInteraction.Button.LEFT);
+            return new MouseClick(MouseButtonInteraction.Button.LEFT, -1, -1);
         }
         else if ("NCLeftClickCoordinates2".equals(eventName)) {
-            return new MouseClick(MouseButtonInteraction.Button.LEFT);
+            return new MouseClick(MouseButtonInteraction.Button.LEFT, -1, -1);
         }
         else if ("LeftClickCoordinatesTargetChanged".equals(eventName)) {
-            return new MouseClick(MouseButtonInteraction.Button.LEFT);
+            return new MouseClick(MouseButtonInteraction.Button.LEFT, -1, -1);
         }
         else if ("LeftClickCoordinatesTargetChanged2".equals(eventName)) {
-            return new MouseClick(MouseButtonInteraction.Button.LEFT);
+            return new MouseClick(MouseButtonInteraction.Button.LEFT, -1, -1);
         }
         else {
