summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/brew/PlatformKeyboardEventBrew.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform/brew/PlatformKeyboardEventBrew.cpp')
-rw-r--r--WebCore/platform/brew/PlatformKeyboardEventBrew.cpp261
1 files changed, 0 insertions, 261 deletions
diff --git a/WebCore/platform/brew/PlatformKeyboardEventBrew.cpp b/WebCore/platform/brew/PlatformKeyboardEventBrew.cpp
deleted file mode 100644
index fc6a753..0000000
--- a/WebCore/platform/brew/PlatformKeyboardEventBrew.cpp
+++ /dev/null
@@ -1,261 +0,0 @@
-/*
- * Copyright (C) 2010 Company 100, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "PlatformKeyboardEvent.h"
-
-#include "NotImplemented.h"
-#include "WindowsKeyboardCodes.h"
-
-#include <AEEEvent.h>
-#include <AEEIKeysMapping.h>
-#include <AEEKeysMapping.bid>
-#include <AEEStdDef.h>
-#include <AEEVCodes.h>
-
-#include <wtf/brew/RefPtrBrew.h>
-#include <wtf/brew/ShellBrew.h>
-
-namespace WebCore {
-
-static String keyIdentifierForBrewKeyCode(uint16 keyCode)
-{
- switch (keyCode) {
- case AVK_LALT:
- case AVK_RALT:
- return "Alt";
- case AVK_LCTRL:
- case AVK_RCTRL:
- return "Control";
- case AVK_LSHIFT:
- case AVK_RSHIFT:
- return "Shift";
- case AVK_CAPLK:
- return "CapsLock";
- case AVK_FUNCTION1:
- return "F1";
- case AVK_FUNCTION2:
- return "F2";
- case AVK_FUNCTION3:
- return "F3";
- case AVK_FUNCTION4:
- return "F4";
- case AVK_FUNCTION5:
- return "F5";
- case AVK_FUNCTION6:
- return "F6";
- case AVK_FUNCTION7:
- return "F7";
- case AVK_FUNCTION8:
- return "F8";
- case AVK_FUNCTION9:
- return "F9";
- case AVK_FUNCTION10:
- return "F10";
- case AVK_FUNCTION11:
- return "F11";
- case AVK_FUNCTION12:
- return "F12";
- case AVK_PRSCRN:
- return "PrintScreen";
- case AVK_LEFT:
- return "Left";
- case AVK_RIGHT:
- return "Right";
- case AVK_UP:
- return "Up";
- case AVK_DOWN:
- return "Down";
- case AVK_TXINSERT:
- return "Insert";
- case AVK_ENTER:
- return "Enter";
- case AVK_TXHOME:
- return "Home";
- case AVK_TXDELETE:
- // Standard says that DEL becomes U+007F.
- return "U+007F";
- case AVK_TXEND:
- return "End";
- case AVK_TXPGUP:
- return "PageUp";
- case AVK_TXPGDOWN:
- return "PageDown";
- case AVK_FUNCTION:
- return "U+0009";
- default:
- return String::format("U+%04X", toASCIIUpper(keyCode));
- }
-}
-
-static int windowsKeyCodeForKeyEvent(uint16 code)
-{
- switch (code) {
- case AVK_CLR:
- return VK_BACK; // (08) BACKSPACE key
- case AVK_ENTER:
- return VK_RETURN; // (0D) Return key
- case AVK_SPACE:
- return VK_SPACE; // (20) SPACEBAR
- case AVK_TXPGUP:
- return VK_PRIOR; // (21) PAGE UP key
- case AVK_TXPGDOWN:
- return VK_NEXT; // (22) PAGE DOWN key
- case AVK_TXEND:
- return VK_END; // (23) END key
- case AVK_TXHOME:
- return VK_HOME; // (24) HOME key
- case AVK_LEFT:
- return VK_LEFT; // (25) LEFT ARROW key
- case AVK_UP:
- return VK_UP; // (26) UP ARROW key
- case AVK_RIGHT:
- return VK_RIGHT; // (27) RIGHT ARROW key
- case AVK_DOWN:
- return VK_DOWN; // (28) DOWN ARROW key
- case AVK_TXINSERT:
- return VK_INSERT; // (2D) INS key
- case AVK_TXDELETE:
- return VK_DELETE; // (2E) DEL key
- case AVK_FUNCTION:
- return VK_TAB; // (09) TAB key
- default:
- return 0;
- }
-}
-
-static inline String singleCharacterString(UChar c)
-{
- UChar text;
-
- // Some key codes are not mapped to Unicode characters. Convert them to Unicode characters here.
- switch (c) {
- case AVK_0:
- text = VK_0;
- break;
- case AVK_1:
- text = VK_1;
- break;
- case AVK_2:
- text = VK_2;
- break;
- case AVK_3:
- text = VK_3;
- break;
- case AVK_4:
- text = VK_4;
- break;
- case AVK_5:
- text = VK_5;
- break;
- case AVK_6:
- text = VK_6;
- break;
- case AVK_7:
- text = VK_7;
- break;
- case AVK_8:
- text = VK_8;
- break;
- case AVK_9:
- text = VK_9;
- break;
- case AVK_STAR:
- text = '*';
- break;
- case AVK_POUND:
- text = '#';
- break;
- case AVK_FUNCTION1:
- text = '=';
- break;
- case AVK_FUNCTION2:
- text = '/';
- break;
- case AVK_FUNCTION3:
- text = '_';
- break;
- case AVK_PUNC1:
- text = ',';
- break;
- case AVK_PUNC2:
- text = '.';
- break;
- case AVK_SPACE:
- text = VK_SPACE;
- break;
- default:
- text = c;
- break;
- }
-
- return String(&text, 1);
-}
-
-PlatformKeyboardEvent::PlatformKeyboardEvent(AEEEvent event, uint16 code, uint32 modifiers, Type type)
- : m_type(type)
- , m_isKeypad(false)
- , m_metaKey(false)
- , m_windowsVirtualKeyCode((type == RawKeyDown || type == KeyUp) ? windowsKeyCodeForKeyEvent(code) : 0)
-{
- if ((m_type == Char) && modifiers) {
- PlatformRefPtr<IKeysMapping> keysMapping = createRefPtrInstance<IKeysMapping>(AEECLSID_KeysMapping);
- int result = IKeysMapping_GetMapping(keysMapping.get(), code, modifiers, reinterpret_cast<AECHAR*>(&code));
- if (result == AEE_SUCCESS) // Reset the modifier when key code is successfully mapped.
- modifiers = 0;
- }
-
- m_text = (type == Char) ? singleCharacterString(code) : String();
- m_unmodifiedText = (type == Char) ? singleCharacterString(code) : String();
- m_keyIdentifier = (type == Char) ? String() : keyIdentifierForBrewKeyCode(code);
- m_nativeVirtualKeyCode = code;
- m_autoRepeat = modifiers & KB_AUTOREPEAT;
- m_shiftKey = modifiers & (KB_LSHIFT | KB_RSHIFT);
- m_ctrlKey = modifiers & (KB_LCTRL | KB_RCTRL);
- m_altKey = modifiers & (KB_LALT | KB_RALT);
-}
-
-void PlatformKeyboardEvent::disambiguateKeyDownEvent(Type type, bool)
-{
- // No KeyDown events on BREW to disambiguate.
- ASSERT_NOT_REACHED();
-}
-
-bool PlatformKeyboardEvent::currentCapsLockState()
-{
- notImplemented();
- return false;
-}
-
-void PlatformKeyboardEvent::getCurrentModifierState(bool& shiftKey, bool& ctrlKey, bool& altKey, bool& metaKey)
-{
- notImplemented();
- shiftKey = false;
- ctrlKey = false;
- altKey = false;
- metaKey = false;
-}
-
-} // namespace WebCore