void usbHost_MouseConnected(USBHost sender, GHI.Usb.Host.Mouse mouse)
        {
            // Get Mouse information
            uint   id             = mouse.Id;
            byte   interfaceIndex = mouse.InterfaceIndex;
            ushort vendorId       = mouse.VendorId;
            ushort productId      = mouse.ProductId;
            byte   portNumber     = mouse.PortNumber;

            BaseDevice.DeviceType type = mouse.Type;

            // Remove ghi mouse object
            Mouse.CleanGhiMouse();

            // Create new PLCS Mouse Object
            this.mouse = new Mouse(id, interfaceIndex, vendorId, productId, portNumber, type);
            this.mouse.Disconnected += mouse_Disconnected;

            if (mouseFirstConnect)
            {
                LoadMouseData();
            }

            isMouseConnected = true;

            Debug.Print("Mouse Connected");
            Display.UpdateMouseState(true);
        }
        /*
         * MOUSE SECTION
         */
        private void InitMouse()
        {
            mouseFirstConnect = true;

            if (Controller.GetConnectedDevices().Length > 0)
            {
                GHI.Usb.Host.Mouse mouse = (GHI.Usb.Host.Mouse)Controller.GetConnectedDevices()[0];
                usbHost_MouseConnected(usbHost, mouse);
            }
            usbHost.MouseConnected += usbHost_MouseConnected;

            // Setup mouse position reset button
            button.Mode           = Button.LedMode.OnWhilePressed;
            button.ButtonPressed += button_ButtonPressed;
        }