Chromium Code Reviews| Index: chrome/browser/chromeos/input_method/input_method_manager_impl.cc |
| diff --git a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc |
| index 4a8912e0ac55e03febd05a3d24c8b3bd7738d633..174f01584a0f6eea2b371e51ac802e66d733b175 100644 |
| --- a/chrome/browser/chromeos/input_method/input_method_manager_impl.cc |
| +++ b/chrome/browser/chromeos/input_method/input_method_manager_impl.cc |
| @@ -37,6 +37,53 @@ namespace { |
| const char nacl_mozc_jp_id[] = |
| "_comp_ime_fpfbhcjppmaeaijcidgiibchfbnhbeljnacl_mozc_jp"; |
| +const char *kMod3LayoutIds[] = { |
| + "xkb:de:neo:ger", |
| + "xkb:ca:multix:fra", |
| +}; |
| + |
| +const char *kAltGrLayoutIds[] = { |
| + "xkb:be::fra", |
|
Seigo Nonaka
2014/03/12 19:00:00
Whoa! these xkb IDs are no longer available!(excep
|
| + "xkb:be::ger", |
| + "xkb:be::nld", |
| + "xkb:bg::bul", |
| + "xkb:bg:phonetic:bul", |
| + "xkb:br::por", |
| + "xkb:ca::fra", |
| + "xkb:ca:eng:eng", |
| + "xkb:ca:multix:fra", |
| + "xkb:ch::ger", |
| + "xkb:ch:fr:fra", |
| + "xkb:cz::cze", |
| + "xkb:de::ger", |
| + "xkb:de:neo:ger", |
| + "xkb:dk::dan", |
| + "xkb:ee::est", |
| + "xkb:es::spa", |
| + "xkb:es:cat:cat", |
| + "xkb:fi::fin", |
| + "xkb:fr::fra", |
| + "xkb:gb:dvorak:eng", |
| + "xkb:gb:extd:eng", |
| + "xkb:gr::gre", |
| + "xkb:hr::scr", |
| + "xkb:il::heb", |
| + "xkb:it::ita", |
| + "xkb:latam::spa", |
| + "xkb:lt::lit", |
| + "xkb:no::nob", |
| + "xkb:pl::pol", |
| + "xkb:pt::por", |
| + "xkb:ro::rum", |
| + "xkb:se::swe", |
| + "xkb:si::slv", |
| + "xkb:sk::slo", |
| + "xkb:tr::tur", |
| + "xkb:ua::ukr", |
| + "xkb:us:altgr-intl:eng", |
| + "xkb:us:intl:eng", |
| +}; |
| + |
| bool Contains(const std::vector<std::string>& container, |
| const std::string& value) { |
| return std::find(container.begin(), container.end(), value) != |
| @@ -715,6 +762,22 @@ InputMethodDescriptor InputMethodManagerImpl::GetCurrentInputMethod() const { |
| return current_input_method_; |
| } |
| +bool InputMethodManagerImpl::IsMod3UsedByCurrentInputMethod() const { |
| + for (size_t i = 0; i < arraysize(kMod3LayoutIds); ++i) { |
| + if (GetCurrentInputMethod().id() == kMod3LayoutIds[i]) |
|
Seigo Nonaka
2014/03/12 19:00:00
Hmm, I don't think this works with third-party IME
|
| + return true; |
| + } |
| + return false; |
| +} |
| + |
| +bool InputMethodManagerImpl::IsAltGrUsedByCurrentInputMethod() const { |
| + for (size_t i = 0; i < arraysize(kAltGrLayoutIds); ++i) { |
| + if (GetCurrentInputMethod().id() == kAltGrLayoutIds[i]) |
| + return true; |
| + } |
| + return false; |
| +} |
| + |
| XKeyboard* InputMethodManagerImpl::GetXKeyboard() { |
| return xkeyboard_.get(); |
| } |