[
    {
        "name": "Keyboard.Key",
        "comment": " Readable and typesafe key names.\n\n# Definition\n@docs Key, Side\n\n#\n@docs fromCode, code, toChar\n\n",
        "unions": [
            {
                "name": "Key",
                "comment": " Represents a Key. Currently incomplete. ",
                "args": [],
                "cases": [
                    [
                        "A",
                        []
                    ],
                    [
                        "B",
                        []
                    ],
                    [
                        "C",
                        []
                    ],
                    [
                        "D",
                        []
                    ],
                    [
                        "E",
                        []
                    ],
                    [
                        "F",
                        []
                    ],
                    [
                        "G",
                        []
                    ],
                    [
                        "H",
                        []
                    ],
                    [
                        "I",
                        []
                    ],
                    [
                        "J",
                        []
                    ],
                    [
                        "K",
                        []
                    ],
                    [
                        "L",
                        []
                    ],
                    [
                        "M",
                        []
                    ],
                    [
                        "N",
                        []
                    ],
                    [
                        "O",
                        []
                    ],
                    [
                        "P",
                        []
                    ],
                    [
                        "Q",
                        []
                    ],
                    [
                        "R",
                        []
                    ],
                    [
                        "S",
                        []
                    ],
                    [
                        "T",
                        []
                    ],
                    [
                        "U",
                        []
                    ],
                    [
                        "V",
                        []
                    ],
                    [
                        "W",
                        []
                    ],
                    [
                        "X",
                        []
                    ],
                    [
                        "Y",
                        []
                    ],
                    [
                        "Z",
                        []
                    ],
                    [
                        "Left",
                        []
                    ],
                    [
                        "Right",
                        []
                    ],
                    [
                        "Up",
                        []
                    ],
                    [
                        "Down",
                        []
                    ],
                    [
                        "Shift",
                        [
                            "Maybe Side"
                        ]
                    ],
                    [
                        "Ctrl",
                        [
                            "Maybe Side"
                        ]
                    ],
                    [
                        "Alt",
                        []
                    ],
                    [
                        "Tab",
                        []
                    ],
                    [
                        "CapsLock",
                        []
                    ],
                    [
                        "Spacebar",
                        []
                    ],
                    [
                        "Escape",
                        []
                    ],
                    [
                        "Enter",
                        []
                    ],
                    [
                        "Backspace",
                        []
                    ],
                    [
                        "Delete",
                        []
                    ],
                    [
                        "PageUp",
                        []
                    ],
                    [
                        "PageDown",
                        []
                    ],
                    [
                        "End",
                        []
                    ],
                    [
                        "Home",
                        []
                    ],
                    [
                        "Zero",
                        []
                    ],
                    [
                        "One",
                        []
                    ],
                    [
                        "Two",
                        []
                    ],
                    [
                        "Three",
                        []
                    ],
                    [
                        "Four",
                        []
                    ],
                    [
                        "Five",
                        []
                    ],
                    [
                        "Six",
                        []
                    ],
                    [
                        "Seven",
                        []
                    ],
                    [
                        "Eight",
                        []
                    ],
                    [
                        "Nine",
                        []
                    ],
                    [
                        "Insert",
                        []
                    ],
                    [
                        "PrintScreen",
                        []
                    ],
                    [
                        "PauseBreak",
                        []
                    ],
                    [
                        "Windows",
                        []
                    ],
                    [
                        "Command",
                        []
                    ],
                    [
                        "ChromeSearch",
                        []
                    ],
                    [
                        "NumLock",
                        []
                    ],
                    [
                        "ScrollLock",
                        []
                    ],
                    [
                        "F1",
                        []
                    ],
                    [
                        "F2",
                        []
                    ],
                    [
                        "F3",
                        []
                    ],
                    [
                        "F4",
                        []
                    ],
                    [
                        "F5",
                        []
                    ],
                    [
                        "F6",
                        []
                    ],
                    [
                        "F7",
                        []
                    ],
                    [
                        "F8",
                        []
                    ],
                    [
                        "F9",
                        []
                    ],
                    [
                        "F10",
                        []
                    ],
                    [
                        "F11",
                        []
                    ],
                    [
                        "F12",
                        []
                    ],
                    [
                        "NumpadZero",
                        []
                    ],
                    [
                        "NumpadOne",
                        []
                    ],
                    [
                        "NumpadTwo",
                        []
                    ],
                    [
                        "NumpadThree",
                        []
                    ],
                    [
                        "NumpadFour",
                        []
                    ],
                    [
                        "NumpadFive",
                        []
                    ],
                    [
                        "NumpadSix",
                        []
                    ],
                    [
                        "NumpadSeven",
                        []
                    ],
                    [
                        "NumpadEight",
                        []
                    ],
                    [
                        "NumpadNine",
                        []
                    ],
                    [
                        "Multiply",
                        []
                    ],
                    [
                        "Add",
                        []
                    ],
                    [
                        "Subtract",
                        []
                    ],
                    [
                        "Decimal",
                        []
                    ],
                    [
                        "Divide",
                        []
                    ],
                    [
                        "Ambiguous",
                        [
                            "List Key"
                        ]
                    ],
                    [
                        "Unknown",
                        [
                            "KeyCode"
                        ]
                    ]
                ]
            },
            {
                "name": "Side",
                "comment": " Type used to distinguish between multiple instances of the same key (such as Left Ctrl and Right Ctrl) ",
                "args": [],
                "cases": [
                    [
                        "LeftHand",
                        []
                    ],
                    [
                        "RightHand",
                        []
                    ]
                ]
            }
        ],
        "aliases": [],
        "values": [
            {
                "name": "code",
                "comment": " Attempts to transform a key into a keycode ",
                "type": "Key -> Maybe KeyCode"
            },
            {
                "name": "fromCode",
                "comment": " Transform a KeyCode to a Key ",
                "type": "KeyCode -> Key"
            },
            {
                "name": "toChar",
                "comment": " Attempt to transform a Key into a Char. This does not work for 'special' keys that are not used to type symbols. ",
                "type": "Key -> Maybe Char"
            }
        ],
        "binops": []
    }
]