summaryrefslogtreecommitdiffstats
path: root/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc
diff options
context:
space:
mode:
authorjbriance <jbriance@cisco.com>2016-03-03 08:32:43 -0800
committerCommit bot <commit-bot@chromium.org>2016-03-03 16:33:51 +0000
commit11da115065f863edf8773f0d44fde7208f0d120c (patch)
tree525948b7b4a6aa3ffbfd2416c8348d3a980306ec /ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc
parentda7b09efcd0331fa9ebcc79f0d591b213d8c7070 (diff)
downloadchromium_src-11da115065f863edf8773f0d44fde7208f0d120c.zip
chromium_src-11da115065f863edf8773f0d44fde7208f0d120c.tar.gz
chromium_src-11da115065f863edf8773f0d44fde7208f0d120c.tar.bz2
xkb: Restore layout init for non CHROMEOS builds
Restore keyboard layout initialization part that has been removed in https://crrev.com/728aa809ad for non CHROMEOS builds. This part was first introduced in https://crrev.com/c288ff74 Review URL: https://codereview.chromium.org/1751403005 Cr-Commit-Position: refs/heads/master@{#379017}
Diffstat (limited to 'ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc')
-rw-r--r--ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc
index f85b651..eb072d0 100644
--- a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc
+++ b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc
@@ -686,8 +686,15 @@ bool XkbKeyboardLayoutEngine::SetCurrentLayoutByName(
true);
return true;
#else
- // NOTIMPLEMENTED();
- return false;
+ // Required by ozone-wayland (at least) for non ChromeOS builds. See
+ // http://xkbcommon.org/doc/current/md_doc_quick-guide.html for further info.
+ xkb_keymap* keymap = xkb_keymap_new_from_string(
+ xkb_context_.get(), layout_name.c_str(), XKB_KEYMAP_FORMAT_TEXT_V1,
+ XKB_KEYMAP_COMPILE_NO_FLAGS);
+ if (!keymap)
+ return false;
+ SetKeymap(keymap);
+ return true;
#endif // defined(OS_CHROMEOS)
}