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

Side by Side Diff: chrome/browser/chromeos/preferences.cc

Issue 11421055: Add power-user keyboard mode for ChromeOS with Search key acting as a typical Fn key. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Don't avoid remapping Alt-Up etc when a PrefService isn't around Created 8 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/preferences.h" 5 #include "chrome/browser/chromeos/preferences.h"
6 6
7 #include "base/chromeos/chromeos_version.h" 7 #include "base/chromeos/chromeos_version.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/i18n/time_formatting.h" 9 #include "base/i18n/time_formatting.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 PrefService::SYNCABLE_PREF); 226 PrefService::SYNCABLE_PREF);
227 prefs->RegisterIntegerPref(prefs::kLanguageRemapControlKeyTo, 227 prefs->RegisterIntegerPref(prefs::kLanguageRemapControlKeyTo,
228 input_method::kControlKey, 228 input_method::kControlKey,
229 PrefService::SYNCABLE_PREF); 229 PrefService::SYNCABLE_PREF);
230 prefs->RegisterIntegerPref(prefs::kLanguageRemapAltKeyTo, 230 prefs->RegisterIntegerPref(prefs::kLanguageRemapAltKeyTo,
231 input_method::kAltKey, 231 input_method::kAltKey,
232 PrefService::SYNCABLE_PREF); 232 PrefService::SYNCABLE_PREF);
233 prefs->RegisterIntegerPref(prefs::kLanguageRemapCapsLockKeyTo, 233 prefs->RegisterIntegerPref(prefs::kLanguageRemapCapsLockKeyTo,
234 input_method::kCapsLockKey, 234 input_method::kCapsLockKey,
235 PrefService::SYNCABLE_PREF); 235 PrefService::SYNCABLE_PREF);
236 prefs->RegisterBooleanPref(prefs::kLanguageSearchKeyActsAsFunctionKey,
237 false,
238 PrefService::SYNCABLE_PREF);
236 // We don't sync the following keyboard prefs since they are not user- 239 // We don't sync the following keyboard prefs since they are not user-
237 // configurable. 240 // configurable.
238 prefs->RegisterBooleanPref(prefs::kLanguageXkbAutoRepeatEnabled, 241 prefs->RegisterBooleanPref(prefs::kLanguageXkbAutoRepeatEnabled,
239 true, 242 true,
240 PrefService::UNSYNCABLE_PREF); 243 PrefService::UNSYNCABLE_PREF);
241 prefs->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatDelay, 244 prefs->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatDelay,
242 language_prefs::kXkbAutoRepeatDelayInMs, 245 language_prefs::kXkbAutoRepeatDelayInMs,
243 PrefService::UNSYNCABLE_PREF); 246 PrefService::UNSYNCABLE_PREF);
244 prefs->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatInterval, 247 prefs->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatInterval,
245 language_prefs::kXkbAutoRepeatIntervalInMs, 248 language_prefs::kXkbAutoRepeatIntervalInMs,
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 language_prefs::kMozcBooleanPrefs[i].pref_name, prefs, callback); 359 language_prefs::kMozcBooleanPrefs[i].pref_name, prefs, callback);
357 } 360 }
358 for (size_t i = 0; i < language_prefs::kNumMozcMultipleChoicePrefs; ++i) { 361 for (size_t i = 0; i < language_prefs::kNumMozcMultipleChoicePrefs; ++i) {
359 mozc_multiple_choice_prefs_[i].Init( 362 mozc_multiple_choice_prefs_[i].Init(
360 language_prefs::kMozcMultipleChoicePrefs[i].pref_name, prefs, callback); 363 language_prefs::kMozcMultipleChoicePrefs[i].pref_name, prefs, callback);
361 } 364 }
362 for (size_t i = 0; i < language_prefs::kNumMozcIntegerPrefs; ++i) { 365 for (size_t i = 0; i < language_prefs::kNumMozcIntegerPrefs; ++i) {
363 mozc_integer_prefs_[i].Init( 366 mozc_integer_prefs_[i].Init(
364 language_prefs::kMozcIntegerPrefs[i].pref_name, prefs, callback); 367 language_prefs::kMozcIntegerPrefs[i].pref_name, prefs, callback);
365 } 368 }
369 search_key_acts_as_function_key_.Init(
370 prefs::kLanguageSearchKeyActsAsFunctionKey, prefs, callback);
366 xkb_auto_repeat_enabled_.Init( 371 xkb_auto_repeat_enabled_.Init(
367 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); 372 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback);
368 xkb_auto_repeat_delay_pref_.Init( 373 xkb_auto_repeat_delay_pref_.Init(
369 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback); 374 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback);
370 xkb_auto_repeat_interval_pref_.Init( 375 xkb_auto_repeat_interval_pref_.Init(
371 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); 376 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback);
372 377
373 enable_screen_lock_.Init(prefs::kEnableScreenLock, prefs, callback); 378 enable_screen_lock_.Init(prefs::kEnableScreenLock, prefs, callback);
374 379
375 enable_drm_.Init(prefs::kEnableCrosDRM, prefs, callback); 380 enable_drm_.Init(prefs::kEnableCrosDRM, prefs, callback);
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 UMA_HISTOGRAM_BOOLEAN( 515 UMA_HISTOGRAM_BOOLEAN(
511 "FileBrowser.DownloadDestination.IsGoogleDrive.Started", 516 "FileBrowser.DownloadDestination.IsGoogleDrive.Started",
512 default_download_to_drive); 517 default_download_to_drive);
513 } 518 }
514 519
515 if (!pref_name || *pref_name == prefs::kLanguagePreferredLanguages) { 520 if (!pref_name || *pref_name == prefs::kLanguagePreferredLanguages) {
516 // Unlike kLanguagePreloadEngines and some other input method 521 // Unlike kLanguagePreloadEngines and some other input method
517 // preferencs, we don't need to send this to ibus-daemon. 522 // preferencs, we don't need to send this to ibus-daemon.
518 } 523 }
519 524
525 if (!pref_name || *pref_name == prefs::kLanguageSearchKeyActsAsFunctionKey) {
526 const bool right = search_key_acts_as_function_key_.GetValue();
527 PrefService* prefs = g_browser_process->local_state();
Yusuke Sato 2012/11/26 06:09:38 For consistency, I'd prefer not to reflect the own
danakj 2012/11/26 17:20:16 Oh I had trouble with the setting being loaded cor
danakj 2012/11/26 19:36:26 Done.
528 if (prefs->GetBoolean(prefs::kLanguageSearchKeyActsAsFunctionKey) != right)
529 prefs->SetBoolean(prefs::kLanguageSearchKeyActsAsFunctionKey, right);
530 }
531
520 if (!pref_name || *pref_name == prefs::kLanguageXkbAutoRepeatEnabled) { 532 if (!pref_name || *pref_name == prefs::kLanguageXkbAutoRepeatEnabled) {
521 const bool enabled = xkb_auto_repeat_enabled_.GetValue(); 533 const bool enabled = xkb_auto_repeat_enabled_.GetValue();
522 input_method::XKeyboard::SetAutoRepeatEnabled(enabled); 534 input_method::XKeyboard::SetAutoRepeatEnabled(enabled);
523 } 535 }
524 if (!pref_name || ((*pref_name == prefs::kLanguageXkbAutoRepeatDelay) || 536 if (!pref_name || ((*pref_name == prefs::kLanguageXkbAutoRepeatDelay) ||
525 (*pref_name == prefs::kLanguageXkbAutoRepeatInterval))) { 537 (*pref_name == prefs::kLanguageXkbAutoRepeatInterval))) {
526 UpdateAutoRepeatRate(); 538 UpdateAutoRepeatRate();
527 } 539 }
528 540
529 if (!pref_name) { 541 if (!pref_name) {
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
761 773
762 input_method::AutoRepeatRate rate; 774 input_method::AutoRepeatRate rate;
763 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue(); 775 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue();
764 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue(); 776 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue();
765 DCHECK(rate.initial_delay_in_ms > 0); 777 DCHECK(rate.initial_delay_in_ms > 0);
766 DCHECK(rate.repeat_interval_in_ms > 0); 778 DCHECK(rate.repeat_interval_in_ms > 0);
767 input_method::XKeyboard::SetAutoRepeatRate(rate); 779 input_method::XKeyboard::SetAutoRepeatRate(rate);
768 } 780 }
769 781
770 } // namespace chromeos 782 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698