diff options
Diffstat (limited to 'services/input/InputReader.cpp')
-rw-r--r-- | services/input/InputReader.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/services/input/InputReader.cpp b/services/input/InputReader.cpp index 8c37fbb6ffae..95e56bf5c7b4 100644 --- a/services/input/InputReader.cpp +++ b/services/input/InputReader.cpp @@ -962,6 +962,14 @@ void InputDevice::configure(nsecs_t when, const InputReaderConfiguration* config mContext->getEventHub()->getConfiguration(mId, &mConfiguration); } + if (!changes || (changes & InputReaderConfiguration::CHANGE_KEYBOARD_LAYOUTS)) { + sp<KeyCharacterMap> keyboardLayout = + mContext->getPolicy()->getKeyboardLayoutOverlay(mIdentifier.descriptor); + if (mContext->getEventHub()->setKeyboardLayoutOverlay(mId, keyboardLayout)) { + bumpGeneration(); + } + } + size_t numMappers = mMappers.size(); for (size_t i = 0; i < numMappers; i++) { InputMapper* mapper = mMappers[i]; |