From fbfbdcd6d332ed56cbe6bc03787a52013777716b Mon Sep 17 00:00:00 2001 From: Faryaab Sheikh Date: Sat, 7 Apr 2012 18:20:56 +0100 Subject: [PATCH] ability to force disable hardwarekeyboard taken from cyanogenmod Conflicts: core/res/res/values/config.xml --- core/res/res/values/config.xml | 3 +++ .../com/android/server/wm/WindowManagerService.java | 10 +++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 0c1aec93a7a1e..f10064762fa3e 100755 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -767,4 +767,7 @@ legacy USB manager should be started. --> /sys/devices/platform/usb_mass_storage/lun0/file + + true + diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 3f72dec6f8c2b..c226f1187c8c4 100644 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -564,6 +564,8 @@ public void onReceive(Context context, Intent intent) { final InputManager mInputManager; + private boolean mForceDisableHardwareKeyboard = false; + // Who is holding the screen on. Session mHoldingScreenOn; PowerManager.WakeLock mHoldingScreenWakeLock; @@ -781,6 +783,9 @@ private WindowManagerService(Context context, PowerManagerService pm, mInputManager = new InputManager(context, this); + mForceDisableHardwareKeyboard = context.getResources().getBoolean( + com.android.internal.R.bool.config_forceDisableHardwareKeyboard); + PolicyThread thr = new PolicyThread(mPolicy, this, context, pm); thr.start(); @@ -6091,7 +6096,10 @@ boolean computeNewConfigurationLocked(Configuration config) { config.compatSmallestScreenWidthDp = computeCompatSmallestWidth(rotated, dm, dw, dh); // Determine whether a hard keyboard is available and enabled. - boolean hardKeyboardAvailable = config.keyboard != Configuration.KEYBOARD_NOKEYS; + boolean hardKeyboardAvailable = false; + if (!mForceDisableHardwareKeyboard) { + hardKeyboardAvailable = config.keyboard != Configuration.KEYBOARD_NOKEYS; + } if (hardKeyboardAvailable != mHardKeyboardAvailable) { mHardKeyboardAvailable = hardKeyboardAvailable; mHardKeyboardEnabled = hardKeyboardAvailable;