Loading core/java/android/view/InputDevice.java +12 −0 Original line number Diff line number Diff line Loading @@ -458,6 +458,18 @@ public final class InputDevice implements Parcelable { return mIsExternal; } /** * Returns true if the device is a full keyboard. * * @return True if the device is a full keyboard. * * @hide */ public boolean isFullKeyboard() { return (mSources & SOURCE_KEYBOARD) == SOURCE_KEYBOARD && mKeyboardType == KEYBOARD_TYPE_ALPHABETIC; } /** * Gets the name of this input device. * @return The input device name. Loading services/java/com/android/server/input/InputManagerService.java +1 −7 Original line number Diff line number Diff line Loading @@ -592,7 +592,7 @@ public class InputManagerService extends IInputManager.Stub implements Watchdog. deviceIdAndGeneration[i * 2] = inputDevice.getId(); deviceIdAndGeneration[i * 2 + 1] = inputDevice.getGeneration(); if (isFullKeyboard(inputDevice)) { if (!inputDevice.isVirtual() && inputDevice.isFullKeyboard()) { if (!containsInputDeviceWithDescriptor(oldInputDevices, inputDevice.getDescriptor())) { mTempFullKeyboards.add(numFullKeyboardsAdded++, inputDevice); Loading Loading @@ -695,12 +695,6 @@ public class InputManagerService extends IInputManager.Stub implements Watchdog. reloadKeyboardLayouts(); } private static boolean isFullKeyboard(InputDevice inputDevice) { return !inputDevice.isVirtual() && (inputDevice.getSources() & InputDevice.SOURCE_KEYBOARD) != 0 && inputDevice.getKeyboardType() == InputDevice.KEYBOARD_TYPE_ALPHABETIC; } private static boolean containsInputDeviceWithDescriptor(InputDevice[] inputDevices, String descriptor) { final int numDevices = inputDevices.length; Loading services/java/com/android/server/wm/WindowManagerService.java +4 −3 Original line number Diff line number Diff line Loading @@ -6466,17 +6466,18 @@ public class WindowManagerService extends IWindowManager.Stub WindowManagerPolicy.PRESENCE_INTERNAL; if (mIsTouchDevice) { if ((sources & InputDevice.SOURCE_TOUCHSCREEN) != 0) { if ((sources & InputDevice.SOURCE_TOUCHSCREEN) == InputDevice.SOURCE_TOUCHSCREEN) { config.touchscreen = Configuration.TOUCHSCREEN_FINGER; } } else { config.touchscreen = Configuration.TOUCHSCREEN_NOTOUCH; } if ((sources & InputDevice.SOURCE_TRACKBALL) != 0) { if ((sources & InputDevice.SOURCE_TRACKBALL) == InputDevice.SOURCE_TRACKBALL) { config.navigation = Configuration.NAVIGATION_TRACKBALL; navigationPresence |= presenceFlag; } else if ((sources & InputDevice.SOURCE_DPAD) != 0 } else if ((sources & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD && config.navigation == Configuration.NAVIGATION_NONAV) { config.navigation = Configuration.NAVIGATION_DPAD; navigationPresence |= presenceFlag; Loading Loading
core/java/android/view/InputDevice.java +12 −0 Original line number Diff line number Diff line Loading @@ -458,6 +458,18 @@ public final class InputDevice implements Parcelable { return mIsExternal; } /** * Returns true if the device is a full keyboard. * * @return True if the device is a full keyboard. * * @hide */ public boolean isFullKeyboard() { return (mSources & SOURCE_KEYBOARD) == SOURCE_KEYBOARD && mKeyboardType == KEYBOARD_TYPE_ALPHABETIC; } /** * Gets the name of this input device. * @return The input device name. Loading
services/java/com/android/server/input/InputManagerService.java +1 −7 Original line number Diff line number Diff line Loading @@ -592,7 +592,7 @@ public class InputManagerService extends IInputManager.Stub implements Watchdog. deviceIdAndGeneration[i * 2] = inputDevice.getId(); deviceIdAndGeneration[i * 2 + 1] = inputDevice.getGeneration(); if (isFullKeyboard(inputDevice)) { if (!inputDevice.isVirtual() && inputDevice.isFullKeyboard()) { if (!containsInputDeviceWithDescriptor(oldInputDevices, inputDevice.getDescriptor())) { mTempFullKeyboards.add(numFullKeyboardsAdded++, inputDevice); Loading Loading @@ -695,12 +695,6 @@ public class InputManagerService extends IInputManager.Stub implements Watchdog. reloadKeyboardLayouts(); } private static boolean isFullKeyboard(InputDevice inputDevice) { return !inputDevice.isVirtual() && (inputDevice.getSources() & InputDevice.SOURCE_KEYBOARD) != 0 && inputDevice.getKeyboardType() == InputDevice.KEYBOARD_TYPE_ALPHABETIC; } private static boolean containsInputDeviceWithDescriptor(InputDevice[] inputDevices, String descriptor) { final int numDevices = inputDevices.length; Loading
services/java/com/android/server/wm/WindowManagerService.java +4 −3 Original line number Diff line number Diff line Loading @@ -6466,17 +6466,18 @@ public class WindowManagerService extends IWindowManager.Stub WindowManagerPolicy.PRESENCE_INTERNAL; if (mIsTouchDevice) { if ((sources & InputDevice.SOURCE_TOUCHSCREEN) != 0) { if ((sources & InputDevice.SOURCE_TOUCHSCREEN) == InputDevice.SOURCE_TOUCHSCREEN) { config.touchscreen = Configuration.TOUCHSCREEN_FINGER; } } else { config.touchscreen = Configuration.TOUCHSCREEN_NOTOUCH; } if ((sources & InputDevice.SOURCE_TRACKBALL) != 0) { if ((sources & InputDevice.SOURCE_TRACKBALL) == InputDevice.SOURCE_TRACKBALL) { config.navigation = Configuration.NAVIGATION_TRACKBALL; navigationPresence |= presenceFlag; } else if ((sources & InputDevice.SOURCE_DPAD) != 0 } else if ((sources & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD && config.navigation == Configuration.NAVIGATION_NONAV) { config.navigation = Configuration.NAVIGATION_DPAD; navigationPresence |= presenceFlag; Loading