Stop marking gamepads as keyboards

Change-Id: I0ba49aa3235b2e0a50405cf6d68632e268fe4183
This commit is contained in:
Michael Wright
2013-04-08 18:01:29 -07:00
parent b482a001f1
commit 74c8fb601e

View File

@@ -1162,11 +1162,6 @@ status_t EventHub::openDeviceLocked(const char *devicePath) {
mBuiltInKeyboardId = device->id;
}
// 'Q' key support = cheap test of whether this is an alpha-capable kbd
if (hasKeycodeLocked(device, AKEYCODE_Q)) {
device->classes |= INPUT_DEVICE_CLASS_ALPHAKEY;
}
// See if this device has a DPAD.
if (hasKeycodeLocked(device, AKEYCODE_DPAD_UP) &&
hasKeycodeLocked(device, AKEYCODE_DPAD_DOWN) &&
@@ -1184,6 +1179,14 @@ status_t EventHub::openDeviceLocked(const char *devicePath) {
}
}
// 'Q' key support = cheap test of whether this is an alpha-capable kbd. Many gamepads will
// report a broader set of HID usages than they need, however, so we only want to mark this
// device as a keyboard if it is not a gamepad.
if (hasKeycodeLocked(device, AKEYCODE_Q) &&
!(device->classes & INPUT_DEVICE_CLASS_GAMEPAD)) {
device->classes |= INPUT_DEVICE_CLASS_ALPHAKEY;
}
// Disable kernel key repeat since we handle it ourselves
unsigned int repeatRate[] = {0,0};
if (ioctl(fd, EVIOCSREP, repeatRate)) {