Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(482)

Unified Diff: ui/events/ozone/evdev/event_device_info.cc

Issue 2805793002: ozone: evdev: Add gamepad support (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/events/ozone/evdev/event_device_info.cc
diff --git a/ui/events/ozone/evdev/event_device_info.cc b/ui/events/ozone/evdev/event_device_info.cc
index aa877e0b18ae4f955bec42af2fbf167bef1841dc..81a2df09afd2b156a162a4286a8f23b8ad13bf2a 100644
--- a/ui/events/ozone/evdev/event_device_info.cc
+++ b/ui/events/ozone/evdev/event_device_info.cc
@@ -427,6 +427,21 @@ bool EventDeviceInfo::HasTouchscreen() const {
return HasAbsXY() && HasDirect();
}
+bool EventDeviceInfo::HasGamepad() const {
+ if (!HasEventType(EV_KEY))
+ return false;
+
+ // If the device has gamepad button, it will be considered
+ // as a gamepad. Note: this WILL have false positives and false negatives. A
+ // concrete solution will use ID_INPUT_JOYSTICK with some patch remving false
+ // positives.
+ for (int key = BTN_JOYSTICK; key <= BTN_THUMBR; ++key)
+ if (HasKeyEvent(key))
+ return true;
+
+ return false;
+}
+
EventDeviceInfo::LegacyAbsoluteDeviceType
EventDeviceInfo::ProbeLegacyAbsoluteDevice() const {
if (!HasAbsXY())

Powered by Google App Engine
This is Rietveld 408576698