Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Unified Diff: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc

Issue 2697413003: [Chrome OS] Expose keyboard auto repeat delay/interval to login screen. (Closed)
Patch Set: Nit. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
index d15de311a2a85e8c40d88ec512ad9dfc5d8d7ed4..c85217606c3974012f8eb679a8ec4b1489bd634d 100644
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
@@ -35,6 +35,7 @@
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
#include "chrome/browser/chromeos/input_method/input_method_util.h"
+#include "chrome/browser/chromeos/language_preferences.h"
#include "chrome/browser/chromeos/login/error_screens_histogram_helper.h"
#include "chrome/browser/chromeos/login/hwid_checker.h"
#include "chrome/browser/chromeos/login/lock/screen_locker.h"
@@ -1436,6 +1437,7 @@ void SigninScreenHandler::HandleFocusPod(const AccountId& account_id) {
account_id);
} else {
SetUserInputMethod(account_id.GetUserEmail(), ime_state_.get());
+ SetKeyboardSettings(account_id);
WallpaperManager::Get()->SetUserWallpaperDelayed(account_id);
bool use_24hour_clock = false;
@@ -1611,4 +1613,32 @@ void SigninScreenHandler::OnAllowedInputMethodsChanged() {
}
}
+void SigninScreenHandler::SetKeyboardSettings(const AccountId& account_id) {
+ bool auto_repeat_enabled = language_prefs::kXkbAutoRepeatEnabled;
+ if (user_manager::known_user::GetBooleanPref(
+ account_id, prefs::kLanguageXkbAutoRepeatEnabled,
+ &auto_repeat_enabled) &&
+ !auto_repeat_enabled) {
+ input_method::InputMethodManager::Get()
+ ->GetImeKeyboard()
+ ->SetAutoRepeatEnabled(false);
+ return;
+ }
+
+ int auto_repeat_delay = language_prefs::kXkbAutoRepeatDelayInMs;
+ int auto_repeat_interval = language_prefs::kXkbAutoRepeatIntervalInMs;
+ user_manager::known_user::GetIntegerPref(
+ account_id, prefs::kLanguageXkbAutoRepeatDelay, &auto_repeat_delay);
+ user_manager::known_user::GetIntegerPref(
+ account_id, prefs::kLanguageXkbAutoRepeatInterval, &auto_repeat_interval);
+ input_method::AutoRepeatRate rate;
+ rate.initial_delay_in_ms = auto_repeat_delay;
+ rate.repeat_interval_in_ms = auto_repeat_interval;
+ input_method::InputMethodManager::Get()
+ ->GetImeKeyboard()
+ ->SetAutoRepeatEnabled(true);
+ input_method::InputMethodManager::Get()->GetImeKeyboard()->SetAutoRepeatRate(
+ rate);
+}
+
} // namespace chromeos
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698