summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJamie Walch <jamiewalch@chromium.org>2015-05-27 17:38:43 -0700
committerJamie Walch <jamiewalch@chromium.org>2015-05-28 00:39:58 +0000
commitc92e9ec175a7d77b1a8c54896fecd4b046d31d82 (patch)
treea7043d62de99a80df385e22d803ed44799b981f1
parentb400fda43caf36e47a8a3eadd966c27dead980da (diff)
downloadchromium_src-c92e9ec175a7d77b1a8c54896fecd4b046d31d82.zip
chromium_src-c92e9ec175a7d77b1a8c54896fecd4b046d31d82.tar.gz
chromium_src-c92e9ec175a7d77b1a8c54896fecd4b046d31d82.tar.bz2
Disable stuck key detection on all platforms.
Stuck key detection was introduced recently to work around crbug.com/464534. However, the implementation does not take work in some situations, including common symbols entered on some keyboard layouts. Specifically, when typing AltGr+2 (to enter @) on a Swedish keyboard layout, the second keypress event has no modifiers set, causing the AltGr key to be released prematurely. This CL disables stuck key detection in a minimal way, suitable for merging. BUG=492414 TBR=jamiewalch@chromium.org NOTRY=true NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1153183002 Cr-Commit-Position: refs/heads/master@{#331495} (cherry picked from commit 0d2abc2ef4af4cbf5c2dc8e9aaf2a29c7b698106) Review URL: https://codereview.chromium.org/1154983003 Cr-Commit-Position: refs/branch-heads/2403@{#126} Cr-Branched-From: f54b8097a9c45ed4ad308133d49f05325d6c5070-refs/heads/master@{#330231}
-rw-r--r--remoting/client/plugin/chromoting_instance.cc9
1 files changed, 1 insertions, 8 deletions
diff --git a/remoting/client/plugin/chromoting_instance.cc b/remoting/client/plugin/chromoting_instance.cc
index e567a29..3faab96 100644
--- a/remoting/client/plugin/chromoting_instance.cc
+++ b/remoting/client/plugin/chromoting_instance.cc
@@ -643,8 +643,8 @@ void ChromotingInstance::HandleConnect(const base::DictionaryValue& data) {
VLOG(0) << "Connecting to " << host_jid
<< ". Local jid: " << local_jid << ".";
- std::string key_filter;
#if defined(OS_NACL)
+ std::string key_filter;
if (!data.GetString("keyFilter", &key_filter)) {
NOTREACHED();
normalizing_input_filter_.reset(new protocol::InputFilter(&key_mapper_));
@@ -661,19 +661,12 @@ void ChromotingInstance::HandleConnect(const base::DictionaryValue& data) {
#elif defined(OS_MACOSX)
normalizing_input_filter_.reset(new NormalizingInputFilterMac(&key_mapper_));
#elif defined(OS_CHROMEOS)
- key_filter = "cros";
normalizing_input_filter_.reset(new NormalizingInputFilterCros(&key_mapper_));
#else
normalizing_input_filter_.reset(new protocol::InputFilter(&key_mapper_));
#endif
input_handler_.set_input_stub(normalizing_input_filter_.get());
- // Enable stuck modifier key detection on platforms other than ChromeOS.
- // ChromeOS doesn't set modifier flags for "rewritten" keyboard events
- // such as Alt+Backspace, which causes ReleaseAllIfModifiersStuck to
- // incorrectly release all keys, so don't enable it on that platform.
- input_handler_.set_detect_stuck_modifiers(key_filter != "cros");
-
// PPB_VideoDecoder is not always enabled because it's broken in some versions
// of Chrome. See crbug.com/447403 .
bool enable_video_decode_renderer = false;