diff --git a/Packages/com.unity.inputsystem/InputSystem/Controls/ButtonControl.cs b/Packages/com.unity.inputsystem/InputSystem/Controls/ButtonControl.cs
index ec35ca059e..e04f4ebf8a 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Controls/ButtonControl.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Controls/ButtonControl.cs
@@ -34,7 +34,6 @@ public class ButtonControl : AxisControl
         /// 
         /// The minimum value the button has to reach for it to be considered pressed.
         /// 
-        /// Button press threshold.
         /// 
         /// The button is considered pressed, if it has a value equal to or greater than
         /// this value.
@@ -64,7 +63,6 @@ public class ButtonControl : AxisControl
         /// 
         /// Return  if set, otherwise return .
         /// 
-        /// Effective value to use for press point thresholds.
         public float pressPointOrDefault => pressPoint > 0 ? pressPoint : s_GlobalDefaultButtonPressPoint;
 
         /// 
@@ -106,7 +104,7 @@ public ButtonControl()
         /// 
         /// The default format for the control is .
         /// The control's minimum value is set to 0 and the maximum value to 1.
-        /// See  for the default press point.
+        /// See  and for the (default) press point.
         /// 
         /// 
         /// 
@@ -143,10 +141,9 @@ public ButtonControl()
         /// 
         /// Whether the button is currently pressed.
         /// 
-        /// True if button is currently pressed.
         /// 
         /// A button is considered pressed if its value is equal to or greater
-        /// than its button press threshold ().
+        /// than its button press threshold (, ).
         /// 
         /// 
         /// You can use this to read whether specific keys are currently pressed by using isPressed on keys, as shown in the following examples:
@@ -242,7 +239,6 @@ private void BeginTestingForFramePresses(bool currentlyPressed, bool pressedLast
         /// 
         /// Whether the press started this frame.
         /// 
-        /// True if the current press of the button started this frame.
         /// 
         /// The first time this function - or wasReleasedThisFrame - are called, it's possible that extremely fast
         /// inputs (or very slow frame update times) will result in presses/releases being missed.
@@ -304,12 +300,12 @@ public bool wasPressedThisFrame
         /// 
         /// Whether the press ended this frame.
         /// 
-        /// True if the current press of the button ended this frame.
         /// 
         /// _Note_: The Input System identifies keys by physical layout, not according to the current language mapping of the keyboard. To query the name of the key according to the language mapping, use .
         /// 
         /// 
         /// An example showing the use of this property on a gamepad button and a keyboard key:
+        ///
         /// 
         /// using UnityEngine;
         /// using UnityEngine.InputSystem;
diff --git a/Packages/com.unity.inputsystem/InputSystem/Devices/Mouse.cs b/Packages/com.unity.inputsystem/InputSystem/Devices/Mouse.cs
index 9c67513fa4..1740b9e3c2 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Devices/Mouse.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Devices/Mouse.cs
@@ -171,18 +171,37 @@ namespace UnityEngine.InputSystem
     /// An input device representing a mouse.
     /// 
     /// 
-    /// Adds a scroll wheel and a typical 3-button setup with a left, middle, and right
-    /// button.
+    /// Adds a scroll wheel and a typical 5-button setup with a left, middle, right,
+    /// forward and backward button.
     ///
     /// To control cursor display and behavior, use .
     /// 
+    /// 
+    ///
+    /// 
+    /// using UnityEngine;
+    /// using UnityEngine.InputSystem;
+    ///
+    /// public class ExampleScript : MonoBehaviour
+    /// {
+    ///     void Update()
+    ///     {
+    ///         // If there is a current mouse and the left button was pressed
+    ///         if (Mouse.current != null && Mouse.current.leftButton.wasPressedThisFrame)
+    ///         {
+    ///              // handle left mouse button being pressed
+    ///         }
+    ///     }
+    /// }
+    /// 
+    /// 
+    /// 
     [InputControlLayout(stateType = typeof(MouseState), isGenericTypeOfDevice = true)]
     public class Mouse : Pointer, IInputStateCallbackReceiver
     {
         /// 
-        /// The horizontal and vertical scroll wheels.
+        /// Control representing horizontal and vertical scroll wheels of a Mouse device.
         /// 
-        /// Control representing the mouse scroll wheels.
         /// 
         /// The x component corresponds to the horizontal scroll wheel, the
         /// y component to the vertical scroll wheel. Most mice do not have
@@ -191,58 +210,57 @@ public class Mouse : Pointer, IInputStateCallbackReceiver
         public DeltaControl scroll { get; protected set; }
 
         /// 
-        /// The left mouse button.
+        /// Control representing left button of a Mouse device.
         /// 
-        /// Control representing the left mouse button.
         public ButtonControl leftButton { get; protected set; }
 
         /// 
-        /// The middle mouse button.
+        /// Control representing middle button of a Mouse device.
         /// 
-        /// Control representing the middle mouse button.
         public ButtonControl middleButton { get; protected set; }
 
         /// 
-        /// The right mouse button.
+        /// Control representing right button of a Mouse device.
         /// 
-        /// Control representing the right mouse button.
         public ButtonControl rightButton { get; protected set; }
 
         /// 
-        /// The first side button, often labeled/used as "back".
+        /// Control representing the first side button, often labeled/used as "back", of a Mouse device.
         /// 
-        /// Control representing the back button on the mouse.
         /// 
         /// On Windows, this corresponds to RI_MOUSE_BUTTON_4.
         /// 
         public ButtonControl backButton { get; protected set; }
 
         /// 
-        /// The second side button, often labeled/used as "forward".
+        /// Control representing the second side button, often labeled/used as "forward", of a Mouse device.
         /// 
-        /// Control representing the forward button on the mouse.
         /// 
         /// On Windows, this corresponds to RI_MOUSE_BUTTON_5.
         /// 
         public ButtonControl forwardButton { get; protected set; }
 
         /// 
-        /// Number of times any of the mouse buttons has been clicked in succession within
+        /// Control representing the number of times any of the mouse buttons has been clicked in succession within
         /// the system-defined click time threshold.
         /// 
-        /// Control representing the mouse click count.
         public IntegerControl clickCount { get; protected set;  }
 
         /// 
         /// The mouse that was added or updated last or null if there is no mouse
         /// connected to the system.
         /// 
-        /// 
+        /// 
+        /// To set a mouse device as current, use .
+        /// 
         public new static Mouse current { get; private set; }
 
         /// 
         /// Called when the mouse becomes the current mouse.
         /// 
+        /// 
+        /// This is called automatically by the system when there is input on a connected mouse.
+        /// 
         public override void MakeCurrent()
         {
             base.MakeCurrent();
@@ -274,7 +292,9 @@ protected override void OnRemoved()
 
         ////REVIEW: how should we handle this being called from EditorWindow's? (where the editor window space processor will turn coordinates automatically into editor window space)
         /// 
-        /// Move the operating system's mouse cursor.
+        /// Move the operating system's mouse cursor by performing a device command in a similar way to 
+        /// DeviceIoControl on Windows and ioctl
+        /// on UNIX-like systems.
         /// 
         /// New position in player window space.
         /// 
@@ -313,7 +333,9 @@ protected override void FinishSetup()
         /// 
         /// Implements  for the mouse.
         /// 
-        /// 
+        /// Pointer to an . Makes it easier to
+        /// work with InputEvents and hides the unsafe operations necessary to work with them.
+        /// 
         protected new unsafe void OnStateEvent(InputEventPtr eventPtr)
         {
             scroll.AccumulateValueInEvent(currentStatePtr, eventPtr);