diff options
author | yusukes@google.com <yusukes@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-02 05:55:43 +0000 |
---|---|---|
committer | yusukes@google.com <yusukes@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-02 05:55:43 +0000 |
commit | 08fd60b008d62e3790d520b27ea1ab93a326cbc7 (patch) | |
tree | 2031b513e678b97dc5b3fc703061a181aacf61da /chrome/browser/browser_shutdown.cc | |
parent | a6d066403c98062b15fa2195b5e927c7a95a8fc5 (diff) | |
download | chromium_src-08fd60b008d62e3790d520b27ea1ab93a326cbc7.zip chromium_src-08fd60b008d62e3790d520b27ea1ab93a326cbc7.tar.gz chromium_src-08fd60b008d62e3790d520b27ea1ab93a326cbc7.tar.bz2 |
Listen to XI_HierarchyChanged events and call setxkbmap when needed.
BUG=chromium-os:15851
BUG=chromium-os:15516
TEST=manually done: Log in, change the layout from US Qwerty (US) to US Extended (EXTD), focus Omnibox, press AltGr+a, confirm á is shown, plug a USB keyboard, press AltGr+a, confirm the character again, press ctrl+alt+f2 to show VT2, press ctrl+alt+f1 to go back to X, press AltGr+a, confirm the char again, close lid, open lid, press AltGr+a, confirm the char again.
TEST=On login screen, change the keyboard layout to EXTD, add "sleep 30" to /etc/init/udev-*.conf files, reboot, on login screen, wait for ~30 seconds, press AltGr+a, confirm á is shown.
Review URL: http://codereview.chromium.org/6975057
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87585 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_shutdown.cc')
-rw-r--r-- | chrome/browser/browser_shutdown.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/chrome/browser/browser_shutdown.cc b/chrome/browser/browser_shutdown.cc index 0ab6675..3339a4c 100644 --- a/chrome/browser/browser_shutdown.cc +++ b/chrome/browser/browser_shutdown.cc @@ -54,6 +54,7 @@ #include "chrome/browser/chromeos/cros/cros_library.h" #include "chrome/browser/chromeos/cros/login_library.h" #include "chrome/browser/chromeos/system_key_event_listener.h" +#include "chrome/browser/chromeos/xinput_hierarchy_changed_event_listener.h" #endif using base::Time; @@ -131,6 +132,10 @@ void Shutdown() { // The system key event listener needs to be shut down earlier than when // Singletons are finally destroyed in AtExitManager. chromeos::SystemKeyEventListener::GetInstance()->Stop(); + + // The XInput2 event listener needs to be shut down earlier than when + // Singletons are finally destroyed in AtExitManager. + chromeos::XInputHierarchyChangedEventListener::GetInstance()->Stop(); #endif // WARNING: During logoff/shutdown (WM_ENDSESSION) we may not have enough |