diff options
author | Jamie Walch <jamiewalch@chromium.org> | 2015-05-27 17:38:43 -0700 |
---|---|---|
committer | Jamie Walch <jamiewalch@chromium.org> | 2015-05-28 00:39:58 +0000 |
commit | c92e9ec175a7d77b1a8c54896fecd4b046d31d82 (patch) | |
tree | a7043d62de99a80df385e22d803ed44799b981f1 | |
parent | b400fda43caf36e47a8a3eadd966c27dead980da (diff) | |
download | chromium_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.cc | 9 |
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; |