Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/IInteraction.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/IInteraction.java	(revision 785)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/IInteraction.java	(revision 786)
@@ -1,2 +1,3 @@
+
 package de.ugoe.cs.quest.eventcore.gui;
 
@@ -5,20 +6,27 @@
 /**
  * <p>
- * An interaction is a special event type which represents the interaction of a user with an
- * element of a GUI. An example is a mouse click on a button.
+ * An interaction is a special event type which represents the interaction of a user with an element
+ * of a GUI. An example is a mouse click on a button.
  * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @version 1.0
+ * @author Patrick Harms
  */
-public interface IInteraction extends IEventType
-{
+public interface IInteraction extends IEventType {
     /**
-     * @return
+     * <p>
+     * Determines whether an event type starts a logical sequence, i.e., a task.
+     * </p>
+     * 
+     * @return true if a logical sequence is started; false otherwise
      */
     public boolean startsLogicalSequence();
 
     /**
-     * @return
+     * <p>
+     * Determines whether an event type finishes a logical sequence, i.e., a task.
+     * </p>
+     * 
+     * @return true if a logical sequence is finished; false otherwise
      */
     public boolean finishesLogicalSequence();
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/KeyInteraction.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/KeyInteraction.java	(revision 785)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/KeyInteraction.java	(revision 786)
@@ -1,2 +1,3 @@
+
 package de.ugoe.cs.quest.eventcore.gui;
 
@@ -4,19 +5,34 @@
 
 /**
- * TODO comment
+ * <p>
+ * Base class for all keyboard interaction event types.
+ * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @version 1.0
+ * @author Patrick Harms
  */
 public abstract class KeyInteraction implements IInteraction {
 
-    /**  */
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
 
-    /** the key, that was actually pressed */
+    /**
+     * <p>
+     * the key associated with the interaction
+     * </p>
+     */
     private VirtualKey key;
 
     /**
+     * <p>
+     * Constructor. Creates a new KeyInteraction.
+     * </p>
+     * 
      * @param key
+     *            key associated with the interaction
      */
     public KeyInteraction(VirtualKey key) {
@@ -26,5 +42,9 @@
 
     /**
+     * <p>
+     * Returns the key associated with the interaction.
+     * </p>
      * 
+     * @return the key
      */
     public VirtualKey getKey() {
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/KeyPressed.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/KeyPressed.java	(revision 785)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/KeyPressed.java	(revision 786)
@@ -1,2 +1,3 @@
+
 package de.ugoe.cs.quest.eventcore.gui;
 
@@ -4,16 +5,26 @@
 
 /**
- * TODO comment
+ * <p>
+ * Event type for pressing down a key.
+ * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @version 1.0
+ * @author Patrick Harms
  */
 public class KeyPressed extends KeyInteraction {
 
-    /**  */
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
 
     /**
-     * @param key
+     * <p>
+     * Constructor. Creates a new {@link KeyPressed} event type.
+     * </p>
+     * 
+     * @see KeyInteraction#KeyInteraction(VirtualKey)
      */
     public KeyPressed(VirtualKey key) {
@@ -74,5 +85,7 @@
     }
 
-    /* (non-Javadoc)
+    /*
+     * (non-Javadoc)
+     * 
      * @see java.lang.Object#hashCode()
      */
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/KeyReleased.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/KeyReleased.java	(revision 785)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/KeyReleased.java	(revision 786)
@@ -4,16 +4,26 @@
 
 /**
- * TODO comment
+ * <p>
+ * Event type for releasing a key.
+ * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @version 1.0
+ * @author Steffen Herbold
  */
 public class KeyReleased extends KeyInteraction {
 
-    /**  */
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
 
     /**
-     * @param key
+     * <p>
+     * Constructor. Creates a new {@link KeyReleased} event type.
+     * </p>
+     * 
+     * @see KeyInteraction#KeyInteraction(VirtualKey)
      */
     public KeyReleased(VirtualKey key) {
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/KeyTyped.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/KeyTyped.java	(revision 785)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/KeyTyped.java	(revision 786)
@@ -4,11 +4,27 @@
 import de.ugoe.cs.tasktree.keyboardmaps.VirtualKey;
 
+/**
+ * <p>
+ * Event type for typing a key, i.e., pressing and releasing it right away.
+ * </p>
+ * 
+ * @version 1.0
+ * @author Steffen Herbold
+ */
 public class KeyTyped extends KeyInteraction {
 
-    /**  */
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
 
     /**
-     * @param key
+     * <p>
+     * Constructor. Creates a new {@link KeyTyped} event type.
+     * </p>
+     * 
+     * @see KeyInteraction#KeyInteraction(VirtualKey)
      */
     public KeyTyped(VirtualKey key) {
@@ -51,5 +67,6 @@
      */
     public boolean finishesLogicalSequence() {
-        return false;
+        // TODO handle lock keys correctly
+        return super.getKey().isCombinationKey();
     }
 
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/KeyboardFocusChange.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/KeyboardFocusChange.java	(revision 785)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/KeyboardFocusChange.java	(revision 786)
@@ -3,12 +3,19 @@
 
 /**
- * TODO comment
+ * <p>
+ * Event type for keyboard focus changes. The target of the respective event has obtained the
+ * keyboard focus of the application.
+ * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @version 1.0
+ * @author Patrick Harms
  */
 public class KeyboardFocusChange implements IInteraction {
 
-    /**  */
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
 
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseButtonDown.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseButtonDown.java	(revision 785)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseButtonDown.java	(revision 786)
@@ -1,17 +1,28 @@
+
 package de.ugoe.cs.quest.eventcore.gui;
 
 /**
- * TODO comment
+ * <p>
+ * Event type for pressing a mouse button.
+ * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @version 1.0
+ * @author Patrick Harms
  */
 public class MouseButtonDown extends MouseButtonInteraction {
 
-    /**  */
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
 
     /**
-     * @param button
+     * <p>
+     * Constructor. Creates a new {@link MouseButtonDown} event type.
+     * </p>
+     * 
+     * @see MouseButtonInteraction#MouseButtonInteraction(Button)
      */
     public MouseButtonDown(Button button) {
@@ -77,5 +88,5 @@
         return false;
     }
-    
+
     /*
      * (non-Javadoc)
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseButtonInteraction.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseButtonInteraction.java	(revision 785)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseButtonInteraction.java	(revision 786)
@@ -1,25 +1,48 @@
+
 package de.ugoe.cs.quest.eventcore.gui;
 
 /**
- * TODO comment
+ * <p>
+ * Base class for all mouse interaction event types.
+ * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @version 1.0
+ * @author Patrick Harms
  */
 public abstract class MouseButtonInteraction extends MouseInteraction {
 
-    /**  */
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
 
-    /** */
+    /**
+     * <p>
+     * Describes the pressed mouse button.
+     * </p>
+     * 
+     * @version 1.0
+     * @author Patrick Harms
+     */
     public static enum Button {
         LEFT, MIDDLE, RIGHT, X;
     }
 
-    /** the button used for mouse interaction */
+    /**
+     * <p>
+     * The button used for mouse interaction
+     * </p>
+     */
     private Button button;
 
     /**
+     * <p>
+     * Constructor. Creates a new {@link MouseButtonInteraction}
+     * </p>
      * 
+     * @param button
+     *            the button associated with the interaction
      */
     public MouseButtonInteraction(Button button) {
@@ -28,10 +51,14 @@
 
     /**
-     * @return Returns the button.
+     * <p>
+     * Returns the button associated with the interaction.
+     * </p>
+     * 
+     * @return the button
      */
     public Button getButton() {
         return button;
     }
-    
+
     /*
      * (non-Javadoc)
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseButtonUp.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseButtonUp.java	(revision 785)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseButtonUp.java	(revision 786)
@@ -1,17 +1,28 @@
+
 package de.ugoe.cs.quest.eventcore.gui;
 
 /**
- * TODO comment
+ * <p>
+ * Event type for releasing a mouse button.
+ * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @version 1.0
+ * @author Patrick Harms
  */
 public class MouseButtonUp extends MouseButtonInteraction {
 
-    /**  */
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
 
     /**
-     * @param button
+     * <p>
+     * Constructor. Creates a new {@link MouseButtonUp} event type.
+     * </p>
+     * 
+     * @see MouseButtonInteraction#MouseButtonInteraction(Button)
      */
     public MouseButtonUp(Button button) {
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseClick.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseClick.java	(revision 785)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseClick.java	(revision 786)
@@ -1,17 +1,28 @@
+
 package de.ugoe.cs.quest.eventcore.gui;
 
 /**
- * TODO comment
+ * <p>
+ * Event type for a mouse click, i.e., pressing and releasing it right away.
+ * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @version 1.0
+ * @author Patrick Harms
  */
 public class MouseClick extends MouseButtonInteraction {
 
-    /**  */
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
 
     /**
-     * @param button
+     * <p>
+     * Constructor. Creates a new {@link MouseClick} event type.
+     * </p>
+     * 
+     * @see MouseButtonInteraction#MouseButtonInteraction(Button)
      */
     public MouseClick(Button button) {
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseClickCondenser.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseClickCondenser.java	(revision 785)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseClickCondenser.java	(revision 786)
@@ -1,7 +1,3 @@
-// Module    : $RCSfile: MouseClickCondenser.java,v $
-// Version   : $Revision: 0.0 $  $Author: pharms $  $Date: 31.08.2012 $
-// Project   : quest-core-events
-// Creation  : 2012 by pharms
-// Copyright : Patrick Harms, 2012
+
 package de.ugoe.cs.quest.eventcore.gui;
 
@@ -14,13 +10,13 @@
 /**
  * <p>
- * This class condenses mouse clicks, i.e. it reduces a sequence of mouse button down,
- * mouse button up and mouse click with the same button on the same event target to a single
- * mouse click with that button on that target. The mouse button down and mouse button up events
- * are discarded. For this, it iterates the provided sequence and identifies any match of the named
- * event sequence pattern. This match is condensed to the mouse click event.
+ * This class condenses mouse clicks, i.e. it reduces a sequence of mouse button down, mouse button
+ * up and mouse click with the same button on the same event target to a single mouse click with
+ * that button on that target. The mouse button down and mouse button up events are discarded. For
+ * this, it iterates the provided sequence and identifies any match of the named event sequence
+ * pattern. This match is condensed to the mouse click event.
  * </p>
  * 
- * @version $Revision: $ $Date: 31.08.2012$
- * @author 2012, last modified by $Author: pharms$
+ * @version 1.0
+ * @author Patrick Harms
  */
 public class MouseClickCondenser {
@@ -29,10 +25,11 @@
      * <p>
      * This method performs the work described in the description of the class. A new list is
-     * instantiated and returned. This list is filled with the events provided by the sequence
-     * being the parameter of the method except for mouse button down and mouse button up events
-     * which are followed by a mouse click event with the same button on the same target.
+     * instantiated and returned. This list is filled with the events provided by the sequence being
+     * the parameter of the method except for mouse button down and mouse button up events which are
+     * followed by a mouse click event with the same button on the same target.
      * </p>
      * 
-     * @param sequence the event sequence to condense the mouse clicks in
+     * @param sequence
+     *            the event sequence to condense the mouse clicks in
      * 
      * @return the resulting sequence, in which mouse clicks are condensed to single mouse click
@@ -41,5 +38,5 @@
     public List<Event> condenseMouseClicks(List<Event> sequence) {
         List<Event> resultingSequence = new LinkedList<Event>();
-        
+
         int index = 0;
         while (index < sequence.size()) // -2 because we don't need to go to the end
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseDoubleClick.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseDoubleClick.java	(revision 785)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseDoubleClick.java	(revision 786)
@@ -1,17 +1,29 @@
+
 package de.ugoe.cs.quest.eventcore.gui;
 
 /**
- * TODO comment
+ * <p>
+ * Event type for a double click, i.e., pressing the mouse, releasing it, pressing it, and releasing
+ * it again right away.
+ * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @version 1.0
+ * @author Patrick Harms
  */
 public class MouseDoubleClick extends MouseButtonInteraction {
 
-    /**  */
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
 
     /**
-     * @param button
+     * <p>
+     * Constructor. Creates a new {@link MouseDoubleClick} event type.
+     * </p>
+     * 
+     * @see MouseButtonInteraction#MouseButtonInteraction(Button)
      */
     public MouseDoubleClick(Button button) {
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseInteraction.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseInteraction.java	(revision 785)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/MouseInteraction.java	(revision 786)
@@ -2,12 +2,18 @@
 
 /**
- * TODO comment
+ * <p>
+ * Base class for all mouse interaction event types.
+ * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @version 1.0
+ * @author Patrick Harms
  */
 public abstract class MouseInteraction implements IInteraction {
 
-    /**  */
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
 
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/TextInput.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/TextInput.java	(revision 785)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/TextInput.java	(revision 786)
@@ -1,2 +1,3 @@
+
 package de.ugoe.cs.quest.eventcore.gui;
 
@@ -7,46 +8,95 @@
 /**
  * <p>
- * A text input represents a list of key events that together represent entering text into a
- * text field or text area.
+ * A text input represents a list of key events that together represent entering text into a text
+ * field or text area.
  * </p>
  * 
- * @version $Revision: $ $Date: $
- * @author 2011, last modified by $Author: $
+ * @version 1.0
+ * @author Patrick Harms, Steffen Herbold
  */
 public class TextInput implements IInteraction {
-    
-    public enum TextEquality {LEXICAL, SYNTACTICAL, SEMANTICAL};
-
-    /**  */
+
+    /**
+     * <p>
+     * Defines how the {@link TextInput}s are evaluated as equal.
+     * </p>
+     * 
+     * @version 1.0
+     * @author Steffen Herbold
+     */
+    public enum TextEquality {
+        /**
+         * <p>
+         * Two text inputs are equal if their {@link TextInput#textInputEvents} are equal.
+         * </p>
+         */
+        LEXICAL,
+        /**
+         * <p>
+         * Two text inputs are equal if their {@link TextInput#enteredText}s are equal.
+         * </p>
+         */
+        SYNTACTICAL,
+        /**
+         * <p>
+         * All text inputs are equal.
+         * </p>
+         */
+        SEMANTICAL
+    };
+
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
     private static final long serialVersionUID = 1L;
-    
-    /** the text resulting from the text input events */
+
+    /**
+     * <p>
+     * The text resulting from the text input events.
+     * </p>
+     */
     private String enteredText;
 
-    /** the text input events that caused the entering of the text */
+    /**
+     * <p>
+     * The text input events that caused the entering of the text.
+     * </p>
+     */
     private List<Event> textInputEvents;
-    
+
+    /**
+     * <p>
+     * Defines how this TextInput event evaluates the equality.
+     * </p>
+     */
     private final TextEquality equalityType;
 
     /**
      * <p>
-     * TODO: comment
-     * </p>
-     *
+     * Constructor. Creates a new {@link TextInput} with {@link TextEquality#LEXICAL} equality.
+     * </p>
+     * 
      * @param enteredText
+     *            text resulting from the inputs
      * @param textInputEvents
+     *            text input events of which this input consists
      */
     public TextInput(String enteredText, List<Event> textInputEvents) {
         this(enteredText, textInputEvents, TextEquality.LEXICAL);
     }
-    
-    /**
-     * <p>
-     * TODO: comment
-     * </p>
-     *
+
+    /**
+     * <p>
+     * Constructor. Creates a new {@link TextInput}..
+     * </p>
+     * 
      * @param enteredText
+     *            text resulting from the inputs
      * @param textInputEvents
+     *            text input events of which this input consists
      * @param equalityType
+     *            defines how this event evaluates the equality (@see {@link TextEquality})
      */
     public TextInput(String enteredText, List<Event> textInputEvents, TextEquality equalityType) {
@@ -76,5 +126,9 @@
 
     /**
-     * @return the enteredText
+     * <p>
+     * Returns the entered text.
+     * </p>
+     * 
+     * @return the entered text
      */
     public String getEnteredText() {
@@ -83,7 +137,12 @@
 
     /**
+     * <p>
+     * Returns the events of which this {@link TextInput} consists.
+     * </p>
+     * 
      * @return the textInputEvents
      */
     public List<Event> getTextInputEvents() {
+        // TODO should return an immutable view on the list
         return textInputEvents;
     }
@@ -106,5 +165,5 @@
         return false;
     }
-    
+
     /*
      * (non-Javadoc)
@@ -141,8 +200,8 @@
     public int hashCode() {
         int hashCode = getClass().hashCode();
-        if( equalityType==TextEquality.LEXICAL) {
+        if (equalityType == TextEquality.LEXICAL) {
             hashCode += enteredText.hashCode() + textInputEvents.size();
         }
-        else if( equalityType==TextEquality.SYNTACTICAL) {
+        else if (equalityType == TextEquality.SYNTACTICAL) {
             hashCode += enteredText.hashCode();
         }
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/TextInputDetector.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/TextInputDetector.java	(revision 785)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/gui/TextInputDetector.java	(revision 786)
@@ -38,4 +38,10 @@
     private final TextEquality textEqualityType;
     
+    /**
+     * <p>
+     * TODO: comment
+     * </p>
+     *
+     */
     public TextInputDetector() {
         this(TextEquality.LEXICAL);
