Changeset 152961 in webkit
- Timestamp:
- Jul 22, 2013 4:44:08 AM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r152955 r152961 1 2013-07-11 Allan Sandfeld Jensen <allan.jensen@digia.com> 2 3 [Qt] Implement more of DOM3 KeyEvent key-identifiers 4 https://bugs.webkit.org/show_bug.cgi?id=118566 5 6 Reviewed by Jocelyn Turcotte. 7 8 Implemented as many of the key values from http://www.w3.org/TR/DOM-Level-3-Events/#key-values-list 9 as Qt keycodes support. 10 11 Also corrected the mapping of the Menu key, which was confused because MENU 12 is also the ancient Microsoft speak for the Alt keys. 13 14 * platform/qt/PlatformKeyboardEventQt.cpp: 15 (WebCore::keyIdentifierForQtKeyCode): 16 1 17 2013-07-21 Gyuyoung Kim <gyuyoung.kim@samsung.com> 2 18 -
trunk/Source/WebCore/platform/qt/PlatformKeyboardEventQt.cpp
r151588 r152961 40 40 String keyIdentifierForQtKeyCode(int keyCode) 41 41 { 42 // Based on http://www.w3.org/TR/DOM-Level-3-Events/#key-values-list 42 43 switch (keyCode) { 43 case Qt::Key_Menu: 44 case Qt::Key_unknown: 45 return ASCIILiteral("Unidentified"); 44 46 case Qt::Key_Alt: 45 47 return ASCIILiteral("Alt"); 46 case Qt::Key_Clear: 47 return ASCIILiteral("Clear"); 48 case Qt::Key_Down: 49 return ASCIILiteral("Down"); 50 case Qt::Key_End: 51 return ASCIILiteral("End"); 52 case Qt::Key_Return: 53 case Qt::Key_Enter: 54 return ASCIILiteral("Enter"); 55 case Qt::Key_Execute: 56 return ASCIILiteral("Execute"); 48 case Qt::Key_AltGr: 49 return ASCIILiteral("AltGraph"); 50 case Qt::Key_Control: 51 return ASCIILiteral("Control"); 52 case Qt::Key_Meta: 53 return ASCIILiteral("Meta"); 54 case Qt::Key_Shift: 55 return ASCIILiteral("Shift"); 56 case Qt::Key_Multi_key: 57 return ASCIILiteral("Compose"); 57 58 case Qt::Key_F1: 58 59 return ASCIILiteral("F1"); … … 103 104 case Qt::Key_F24: 104 105 return ASCIILiteral("F24"); 106 // 'LaunchApplication1' 107 // 'LaunchApplication2' 108 case Qt::Key_LaunchMail: 109 return ASCIILiteral("LaunchMail"); 110 // 'List' 111 // 'Props' 112 // 'Soft1' 113 // 'Soft2' 114 // 'Soft3' 115 // 'Soft4' 116 case Qt::Key_Yes: 117 return ASCIILiteral("Accept"); 118 // 'Again' 119 case Qt::Key_Return: 120 case Qt::Key_Enter: 121 return ASCIILiteral("Enter"); 122 // 'Find' 105 123 case Qt::Key_Help: 106 124 return ASCIILiteral("Help"); 107 case Qt::Key_Home: 108 return ASCIILiteral("Home"); 109 case Qt::Key_Insert: 110 return ASCIILiteral("Insert"); 125 // 'Info' 126 case Qt::Key_Menu: 127 case Qt::Key_MenuKB: 128 return ASCIILiteral("Menu"); 129 case Qt::Key_Pause: 130 return ASCIILiteral("Pause"); 131 case Qt::Key_Play: 132 return ASCIILiteral("Play"); 133 case Qt::Key_Execute: 134 return ASCIILiteral("Execute"); 135 case Qt::Key_Cancel: 136 return ASCIILiteral("Cancel"); 137 case Qt::Key_Escape: 138 return ASCIILiteral("Esc"); 139 // 'Exit' 140 case Qt::Key_Zoom: 141 return ASCIILiteral("Zoom"); 142 case Qt::Key_Comma: 143 return ASCIILiteral("Seperator"); 144 case Qt::Key_Plus: 145 return ASCIILiteral("Add"); 146 case Qt::Key_Minus: 147 return ASCIILiteral("Subtract"); 148 case Qt::Key_Asterisk: 149 return ASCIILiteral("Multiply"); 150 case Qt::Key_Slash: 151 return ASCIILiteral("Divide"); 152 case Qt::Key_Equal: 153 return ASCIILiteral("Equals"); 154 case Qt::Key_Period: 155 return ASCIILiteral("Decimal"); 156 case Qt::Key_MonBrightnessDown: 157 return ASCIILiteral("BrightnessDown"); 158 case Qt::Key_MonBrightnessUp: 159 return ASCIILiteral("BrightnessUp"); 160 case Qt::Key_Camera: 161 return ASCIILiteral("Camera"); 162 case Qt::Key_Eject: 163 return ASCIILiteral("Eject"); 164 case Qt::Key_PowerDown: 165 case Qt::Key_PowerOff: 166 return ASCIILiteral("Power"); 167 case Qt::Key_Print: 168 return ASCIILiteral("PrintScreen"); 169 case Qt::Key_Favorites: 170 return ASCIILiteral("BrowserFavorites"); 171 case Qt::Key_HomePage: 172 return ASCIILiteral("BrowserHome"); 173 case Qt::Key_Refresh: 174 return ASCIILiteral("BrowserRefresh"); 175 case Qt::Key_Search: 176 return ASCIILiteral("BrowserSearch"); 177 case Qt::Key_Stop: 178 return ASCIILiteral("BrowserStop"); 179 case Qt::Key_Back: 180 return ASCIILiteral("BrowserBack"); 181 case Qt::Key_Forward: 182 return ASCIILiteral("BrowserForward"); 111 183 case Qt::Key_Left: 112 184 return ASCIILiteral("Left"); … … 115 187 case Qt::Key_PageUp: 116 188 return ASCIILiteral("PageUp"); 117 case Qt::Key_Pause:118 return ASCIILiteral("Pause");119 case Qt::Key_Print:120 return ASCIILiteral("PrintScreen");121 189 case Qt::Key_Right: 122 190 return ASCIILiteral("Right"); 191 case Qt::Key_Up: 192 return ASCIILiteral("Up"); 193 // 'UpLeft' 194 // 'UpRight' 195 case Qt::Key_Down: 196 return ASCIILiteral("Down"); 197 // 'DownLeft' 198 // 'DownRight' 199 case Qt::Key_Home: 200 return ASCIILiteral("Home"); 201 case Qt::Key_End: 202 return ASCIILiteral("End"); 123 203 case Qt::Key_Select: 124 204 return ASCIILiteral("Select"); 125 case Qt::Key_Up: 126 return ASCIILiteral("Up"); 127 // Standard says that DEL becomes U+007F. 205 case Qt::Key_Clear: 206 return ASCIILiteral("Clear"); 207 case Qt::Key_Copy: 208 return ASCIILiteral("Copy"); 209 case Qt::Key_Cut: 210 return ASCIILiteral("Cut"); 211 // 'EraseEof' 212 case Qt::Key_Insert: 213 return ASCIILiteral("Insert"); 214 case Qt::Key_Paste: 215 return ASCIILiteral("Paste"); 216 // 'Undo' 217 case Qt::Key_Dead_Grave: 218 return ASCIILiteral("DeadGrave"); 219 case Qt::Key_Dead_Acute: 220 return ASCIILiteral("DeadAcute"); 221 case Qt::Key_Dead_Circumflex: 222 return ASCIILiteral("DeadCircumflex"); 223 case Qt::Key_Dead_Tilde: 224 return ASCIILiteral("DeadTilde"); 225 case Qt::Key_Dead_Macron: 226 return ASCIILiteral("DeadMacron"); 227 case Qt::Key_Dead_Breve: 228 return ASCIILiteral("DeadBreve"); 229 case Qt::Key_Dead_Abovedot: 230 return ASCIILiteral("DeadAboveDot"); 231 case Qt::Key_Dead_Diaeresis: 232 return ASCIILiteral("DeadUmlaut"); 233 case Qt::Key_Dead_Abovering: 234 return ASCIILiteral("DeadAboveRing"); 235 case Qt::Key_Dead_Doubleacute: 236 return ASCIILiteral("DeadDoubleAcute"); 237 case Qt::Key_Dead_Caron: 238 return ASCIILiteral("DeadCaron"); 239 case Qt::Key_Dead_Cedilla: 240 return ASCIILiteral("DeadCedilla"); 241 case Qt::Key_Dead_Ogonek: 242 return ASCIILiteral("DeadOgonek"); 243 case Qt::Key_Dead_Iota: 244 return ASCIILiteral("DeadIota"); 245 case Qt::Key_Dead_Voiced_Sound: 246 return ASCIILiteral("DeadVoicedSound"); 247 case Qt::Key_Dead_Semivoiced_Sound: 248 return ASCIILiteral("DeadSemivoicedSound"); 249 250 case Qt::Key_MultipleCandidate: 251 return ASCIILiteral("AllCandidate"); 252 case Qt::Key_SingleCandidate: 253 return ASCIILiteral("NextCandidate"); 254 case Qt::Key_PreviousCandidate: 255 return ASCIILiteral("PreviousCandidate"); 256 case Qt::Key_Codeinput: 257 return ASCIILiteral("CodeInput"); 258 259 case Qt::Key_Mode_switch: 260 return ASCIILiteral("ModeChange"); 261 case Qt::Key_Hangul: 262 return ASCIILiteral("HangulMode"); 263 case Qt::Key_Hangul_Hanja: 264 return ASCIILiteral("HanjaMode"); 265 case Qt::Key_Hiragana: 266 return ASCIILiteral("Hiragana"); 267 case Qt::Key_Kana_Lock: 268 case Qt::Key_Kana_Shift: 269 return ASCIILiteral("KanaMode"); 270 case Qt::Key_Kanji: 271 return ASCIILiteral("KanjiMode"); 272 case Qt::Key_Katakana: 273 return ASCIILiteral("Katakana"); 274 275 // 'AudioFaderFront' 276 // 'AudioFaderRear' 277 // 'AudioBalanceLeft' 278 // 'AudioBalanceRight' 279 case Qt::Key_BassDown: 280 return ASCIILiteral("AudioBassBoostDown"); 281 case Qt::Key_BassUp: 282 return ASCIILiteral("AudioBassBoostUp"); 283 case Qt::Key_VolumeMute: 284 return ASCIILiteral("VolumeMute"); 285 case Qt::Key_VolumeDown: 286 return ASCIILiteral("VolumeDown"); 287 case Qt::Key_VolumeUp: 288 return ASCIILiteral("VolumeUp"); 289 case Qt::Key_MediaPause: 290 return ASCIILiteral("MediaPause"); 291 case Qt::Key_MediaPlay: 292 return ASCIILiteral("MediaPlay"); 293 // 'MediaTrackEnd' 294 case Qt::Key_MediaNext: 295 return ASCIILiteral("MediaNextTrack"); 296 case Qt::Key_MediaTogglePlayPause: 297 return ASCIILiteral("MediaPlayPause"); 298 case Qt::Key_MediaPrevious: 299 return ASCIILiteral("MediaPreviousTrack"); 300 // 'MediaTrackSkip' 301 // 'MediaTrackStart' 302 case Qt::Key_MediaStop: 303 return ASCIILiteral("MediaStop"); 304 case Qt::Key_LaunchMedia: 305 return ASCIILiteral("SelectMedia"); 306 307 case Qt::Key_AudioForward: 308 return ASCIILiteral("FastFwd"); 309 case Qt::Key_MediaRecord: 310 return ASCIILiteral("MediaRecord"); 311 case Qt::Key_AudioRewind: 312 return ASCIILiteral("MediaRewind"); 313 case Qt::Key_Subtitle: 314 return ASCIILiteral("Subtitle"); 315 #if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0) 316 case Qt::Key_Blue: 317 return ASCIILiteral("Blue"); 318 case Qt::Key_ChannelDown: 319 return ASCIILiteral("ChannelDown"); 320 case Qt::Key_ChannelUp: 321 return ASCIILiteral("ChannelUp"); 322 case Qt::Key_Green: 323 return ASCIILiteral("Green"); 324 case Qt::Key_Red: 325 return ASCIILiteral("Red"); 326 case Qt::Key_Yellow: 327 return ASCIILiteral("Yellow"); 328 #endif 329 // Keys we have returned U+charcode for in the past. 330 // FIXME: Change them to correct standard values if others do. 331 case Qt::Key_Tab: 332 case Qt::Key_Backtab: 333 return ASCIILiteral("U+0009"); // return ASCIILiteral("Tab"); 334 case Qt::Key_Backspace: 335 return ASCIILiteral("U+0008"); // return ASCIILiteral("Backspace"); 128 336 case Qt::Key_Delete: 129 return ASCIILiteral("U+007F"); 130 case Qt::Key_Backspace: 131 return ASCIILiteral("U+0008"); 132 case Qt::Key_Tab: 133 return ASCIILiteral("U+0009"); 134 case Qt::Key_Backtab: 135 return ASCIILiteral("U+0009"); 337 return ASCIILiteral("U+007F"); // return ASCIILiteral("Del"); 136 338 default: 137 return String::format("U+%04X", toupper(keyCode)); 339 if (keyCode < 128) 340 return String::format("U+%04X", toASCIIUpper(keyCode)); 341 return String(); 138 342 } 139 343 } … … 218 422 case Qt::Key_Control: 219 423 return VK_CONTROL; // (11) CTRL key 220 case Qt::Key_Menu:221 424 case Qt::Key_Alt: 222 425 return VK_MENU; // (12) ALT key … … 407 610 // case Qt::Key_Meta_R: FIXME: What to do here? 408 611 // return VK_RWIN; // (5C) Right Windows key (Natural keyboard) 409 // VK_APPS (5D) Applications key (Natural keyboard) 612 case Qt::Key_Menu: 613 return VK_APPS; // (5D) Applications key (Natural keyboard) 410 614 // VK_SLEEP (5F) Computer Sleep key 411 615 // VK_SEPARATOR (6C) Separator key
Note: See TracChangeset
for help on using the changeset viewer.