Index: device/hid/hid_usage_and_page.cc |
diff --git a/device/hid/hid_usage_and_page.cc b/device/hid/hid_usage_and_page.cc |
index 773346b7a5b75eac628fb64fed9405c0b176fef3..079ec6623d6f8fc21a2d963cc4602011a8be977d 100644 |
--- a/device/hid/hid_usage_and_page.cc |
+++ b/device/hid/hid_usage_and_page.cc |
@@ -6,8 +6,31 @@ |
namespace device { |
-bool HidUsageAndPage::operator==(const HidUsageAndPage& other) const { |
- return usage == other.usage && usage_page == other.usage_page; |
+bool HidUsageAndPage::IsProtected() const { |
+ if (usage_page == HidUsageAndPage::kPageKeyboard) |
+ return true; |
+ |
+ if (usage_page != HidUsageAndPage::kPageGenericDesktop) |
+ return false; |
+ |
+ if (usage == HidUsageAndPage::kGenericDesktopPointer || |
+ usage == HidUsageAndPage::kGenericDesktopMouse || |
+ usage == HidUsageAndPage::kGenericDesktopKeyboard || |
+ usage == HidUsageAndPage::kGenericDesktopKeypad) { |
+ return true; |
+ } |
+ |
+ if (usage >= HidUsageAndPage::kGenericDesktopSystemControl && |
+ usage <= HidUsageAndPage::kGenericDesktopSystemWarmRestart) { |
+ return true; |
+ } |
+ |
+ if (usage >= HidUsageAndPage::kGenericDesktopSystemDock && |
+ usage <= HidUsageAndPage::kGenericDesktopSystemDisplaySwap) { |
+ return true; |
+ } |
+ |
+ return false; |
} |
} // namespace device |