Example #1
0
        static void buildLayout(LayoutBuilder builder, object creationParam)
        {
            bool enhanced = (bool)creationParam;

            builder.symbols(eKey.D1, "1234567890-=", "!@#$%^&*()_+");
            builder.key(eKey.Backspace, '\b');

            builder.key(eKey.Tab, '\t');

            CultureInfo ci = CultureInfo.InvariantCulture;

            builder.letters(eKey.Q, "qwertyuiop", ci);
            builder.symbols(eKey.LeftBrace, "[]", "{}");
            builder.key(eKey.Enter, '\n');

            builder.letters(eKey.A, "asdfghjkl", ci);
            builder.symbols(eKey.Semicolon, ";'`", @":""~");
            builder.symbol(eKey.Backslash, '\\', '|');

            builder.letters(eKey.Z, "zxcvbnm", ci);
            builder.symbols(eKey.Comma, ",./", "<>?");

            // Enhancement #1: non-breaking space on ctrl+shift+space
            if (enhanced)
            {
                builder.customCtrlShift(eKey.Space, ' ', '\u00A0');
            }
            else
            {
                builder.key(eKey.Space, ' ');
            }

            // Enhancement #2: better dashes on ctrl+alt+(keypad minus) and ctrl+(keypad minus)
            builder.mapKeyPad(enhanced);
        }
Example #2
0
        /// <summary>Map the keypad area, AFAIK they don't often depend on locale.</summary>
        public static void mapKeyPad(this LayoutBuilder builder, bool enhanced)
        {
            builder.key(eKey.Kpasterisk, '*');

            builder.keypad(eKey.Kp7, "789");

            // Various dashes on ctrl+alt+(keypad minus) and ctrl+(keypad minus)
            if (enhanced)
            {
                builder.customCtrlAlt(eKey.Kpminus, '-', '–', '—');
            }
            else
            {
                builder.key(eKey.Kpminus, '-');
            }

            builder.keypad(eKey.Kp4, "456");
            builder.key(eKey.Kpplus, '+');
            builder.keypad(eKey.Kp1, "1230.");
            builder.key(eKey.Kpslash, '/');
        }