diff git a/Source/WebCore/platform/haiku/PlatformKeyboardEventHaiku.cpp b/Source/WebCore/platform/haiku/PlatformKeyboardEventHaiku.cpp
a

b


324  324  return singleByte; 
325  325  } 
326  326  
 327  static String KeyValueForKeyEvent(unsigned char singleByte, int keyCode) 
 328  { 
 329  switch (singleByte) { 
 330  
 331  case B_FUNCTION_KEY: 
 332  switch (keyCode) { 
 333  case B_F1_KEY: 
 334  return "F1"; 
 335  case B_F2_KEY: 
 336  return "F2"; 
 337  case B_F3_KEY: 
 338  return "F3"; 
 339  case B_F4_KEY: 
 340  return "F4"; 
 341  case B_F5_KEY: 
 342  return "F5"; 
 343  case B_F6_KEY: 
 344  return "F6"; 
 345  case B_F7_KEY: 
 346  return "F7"; 
 347  case B_F8_KEY: 
 348  return "F8"; 
 349  case B_F9_KEY: 
 350  return "F9"; 
 351  case B_F10_KEY: 
 352  return "F10"; 
 353  case B_F11_KEY: 
 354  return "F11"; 
 355  case B_F12_KEY: 
 356  return "F12"; 
 357  case B_PRINT_KEY: 
 358  return "Print"; 
 359  case B_PAUSE_KEY: 
 360  return "Pause"; 
 361  case B_SCROLL_KEY: 
 362  return "ScrollLock"; 
 363  case B_SHIFT_KEY: 
 364  return "Shift"; 
 365  case B_LEFT_CONTROL_KEY: // B_CONTROL_KEY = B_F3_KEY..? 
 366  case B_RIGHT_CONTROL_KEY: 
 367  return "Control"; 
 368  } 
 369  
 370  break; 
 371  
 372  case B_BACKSPACE: 
 373  return "Backspace"; 
 374  case B_LEFT_ARROW: 
 375  return "ArrowLeft"; 
 376  case B_RIGHT_ARROW: 
 377  return "ArrowRight"; 
 378  case B_UP_ARROW: 
 379  return "ArrowUp"; 
 380  case B_DOWN_ARROW: 
 381  return "ArrowDown"; 
 382  case B_INSERT: 
 383  return "Insert"; 
 384  case B_ENTER: 
 385  return "Enter"; 
 386  case B_DELETE: 
 387  return "Delete"; 
 388  case B_HOME: 
 389  return "Home"; 
 390  case B_END: 
 391  return "End"; 
 392  case B_PAGE_UP: 
 393  return "PageUp"; 
 394  case B_PAGE_DOWN: 
 395  return "PageDown"; 
 396  case B_TAB: 
 397  return "Tab"; 
 398  case B_SPACE: 
 399  return " "; // (20) SPACEBAR 
 400  
 401  
 402  case B_COMMAND_KEY: 
 403  return "Alt"; 
 404  
 405  case B_OPTION_KEY: 
 406  return "Compose"; // ?? why compose? fx also said "Process" 
 407  case B_MENU_KEY: 
 408  return "ContextMenu"; 
 409  case B_ESCAPE: 
 410  return "Escape"; 
 411  
 412  default: { 
 413  String keyVal = String::format("%c", singleByte); 
 414  if (keyVal != "") { 
 415  return keyVal; 
 416  } 
 417  
 418  } 
 419  } 
 420  return "Unidentified"; 
 421  } 
 422  
 423  static String KeyCodeForKeyEvent(int keyCode) 
 424  { 
 425  switch (keyCode) { 
 426  case 0x0001: 
 427  return "Escape"; 
 428  case 0x0002: 
 429  return "F1"; 
 430  case 0x0003: 
 431  return "F2"; 
 432  case 0x0004: 
 433  return "F3"; 
 434  case 0x0005: 
 435  return "F4"; 
 436  case 0x0006: 
 437  return "F5"; 
 438  case 0x0007: 
 439  return "F6"; 
 440  case 0x0008: 
 441  return "F7"; 
 442  case 0x0009: 
 443  return "F8"; 
 444  case 0x000A: 
 445  return "F9"; 
 446  case 0x000B: 
 447  return "F10"; 
 448  case 0x000C: 
 449  return "F11"; 
 450  case 0x000D: 
 451  return "F12"; 
 452  
 453  case 0x000E: 
 454  return "PrintScreen"; 
 455  case 0x000F: 
 456  return "ScrollLock"; 
 457  case 0x0010: 
 458  return "Pause"; 
 459  
 460  case 0x0011: 
 461  return "Backquote"; 
 462  case 0x0012: 
 463  return "Digit1"; 
 464  case 0x0013: 
 465  return "Digit2"; 
 466  case 0x0014: 
 467  return "Digit3"; 
 468  case 0x0015: 
 469  return "Digit4"; 
 470  case 0x0016: 
 471  return "Digit5"; 
 472  case 0x0017: 
 473  return "Digit6"; 
 474  case 0x0018: 
 475  return "Digit7"; 
 476  case 0x0019: 
 477  return "Digit8"; 
 478  case 0x001A: 
 479  return "Digit9"; 
 480  case 0x001B: 
 481  return "Digit0"; 
 482  case 0x001C: 
 483  return "Minus"; 
 484  case 0x001D: 
 485  return "Equal"; 
 486  case 0x001E: 
 487  return "Backspace"; // IntYen 
 488  
 489  case 0x001F: 
 490  return "Insert"; 
 491  case 0x0020: 
 492  return "Home"; 
 493  case 0x0021: 
 494  return "PageUp"; 
 495  
 496  case 0x0022: 
 497  return "NumLock"; 
 498  case 0x0023: 
 499  return "NumpadDivide"; 
 500  case 0x0024: 
 501  return "NumpadMultiply"; 
 502  case 0x0025: 
 503  return "NumpadSubtract"; 
 504  
 505  case 0x0026: 
 506  return "Tab"; 
 507  case 0x0027: 
 508  return "KeyQ"; 
 509  case 0x0028: 
 510  return "KeyW"; 
 511  case 0x0029: 
 512  return "KeyE"; 
 513  case 0x002A: 
 514  return "KeyR"; 
 515  case 0x002B: 
 516  return "KeyT"; 
 517  case 0x002C: 
 518  return "KeyY"; 
 519  case 0x002D: 
 520  return "KeyU"; 
 521  case 0x002E: 
 522  return "KeyI"; 
 523  case 0x002F: 
 524  return "KeyO"; 
 525  case 0x0030: 
 526  return "KepP"; 
 527  case 0x0031: 
 528  return "BracketLeft"; 
 529  case 0x0032: 
 530  return "BracketRight"; 
 531  case 0x0033: 
 532  return "Backslash"; 
 533  
 534  case 0x0034: 
 535  return "Delete"; 
 536  case 0x0035: 
 537  return "End"; 
 538  case 0x0036: 
 539  return "PageDown"; 
 540  
 541  case 0x0037: 
 542  return "Numpad7"; 
 543  case 0x0038: 
 544  return "Numpad8"; 
 545  case 0x0039: 
 546  return "Numpad9"; 
 547  case 0x003A: 
 548  return "NumpadAdd"; 
 549  
 550  case 0x003B: 
 551  return "CapsLock"; 
 552  case 0x003C: 
 553  return "KeyA"; 
 554  case 0x003D: 
 555  return "KeyS"; 
 556  case 0x003E: 
 557  return "KeyD"; 
 558  case 0x003F: 
 559  return "KeyF"; 
 560  case 0x0040: 
 561  return "KeyG"; 
 562  case 0x0041: 
 563  return "KeyH"; 
 564  case 0x0042: 
 565  return "KeyJ"; 
 566  case 0x0043: 
 567  return "KeyK"; 
 568  case 0x0044: 
 569  return "KeyL"; 
 570  case 0x0045: 
 571  return "Semicolon"; 
 572  case 0x0046: 
 573  return "Quote"; 
 574  case 0x0047: 
 575  return "Return"; 
 576  
 577  case 0x0048: 
 578  return "Numpad4"; 
 579  case 0x0049: 
 580  return "Numpad5"; 
 581  case 0x004A: 
 582  return "Numpad6"; 
 583  
 584  case 0x004B: 
 585  return "ShiftLeft"; 
 586  case 0x004C: 
 587  return "KeyZ"; 
 588  case 0x004D: 
 589  return "KeyX"; 
 590  case 0x004E: 
 591  return "KeyC"; 
 592  case 0x004F: 
 593  return "KeyV"; 
 594  case 0x0050: 
 595  return "KeyB"; 
 596  case 0x0051: 
 597  return "KeyN"; 
 598  case 0x0052: 
 599  return "KeyM"; 
 600  case 0x0053: 
 601  return "Comma"; 
 602  case 0x0054: 
 603  return "Period"; 
 604  case 0x0055: 
 605  return "Slash"; 
 606  case 0x0056: 
 607  return "ShiftRight"; 
 608  
 609  case 0x0057: 
 610  return "ArrowUp"; 
 611  case 0x0058: 
 612  return "Digit1"; 
 613  case 0x0059: 
 614  return "Digit2"; 
 615  case 0x005A: 
 616  return "Digit3"; 
 617  case 0x005B: 
 618  return "NumpadEnter"; 
 619  case 0x005C: 
 620  return "ControlLeft"; 
 621  case 0x005D: 
 622  return "AltLeft"; 
 623  case 0x005E: 
 624  return "Space"; 
 625  case 0x005F: 
 626  return "AltRight"; 
 627  case 0x0060: 
 628  return "ControlRight"; 
 629  case 0x0061: 
 630  return "ArrowLeft"; 
 631  case 0x0062: 
 632  return "ArrowDown"; 
 633  case 0x0063: 
 634  return "ArrowRight"; 
 635  case 0x0064: 
 636  return "Numpad0"; 
 637  case 0x0065: 
 638  return "NumpadDecimal"; 
 639  case 0x0066: 
 640  return "OSLeft"; // MetaLeft 
 641  case 0x0067: 
 642  return "OSRight"; 
 643  case 0x0068: 
 644  return "ContextMenu"; 
 645  case 0x0069: 
 646  return "IntlBackslash"; 
 647  case 0x006a: 
 648  return "NumPadEqual"; 
 649  } 
 650  return "Unidentified"; 
 651  } 
 652  
327  653  PlatformKeyboardEvent::PlatformKeyboardEvent(BMessage* message) 
328  654  : m_autoRepeat(false) 
329  655  , m_isKeypad(false) 
… 
… 

335  663  m_keyIdentifier = keyIdentifierForHaikuKeyCode(bytes.ByteAt(0), nativeVirtualKeyCode); 
336  664  
337  665  m_windowsVirtualKeyCode = windowsKeyCodeForKeyEvent(bytes.ByteAt(0), nativeVirtualKeyCode); 
 666  m_key = KeyValueForKeyEvent(bytes.ByteAt(0), nativeVirtualKeyCode); 
 667  m_code = KeyCodeForKeyEvent(nativeVirtualKeyCode); 
338  668  
339  669  if (message>what == B_KEY_UP) 
340  670  m_type = KeyUp; 
diff git a/Source/cmake/OptionsHaiku.cmake b/Source/cmake/OptionsHaiku.cmake
a

b


77  77  WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_DATE PUBLIC ON) 
78  78  WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_MONTH PUBLIC ON) 
79  79  WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_TIME PUBLIC ON) 
 80  WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_KEYBOARD_CODE_ATTRIBUTE PUBLIC ON) 
 81  WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_KEYBOARD_KEY_ATTRIBUTE PUBLIC ON) 
80  82  WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_CAPTURE PUBLIC ON) 
81  83  WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_CONTROLS_SCRIPT PUBLIC ON) 
82  84  WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SOURCE PUBLIC OFF) 