Index: /trunk/src/VBox/Frontends/VirtualBox/src/softkeyboard/UISoftKeyboard.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/softkeyboard/UISoftKeyboard.cpp	(revision 81120)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/softkeyboard/UISoftKeyboard.cpp	(revision 81121)
@@ -118,4 +118,7 @@
 *********************************************************************************************************************************/
 
+/** This class is used to represent the physical layout of a keyboard (in contrast to UISoftKeyboardLayout).
+  * Physical layouts are read from an xml file where keys are placed in rows. Each UISoftKeyboardLayout must refer to a
+  * refer to a UISoftKeyboardPhysicalLayout instance. An example of an UISoftKeyboardPhysicalLayout instance is 103 key ISO layout.*/
 class UISoftKeyboardPhysicalLayout
 {
@@ -147,4 +150,5 @@
     QString  m_strName;
     QVector<UISoftKeyboardRow>    m_rows;
+    /** Scroll, Num, and Caps Lock keys' states are updated thru some API events. Thus we keep their pointers in a containter. */
     QMap<int, UISoftKeyboardKey*> m_lockKeys;
 };
@@ -154,4 +158,5 @@
 *********************************************************************************************************************************/
 
+/** A QWidget extension thru which we can edit key captions, the physical layout of the keyboard, name of the layout etc. */
 class UIKeyboardLayoutEditor : public QIWithRetranslateUI<QWidget>
 {
@@ -273,5 +278,6 @@
 *********************************************************************************************************************************/
 
-/** UISoftKeyboardRow represents a row in the physical keyboard. */
+/** UISoftKeyboardRow represents a row in the physical keyboard. The rows are read from a physical layout file and contained
+  * keys are added to rows in the order they appear in that file.*/
 class UISoftKeyboardRow
 {
@@ -306,5 +312,7 @@
 *********************************************************************************************************************************/
 
-/** UISoftKeyboardKey is a place holder for a keyboard key. Graphical key represantations are drawn according to this class. */
+/** UISoftKeyboardKey is a place holder for a keyboard key. Graphical key represantations are drawn according to this class.
+  * The position of a key within the physical layout is read from the layout file. Note that UISoftKeyboardKey does not have
+  * caption field(s). */
 class UISoftKeyboardKey
 {
@@ -408,5 +416,7 @@
 *   UISoftKeyboardLayout definition.                                                                                  *
 *********************************************************************************************************************************/
-
+/** UISoftKeyboardLayout represents mainly a set of captions for the keys. It refers to a phsical layout which defines the
+  * positioning and number of keys (alongside with scan codes etc.). UISoftKeyboardLayout instances are read from xml files. An
+  * example for UISoftKeyboardLayout instance is 'US International' keyboard layout. */
 class UISoftKeyboardLayout
 {
@@ -504,5 +514,6 @@
 *********************************************************************************************************************************/
 
-/** The container widget for keyboard keys. It also handles all the keyboard related events. */
+/** The container widget for keyboard keys. It also handles all the keyboard related events. paintEvent of this class
+  * handles drawing of the soft keyboard. */
 class UISoftKeyboardWidget : public QIWithRetranslateUI<QWidget>
 {
@@ -644,4 +655,5 @@
     bool parseXMLFile(const QString &strFileName, UISoftKeyboardPhysicalLayout &physicalLayout);
     static QVector<QPoint> computeKeyVertices(const UISoftKeyboardKey &key);
+
 private:
 
