diff options
author | yusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-22 22:04:17 +0000 |
---|---|---|
committer | yusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-22 22:04:17 +0000 |
commit | dd3bf8e2b94fb9fecbab0c2303521c4684cab5d0 (patch) | |
tree | 68d506693f2bdb62e65099ecffd4c0aba3b4fc17 /ui/base/keycodes | |
parent | f4a4b0ed743b1c56b884d9364759adeca5d64479 (diff) | |
download | chromium_src-dd3bf8e2b94fb9fecbab0c2303521c4684cab5d0.zip chromium_src-dd3bf8e2b94fb9fecbab0c2303521c4684cab5d0.tar.gz chromium_src-dd3bf8e2b94fb9fecbab0c2303521c4684cab5d0.tar.bz2 |
Support Help and Fn keys on Stout.
The scancodes for these keys are <FK14> and <FK15> respectively, that are translated to XF86XK_Launch5 and XF86XK_Launch6 XKeySyms. We have to convert the XKeySyms to valid VKEYs so that they are not filtered out as invalid keys.
BUG=chrome-os-partner:14339
TEST=manually with an old Apple keyboard which has F13-19 keys
Review URL: https://codereview.chromium.org/11238039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163397 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/base/keycodes')
-rw-r--r-- | ui/base/keycodes/keyboard_code_conversion_x.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/ui/base/keycodes/keyboard_code_conversion_x.cc b/ui/base/keycodes/keyboard_code_conversion_x.cc index 3548dcf..d571ce8 100644 --- a/ui/base/keycodes/keyboard_code_conversion_x.cc +++ b/ui/base/keycodes/keyboard_code_conversion_x.cc @@ -336,6 +336,24 @@ KeyboardCode KeyboardCodeFromXKeysym(unsigned int keysym) { case XK_KP_F4: return static_cast<KeyboardCode>(VKEY_F1 + (keysym - XK_KP_F1)); + // When evdev is in use, /usr/share/X11/xkb/symbols/inet maps F13-18 keys + // to the special XF86XK symbols to support Microsoft Ergonomic keyboards: + // https://bugs.freedesktop.org/show_bug.cgi?id=5783 + // In Chrome, we map these X key symbols back to F13-18 since we don't have + // VKEYs for these XF86XK symbols. + case XF86XK_Tools: + return VKEY_F13; + case XF86XK_Launch5: + return VKEY_F14; + case XF86XK_Launch6: + return VKEY_F15; + case XF86XK_Launch7: + return VKEY_F16; + case XF86XK_Launch8: + return VKEY_F17; + case XF86XK_Launch9: + return VKEY_F18; + #if defined(TOOLKIT_GTK) case XF86XK_Refresh: case XF86XK_History: |