Loading include/input/KeyCharacterMap.h +3 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,9 @@ public: KEYBOARD_TYPE_PREDICTIVE = 2, KEYBOARD_TYPE_ALPHA = 3, KEYBOARD_TYPE_FULL = 4, /** * Deprecated. Set 'keyboard.specialFunction' to '1' in the device's IDC file instead. */ KEYBOARD_TYPE_SPECIAL_FUNCTION = 5, KEYBOARD_TYPE_OVERLAY = 6, }; Loading libs/input/KeyCharacterMap.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -824,6 +824,9 @@ status_t KeyCharacterMap::Parser::parseType() { } else if (typeToken == "FULL") { type = KEYBOARD_TYPE_FULL; } else if (typeToken == "SPECIAL_FUNCTION") { ALOGW("The SPECIAL_FUNCTION type is now declared in the device's IDC file, please set " "the property 'keyboard.specialFunction' to '1' there instead."); // TODO: return BAD_VALUE here in Q type = KEYBOARD_TYPE_SPECIAL_FUNCTION; } else if (typeToken == "OVERLAY") { type = KEYBOARD_TYPE_OVERLAY; Loading libs/input/Keyboard.cpp +11 −1 Original line number Diff line number Diff line Loading @@ -148,9 +148,19 @@ String8 KeyMap::getPath(const InputDeviceIdentifier& deviceIdentifier, // --- Global functions --- bool isKeyboardSpecialFunction(const PropertyMap* config) { if (config == nullptr) { return false; } bool isSpecialFunction = false; config->tryGetProperty(String8("keyboard.specialFunction"), isSpecialFunction); return isSpecialFunction; } bool isEligibleBuiltInKeyboard(const InputDeviceIdentifier& deviceIdentifier, const PropertyMap* deviceConfiguration, const KeyMap* keyMap) { if (!keyMap->haveKeyCharacterMap() // TODO: remove the third OR statement (SPECIAL_FUNCTION) in Q if (!keyMap->haveKeyCharacterMap() || isKeyboardSpecialFunction(deviceConfiguration) || keyMap->keyCharacterMap->getKeyboardType() == KeyCharacterMap::KEYBOARD_TYPE_SPECIAL_FUNCTION) { return false; Loading Loading
include/input/KeyCharacterMap.h +3 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,9 @@ public: KEYBOARD_TYPE_PREDICTIVE = 2, KEYBOARD_TYPE_ALPHA = 3, KEYBOARD_TYPE_FULL = 4, /** * Deprecated. Set 'keyboard.specialFunction' to '1' in the device's IDC file instead. */ KEYBOARD_TYPE_SPECIAL_FUNCTION = 5, KEYBOARD_TYPE_OVERLAY = 6, }; Loading
libs/input/KeyCharacterMap.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -824,6 +824,9 @@ status_t KeyCharacterMap::Parser::parseType() { } else if (typeToken == "FULL") { type = KEYBOARD_TYPE_FULL; } else if (typeToken == "SPECIAL_FUNCTION") { ALOGW("The SPECIAL_FUNCTION type is now declared in the device's IDC file, please set " "the property 'keyboard.specialFunction' to '1' there instead."); // TODO: return BAD_VALUE here in Q type = KEYBOARD_TYPE_SPECIAL_FUNCTION; } else if (typeToken == "OVERLAY") { type = KEYBOARD_TYPE_OVERLAY; Loading
libs/input/Keyboard.cpp +11 −1 Original line number Diff line number Diff line Loading @@ -148,9 +148,19 @@ String8 KeyMap::getPath(const InputDeviceIdentifier& deviceIdentifier, // --- Global functions --- bool isKeyboardSpecialFunction(const PropertyMap* config) { if (config == nullptr) { return false; } bool isSpecialFunction = false; config->tryGetProperty(String8("keyboard.specialFunction"), isSpecialFunction); return isSpecialFunction; } bool isEligibleBuiltInKeyboard(const InputDeviceIdentifier& deviceIdentifier, const PropertyMap* deviceConfiguration, const KeyMap* keyMap) { if (!keyMap->haveKeyCharacterMap() // TODO: remove the third OR statement (SPECIAL_FUNCTION) in Q if (!keyMap->haveKeyCharacterMap() || isKeyboardSpecialFunction(deviceConfiguration) || keyMap->keyCharacterMap->getKeyboardType() == KeyCharacterMap::KEYBOARD_TYPE_SPECIAL_FUNCTION) { return false; Loading