protected void PanelSymbol(GameObject parent)
        {
            if (panelSymbol)
            {
                return;
            }

            GameObject    panel         = Panel(parent, "PanelSymbol");
            GameObject    column        = Column(panel);
            StandardPanel standardPanel = panel.GetComponent <StandardPanel>();

            PanelHeader(standardPanel, column);

            ButtonRow(standardPanel, column, new List <Key> {
                K("["), K("]"), K("{"), K("}"), K("#"), K("%"), K("^"), K("*"), K("+"), K("=")
            });
            ButtonRow(standardPanel, column, new List <Key> {
                K("_"), K("\\"), K("|"), K("~"), K("<"), K(">"), K("€"), K("£"), K("¥"), K("•")
            });
            ButtonRow(standardPanel, column, new List <Key> {
                Key.NumLock("123"), Key.Spacer(spacerWidth), W("."), W(","), W("?"), W("!"), W("'"), Key.Spacer(spacerWidth), Key.Backspace("⇦")
            });
            ButtonRow(standardPanel, column, new List <Key> {
                Key.ABC("ABC"), Key.Spacer(spacerWidth), Key.Space("space"), Key.Return("return")
            });

            panelSymbol          = panel;
            keyboard.panelSymbol = standardPanel;
        }
        protected void PanelUpperCase(GameObject parent)
        {
            if (panelUpperCase)
            {
                return;
            }

            GameObject    panel         = Panel(parent, "PanelUpperCase");
            GameObject    column        = Column(panel);
            StandardPanel standardPanel = panel.GetComponent <StandardPanel>();

            PanelHeader(standardPanel, column);

            ButtonRow(standardPanel, column, new List <Key> {
                K("Q"), K("W"), K("E"), K("R"), K("T"), K("Y"), K("U"), K("I"), K("O"), K("P")
            });
            ButtonRow(standardPanel, column, new List <Key> {
                K("A"), K("S"), K("D"), K("F"), K("G"), K("H"), K("J"), K("K"), K("L")
            });
            ButtonRow(standardPanel, column, new List <Key> {
                Key.ShiftLock("⇧", true), Key.Spacer(spacerWidth), K("Z"), K("X"), K("C"), K("V"), K("B"), K("N"), K("M"), Key.Spacer(spacerWidth), Key.Backspace("⇦")
            });
            ButtonRow(standardPanel, column, new List <Key> {
                Key.NumLock("123"), Key.Spacer(spacerWidth), Key.Space("space"), Key.Return("return")
            });

            panelUpperCase          = panel;
            keyboard.panelUpperCase = standardPanel;
        }
        protected void PanelNumber(GameObject parent)
        {
            if (panelNumber)
            {
                return;
            }

            GameObject    panel         = Panel(parent, "PanelNumber");
            GameObject    column        = Column(panel);
            StandardPanel standardPanel = panel.GetComponent <StandardPanel>();

            PanelHeader(standardPanel, column);

            ButtonRow(standardPanel, column, new List <Key> {
                K("1"), K("2"), K("3"), K("4"), K("5"), K("6"), K("7"), K("8"), K("9"), K("0")
            });
            ButtonRow(standardPanel, column, new List <Key> {
                K("-"), K("/"), K(":"), K(";"), K("("), K(")"), K("$"), K("&"), K("@"), K("\"")
            });
            ButtonRow(standardPanel, column, new List <Key> {
                Key.Symbol("#+="), Key.Spacer(spacerWidth), W("."), W(","), W("?"), W("!"), W("'"), Key.Spacer(spacerWidth), Key.Backspace("⇦")
            });
            ButtonRow(standardPanel, column, new List <Key> {
                Key.ABC("ABC"), Key.Spacer(spacerWidth), Key.Space("space"), Key.Return("return")
            });

            panelNumber          = panel;
            keyboard.panelNumber = standardPanel;
        }
        protected void PanelLowerCase(GameObject parent)
        {
            if (panelLowerCase)
            {
                return;
            }

            GameObject    panel         = Panel(parent, "PanelLowerCase");
            GameObject    column        = Column(panel);
            StandardPanel standardPanel = panel.GetComponent <StandardPanel>();

            PanelHeader(standardPanel, column);

            ButtonRow(standardPanel, column, new List <Key> {
                K("q"), K("w"), K("e"), K("r"), K("t"), K("y"), K("u"), K("i"), K("o"), K("p")
            });
            ButtonRow(standardPanel, column, new List <Key> {
                K("a"), K("s"), K("d"), K("f"), K("g"), K("h"), K("j"), K("k"), K("l")
            });
            ButtonRow(standardPanel, column, new List <Key> {
                Key.ShiftLock("⇧", false), Key.Spacer(spacerWidth), K("z"), K("x"), K("c"), K("v"), K("b"), K("n"), K("m"), Key.Spacer(spacerWidth), Key.Backspace("⇦")
            });
            ButtonRow(standardPanel, column, new List <Key> {
                Key.NumLock("123"), Key.Spacer(spacerWidth), Key.Space("space"), Key.Return("return")
            });

            panelLowerCase          = panel;
            keyboard.panelLowerCase = standardPanel;
        }