diff options
author | yusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-24 22:42:11 +0000 |
---|---|---|
committer | yusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-24 22:42:11 +0000 |
commit | 13591707357cb70489306575ac4a12026ee71d51 (patch) | |
tree | 9418d9bb80e2bf6a8fba35a783d09591c6b790ee | |
parent | 33133665985db413c0fa2bf6e5d5cd679255aff8 (diff) | |
download | chromium_src-13591707357cb70489306575ac4a12026ee71d51.zip chromium_src-13591707357cb70489306575ac4a12026ee71d51.tar.gz chromium_src-13591707357cb70489306575ac4a12026ee71d51.tar.bz2 |
Merge 163397 - 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
TBR=yusukes@chromium.org
Review URL: https://codereview.chromium.org/11271013
git-svn-id: svn://svn.chromium.org/chrome/branches/1271/src@163937 0039d316-1c4b-4281-b951-d872f2087c98
-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: |