# -*- coding: utf-8 -*-
# *****************************************************************************
#     Copyright (C) 2006-2020 Jorgen Stenarson. <jorgen.stenarson@bostream.nu>
#     Copyright (C) 2020 Bassem Girgis. <brgirgis@gmail.com>
#
#  Distributed under the terms of the BSD License.  The full license is in
#  the file COPYING, distributed as part of this software.
# *****************************************************************************

VALID_KEYS = set(
    [
        "cancel",
        "backspace",
        "tab",
        "clear",
        "return",
        "shift_l",
        "control_l",
        "alt_l",
        "pause",
        "caps_lock",
        "escape",
        "space",
        "prior",
        "next",
        "end",
        "home",
        "left",
        "up",
        "right",
        "down",
        "select",
        "print",
        "execute",
        "snapshot",
        "insert",
        "delete",
        "help",
        "f1",
        "f2",
        "f3",
        "f4",
        "f5",
        "f6",
        "f7",
        "f8",
        "f9",
        "f10",
        "f11",
        "f12",
        "f13",
        "f14",
        "f15",
        "f16",
        "f17",
        "f18",
        "f19",
        "f20",
        "f21",
        "f22",
        "f23",
        "f24",
        "num_lock",
        "scroll_lock",
        "vk_apps",
        "vk_processkey",
        "vk_attn",
        "vk_crsel",
        "vk_exsel",
        "vk_ereof",
        "vk_play",
        "vk_zoom",
        "vk_noname",
        "vk_pa1",
        "vk_oem_clear",
        "numpad0",
        "numpad1",
        "numpad2",
        "numpad3",
        "numpad4",
        "numpad5",
        "numpad6",
        "numpad7",
        "numpad8",
        "numpad9",
        "divide",
        "multiply",
        "add",
        "subtract",
        "vk_decimal",
    ]
)

ESCAPE_SEQUENCE_TO_SPECIAL_KEY = {
    "\\e[a": "up",
    "\\e[b": "down",
    "del": "delete",
}
