Don't load keyboard layout overlay for virtual keyboard.
Bug: 6110399
Change-Id: I07c85cf991790ed8766b097acc39295a8065a5ea
diff --git a/services/input/EventHub.cpp b/services/input/EventHub.cpp
index 326dc32..6ec020c 100644
--- a/services/input/EventHub.cpp
+++ b/services/input/EventHub.cpp
@@ -1465,6 +1465,8 @@
device->keyMap.keyCharacterMapFile.string());
dump.appendFormat(INDENT3 "ConfigurationFile: %s\n",
device->configurationFile.string());
+ dump.appendFormat(INDENT3 "HaveKeyboardLayoutOverlay: %s\n",
+ toString(device->overlayKeyMap != NULL));
}
} // release lock
}
diff --git a/services/input/InputReader.cpp b/services/input/InputReader.cpp
index 95e56bf..4cc3d44 100644
--- a/services/input/InputReader.cpp
+++ b/services/input/InputReader.cpp
@@ -963,10 +963,12 @@
}
if (!changes || (changes & InputReaderConfiguration::CHANGE_KEYBOARD_LAYOUTS)) {
- sp<KeyCharacterMap> keyboardLayout =
- mContext->getPolicy()->getKeyboardLayoutOverlay(mIdentifier.descriptor);
- if (mContext->getEventHub()->setKeyboardLayoutOverlay(mId, keyboardLayout)) {
- bumpGeneration();
+ if (!(mClasses & INPUT_DEVICE_CLASS_VIRTUAL)) {
+ sp<KeyCharacterMap> keyboardLayout =
+ mContext->getPolicy()->getKeyboardLayoutOverlay(mIdentifier.descriptor);
+ if (mContext->getEventHub()->setKeyboardLayoutOverlay(mId, keyboardLayout)) {
+ bumpGeneration();
+ }
}
}