Poderosa.Terminal.XTerm.ModifyCursorKey(System.Windows.Forms.Keys, System.Windows.Forms.Keys)

Here are the examples of the csharp api class Poderosa.Terminal.XTerm.ModifyCursorKey(System.Windows.Forms.Keys, System.Windows.Forms.Keys) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

1 Example 7

1. Example

Project: poderosa
Source File: XTerm.cs
View license
internal override byte[] SequenceKeyData(Keys modifier, Keys key) {
            if ((int)Keys.F1 <= (int)key && (int)key <= (int)Keys.F12)
                return XtermFunctionKey(modifier, key);
            else if (GUtil.IsCursorKey(key)) {
                byte[] data = ModifyCursorKey(modifier, key);
                if (data != null)
                    return data;
                return base.SequenceKeyData(modifier, key);
            }
            else {
                byte[] r = new byte[4];
                r[0] = 0x1B;
                r[1] = (byte)'[';
                r[3] = (byte)'~';
                //??????xterm?????????
                if (key == Keys.Insert)
                    r[2] = (byte)'2';
                else if (key == Keys.Home)
                    r[2] = (byte)'7';
                else if (key == Keys.PageUp)
                    r[2] = (byte)'5';
                else if (key == Keys.Delete)
                    r[2] = (byte)'3';
                else if (key == Keys.End)
                    r[2] = (byte)'8';
                else if (key == Keys.PageDown)
                    r[2] = (byte)'6';
                else
                    throw new ArgumentException("unknown key " + key.ToString());
                return r;
            }
        }