| 関東のアルファベットのツールです (C#) |
|---|
|
関東のアルファベットのツールです (C#)
この記事は 2026年5月13日 水 18:00 に作者によって編集されましたDownload source files: http://www.jkofsp.net/files/ 関東のアルファベットを「転写」してくれるライブラリです (C#) http://www.jkofsp.net/bbs/topic.aspx?id=347-0 関東のアルファベットでプログラムを書けるツールです 書いたコードをC#のへ変換します http://www.jkofsp.net/bbs/topic.aspx?id=348-0 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Drawing.Imaging; using System.Runtime.InteropServices; namespace ShangAlphabet { public partial class Form1 : Form { enum PhonemeType { Unknown, Tsu_N_Num_Symbol, Consonant, Aspirate, Semivowel, Vowel, } struct KeyInfo { Keys[] TheKeys; public KeyInfo(Keys key0) { TheKeys = new Keys[] { key0, }; } public KeyInfo(Keys key0, Keys key1) { TheKeys = new Keys[] { key0, key1, }; } public KeyInfo(Keys key0, Keys key1, Keys key2) { TheKeys = new Keys[] { key0, key1, key2, }; } public KeyInfo(Keys key0, Keys key1, Keys key2, Keys key3) { TheKeys = new Keys[] { key0, key1, key2, key3, }; } public bool CompareWith(IList<Keys> X) { if (TheKeys == null) return false; if (TheKeys.Length != X.Count) return false; for (int i = 0; i < TheKeys.Length; i++) if (TheKeys[i] != X[i]) return false; return true; } public bool CompareWith(IList<Keys> X0, Keys x1) { if (TheKeys == null) return false; if (TheKeys.Length != X0.Count + 1) return false; for (int i = 0; i < X0.Count; i++) if (TheKeys[i] != X0[i]) return false; if (TheKeys[X0.Count] != x1) return false; return true; } } private List<List<ushort>> TextLines; private int CursorX, CursorDX, CursorY; private int ViewX, ViewY; private Color TextColor; Bitmap[] Fonts; List<KeyInfo> KeyInfos = new List<KeyInfo>(677); List<Keys> InputBuffer = new List<Keys>(); string CurrentFilePath; public Form1() { InitializeComponent(); TextLines = new List<List<ushort>>(); TextLines.Add(new List<ushort>()); CursorX = 0; CursorDX = 0; CursorY = 0; ViewX = 0; ViewY = 0; TextColor = Color.Black; InitKeyInfos(); CurrentFilePath = ""; } private void Form1_Load(object sender, EventArgs e) { Fonts = new Bitmap[677]; for (int i = 0; i <= 676; i++) { Bitmap bmp = (Bitmap)Image.FromFile(@"Characters\" + i.ToString("D3") + ".bmp"); bmp.MakeTransparent(Color.FromArgb(unchecked((int)0xFFffffff))); Fonts[i] = bmp; } } public void LoadText(ushort[] text) { TextLines = new List<List<ushort>>(); TextLines.Add(new List<ushort>()); foreach (ushort i in text) if (i == 583 /*583==enter*/) TextLines.Add(new List<ushort>()); else TextLines[TextLines.Count - 1].Add(i); CursorX = 0; CursorDX = 0; CursorY = 0; ViewX = 0; ViewY = 0; TextColor = Color.Black; VScroll.Maximum = TextLines.Count - 1; CheckScroll(); View.Refresh(); } public ushort[] GetText() { List<ushort> text = new List<ushort>(); text.AddRange(TextLines[0]); for (int i = 1; i < TextLines.Count; i++) { text.Add(583 /*583==enter*/); text.AddRange(TextLines[i]); } return text.ToArray(); } public void InsertChar(ushort ch) { List<ushort> tmp; tmp = TextLines[CursorY].GetRange(0, CursorX); tmp.Add(ch); tmp.AddRange(TextLines[CursorY].GetRange(CursorX, TextLines[CursorY].Count - CursorX)); TextLines[CursorY] = tmp; CursorX += 1; CheckScroll(); View.Refresh(); } public void ReplaceChar(ushort ch) { if (CursorX == 0) return; List<ushort> tmp; tmp = TextLines[CursorY].GetRange(0, CursorX - 1); tmp.Add(ch); tmp.AddRange(TextLines[CursorY].GetRange(CursorX, TextLines[CursorY].Count - CursorX)); TextLines[CursorY] = tmp; //CheckScroll(); View.Refresh(); } public void DeleteChar() { if (CursorX == 0) return; List<ushort> tmp; tmp = TextLines[CursorY].GetRange(0, CursorX - 1); tmp.AddRange(TextLines[CursorY].GetRange(CursorX, TextLines[CursorY].Count - CursorX)); TextLines[CursorY] = tmp; CursorX -= 1; CheckScroll(); View.Refresh(); } private void View_Paint(object sender, PaintEventArgs e) { Render(e.Graphics); } private void Render(Graphics g) { if (CursorDX < 0) g.FillRectangle(Brushes.Aqua, (CursorX + CursorDX - ViewX) * 31 + 1, (CursorY - ViewY) * 35, -CursorDX * 31, 35); else if (CursorDX > 0) g.FillRectangle(Brushes.Aqua, (CursorX - ViewX) * 31 + 1, (CursorY - ViewY) * 35, CursorDX * 31, 35); for (int i = ViewY; i < Math.Min(ViewY + View.Height / 35, TextLines.Count); i++) for (int j = ViewX; j < Math.Min(ViewX + View.Width / 31, TextLines[i].Count); j++) if (TextLines[i][j] != 582 /*582==space*/) { if (TextColor == Color.FromArgb(unchecked((int)0xFF000000))) g.DrawImage(Fonts[TextLines[i][j]], (j - ViewX) * 31 + 1, (i - ViewY) * 35); else // CodeEditBoxのShang版では、あらかじめ、複数の色のフォントを用意しておく方が、スピードが高いわけだ! { Bitmap tmp = new Bitmap(Fonts[TextLines[i][j]]); ChangeColor(tmp, 0xFF, 0, 0, 0, 0xFF, TextColor.R, TextColor.G, TextColor.B); g.DrawImage(tmp, (j - ViewX) * 31 + 1, (i - ViewY) * 35); } } g.DrawLine(Pens.Black, (CursorX - ViewX) * 31 + 1, (CursorY - ViewY) * 35, (CursorX - ViewX) * 31 + 1, (CursorY - ViewY) * 35 + 35); } private void MenuSetTextColor_Click(object sender, EventArgs e) { FormColor formColor = new FormColor(); formColor.InTextColor = TextColor; formColor.ShowDialog(); if (formColor.OutTextColor.HasValue) { TextColor = formColor.OutTextColor.Value; View.Refresh(); } } private void CheckScroll() { if (CursorY < ViewY) VScroll.Value = CursorY; //if (CursorY > ViewY + View.Height / 35 - 1) // VScroll.Value = CursorY - View.Height / 35 + 1; if (CursorY > ViewY + View.Height / 35 - 1) VScroll.Value = CursorY - View.Height / 35 + 1; if (CursorX < ViewX + 1) HScroll.Value = Math.Max(CursorX - 1, 0); if (CursorX > ViewX + View.Width / 31) HScroll.Value = Math.Min(HScroll.Maximum, CursorX - View.Width / 31); } private void View_MouseClick(object sender, MouseEventArgs e) { InputBuffer.Clear(); Focus(); CursorY = ViewY + e.Y / 35; if (CursorY >= TextLines.Count) CursorY = TextLines.Count - 1; CursorX = ViewX + e.X / 31; if (CursorX >= TextLines[CursorY].Count) CursorX = TextLines[CursorY].Count; CursorDX = 0; CheckScroll(); View.Refresh(); Text = '(' + CursorY.ToString() +')'; } private void View_Resize(object sender, EventArgs e) { VScroll.Maximum = TextLines.Count - 1; View.Refresh(); } private void VScroll_ValueChanged(object sender, EventArgs e) { ViewY = VScroll.Value; View.Refresh(); } private void HScroll_ValueChanged(object sender, EventArgs e) { ViewX = HScroll.Value; View.Refresh(); } protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if (keyData == Keys.Up) { InputBuffer.Clear(); CursorY--; if (CursorY < 0) CursorY = 0; if (CursorX > TextLines[CursorY].Count) CursorX = TextLines[CursorY].Count; CursorDX = 0; CheckScroll(); View.Refresh(); return true; } else if (keyData == Keys.Down) { InputBuffer.Clear(); CursorY++; if (CursorY >= TextLines.Count) CursorY = TextLines.Count - 1; if (CursorX > TextLines[CursorY].Count) CursorX = TextLines[CursorY].Count; CursorDX = 0; CheckScroll(); View.Refresh(); return true; } else if (keyData == Keys.Left) { InputBuffer.Clear(); CursorX--; if (CursorX < 0) CursorX = 0; CursorDX = 0; CheckScroll(); View.Refresh(); return true; } else if (keyData == Keys.Right) { InputBuffer.Clear(); CursorX++; if (CursorX > TextLines[CursorY].Count) CursorX = TextLines[CursorY].Count; CursorDX = 0; CheckScroll(); View.Refresh(); return true; } else if (keyData == (Keys.Left | Keys.Shift)) { InputBuffer.Clear(); CursorX--; if (CursorX < 0) CursorX = 0; else CursorDX++; CheckScroll(); View.Refresh(); return true; } else if (keyData == (Keys.Right | Keys.Shift)) { InputBuffer.Clear(); CursorX++; if (CursorX > TextLines[CursorY].Count) CursorX = TextLines[CursorY].Count; else CursorDX--; CheckScroll(); View.Refresh(); return true; } else { return base.ProcessCmdKey(ref msg, keyData); } } private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Back) { if (InputBuffer.Count == 0) { if (CursorDX == 0) { if (CursorX == 0) { if (CursorY > 0) { CursorX = TextLines[CursorY - 1].Count; TextLines[CursorY - 1].AddRange(TextLines[CursorY]); TextLines.RemoveAt(CursorY); CursorY -= 1; VScroll.Maximum = TextLines.Count - 1; } } else { List<ushort> tmp; tmp = TextLines[CursorY].GetRange(0, CursorX - 1); tmp.AddRange(TextLines[CursorY].GetRange(CursorX, TextLines[CursorY].Count - CursorX)); TextLines[CursorY] = tmp; CursorX -= 1; } } else { if (CursorDX < 0) { List<ushort> tmp; tmp = TextLines[CursorY].GetRange(0, CursorX + CursorDX); tmp.AddRange(TextLines[CursorY].GetRange(CursorX, TextLines[CursorY].Count - CursorX)); TextLines[CursorY] = tmp; CursorX += CursorDX; } else { List<ushort> tmp; tmp = TextLines[CursorY].GetRange(0, CursorX); tmp.AddRange(TextLines[CursorY].GetRange(CursorX + CursorDX, TextLines[CursorY].Count - CursorX - CursorDX)); TextLines[CursorY] = tmp; } CursorDX = 0; } } else // InputBuffer.Count > 0 { InputBuffer.Clear(); DeleteChar(); } } else if (e.KeyData == Keys.Enter) { InputBuffer.Clear(); List<ushort> newLine = TextLines[CursorY].GetRange(CursorX, TextLines[CursorY].Count - CursorX); TextLines[CursorY] = TextLines[CursorY].GetRange(0, CursorX); TextLines.Insert(CursorY + 1, newLine); CursorY += 1; CursorX = 0; CursorDX = 0; VScroll.Maximum = TextLines.Count - 1; } else { if (CursorDX != 0) return; PhonemeType phType = GetPhonemeType(e.KeyData); if (phType == PhonemeType.Unknown) { return; } else if (phType == PhonemeType.Tsu_N_Num_Symbol) { InputBuffer.Clear(); InsertChar((ushort)KeyInfos.FindIndex(x => x.CompareWith(new Keys[] { e.KeyData }))); } else if (phType == PhonemeType.Consonant) { InputBuffer.Clear(); InputBuffer.Add(e.KeyData); InsertChar((ushort)KeyInfos.FindIndex(x => x.CompareWith(InputBuffer))); } else if (phType == PhonemeType.Aspirate) { int tmp = KeyInfos.FindIndex(x => x.CompareWith(InputBuffer, e.KeyData)); if (tmp >= 0) { InputBuffer.Add(e.KeyData); ReplaceChar((ushort)tmp); } } else if (phType == PhonemeType.Semivowel) { int tmp = KeyInfos.FindIndex(x => x.CompareWith(InputBuffer, e.KeyData)); if (tmp >= 0) { InputBuffer.Add(e.KeyData); ReplaceChar((ushort)tmp); } } else if (phType == PhonemeType.Vowel) { int tmp = KeyInfos.FindIndex(x => x.CompareWith(InputBuffer, e.KeyData)); if (tmp >= 0) { ReplaceChar((ushort)tmp); InputBuffer.Clear(); } } } CheckScroll(); View.Refresh(); } private void MenuNew_Click(object sender, EventArgs e) { if (MessageBox.Show("本当に新規作成をしますか?", "新規作成?", MessageBoxButtons.OKCancel) == DialogResult.OK) { LoadText(new ushort[] { }); CurrentFilePath = ""; } } private void MenuOpen_Click(object sender, EventArgs e) { if (OpenDlg.ShowDialog() == DialogResult.OK) { Stream stream = OpenDlg.OpenFile(); BinaryReader r = new BinaryReader(stream); List<ushort> text = new List<ushort>(); while (stream.Position < stream.Length) text.Add(r.ReadUInt16()); r.Close(); LoadText(text.ToArray()); CurrentFilePath = OpenDlg.FileName; } } private void MenuSave_Click(object sender, EventArgs e) { if (CurrentFilePath == "") MenuSaveAs_Click(sender, e); else Save(CurrentFilePath); } private void MenuSaveAs_Click(object sender, EventArgs e) { if (SaveDlg.ShowDialog() == DialogResult.OK) { Save(SaveDlg.FileName); CurrentFilePath = SaveDlg.FileName; } } private void MenuClose_Click(object sender, EventArgs e) { Close(); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (TextLines.Count == 1 && TextLines[0].Count == 0) return; if (MessageBox.Show("本当に終了しますか?", "終了?", MessageBoxButtons.OKCancel) != DialogResult.OK) e.Cancel = true; } private void Save(string filePath) { Stream stream = new FileStream(filePath, FileMode.Create); BinaryWriter w = new BinaryWriter(stream); ushort[] text = GetText(); foreach (ushort i in text) w.Write((UInt16)i); w.Close(); } private PhonemeType GetPhonemeType(Keys key) { switch (key) { case Keys.D0: return PhonemeType.Tsu_N_Num_Symbol; case Keys.D1: return PhonemeType.Tsu_N_Num_Symbol; case Keys.D2: return PhonemeType.Tsu_N_Num_Symbol; case Keys.D3: return PhonemeType.Tsu_N_Num_Symbol; case Keys.D4: return PhonemeType.Tsu_N_Num_Symbol; case Keys.D5: return PhonemeType.Tsu_N_Num_Symbol; case Keys.D6: return PhonemeType.Tsu_N_Num_Symbol; case Keys.D7: return PhonemeType.Tsu_N_Num_Symbol; case Keys.D8: return PhonemeType.Tsu_N_Num_Symbol; case Keys.D9: return PhonemeType.Tsu_N_Num_Symbol; case Keys.I: return PhonemeType.Vowel; case Keys.V: return PhonemeType.Vowel; case Keys.U: return PhonemeType.Vowel; case Keys.E: return PhonemeType.Vowel; case Keys.O: return PhonemeType.Vowel; case Keys.Y: return PhonemeType.Semivowel; case Keys.W: return PhonemeType.Semivowel; case Keys.OemPeriod: // . Q return PhonemeType.Tsu_N_Num_Symbol; case Keys.Oemplus: // ; N return PhonemeType.Tsu_N_Num_Symbol; case Keys.Oemtilde: // ` return PhonemeType.Aspirate; case Keys.A: return PhonemeType.Consonant; case Keys.H: return PhonemeType.Consonant; case Keys.Shift | Keys.H: return PhonemeType.Consonant; case Keys.Shift | Keys.Q: return PhonemeType.Consonant; case Keys.Shift | Keys.J: return PhonemeType.Consonant; case Keys.Shift | Keys.D1: return PhonemeType.Consonant; case Keys.Shift | Keys.D2: return PhonemeType.Consonant; case Keys.K: return PhonemeType.Consonant; case Keys.G: return PhonemeType.Consonant; case Keys.Shift | Keys.K: return PhonemeType.Consonant; case Keys.Shift | Keys.G: return PhonemeType.Consonant; case Keys.Shift | Keys.N: return PhonemeType.Consonant; case Keys.Shift | Keys.C: return PhonemeType.Consonant; case Keys.Shift | Keys.Z: return PhonemeType.Consonant; case Keys.Oemcomma: // , hca return PhonemeType.Consonant; case Keys.Shift | Keys.Oemcomma: // , hja return PhonemeType.Consonant; case Keys.Shift | Keys.Oemplus: // ; jna return PhonemeType.Consonant; case Keys.S: return PhonemeType.Consonant; case Keys.Shift | Keys.S: return PhonemeType.Consonant; case Keys.X: return PhonemeType.Consonant; case Keys.Shift | Keys.X: return PhonemeType.Consonant; case Keys.T: return PhonemeType.Consonant; case Keys.D: return PhonemeType.Consonant; case Keys.Shift | Keys.T: return PhonemeType.Consonant; case Keys.Shift | Keys.D: return PhonemeType.Consonant; case Keys.N: return PhonemeType.Consonant; case Keys.L: return PhonemeType.Consonant; case Keys.C: return PhonemeType.Consonant; case Keys.Z: return PhonemeType.Consonant; case Keys.Q: return PhonemeType.Consonant; case Keys.J: return PhonemeType.Consonant; case Keys.P: return PhonemeType.Consonant; case Keys.B: return PhonemeType.Consonant; case Keys.F: return PhonemeType.Consonant; case Keys.M: return PhonemeType.Consonant; case Keys.Shift | Keys.F: return PhonemeType.Consonant; case Keys.Shift | Keys.V: return PhonemeType.Consonant; case Keys.R: return PhonemeType.Consonant; case Keys.Space: case Keys.OemBackslash: // _ 。 case Keys.OemQuestion: // / 、 case Keys.OemSemicolon: // : : case Keys.Shift | Keys.OemSemicolon: // : ; case Keys.Shift | Keys.OemQuestion: // / ? case Keys.Shift | Keys.OemBackslash: // _ ! case Keys.Control | Keys.Shift | Keys.OemPipe: // | … case Keys.Control | Keys.Shift | Keys.Oemtilde: // ` @ case Keys.Shift | Keys.D3: // # case Keys.Control | Keys.D6: // & case Keys.Shift | Keys.D5: // % case Keys.OemPipe: // | | case Keys.Control | Keys.Oemtilde: // ` ` case Keys.Shift | Keys.D8: // ( case Keys.Shift | Keys.D9: // ) case Keys.Shift | Keys.OemOpenBrackets: // [ { case Keys.Shift | Keys.OemCloseBrackets: // ] } case Keys.OemOpenBrackets: // [ [ case Keys.OemCloseBrackets: // ] ] case Keys.Control | Keys.OemOpenBrackets: // [ 「 case Keys.Control | Keys.OemCloseBrackets: // ] 」 case Keys.Control | Keys.Shift | Keys.OemOpenBrackets: // [ 『 case Keys.Control | Keys.Shift | Keys.OemCloseBrackets: // ] 』 case Keys.Control | Keys.Shift | Keys.D8: // 【 case Keys.Control | Keys.Shift | Keys.D9: // 】 case Keys.Shift | Keys.D4: // ° case Keys.Shift | Keys.D0: // ∞ case Keys.Control | Keys.D0: // ∝ case Keys.Control | Keys.Shift | Keys.D2: // ※ case Keys.Control | Keys.D2: // * case Keys.Control | Keys.D7: // ★ case Keys.Shift | Keys.D7: // ☆ case Keys.Control | Keys.M: // ♪ case Keys.Control | Keys.Oemplus: // ; + case Keys.OemMinus: // - - case Keys.Control | Keys.Shift | Keys.Oemplus: // ; ± case Keys.Control | Keys.OemMinus: // - _ case Keys.Control | Keys.OemSemicolon: // : × case Keys.Control | Keys.Shift | Keys.OemSemicolon: // : ・ case Keys.Control | Keys.OemQuestion: // / ÷ case Keys.Control | Keys.Shift | Keys.OemQuestion: // / / case Keys.Control | Keys.Shift | Keys.OemBackslash: // _ \ case Keys.OemQuotes: // ^ ^ case Keys.Control | Keys.OemQuotes: // ^ √ case Keys.Control | Keys.D4:// (+) case Keys.Control | Keys.Shift | Keys.D4: // (×) case Keys.Shift | Keys.OemMinus: // - = case Keys.Control | Keys.Shift | Keys.OemMinus: // - ≠ case Keys.Control | Keys.G: // ≒ case Keys.Control | Keys.F: // --- case Keys.Control | Keys.Oemcomma: // , < case Keys.Control | Keys.H: // ≪ case Keys.Control | Keys.Shift | Keys.Oemcomma: // , ≦ case Keys.Control | Keys.OemPeriod: // . > case Keys.Control | Keys.J: // ≫ case Keys.Control | Keys.Shift | Keys.OemPeriod: // . ≧ case Keys.Control | Keys.D1: // ¬ case Keys.Shift | Keys.OemPipe: // | ∨ case Keys.Shift | Keys.D6: // ∧ case Keys.Shift | Keys.OemQuotes: // ^ ~ case Keys.Control | Keys.K: // ∵ case Keys.Control | Keys.L: // ∴ case Keys.Shift | Keys.A: // ∀ case Keys.Shift | Keys.E: // ∃ case Keys.Control | Keys.Q: // ∈ case Keys.Control | Keys.Shift | Keys.Q: // ∈/ case Keys.Control | Keys.E: // ∋ case Keys.Control | Keys.Shift | Keys.E: // ∋\ case Keys.Control | Keys.R: // ⊂ case Keys.Control | Keys.Shift | Keys.R: // ⊆ case Keys.Control | Keys.T:// ⊃ case Keys.Control | Keys.Shift | Keys.T: // ⊇ case Keys.Control | Keys.U: // ∪ case Keys.Control | Keys.Y: // ∩ case Keys.Control | Keys.O: // Φ case Keys.Control | Keys.D: // → case Keys.Control | Keys.A: // ← case Keys.Control | Keys.W: // ↑ case Keys.Control | Keys.S: // ↓ case Keys.Control | Keys.Shift | Keys.D: // ⇒ case Keys.Control | Keys.Shift | Keys.A: // <= case Keys.Control | Keys.Shift | Keys.S: // ⇔ case Keys.Control | Keys.Z: // Δ case Keys.Control | Keys.Shift | Keys.Z: // ∇ case Keys.Control | Keys.X: // ∑ case Keys.Control | Keys.Shift | Keys.X: // Π case Keys.Control | Keys.C: // d case Keys.Control | Keys.Shift | Keys.C: // ∂ case Keys.Control | Keys.V: // ∫ case Keys.Control | Keys.Shift | Keys.V: // ∮ case Keys.Control | Keys.B: // ∬ case Keys.Control | Keys.Shift | Keys.B: // ∬○ case Keys.Control | Keys.N: // ∫∫∫ return PhonemeType.Tsu_N_Num_Symbol; } return PhonemeType.Unknown; } |
|
private void InitKeyInfos()
{ for (int i = 0; i <= 676; i++) KeyInfos.Add(new KeyInfo()); KeyInfos[0] = new KeyInfo(Keys.D0); // 0 KeyInfos[1] = new KeyInfo(Keys.D1); KeyInfos[2] = new KeyInfo(Keys.D2); KeyInfos[3] = new KeyInfo(Keys.D3); KeyInfos[4] = new KeyInfo(Keys.D4); KeyInfos[5] = new KeyInfo(Keys.D5); KeyInfos[6] = new KeyInfo(Keys.D6); KeyInfos[7] = new KeyInfo(Keys.D7); KeyInfos[8] = new KeyInfo(Keys.D8); KeyInfos[9] = new KeyInfo(Keys.D9); KeyInfos[10] = new KeyInfo(Keys.A); // a KeyInfos[11] = new KeyInfo(Keys.A, Keys.I); KeyInfos[12] = new KeyInfo(Keys.A, Keys.V); KeyInfos[13] = new KeyInfo(Keys.A, Keys.U); KeyInfos[14] = new KeyInfo(Keys.A, Keys.E); KeyInfos[15] = new KeyInfo(Keys.A, Keys.O); KeyInfos[16] = new KeyInfo(Keys.A, Keys.Y); // ya KeyInfos[17] = new KeyInfo(Keys.A, Keys.Y, Keys.U); KeyInfos[18] = new KeyInfo(Keys.A, Keys.Y, Keys.E); KeyInfos[19] = new KeyInfo(Keys.A, Keys.Y, Keys.O); KeyInfos[20] = new KeyInfo(Keys.A, Keys.W); // wa KeyInfos[21] = new KeyInfo(Keys.A, Keys.W, Keys.I); KeyInfos[22] = new KeyInfo(Keys.A, Keys.W, Keys.E); KeyInfos[23] = new KeyInfo(Keys.A, Keys.W, Keys.O); KeyInfos[24] = new KeyInfo(Keys.H); // ha KeyInfos[25] = new KeyInfo(Keys.H, Keys.I); KeyInfos[26] = new KeyInfo(Keys.H, Keys.V); KeyInfos[27] = new KeyInfo(Keys.H, Keys.U); KeyInfos[28] = new KeyInfo(Keys.H, Keys.E); KeyInfos[29] = new KeyInfo(Keys.H, Keys.O); KeyInfos[30] = new KeyInfo(Keys.H, Keys.Y); // hya KeyInfos[31] = new KeyInfo(Keys.H, Keys.Y, Keys.U); KeyInfos[32] = new KeyInfo(Keys.H, Keys.Y, Keys.E); KeyInfos[33] = new KeyInfo(Keys.H, Keys.Y, Keys.O); KeyInfos[34] = new KeyInfo(Keys.H, Keys.W); // hwa KeyInfos[35] = new KeyInfo(Keys.H, Keys.W, Keys.I); KeyInfos[36] = new KeyInfo(Keys.H, Keys.W, Keys.E); KeyInfos[37] = new KeyInfo(Keys.H, Keys.W, Keys.O); KeyInfos[38] = new KeyInfo(Keys.Shift | Keys.H); // Ha KeyInfos[39] = new KeyInfo(Keys.Shift | Keys.H, Keys.I); KeyInfos[40] = new KeyInfo(Keys.Shift | Keys.H, Keys.V); KeyInfos[41] = new KeyInfo(Keys.Shift | Keys.H, Keys.U); KeyInfos[42] = new KeyInfo(Keys.Shift | Keys.H, Keys.E); KeyInfos[43] = new KeyInfo(Keys.Shift | Keys.H, Keys.O); KeyInfos[44] = new KeyInfo(Keys.Shift | Keys.H, Keys.Y); // Hya KeyInfos[45] = new KeyInfo(Keys.Shift | Keys.H, Keys.Y, Keys.U); KeyInfos[46] = new KeyInfo(Keys.Shift | Keys.H, Keys.Y, Keys.E); KeyInfos[47] = new KeyInfo(Keys.Shift | Keys.H, Keys.Y, Keys.O); KeyInfos[48] = new KeyInfo(Keys.Shift | Keys.H, Keys.W); // Hwa KeyInfos[49] = new KeyInfo(Keys.Shift | Keys.H, Keys.W, Keys.I); KeyInfos[50] = new KeyInfo(Keys.Shift | Keys.H, Keys.W, Keys.E); KeyInfos[51] = new KeyInfo(Keys.Shift | Keys.H, Keys.W, Keys.O); KeyInfos[52] = new KeyInfo(Keys.OemPeriod); // . Q KeyInfos[53] = new KeyInfo(Keys.Shift | Keys.Q); // qa KeyInfos[54] = new KeyInfo(Keys.Shift | Keys.Q, Keys.I); KeyInfos[55] = new KeyInfo(Keys.Shift | Keys.Q, Keys.V); KeyInfos[56] = new KeyInfo(Keys.Shift | Keys.Q, Keys.U); KeyInfos[57] = new KeyInfo(Keys.Shift | Keys.Q, Keys.E); KeyInfos[58] = new KeyInfo(Keys.Shift | Keys.Q, Keys.O); KeyInfos[59] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Y); // qya KeyInfos[60] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Y, Keys.U); KeyInfos[61] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Y, Keys.E); KeyInfos[62] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Y, Keys.O); KeyInfos[63] = new KeyInfo(Keys.Shift | Keys.Q, Keys.W); // qwa KeyInfos[64] = new KeyInfo(Keys.Shift | Keys.Q, Keys.W, Keys.I); KeyInfos[65] = new KeyInfo(Keys.Shift | Keys.Q, Keys.W, Keys.E); KeyInfos[66] = new KeyInfo(Keys.Shift | Keys.Q, Keys.W, Keys.O); KeyInfos[67] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Oemtilde); // qha KeyInfos[68] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Oemtilde, Keys.I); KeyInfos[69] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Oemtilde, Keys.V); KeyInfos[70] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Oemtilde, Keys.U); KeyInfos[71] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Oemtilde, Keys.E); KeyInfos[72] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Oemtilde, Keys.O); KeyInfos[73] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Oemtilde, Keys.Y); // qhya KeyInfos[74] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Oemtilde, Keys.Y, Keys.U); KeyInfos[75] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Oemtilde, Keys.Y, Keys.E); KeyInfos[76] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Oemtilde, Keys.Y, Keys.O); KeyInfos[77] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Oemtilde, Keys.W); // qhwa KeyInfos[78] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Oemtilde, Keys.W, Keys.I); KeyInfos[79] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Oemtilde, Keys.W, Keys.E); KeyInfos[80] = new KeyInfo(Keys.Shift | Keys.Q, Keys.Oemtilde, Keys.W, Keys.O); KeyInfos[81] = new KeyInfo(Keys.Shift | Keys.J); // Ga KeyInfos[82] = new KeyInfo(Keys.Shift | Keys.J, Keys.I); KeyInfos[83] = new KeyInfo(Keys.Shift | Keys.J, Keys.V); KeyInfos[84] = new KeyInfo(Keys.Shift | Keys.J, Keys.U); KeyInfos[85] = new KeyInfo(Keys.Shift | Keys.J, Keys.E); KeyInfos[86] = new KeyInfo(Keys.Shift | Keys.J, Keys.O); KeyInfos[87] = new KeyInfo(Keys.Shift | Keys.J, Keys.Y); // Gya KeyInfos[88] = new KeyInfo(Keys.Shift | Keys.J, Keys.Y, Keys.U); KeyInfos[89] = new KeyInfo(Keys.Shift | Keys.J, Keys.Y, Keys.E); KeyInfos[90] = new KeyInfo(Keys.Shift | Keys.J, Keys.Y, Keys.O); KeyInfos[91] = new KeyInfo(Keys.Shift | Keys.J, Keys.W); // Gwa KeyInfos[92] = new KeyInfo(Keys.Shift | Keys.J, Keys.W, Keys.I); KeyInfos[93] = new KeyInfo(Keys.Shift | Keys.J, Keys.W, Keys.E); KeyInfos[94] = new KeyInfo(Keys.Shift | Keys.J, Keys.W, Keys.O); KeyInfos[95] = new KeyInfo(Keys.Shift | Keys.J, Keys.Oemtilde); // Gha KeyInfos[96] = new KeyInfo(Keys.Shift | Keys.J, Keys.Oemtilde, Keys.I); KeyInfos[97] = new KeyInfo(Keys.Shift | Keys.J, Keys.Oemtilde, Keys.V); KeyInfos[98] = new KeyInfo(Keys.Shift | Keys.J, Keys.Oemtilde, Keys.U); KeyInfos[99] = new KeyInfo(Keys.Shift | Keys.J, Keys.Oemtilde, Keys.E); KeyInfos[100] = new KeyInfo(Keys.Shift | Keys.J, Keys.Oemtilde, Keys.O); |
|
KeyInfos[101] = new KeyInfo(Keys.Shift | Keys.J, Keys.Oemtilde, Keys.Y); // Gya KeyInfos[102] = new KeyInfo(Keys.Shift | Keys.J, Keys.Oemtilde, Keys.Y, Keys.U); KeyInfos[103] = new KeyInfo(Keys.Shift | Keys.J, Keys.Oemtilde, Keys.Y, Keys.E); KeyInfos[104] = new KeyInfo(Keys.Shift | Keys.J, Keys.Oemtilde, Keys.Y, Keys.O); KeyInfos[105] = new KeyInfo(Keys.Shift | Keys.J, Keys.Oemtilde, Keys.W); // Gwa KeyInfos[106] = new KeyInfo(Keys.Shift | Keys.J, Keys.Oemtilde, Keys.W, Keys.I); KeyInfos[107] = new KeyInfo(Keys.Shift | Keys.J, Keys.Oemtilde, Keys.W, Keys.E); KeyInfos[108] = new KeyInfo(Keys.Shift | Keys.J, Keys.Oemtilde, Keys.W, Keys.O); KeyInfos[109] = new KeyInfo(Keys.Shift | Keys.D1); // xha KeyInfos[110] = new KeyInfo(Keys.Shift | Keys.D1, Keys.I); KeyInfos[111] = new KeyInfo(Keys.Shift | Keys.D1, Keys.V); KeyInfos[112] = new KeyInfo(Keys.Shift | Keys.D1, Keys.U); KeyInfos[113] = new KeyInfo(Keys.Shift | Keys.D1, Keys.E); KeyInfos[114] = new KeyInfo(Keys.Shift | Keys.D1, Keys.O); KeyInfos[115] = new KeyInfo(Keys.Shift | Keys.D1, Keys.Y); // xhya KeyInfos[116] = new KeyInfo(Keys.Shift | Keys.D1, Keys.Y, Keys.U); KeyInfos[117] = new KeyInfo(Keys.Shift | Keys.D1, Keys.Y, Keys.E); KeyInfos[118] = new KeyInfo(Keys.Shift | Keys.D1, Keys.Y, Keys.O); KeyInfos[119] = new KeyInfo(Keys.Shift | Keys.D1, Keys.W); // xhwa KeyInfos[120] = new KeyInfo(Keys.Shift | Keys.D1, Keys.W, Keys.I); KeyInfos[121] = new KeyInfo(Keys.Shift | Keys.D1, Keys.W, Keys.E); KeyInfos[122] = new KeyInfo(Keys.Shift | Keys.D1, Keys.W, Keys.O); KeyInfos[123] = new KeyInfo(Keys.Shift | Keys.D2); // Xha KeyInfos[124] = new KeyInfo(Keys.Shift | Keys.D2, Keys.I); KeyInfos[125] = new KeyInfo(Keys.Shift | Keys.D2, Keys.V); KeyInfos[126] = new KeyInfo(Keys.Shift | Keys.D2, Keys.U); KeyInfos[127] = new KeyInfo(Keys.Shift | Keys.D2, Keys.E); KeyInfos[128] = new KeyInfo(Keys.Shift | Keys.D2, Keys.O); KeyInfos[129] = new KeyInfo(Keys.Shift | Keys.D2, Keys.Y); // Xhya KeyInfos[130] = new KeyInfo(Keys.Shift | Keys.D2, Keys.Y, Keys.U); KeyInfos[131] = new KeyInfo(Keys.Shift | Keys.D2, Keys.Y, Keys.E); KeyInfos[132] = new KeyInfo(Keys.Shift | Keys.D2, Keys.Y, Keys.O); KeyInfos[133] = new KeyInfo(Keys.Shift | Keys.D2, Keys.W); // Xhwa KeyInfos[134] = new KeyInfo(Keys.Shift | Keys.D2, Keys.W, Keys.I); KeyInfos[135] = new KeyInfo(Keys.Shift | Keys.D2, Keys.W, Keys.E); KeyInfos[136] = new KeyInfo(Keys.Shift | Keys.D2, Keys.W, Keys.O); KeyInfos[137] = new KeyInfo(Keys.Oemplus); // ; N KeyInfos[138] = new KeyInfo(Keys.K); // ka KeyInfos[139] = new KeyInfo(Keys.K, Keys.I); KeyInfos[140] = new KeyInfo(Keys.K, Keys.V); KeyInfos[141] = new KeyInfo(Keys.K, Keys.U); KeyInfos[142] = new KeyInfo(Keys.K, Keys.E); KeyInfos[143] = new KeyInfo(Keys.K, Keys.O); KeyInfos[144] = new KeyInfo(Keys.K, Keys.Y); // kya KeyInfos[145] = new KeyInfo(Keys.K, Keys.Y, Keys.U); KeyInfos[146] = new KeyInfo(Keys.K, Keys.Y, Keys.E); KeyInfos[147] = new KeyInfo(Keys.K, Keys.Y, Keys.O); KeyInfos[148] = new KeyInfo(Keys.K, Keys.W); // kwa KeyInfos[149] = new KeyInfo(Keys.K, Keys.W, Keys.I); KeyInfos[150] = new KeyInfo(Keys.K, Keys.W, Keys.E); KeyInfos[151] = new KeyInfo(Keys.K, Keys.W, Keys.O); KeyInfos[152] = new KeyInfo(Keys.K, Keys.Oemtilde); // kha KeyInfos[153] = new KeyInfo(Keys.K, Keys.Oemtilde, Keys.I); KeyInfos[154] = new KeyInfo(Keys.K, Keys.Oemtilde, Keys.V); KeyInfos[155] = new KeyInfo(Keys.K, Keys.Oemtilde, Keys.U); KeyInfos[156] = new KeyInfo(Keys.K, Keys.Oemtilde, Keys.E); KeyInfos[157] = new KeyInfo(Keys.K, Keys.Oemtilde, Keys.O); KeyInfos[158] = new KeyInfo(Keys.K, Keys.Oemtilde, Keys.Y); // khya KeyInfos[159] = new KeyInfo(Keys.K, Keys.Oemtilde, Keys.Y, Keys.U); KeyInfos[160] = new KeyInfo(Keys.K, Keys.Oemtilde, Keys.Y, Keys.E); KeyInfos[161] = new KeyInfo(Keys.K, Keys.Oemtilde, Keys.Y, Keys.O); KeyInfos[162] = new KeyInfo(Keys.K, Keys.Oemtilde, Keys.W); // khwa KeyInfos[163] = new KeyInfo(Keys.K, Keys.Oemtilde, Keys.W, Keys.I); KeyInfos[164] = new KeyInfo(Keys.K, Keys.Oemtilde, Keys.W, Keys.E); KeyInfos[165] = new KeyInfo(Keys.K, Keys.Oemtilde, Keys.W, Keys.O); KeyInfos[166] = new KeyInfo(Keys.G); // ga KeyInfos[167] = new KeyInfo(Keys.G, Keys.I); KeyInfos[168] = new KeyInfo(Keys.G, Keys.V); KeyInfos[169] = new KeyInfo(Keys.G, Keys.U); KeyInfos[170] = new KeyInfo(Keys.G, Keys.E); KeyInfos[171] = new KeyInfo(Keys.G, Keys.O); KeyInfos[172] = new KeyInfo(Keys.G, Keys.Y); // gya KeyInfos[173] = new KeyInfo(Keys.G, Keys.Y, Keys.U); KeyInfos[174] = new KeyInfo(Keys.G, Keys.Y, Keys.E); KeyInfos[175] = new KeyInfo(Keys.G, Keys.Y, Keys.O); KeyInfos[176] = new KeyInfo(Keys.G, Keys.W); // gwa KeyInfos[177] = new KeyInfo(Keys.G, Keys.W, Keys.I); KeyInfos[178] = new KeyInfo(Keys.G, Keys.W, Keys.E); KeyInfos[179] = new KeyInfo(Keys.G, Keys.W, Keys.O); KeyInfos[180] = new KeyInfo(Keys.G, Keys.Oemtilde); // gha KeyInfos[181] = new KeyInfo(Keys.G, Keys.Oemtilde, Keys.I); KeyInfos[182] = new KeyInfo(Keys.G, Keys.Oemtilde, Keys.V); KeyInfos[183] = new KeyInfo(Keys.G, Keys.Oemtilde, Keys.U); KeyInfos[184] = new KeyInfo(Keys.G, Keys.Oemtilde, Keys.E); KeyInfos[185] = new KeyInfo(Keys.G, Keys.Oemtilde, Keys.O); KeyInfos[186] = new KeyInfo(Keys.G, Keys.Oemtilde, Keys.Y); // ghya KeyInfos[187] = new KeyInfo(Keys.G, Keys.Oemtilde, Keys.Y, Keys.U); KeyInfos[188] = new KeyInfo(Keys.G, Keys.Oemtilde, Keys.Y, Keys.E); KeyInfos[189] = new KeyInfo(Keys.G, Keys.Oemtilde, Keys.Y, Keys.O); KeyInfos[190] = new KeyInfo(Keys.G, Keys.Oemtilde, Keys.W); // ghwa KeyInfos[191] = new KeyInfo(Keys.G, Keys.Oemtilde, Keys.W, Keys.I); KeyInfos[192] = new KeyInfo(Keys.G, Keys.Oemtilde, Keys.W, Keys.E); KeyInfos[193] = new KeyInfo(Keys.G, Keys.Oemtilde, Keys.W, Keys.O); KeyInfos[194] = new KeyInfo(Keys.Shift | Keys.K); // xa KeyInfos[195] = new KeyInfo(Keys.Shift | Keys.K, Keys.I); KeyInfos[196] = new KeyInfo(Keys.Shift | Keys.K, Keys.V); KeyInfos[197] = new KeyInfo(Keys.Shift | Keys.K, Keys.U); KeyInfos[198] = new KeyInfo(Keys.Shift | Keys.K, Keys.E); KeyInfos[199] = new KeyInfo(Keys.Shift | Keys.K, Keys.O); |
|
KeyInfos[200] = new KeyInfo(Keys.Shift | Keys.K, Keys.Y); // xya
KeyInfos[201] = new KeyInfo(Keys.Shift | Keys.K, Keys.Y, Keys.U); KeyInfos[202] = new KeyInfo(Keys.Shift | Keys.K, Keys.Y, Keys.E); KeyInfos[203] = new KeyInfo(Keys.Shift | Keys.K, Keys.Y, Keys.O); KeyInfos[204] = new KeyInfo(Keys.Shift | Keys.K, Keys.W); // xwa KeyInfos[205] = new KeyInfo(Keys.Shift | Keys.K, Keys.W, Keys.I); KeyInfos[206] = new KeyInfo(Keys.Shift | Keys.K, Keys.W, Keys.E); KeyInfos[207] = new KeyInfo(Keys.Shift | Keys.K, Keys.W, Keys.O); KeyInfos[208] = new KeyInfo(Keys.Shift | Keys.G); // Xa KeyInfos[209] = new KeyInfo(Keys.Shift | Keys.G, Keys.I); KeyInfos[210] = new KeyInfo(Keys.Shift | Keys.G, Keys.V); KeyInfos[211] = new KeyInfo(Keys.Shift | Keys.G, Keys.U); KeyInfos[212] = new KeyInfo(Keys.Shift | Keys.G, Keys.E); KeyInfos[213] = new KeyInfo(Keys.Shift | Keys.G, Keys.O); KeyInfos[214] = new KeyInfo(Keys.Shift | Keys.G, Keys.Y); // xya KeyInfos[215] = new KeyInfo(Keys.Shift | Keys.G, Keys.Y, Keys.U); KeyInfos[216] = new KeyInfo(Keys.Shift | Keys.G, Keys.Y, Keys.E); KeyInfos[217] = new KeyInfo(Keys.Shift | Keys.G, Keys.Y, Keys.O); KeyInfos[218] = new KeyInfo(Keys.Shift | Keys.G, Keys.W); // xwa KeyInfos[219] = new KeyInfo(Keys.Shift | Keys.G, Keys.W, Keys.I); KeyInfos[220] = new KeyInfo(Keys.Shift | Keys.G, Keys.W, Keys.E); KeyInfos[221] = new KeyInfo(Keys.Shift | Keys.G, Keys.W, Keys.O); KeyInfos[222] = new KeyInfo(Keys.Shift | Keys.N); // nga KeyInfos[223] = new KeyInfo(Keys.Shift | Keys.N, Keys.I); KeyInfos[224] = new KeyInfo(Keys.Shift | Keys.N, Keys.V); KeyInfos[225] = new KeyInfo(Keys.Shift | Keys.N, Keys.U); KeyInfos[226] = new KeyInfo(Keys.Shift | Keys.N, Keys.E); KeyInfos[227] = new KeyInfo(Keys.Shift | Keys.N, Keys.O); KeyInfos[228] = new KeyInfo(Keys.Shift | Keys.N, Keys.Y); // ngya KeyInfos[229] = new KeyInfo(Keys.Shift | Keys.N, Keys.Y, Keys.U); KeyInfos[230] = new KeyInfo(Keys.Shift | Keys.N, Keys.Y, Keys.E); KeyInfos[231] = new KeyInfo(Keys.Shift | Keys.N, Keys.Y, Keys.O); KeyInfos[232] = new KeyInfo(Keys.Shift | Keys.N, Keys.W); // ngwa KeyInfos[233] = new KeyInfo(Keys.Shift | Keys.N, Keys.W, Keys.I); KeyInfos[234] = new KeyInfo(Keys.Shift | Keys.N, Keys.W, Keys.E); KeyInfos[235] = new KeyInfo(Keys.Shift | Keys.N, Keys.W, Keys.O); KeyInfos[236] = new KeyInfo(Keys.Shift | Keys.C); // ca KeyInfos[237] = new KeyInfo(Keys.Shift | Keys.C, Keys.I); KeyInfos[238] = new KeyInfo(Keys.Shift | Keys.C, Keys.U); KeyInfos[239] = new KeyInfo(Keys.Shift | Keys.C, Keys.E); KeyInfos[240] = new KeyInfo(Keys.Shift | Keys.C, Keys.O); KeyInfos[241] = new KeyInfo(Keys.Shift | Keys.C, Keys.Oemtilde); // cha KeyInfos[242] = new KeyInfo(Keys.Shift | Keys.C, Keys.Oemtilde, Keys.I); KeyInfos[243] = new KeyInfo(Keys.Shift | Keys.C, Keys.Oemtilde, Keys.U); KeyInfos[244] = new KeyInfo(Keys.Shift | Keys.C, Keys.Oemtilde, Keys.E); KeyInfos[245] = new KeyInfo(Keys.Shift | Keys.C, Keys.Oemtilde, Keys.O); KeyInfos[246] = new KeyInfo(Keys.Shift | Keys.Z); // ja KeyInfos[247] = new KeyInfo(Keys.Shift | Keys.Z, Keys.I); KeyInfos[248] = new KeyInfo(Keys.Shift | Keys.Z, Keys.U); KeyInfos[249] = new KeyInfo(Keys.Shift | Keys.Z, Keys.E); KeyInfos[250] = new KeyInfo(Keys.Shift | Keys.Z, Keys.O); KeyInfos[251] = new KeyInfo(Keys.Shift | Keys.Z, Keys.Oemtilde); // jha KeyInfos[252] = new KeyInfo(Keys.Shift | Keys.Z, Keys.Oemtilde, Keys.I); KeyInfos[253] = new KeyInfo(Keys.Shift | Keys.Z, Keys.Oemtilde, Keys.U); KeyInfos[254] = new KeyInfo(Keys.Shift | Keys.Z, Keys.Oemtilde, Keys.E); KeyInfos[255] = new KeyInfo(Keys.Shift | Keys.Z, Keys.Oemtilde, Keys.O); KeyInfos[256] = new KeyInfo(Keys.Oemcomma); // , hca KeyInfos[257] = new KeyInfo(Keys.Oemcomma, Keys.I); KeyInfos[258] = new KeyInfo(Keys.Oemcomma, Keys.U); KeyInfos[259] = new KeyInfo(Keys.Oemcomma, Keys.E); KeyInfos[260] = new KeyInfo(Keys.Oemcomma, Keys.O); KeyInfos[261] = new KeyInfo(Keys.Shift | Keys.Oemcomma); // , hja KeyInfos[262] = new KeyInfo(Keys.Shift | Keys.Oemcomma, Keys.I); KeyInfos[263] = new KeyInfo(Keys.Shift | Keys.Oemcomma, Keys.U); KeyInfos[264] = new KeyInfo(Keys.Shift | Keys.Oemcomma, Keys.E); KeyInfos[265] = new KeyInfo(Keys.Shift | Keys.Oemcomma, Keys.O); KeyInfos[266] = new KeyInfo(Keys.Shift | Keys.Oemplus); // ; jna KeyInfos[267] = new KeyInfo(Keys.Shift | Keys.Oemplus, Keys.I); KeyInfos[268] = new KeyInfo(Keys.Shift | Keys.Oemplus, Keys.U); KeyInfos[269] = new KeyInfo(Keys.Shift | Keys.Oemplus, Keys.E); KeyInfos[270] = new KeyInfo(Keys.Shift | Keys.Oemplus, Keys.O); KeyInfos[271] = new KeyInfo(Keys.S); // sa KeyInfos[272] = new KeyInfo(Keys.S, Keys.I); KeyInfos[273] = new KeyInfo(Keys.S, Keys.V); KeyInfos[274] = new KeyInfo(Keys.S, Keys.U); KeyInfos[275] = new KeyInfo(Keys.S, Keys.E); KeyInfos[276] = new KeyInfo(Keys.S, Keys.O); KeyInfos[277] = new KeyInfo(Keys.S, Keys.Y); // sya KeyInfos[278] = new KeyInfo(Keys.S, Keys.Y, Keys.U); KeyInfos[279] = new KeyInfo(Keys.S, Keys.Y, Keys.E); KeyInfos[280] = new KeyInfo(Keys.S, Keys.Y, Keys.O); KeyInfos[281] = new KeyInfo(Keys.S, Keys.W); // swa KeyInfos[282] = new KeyInfo(Keys.S, Keys.W, Keys.I); KeyInfos[283] = new KeyInfo(Keys.S, Keys.W, Keys.E); KeyInfos[284] = new KeyInfo(Keys.S, Keys.W, Keys.O); KeyInfos[285] = new KeyInfo(Keys.Shift | Keys.S); // za KeyInfos[286] = new KeyInfo(Keys.Shift | Keys.S, Keys.I); KeyInfos[287] = new KeyInfo(Keys.Shift | Keys.S, Keys.V); KeyInfos[288] = new KeyInfo(Keys.Shift | Keys.S, Keys.U); KeyInfos[289] = new KeyInfo(Keys.Shift | Keys.S, Keys.E); KeyInfos[290] = new KeyInfo(Keys.Shift | Keys.S, Keys.O); KeyInfos[291] = new KeyInfo(Keys.Shift | Keys.S, Keys.Y); // zya KeyInfos[292] = new KeyInfo(Keys.Shift | Keys.S, Keys.Y, Keys.U); KeyInfos[293] = new KeyInfo(Keys.Shift | Keys.S, Keys.Y, Keys.E); KeyInfos[294] = new KeyInfo(Keys.Shift | Keys.S, Keys.Y, Keys.O); KeyInfos[295] = new KeyInfo(Keys.Shift | Keys.S, Keys.W); // zwa KeyInfos[296] = new KeyInfo(Keys.Shift | Keys.S, Keys.W, Keys.I); KeyInfos[297] = new KeyInfo(Keys.Shift | Keys.S, Keys.W, Keys.E); KeyInfos[298] = new KeyInfo(Keys.Shift | Keys.S, Keys.W, Keys.O); |
|
KeyInfos[299] = new KeyInfo(Keys.X); // sha
KeyInfos[300] = new KeyInfo(Keys.X, Keys.I); KeyInfos[301] = new KeyInfo(Keys.X, Keys.U); KeyInfos[302] = new KeyInfo(Keys.X, Keys.E); KeyInfos[303] = new KeyInfo(Keys.X, Keys.O); KeyInfos[304] = new KeyInfo(Keys.Shift | Keys.X); // zha KeyInfos[305] = new KeyInfo(Keys.Shift | Keys.X, Keys.I); KeyInfos[306] = new KeyInfo(Keys.Shift | Keys.X, Keys.U); KeyInfos[307] = new KeyInfo(Keys.Shift | Keys.X, Keys.E); KeyInfos[308] = new KeyInfo(Keys.Shift | Keys.X, Keys.O); KeyInfos[309] = new KeyInfo(Keys.T); // ta KeyInfos[310] = new KeyInfo(Keys.T, Keys.I); KeyInfos[311] = new KeyInfo(Keys.T, Keys.V); KeyInfos[312] = new KeyInfo(Keys.T, Keys.U); KeyInfos[313] = new KeyInfo(Keys.T, Keys.E); KeyInfos[314] = new KeyInfo(Keys.T, Keys.O); KeyInfos[315] = new KeyInfo(Keys.T, Keys.Y); // tya KeyInfos[316] = new KeyInfo(Keys.T, Keys.Y, Keys.U); KeyInfos[317] = new KeyInfo(Keys.T, Keys.Y, Keys.E); KeyInfos[318] = new KeyInfo(Keys.T, Keys.Y, Keys.O); KeyInfos[319] = new KeyInfo(Keys.T, Keys.W); // twa KeyInfos[320] = new KeyInfo(Keys.T, Keys.W, Keys.I); KeyInfos[321] = new KeyInfo(Keys.T, Keys.W, Keys.E); KeyInfos[322] = new KeyInfo(Keys.T, Keys.W, Keys.O); KeyInfos[323] = new KeyInfo(Keys.T, Keys.Oemtilde); // tha KeyInfos[324] = new KeyInfo(Keys.T, Keys.Oemtilde, Keys.I); KeyInfos[325] = new KeyInfo(Keys.T, Keys.Oemtilde, Keys.V); KeyInfos[326] = new KeyInfo(Keys.T, Keys.Oemtilde, Keys.U); KeyInfos[327] = new KeyInfo(Keys.T, Keys.Oemtilde, Keys.E); KeyInfos[328] = new KeyInfo(Keys.T, Keys.Oemtilde, Keys.O); KeyInfos[329] = new KeyInfo(Keys.T, Keys.Oemtilde, Keys.Y); // thya KeyInfos[330] = new KeyInfo(Keys.T, Keys.Oemtilde, Keys.Y, Keys.U); KeyInfos[331] = new KeyInfo(Keys.T, Keys.Oemtilde, Keys.Y, Keys.E); KeyInfos[332] = new KeyInfo(Keys.T, Keys.Oemtilde, Keys.Y, Keys.O); KeyInfos[333] = new KeyInfo(Keys.T, Keys.Oemtilde, Keys.W); // thwa KeyInfos[334] = new KeyInfo(Keys.T, Keys.Oemtilde, Keys.W, Keys.I); KeyInfos[335] = new KeyInfo(Keys.T, Keys.Oemtilde, Keys.W, Keys.E); KeyInfos[336] = new KeyInfo(Keys.T, Keys.Oemtilde, Keys.W, Keys.O); KeyInfos[337] = new KeyInfo(Keys.D); // da KeyInfos[338] = new KeyInfo(Keys.D, Keys.I); KeyInfos[339] = new KeyInfo(Keys.D, Keys.V); KeyInfos[340] = new KeyInfo(Keys.D, Keys.U); KeyInfos[341] = new KeyInfo(Keys.D, Keys.E); KeyInfos[342] = new KeyInfo(Keys.D, Keys.O); KeyInfos[343] = new KeyInfo(Keys.D, Keys.Y); // dya KeyInfos[344] = new KeyInfo(Keys.D, Keys.Y, Keys.U); KeyInfos[345] = new KeyInfo(Keys.D, Keys.Y, Keys.E); KeyInfos[346] = new KeyInfo(Keys.D, Keys.Y, Keys.O); KeyInfos[347] = new KeyInfo(Keys.D, Keys.W); // dwa KeyInfos[348] = new KeyInfo(Keys.D, Keys.W, Keys.I); KeyInfos[349] = new KeyInfo(Keys.D, Keys.W, Keys.E); KeyInfos[350] = new KeyInfo(Keys.D, Keys.W, Keys.O); KeyInfos[351] = new KeyInfo(Keys.D, Keys.Oemtilde); // dha KeyInfos[352] = new KeyInfo(Keys.D, Keys.Oemtilde, Keys.I); KeyInfos[353] = new KeyInfo(Keys.D, Keys.Oemtilde, Keys.V); KeyInfos[354] = new KeyInfo(Keys.D, Keys.Oemtilde, Keys.U); KeyInfos[355] = new KeyInfo(Keys.D, Keys.Oemtilde, Keys.E); KeyInfos[356] = new KeyInfo(Keys.D, Keys.Oemtilde, Keys.O); KeyInfos[357] = new KeyInfo(Keys.D, Keys.Oemtilde, Keys.Y); // dhya KeyInfos[358] = new KeyInfo(Keys.D, Keys.Oemtilde, Keys.Y, Keys.U); KeyInfos[359] = new KeyInfo(Keys.D, Keys.Oemtilde, Keys.Y, Keys.E); KeyInfos[360] = new KeyInfo(Keys.D, Keys.Oemtilde, Keys.Y, Keys.O); KeyInfos[361] = new KeyInfo(Keys.D, Keys.Oemtilde, Keys.W); // dhwa KeyInfos[362] = new KeyInfo(Keys.D, Keys.Oemtilde, Keys.W, Keys.I); KeyInfos[363] = new KeyInfo(Keys.D, Keys.Oemtilde, Keys.W, Keys.E); KeyInfos[364] = new KeyInfo(Keys.D, Keys.Oemtilde, Keys.W, Keys.O); KeyInfos[365] = new KeyInfo(Keys.Shift | Keys.T); // hta KeyInfos[366] = new KeyInfo(Keys.Shift | Keys.T, Keys.I); KeyInfos[367] = new KeyInfo(Keys.Shift | Keys.T, Keys.V); KeyInfos[368] = new KeyInfo(Keys.Shift | Keys.T, Keys.U); KeyInfos[369] = new KeyInfo(Keys.Shift | Keys.T, Keys.E); KeyInfos[370] = new KeyInfo(Keys.Shift | Keys.T, Keys.O); KeyInfos[371] = new KeyInfo(Keys.Shift | Keys.T, Keys.Y); // htya KeyInfos[372] = new KeyInfo(Keys.Shift | Keys.T, Keys.Y, Keys.U); KeyInfos[373] = new KeyInfo(Keys.Shift | Keys.T, Keys.Y, Keys.E); KeyInfos[374] = new KeyInfo(Keys.Shift | Keys.T, Keys.Y, Keys.O); KeyInfos[375] = new KeyInfo(Keys.Shift | Keys.T, Keys.W); // htwa KeyInfos[376] = new KeyInfo(Keys.Shift | Keys.T, Keys.W, Keys.I); KeyInfos[377] = new KeyInfo(Keys.Shift | Keys.T, Keys.W, Keys.E); KeyInfos[378] = new KeyInfo(Keys.Shift | Keys.T, Keys.W, Keys.O); KeyInfos[379] = new KeyInfo(Keys.Shift | Keys.D); // hda KeyInfos[380] = new KeyInfo(Keys.Shift | Keys.D, Keys.I); KeyInfos[381] = new KeyInfo(Keys.Shift | Keys.D, Keys.V); KeyInfos[382] = new KeyInfo(Keys.Shift | Keys.D, Keys.U); KeyInfos[383] = new KeyInfo(Keys.Shift | Keys.D, Keys.E); KeyInfos[384] = new KeyInfo(Keys.Shift | Keys.D, Keys.O); KeyInfos[385] = new KeyInfo(Keys.Shift | Keys.D, Keys.Y); // hdya KeyInfos[386] = new KeyInfo(Keys.Shift | Keys.D, Keys.Y, Keys.U); KeyInfos[387] = new KeyInfo(Keys.Shift | Keys.D, Keys.Y, Keys.E); KeyInfos[388] = new KeyInfo(Keys.Shift | Keys.D, Keys.Y, Keys.O); KeyInfos[389] = new KeyInfo(Keys.Shift | Keys.D, Keys.W); // hdwa KeyInfos[390] = new KeyInfo(Keys.Shift | Keys.D, Keys.W, Keys.I); KeyInfos[391] = new KeyInfo(Keys.Shift | Keys.D, Keys.W, Keys.E); KeyInfos[392] = new KeyInfo(Keys.Shift | Keys.D, Keys.W, Keys.O); KeyInfos[393] = new KeyInfo(Keys.N); // na KeyInfos[394] = new KeyInfo(Keys.N, Keys.I); KeyInfos[395] = new KeyInfo(Keys.N, Keys.V); KeyInfos[396] = new KeyInfo(Keys.N, Keys.U); KeyInfos[397] = new KeyInfo(Keys.N, Keys.E); KeyInfos[398] = new KeyInfo(Keys.N, Keys.O); |
|
KeyInfos[399] = new KeyInfo(Keys.N, Keys.Y); // nya
KeyInfos[400] = new KeyInfo(Keys.N, Keys.Y, Keys.U); KeyInfos[401] = new KeyInfo(Keys.N, Keys.Y, Keys.E); KeyInfos[402] = new KeyInfo(Keys.N, Keys.Y, Keys.O); KeyInfos[403] = new KeyInfo(Keys.N, Keys.W); // nwa KeyInfos[404] = new KeyInfo(Keys.N, Keys.W, Keys.I); KeyInfos[405] = new KeyInfo(Keys.N, Keys.W, Keys.E); KeyInfos[406] = new KeyInfo(Keys.N, Keys.W, Keys.O); KeyInfos[407] = new KeyInfo(Keys.L); // nja KeyInfos[408] = new KeyInfo(Keys.L, Keys.I); KeyInfos[409] = new KeyInfo(Keys.L, Keys.U); KeyInfos[410] = new KeyInfo(Keys.L, Keys.E); KeyInfos[411] = new KeyInfo(Keys.L, Keys.O); KeyInfos[412] = new KeyInfo(Keys.C); // tsa KeyInfos[413] = new KeyInfo(Keys.C, Keys.I); KeyInfos[414] = new KeyInfo(Keys.C, Keys.V); KeyInfos[415] = new KeyInfo(Keys.C, Keys.U); KeyInfos[416] = new KeyInfo(Keys.C, Keys.E); KeyInfos[417] = new KeyInfo(Keys.C, Keys.O); KeyInfos[418] = new KeyInfo(Keys.C, Keys.Y); // tsya KeyInfos[419] = new KeyInfo(Keys.C, Keys.Y, Keys.U); KeyInfos[420] = new KeyInfo(Keys.C, Keys.Y, Keys.E); KeyInfos[421] = new KeyInfo(Keys.C, Keys.Y, Keys.O); KeyInfos[422] = new KeyInfo(Keys.C, Keys.W); // tswa KeyInfos[423] = new KeyInfo(Keys.C, Keys.W, Keys.I); KeyInfos[424] = new KeyInfo(Keys.C, Keys.W, Keys.E); KeyInfos[425] = new KeyInfo(Keys.C, Keys.W, Keys.O); KeyInfos[426] = new KeyInfo(Keys.C, Keys.Oemtilde); // tsha KeyInfos[427] = new KeyInfo(Keys.C, Keys.Oemtilde, Keys.I); KeyInfos[428] = new KeyInfo(Keys.C, Keys.Oemtilde, Keys.V); KeyInfos[429] = new KeyInfo(Keys.C, Keys.Oemtilde, Keys.U); KeyInfos[430] = new KeyInfo(Keys.C, Keys.Oemtilde, Keys.E); KeyInfos[431] = new KeyInfo(Keys.C, Keys.Oemtilde, Keys.O); KeyInfos[432] = new KeyInfo(Keys.C, Keys.Oemtilde, Keys.Y); // tshya KeyInfos[433] = new KeyInfo(Keys.C, Keys.Oemtilde, Keys.Y, Keys.U); KeyInfos[434] = new KeyInfo(Keys.C, Keys.Oemtilde, Keys.Y, Keys.E); KeyInfos[435] = new KeyInfo(Keys.C, Keys.Oemtilde, Keys.Y, Keys.O); KeyInfos[436] = new KeyInfo(Keys.C, Keys.Oemtilde, Keys.W); // tshwa KeyInfos[437] = new KeyInfo(Keys.C, Keys.Oemtilde, Keys.W, Keys.I); KeyInfos[438] = new KeyInfo(Keys.C, Keys.Oemtilde, Keys.W, Keys.E); KeyInfos[439] = new KeyInfo(Keys.C, Keys.Oemtilde, Keys.W, Keys.O); KeyInfos[440] = new KeyInfo(Keys.Z); // dza KeyInfos[441] = new KeyInfo(Keys.Z, Keys.I); KeyInfos[442] = new KeyInfo(Keys.Z, Keys.V); KeyInfos[443] = new KeyInfo(Keys.Z, Keys.U); KeyInfos[444] = new KeyInfo(Keys.Z, Keys.E); KeyInfos[445] = new KeyInfo(Keys.Z, Keys.O); KeyInfos[446] = new KeyInfo(Keys.Z, Keys.Y); // dsya KeyInfos[447] = new KeyInfo(Keys.Z, Keys.Y, Keys.U); KeyInfos[448] = new KeyInfo(Keys.Z, Keys.Y, Keys.E); KeyInfos[449] = new KeyInfo(Keys.Z, Keys.Y, Keys.O); KeyInfos[450] = new KeyInfo(Keys.Z, Keys.W); // dswa KeyInfos[451] = new KeyInfo(Keys.Z, Keys.W, Keys.I); KeyInfos[452] = new KeyInfo(Keys.Z, Keys.W, Keys.E); KeyInfos[453] = new KeyInfo(Keys.Z, Keys.W, Keys.O); KeyInfos[454] = new KeyInfo(Keys.Z, Keys.Oemtilde); // dsha KeyInfos[455] = new KeyInfo(Keys.Z, Keys.Oemtilde, Keys.I); KeyInfos[456] = new KeyInfo(Keys.Z, Keys.Oemtilde, Keys.V); KeyInfos[457] = new KeyInfo(Keys.Z, Keys.Oemtilde, Keys.U); KeyInfos[458] = new KeyInfo(Keys.Z, Keys.Oemtilde, Keys.E); KeyInfos[459] = new KeyInfo(Keys.Z, Keys.Oemtilde, Keys.O); KeyInfos[460] = new KeyInfo(Keys.Z, Keys.Oemtilde, Keys.Y); // dshya KeyInfos[461] = new KeyInfo(Keys.Z, Keys.Oemtilde, Keys.Y, Keys.U); KeyInfos[462] = new KeyInfo(Keys.Z, Keys.Oemtilde, Keys.Y, Keys.E); KeyInfos[463] = new KeyInfo(Keys.Z, Keys.Oemtilde, Keys.Y, Keys.O); KeyInfos[464] = new KeyInfo(Keys.Z, Keys.Oemtilde, Keys.W); // dshwa KeyInfos[465] = new KeyInfo(Keys.Z, Keys.Oemtilde, Keys.W, Keys.I); KeyInfos[466] = new KeyInfo(Keys.Z, Keys.Oemtilde, Keys.W, Keys.E); KeyInfos[467] = new KeyInfo(Keys.Z, Keys.Oemtilde, Keys.W, Keys.O); KeyInfos[468] = new KeyInfo(Keys.Q); // tsja KeyInfos[469] = new KeyInfo(Keys.Q, Keys.I); KeyInfos[470] = new KeyInfo(Keys.Q, Keys.U); KeyInfos[471] = new KeyInfo(Keys.Q, Keys.E); KeyInfos[472] = new KeyInfo(Keys.Q, Keys.O); KeyInfos[473] = new KeyInfo(Keys.Q, Keys.Oemtilde); // tsjha KeyInfos[474] = new KeyInfo(Keys.Q, Keys.Oemtilde, Keys.I); KeyInfos[475] = new KeyInfo(Keys.Q, Keys.Oemtilde, Keys.U); KeyInfos[476] = new KeyInfo(Keys.Q, Keys.Oemtilde, Keys.E); KeyInfos[477] = new KeyInfo(Keys.Q, Keys.Oemtilde, Keys.O); KeyInfos[478] = new KeyInfo(Keys.J); // dzja KeyInfos[479] = new KeyInfo(Keys.J, Keys.I); KeyInfos[480] = new KeyInfo(Keys.J, Keys.U); KeyInfos[481] = new KeyInfo(Keys.J, Keys.E); KeyInfos[482] = new KeyInfo(Keys.J, Keys.O); KeyInfos[483] = new KeyInfo(Keys.J, Keys.Oemtilde); // dsjha KeyInfos[484] = new KeyInfo(Keys.J, Keys.Oemtilde, Keys.I); KeyInfos[485] = new KeyInfo(Keys.J, Keys.Oemtilde, Keys.U); KeyInfos[486] = new KeyInfo(Keys.J, Keys.Oemtilde, Keys.E); KeyInfos[487] = new KeyInfo(Keys.J, Keys.Oemtilde, Keys.O); KeyInfos[488] = new KeyInfo(Keys.P); // pa KeyInfos[489] = new KeyInfo(Keys.P, Keys.I); KeyInfos[490] = new KeyInfo(Keys.P, Keys.V); KeyInfos[491] = new KeyInfo(Keys.P, Keys.U); KeyInfos[492] = new KeyInfo(Keys.P, Keys.E); KeyInfos[493] = new KeyInfo(Keys.P, Keys.O); KeyInfos[494] = new KeyInfo(Keys.P, Keys.Y); // pya KeyInfos[495] = new KeyInfo(Keys.P, Keys.Y, Keys.U); KeyInfos[496] = new KeyInfo(Keys.P, Keys.Y, Keys.E); KeyInfos[497] = new KeyInfo(Keys.P, Keys.Y, Keys.O); |
|
KeyInfos[498] = new KeyInfo(Keys.P, Keys.Oemtilde); // pha
KeyInfos[499] = new KeyInfo(Keys.P, Keys.Oemtilde, Keys.I); KeyInfos[500] = new KeyInfo(Keys.P, Keys.Oemtilde, Keys.V); KeyInfos[501] = new KeyInfo(Keys.P, Keys.Oemtilde, Keys.U); KeyInfos[502] = new KeyInfo(Keys.P, Keys.Oemtilde, Keys.E); KeyInfos[503] = new KeyInfo(Keys.P, Keys.Oemtilde, Keys.O); KeyInfos[504] = new KeyInfo(Keys.P, Keys.Oemtilde, Keys.Y); // phya KeyInfos[505] = new KeyInfo(Keys.P, Keys.Oemtilde, Keys.Y, Keys.U); KeyInfos[506] = new KeyInfo(Keys.P, Keys.Oemtilde, Keys.Y, Keys.E); KeyInfos[507] = new KeyInfo(Keys.P, Keys.Oemtilde, Keys.Y, Keys.O); KeyInfos[508] = new KeyInfo(Keys.B); // ba KeyInfos[509] = new KeyInfo(Keys.B, Keys.I); KeyInfos[510] = new KeyInfo(Keys.B, Keys.V); KeyInfos[511] = new KeyInfo(Keys.B, Keys.U); KeyInfos[512] = new KeyInfo(Keys.B, Keys.E); KeyInfos[513] = new KeyInfo(Keys.B, Keys.O); KeyInfos[514] = new KeyInfo(Keys.B, Keys.Y); // bya KeyInfos[515] = new KeyInfo(Keys.B, Keys.Y, Keys.U); KeyInfos[516] = new KeyInfo(Keys.B, Keys.Y, Keys.E); KeyInfos[517] = new KeyInfo(Keys.B, Keys.Y, Keys.O); KeyInfos[518] = new KeyInfo(Keys.B, Keys.Oemtilde); // bha KeyInfos[519] = new KeyInfo(Keys.B, Keys.Oemtilde, Keys.I); KeyInfos[520] = new KeyInfo(Keys.B, Keys.Oemtilde, Keys.V); KeyInfos[521] = new KeyInfo(Keys.B, Keys.Oemtilde, Keys.U); KeyInfos[522] = new KeyInfo(Keys.B, Keys.Oemtilde, Keys.E); KeyInfos[523] = new KeyInfo(Keys.B, Keys.Oemtilde, Keys.O); KeyInfos[524] = new KeyInfo(Keys.B, Keys.Oemtilde, Keys.Y); // bhya KeyInfos[525] = new KeyInfo(Keys.B, Keys.Oemtilde, Keys.Y, Keys.U); KeyInfos[526] = new KeyInfo(Keys.B, Keys.Oemtilde, Keys.Y, Keys.E); KeyInfos[527] = new KeyInfo(Keys.B, Keys.Oemtilde, Keys.Y, Keys.O); KeyInfos[528] = new KeyInfo(Keys.F); // pfa KeyInfos[529] = new KeyInfo(Keys.F, Keys.I); KeyInfos[530] = new KeyInfo(Keys.F, Keys.V); KeyInfos[531] = new KeyInfo(Keys.F, Keys.U); KeyInfos[532] = new KeyInfo(Keys.F, Keys.E); KeyInfos[533] = new KeyInfo(Keys.F, Keys.O); KeyInfos[534] = new KeyInfo(Keys.F, Keys.Y); // pfya KeyInfos[535] = new KeyInfo(Keys.F, Keys.Y, Keys.U); KeyInfos[536] = new KeyInfo(Keys.F, Keys.Y, Keys.E); KeyInfos[537] = new KeyInfo(Keys.F, Keys.Y, Keys.O); KeyInfos[538] = new KeyInfo(Keys.M); // ma KeyInfos[539] = new KeyInfo(Keys.M, Keys.I); KeyInfos[540] = new KeyInfo(Keys.M, Keys.V); KeyInfos[541] = new KeyInfo(Keys.M, Keys.U); KeyInfos[542] = new KeyInfo(Keys.M, Keys.E); KeyInfos[543] = new KeyInfo(Keys.M, Keys.O); KeyInfos[544] = new KeyInfo(Keys.M, Keys.Y); // mya KeyInfos[545] = new KeyInfo(Keys.M, Keys.Y, Keys.U); KeyInfos[546] = new KeyInfo(Keys.M, Keys.Y, Keys.E); KeyInfos[547] = new KeyInfo(Keys.M, Keys.Y, Keys.O); KeyInfos[548] = new KeyInfo(Keys.Shift | Keys.F); // fa KeyInfos[549] = new KeyInfo(Keys.Shift | Keys.F, Keys.I); KeyInfos[550] = new KeyInfo(Keys.Shift | Keys.F, Keys.V); KeyInfos[551] = new KeyInfo(Keys.Shift | Keys.F, Keys.U); KeyInfos[552] = new KeyInfo(Keys.Shift | Keys.F, Keys.E); KeyInfos[553] = new KeyInfo(Keys.Shift | Keys.F, Keys.O); KeyInfos[554] = new KeyInfo(Keys.Shift | Keys.F, Keys.Y); // fya KeyInfos[555] = new KeyInfo(Keys.Shift | Keys.F, Keys.Y, Keys.U); KeyInfos[556] = new KeyInfo(Keys.Shift | Keys.F, Keys.Y, Keys.E); KeyInfos[557] = new KeyInfo(Keys.Shift | Keys.F, Keys.Y, Keys.O); KeyInfos[558] = new KeyInfo(Keys.Shift | Keys.V); // va KeyInfos[559] = new KeyInfo(Keys.Shift | Keys.V, Keys.I); KeyInfos[560] = new KeyInfo(Keys.Shift | Keys.V, Keys.V); KeyInfos[561] = new KeyInfo(Keys.Shift | Keys.V, Keys.U); KeyInfos[562] = new KeyInfo(Keys.Shift | Keys.V, Keys.E); KeyInfos[563] = new KeyInfo(Keys.Shift | Keys.V, Keys.O); KeyInfos[564] = new KeyInfo(Keys.Shift | Keys.V, Keys.Y); // vya KeyInfos[565] = new KeyInfo(Keys.Shift | Keys.V, Keys.Y, Keys.U); KeyInfos[566] = new KeyInfo(Keys.Shift | Keys.V, Keys.Y, Keys.E); KeyInfos[567] = new KeyInfo(Keys.Shift | Keys.V, Keys.Y, Keys.O); KeyInfos[568] = new KeyInfo(Keys.R); // ra KeyInfos[569] = new KeyInfo(Keys.R, Keys.I); KeyInfos[570] = new KeyInfo(Keys.R, Keys.V); KeyInfos[571] = new KeyInfo(Keys.R, Keys.U); KeyInfos[572] = new KeyInfo(Keys.R, Keys.E); KeyInfos[573] = new KeyInfo(Keys.R, Keys.O); KeyInfos[574] = new KeyInfo(Keys.R, Keys.Y); // rya KeyInfos[575] = new KeyInfo(Keys.R, Keys.Y, Keys.U); KeyInfos[576] = new KeyInfo(Keys.R, Keys.Y, Keys.E); KeyInfos[577] = new KeyInfo(Keys.R, Keys.Y, Keys.O); KeyInfos[578] = new KeyInfo(Keys.R, Keys.W); // rya KeyInfos[579] = new KeyInfo(Keys.R, Keys.W, Keys.I); KeyInfos[580] = new KeyInfo(Keys.R, Keys.W, Keys.E); KeyInfos[581] = new KeyInfo(Keys.R, Keys.W, Keys.O); |
|
KeyInfos[582] = new KeyInfo(Keys.Space); // space
KeyInfos[583] = new KeyInfo(); // enter KeyInfos[584] = new KeyInfo(Keys.OemBackslash); // _ 。 KeyInfos[585] = new KeyInfo(Keys.OemQuestion); // / 、 KeyInfos[586] = new KeyInfo(Keys.OemSemicolon); // : KeyInfos[587] = new KeyInfo(Keys.Shift | Keys.OemSemicolon); // : KeyInfos[588] = new KeyInfo(Keys.Shift | Keys.OemQuestion); // / ? KeyInfos[589] = new KeyInfo(Keys.Shift | Keys.OemBackslash); // _ ! KeyInfos[590] = new KeyInfo(Keys.Control | Keys.Shift | Keys.OemPipe); // | … KeyInfos[591] = new KeyInfo(Keys.Control | Keys.Shift | Keys.Oemtilde); // ` @ KeyInfos[592] = new KeyInfo(Keys.Shift | Keys.D3); // # KeyInfos[593] = new KeyInfo(Keys.Control | Keys.D6); // & KeyInfos[594] = new KeyInfo(Keys.Shift | Keys.D5); // % KeyInfos[595] = new KeyInfo(Keys.OemPipe); // | | KeyInfos[596] = new KeyInfo(Keys.Control | Keys.Oemtilde); // ` KeyInfos[597] = new KeyInfo(Keys.Shift | Keys.D8); // ( KeyInfos[598] = new KeyInfo(Keys.Shift | Keys.D9); // ) KeyInfos[599] = new KeyInfo(Keys.Shift | Keys.OemOpenBrackets); // [ { KeyInfos[600] = new KeyInfo(Keys.Shift | Keys.OemCloseBrackets); // ] } KeyInfos[601] = new KeyInfo(Keys.OemOpenBrackets); // [ [ KeyInfos[602] = new KeyInfo(Keys.OemCloseBrackets); // ] ] KeyInfos[603] = new KeyInfo(Keys.Control | Keys.OemOpenBrackets); // [ 「 KeyInfos[604] = new KeyInfo(Keys.Control | Keys.OemCloseBrackets); // ] 」 KeyInfos[605] = new KeyInfo(Keys.Control | Keys.Shift | Keys.OemOpenBrackets); // [ 『 KeyInfos[606] = new KeyInfo(Keys.Control | Keys.Shift | Keys.OemCloseBrackets); // ] 』 KeyInfos[607] = new KeyInfo(Keys.Control | Keys.Shift | Keys.D8); // 【 KeyInfos[608] = new KeyInfo(Keys.Control | Keys.Shift | Keys.D9); // 】 KeyInfos[609] = new KeyInfo(Keys.Shift | Keys.D4); // ° KeyInfos[610] = new KeyInfo(Keys.Shift | Keys.D0); // ∞ KeyInfos[611] = new KeyInfo(Keys.Control | Keys.D0); // ∝ KeyInfos[612] = new KeyInfo(Keys.Control | Keys.Shift | Keys.D2); // ※ KeyInfos[613] = new KeyInfo(Keys.Control | Keys.D2); // * KeyInfos[614] = new KeyInfo(Keys.Control | Keys.D7); // ★ KeyInfos[615] = new KeyInfo(Keys.Shift | Keys.D7); // ☆ KeyInfos[616] = new KeyInfo(Keys.Control | Keys.M); // ♪ KeyInfos[617] = new KeyInfo(Keys.Control | Keys.Oemplus); // ; + KeyInfos[618] = new KeyInfo(Keys.OemMinus); // - - KeyInfos[619] = new KeyInfo(Keys.Control | Keys.Shift | Keys.Oemplus); // ; ± KeyInfos[620] = new KeyInfo(Keys.Control | Keys.OemMinus); // - _ KeyInfos[621] = new KeyInfo(Keys.Control | Keys.OemSemicolon); // : × KeyInfos[622] = new KeyInfo(Keys.Control | Keys.Shift | Keys.OemSemicolon); // : ・ KeyInfos[623] = new KeyInfo(Keys.Control | Keys.OemQuestion); // / ÷ KeyInfos[624] = new KeyInfo(Keys.Control | Keys.Shift | Keys.OemQuestion); // / / KeyInfos[625] = new KeyInfo(Keys.Control | Keys.Shift | Keys.OemBackslash); // _ \ KeyInfos[626] = new KeyInfo(Keys.OemQuotes); // ^ ^ KeyInfos[627] = new KeyInfo(Keys.Control | Keys.OemQuotes); // ^ √ KeyInfos[628] = new KeyInfo(Keys.Control | Keys.D4); // (+) KeyInfos[629] = new KeyInfo(Keys.Control | Keys.Shift | Keys.D4); // (×) KeyInfos[630] = new KeyInfo(Keys.Shift | Keys.OemMinus); // - = KeyInfos[631] = new KeyInfo(Keys.Control | Keys.Shift | Keys.OemMinus); // - ≠ KeyInfos[632] = new KeyInfo(Keys.Control | Keys.G); // ≒ KeyInfos[633] = new KeyInfo(Keys.Control | Keys.F); // --- KeyInfos[634] = new KeyInfo(Keys.Control | Keys.Oemcomma); // , < KeyInfos[635] = new KeyInfo(Keys.Control | Keys.H); // ≪ KeyInfos[636] = new KeyInfo(Keys.Control | Keys.Shift | Keys.Oemcomma); // , ≦ KeyInfos[637] = new KeyInfo(Keys.Control | Keys.OemPeriod); // . > KeyInfos[638] = new KeyInfo(Keys.Control | Keys.J); // ≫ KeyInfos[639] = new KeyInfo(Keys.Control | Keys.Shift | Keys.OemPeriod); // . ≧ KeyInfos[640] = new KeyInfo(Keys.Control | Keys.D1); // ¬ KeyInfos[641] = new KeyInfo(Keys.Shift | Keys.OemPipe); // | ∨ KeyInfos[642] = new KeyInfo(Keys.Shift | Keys.D6); // ∧ KeyInfos[643] = new KeyInfo(Keys.Shift | Keys.OemQuotes); // ^ ~ KeyInfos[644] = new KeyInfo(Keys.Control | Keys.K); // ∵ KeyInfos[645] = new KeyInfo(Keys.Control | Keys.L); // ∴ KeyInfos[646] = new KeyInfo(Keys.Shift | Keys.A); // ∀ KeyInfos[647] = new KeyInfo(Keys.Shift | Keys.E); // ∃ KeyInfos[648] = new KeyInfo(Keys.Control | Keys.Q); // ∈ KeyInfos[649] = new KeyInfo(Keys.Control | Keys.Shift | Keys.Q); // ∈/ KeyInfos[650] = new KeyInfo(Keys.Control | Keys.E); // ∋ KeyInfos[651] = new KeyInfo(Keys.Control | Keys.Shift | Keys.E); // ∋\ KeyInfos[652] = new KeyInfo(Keys.Control | Keys.R); // ⊂ KeyInfos[653] = new KeyInfo(Keys.Control | Keys.Shift | Keys.R); // ⊆ KeyInfos[654] = new KeyInfo(Keys.Control | Keys.T); // ⊃ KeyInfos[655] = new KeyInfo(Keys.Control | Keys.Shift | Keys.T); // ⊇ KeyInfos[656] = new KeyInfo(Keys.Control | Keys.U); // ∪ KeyInfos[657] = new KeyInfo(Keys.Control | Keys.Y); // ∩ KeyInfos[658] = new KeyInfo(Keys.Control | Keys.O); // Φ KeyInfos[659] = new KeyInfo(Keys.Control | Keys.D); // → KeyInfos[660] = new KeyInfo(Keys.Control | Keys.A); // ← KeyInfos[661] = new KeyInfo(Keys.Control | Keys.W); // ↑ KeyInfos[662] = new KeyInfo(Keys.Control | Keys.S); // ↓ KeyInfos[663] = new KeyInfo(Keys.Control | Keys.Shift | Keys.D); // ⇒ KeyInfos[664] = new KeyInfo(Keys.Control | Keys.Shift | Keys.A); // <= KeyInfos[665] = new KeyInfo(Keys.Control | Keys.Shift | Keys.S); // ⇔ KeyInfos[666] = new KeyInfo(Keys.Control | Keys.Z); // Δ KeyInfos[667] = new KeyInfo(Keys.Control | Keys.Shift | Keys.Z); // ∇ KeyInfos[668] = new KeyInfo(Keys.Control | Keys.X); // ∑ KeyInfos[669] = new KeyInfo(Keys.Control | Keys.Shift | Keys.X); // Π KeyInfos[670] = new KeyInfo(Keys.Control | Keys.C); // d KeyInfos[671] = new KeyInfo(Keys.Control | Keys.Shift | Keys.C); // ∂ KeyInfos[672] = new KeyInfo(Keys.Control | Keys.V); // ∫ KeyInfos[673] = new KeyInfo(Keys.Control | Keys.Shift | Keys.V); // ∮ KeyInfos[674] = new KeyInfo(Keys.Control | Keys.B); // ∬ KeyInfos[675] = new KeyInfo(Keys.Control | Keys.Shift | Keys.B); // ∬○ KeyInfos[676] = new KeyInfo(Keys.Control | Keys.N); // ∫∫∫ } |
|
public static void ChangeColor(Bitmap bmp, byte inColorA, byte inColorR, byte inColorG, byte inColorB, byte outColorA, byte outColorR, byte outColorG, byte outColorB)
{ // Specify a pixel format. PixelFormat pxf = PixelFormat.Format32bppArgb; // Lock the bitmap's bits. Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height); BitmapData bmpData = bmp.LockBits(rect, ImageLockMode.ReadWrite, pxf); // Get the address of the first line. IntPtr ptr = bmpData.Scan0; // Declare an array to hold the bytes of the bitmap. // int numBytes = bmp.Width * bmp.Height * 3; int numBytes = bmpData.Stride * bmp.Height; byte[] argbValues = new byte[numBytes]; // Copy the RGB values into the array. Marshal.Copy(ptr, argbValues, 0, numBytes); // Manipulate the bitmap for (int counter = 0; counter < argbValues.Length; counter += 4) { if (argbValues[counter] == inColorB && argbValues[counter + 1] == inColorG && argbValues[counter + 2] == inColorR && argbValues[counter + 3] == inColorA) { argbValues[counter] = outColorB; argbValues[counter + 1] = outColorG; argbValues[counter + 2] = outColorR; argbValues[counter + 3] = outColorA; } } // Copy the RGB values back to the bitmap Marshal.Copy(argbValues, 0, ptr, numBytes); // Unlock the bits. bmp.UnlockBits(bmpData); } } } |