From ff0eb11f2c9bd679eb9e7c55ea5304fe8ff379c4 Mon Sep 17 00:00:00 2001 From: "kevers@chromium.org" Date: Wed, 7 May 2014 13:31:35 +0000 Subject: [PATCH] Ensure VK is updated when switching between a11y and compact layouts. BUG=356687 Review URL: https://codereview.chromium.org/267883002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@268726 0039d316-1c4b-4281-b951-d872f2087c98 --- .../browser/chromeos/accessibility/accessibility_manager.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/chrome/browser/chromeos/accessibility/accessibility_manager.cc b/chrome/browser/chromeos/accessibility/accessibility_manager.cc index 8f650619d3f9..c966159fc2e4 100644 --- a/chrome/browser/chromeos/accessibility/accessibility_manager.cc +++ b/chrome/browser/chromeos/accessibility/accessibility_manager.cc @@ -744,9 +744,16 @@ void AccessibilityManager::UpdateVirtualKeyboardFromPref() { #if defined(USE_ASH) keyboard::SetAccessibilityKeyboardEnabled(enabled); - if (enabled) + // Note that there are two versions of the on-screen keyboard. A full layout + // is provided for accessibility, which includes sticky modifier keys to + // enable typing of hotkeys. A compact version is used in touchview mode + // to provide a layout with larger keys to facilitate touch typing. In the + // event that the a11y keyboard is being disabled, an on-screen keyboard might + // still be enabled and a forced reset is required to pick up the layout + // change. + if (keyboard::IsKeyboardEnabled()) ash::Shell::GetInstance()->CreateKeyboard(); - else if (!keyboard::IsKeyboardEnabled()) + else ash::Shell::GetInstance()->DeactivateKeyboard(); #endif } -- 2.11.4.GIT