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(); |
} |