mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 08:45:46 +00:00
6f732cd3ed
Unfortunately there is no realiable way to tell whether there is no mouse connected or not. So we are going to take a heuristic way here. The way is that; 1) Count mouse type devices with SetupDiEnumDeviceInterfaces [1] 2) If the count is 1 and if the system is used as tablet or has a touch device, the device should be COARSE This way causes a misrecognition as if there is a mouse device in the case where the touchscreen is disabled on the tablet even if there is no mouse connected (i.e. the case where CountMouseDevices() returns 1 and the system is on table mode). We will try to fix the misrecognition in a later bug (bug 1495938). [1] https://docs.microsoft.com/en-us/windows/desktop/api/setupapi/nf-setupapi-setupdienumdeviceinterfaces Differential Revision: https://phabricator.services.mozilla.com/D7565 --HG-- extra : moz-landing-system : lando
27 lines
824 B
C++
27 lines
824 B
C++
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim:set ts=2 sts=2 sw=2 et cin: */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef mozilla_widget_InputDeviceUtils_h__
|
|
#define mozilla_widget_InputDeviceUtils_h__
|
|
|
|
#include <windows.h>
|
|
|
|
namespace mozilla {
|
|
namespace widget {
|
|
|
|
class InputDeviceUtils {
|
|
public:
|
|
static HDEVNOTIFY RegisterNotification(HWND aHwnd);
|
|
static void UnregisterNotification(HDEVNOTIFY aHandle);
|
|
|
|
// Returns the number of mouse type devices connected to this system.
|
|
static DWORD CountMouseDevices();
|
|
};
|
|
|
|
} // namespace widget
|
|
} // namespace mozilla
|
|
#endif // mozilla_widget_InputDeviceUtils_h__
|