/*
 * Copyright (c) 2023 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License").
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef MMI_KEYEVENT_ADAPTER_H
#define MMI_KEYEVENT_ADAPTER_H

#include <cstdint>

namespace OHOS::NWeb {

namespace MMIAdapter {

enum KeyEvent {
    KEYCODE_0 = 2000,
    KEYCODE_1 = 2001,
    KEYCODE_2 = 2002,
    KEYCODE_3 = 2003,
    KEYCODE_4 = 2004,
    KEYCODE_5 = 2005,
    KEYCODE_6 = 2006,
    KEYCODE_7 = 2007,
    KEYCODE_8 = 2008,
    KEYCODE_9 = 2009,
    KEYCODE_DPAD_UP = 2012,
    KEYCODE_DPAD_DOWN = 2013,
    KEYCODE_DPAD_LEFT = 2014,
    KEYCODE_DPAD_RIGHT = 2015,
    KEYCODE_A = 2017,
    KEYCODE_B = 2018,
    KEYCODE_C = 2019,
    KEYCODE_D = 2020,
    KEYCODE_E = 2021,
    KEYCODE_F = 2022,
    KEYCODE_G = 2023,
    KEYCODE_H = 2024,
    KEYCODE_I = 2025,
    KEYCODE_J = 2026,
    KEYCODE_K = 2027,
    KEYCODE_L = 2028,
    KEYCODE_M = 2029,
    KEYCODE_N = 2030,
    KEYCODE_O = 2031,
    KEYCODE_P = 2032,
    KEYCODE_Q = 2033,
    KEYCODE_R = 2034,
    KEYCODE_S = 2035,
    KEYCODE_T = 2036,
    KEYCODE_U = 2037,
    KEYCODE_V = 2038,
    KEYCODE_W = 2039,
    KEYCODE_X = 2040,
    KEYCODE_Y = 2041,
    KEYCODE_Z = 2042,
    KEYCODE_COMMA = 2043,
    KEYCODE_PERIOD = 2044,
    KEYCODE_ALT_LEFT = 2045,
    KEYCODE_ALT_RIGHT = 2046,
    KEYCODE_SHIFT_LEFT = 2047,
    KEYCODE_SHIFT_RIGHT = 2048,
    KEYCODE_TAB = 2049,
    KEYCODE_SPACE = 2050,
    KEYCODE_ENTER = 2054,
    KEYCODE_DEL = 2055,
    KEYCODE_GRAVE = 2056,
    KEYCODE_MINUS = 2057,
    KEYCODE_EQUALS = 2058,
    KEYCODE_LEFT_BRACKET = 2059,
    KEYCODE_RIGHT_BRACKET = 2060,
    KEYCODE_BACKSLASH = 2061,
    KEYCODE_SEMICOLON = 2062,
    KEYCODE_APOSTROPHE = 2063,
    KEYCODE_SLASH = 2064,
    KEYCODE_MENU = 2067,
    KEYCODE_PAGE_UP = 2068,
    KEYCODE_PAGE_DOWN = 2069,
    KEYCODE_ESCAPE = 2070,
    KEYCODE_FORWARD_DEL = 2071,
    KEYCODE_CTRL_LEFT = 2072,
    KEYCODE_CTRL_RIGHT = 2073,
    KEYCODE_CAPS_LOCK = 2074,
    KEYCODE_SCROLL_LOCK = 2075,
    KEYCODE_META_LEFT = 2076,
    KEYCODE_META_RIGHT = 2077,
    KEYCODE_SYSRQ = 2079,
    KEYCODE_BREAK = 2080,
    KEYCODE_MOVE_HOME = 2081,
    KEYCODE_MOVE_END = 2082,
    KEYCODE_INSERT = 2083,
    KEYCODE_F1 = 2090,
    KEYCODE_F2 = 2091,
    KEYCODE_F3 = 2092,
    KEYCODE_F4 = 2093,
    KEYCODE_F5 = 2094,
    KEYCODE_F6 = 2095,
    KEYCODE_F7 = 2096,
    KEYCODE_F8 = 2097,
    KEYCODE_F9 = 2098,
    KEYCODE_F10 = 2099,
    KEYCODE_F11 = 2100,
    KEYCODE_F12 = 2101,
    KEYCODE_NUM_LOCK = 2102,
    KEYCODE_NUMPAD_0 = 2103,
    KEYCODE_NUMPAD_1 = 2104,
    KEYCODE_NUMPAD_2 = 2105,
    KEYCODE_NUMPAD_3 = 2106,
    KEYCODE_NUMPAD_4 = 2107,
    KEYCODE_NUMPAD_5 = 2108,
    KEYCODE_NUMPAD_6 = 2109,
    KEYCODE_NUMPAD_7 = 2110,
    KEYCODE_NUMPAD_8 = 2111,
    KEYCODE_NUMPAD_9 = 2112,
    KEYCODE_NUMPAD_DIVIDE = 2113,
    KEYCODE_NUMPAD_MULTIPLY = 2114,
    KEYCODE_NUMPAD_SUBTRACT = 2115,
    KEYCODE_NUMPAD_ADD = 2116,
    KEYCODE_NUMPAD_DOT = 2117,
    KEYCODE_NUMPAD_ENTER = 2119,
    KEYCODE_COPY = 2620,
    KEYCODE_PASTE = 2622,
    KEYCODE_CUT = 2624,
};

} // namespace MMIAdapter

} // namespace OHOS::NWeb

#endif // MMI_KEYEVENT_ADAPTER_H