Переглянути джерело

修改JP键盘排序,修改切换产品功能

KWD 3 місяців тому
батько
коміт
bdb010c09f
1 змінених файлів з 205 додано та 81 видалено
  1. 205 81
      TeamAAS-VM/Core/Management.cs

+ 205 - 81
TeamAAS-VM/Core/Management.cs

@@ -28,6 +28,7 @@ using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using System.Windows.Media;
 using System.Windows.Media;
 using Team.FFFeederService.Interfaces;
 using Team.FFFeederService.Interfaces;
+using TeamAAS_VP.Controls;
 using TeamAAS_VP.Core.PLCs;
 using TeamAAS_VP.Core.PLCs;
 using TeamAAS_VP.Core.ScrewDriver;
 using TeamAAS_VP.Core.ScrewDriver;
 using TeamAAS_VP.Enums;
 using TeamAAS_VP.Enums;
@@ -2456,7 +2457,7 @@ namespace TeamAAS_VP.Core
                                         if (isSuccess)
                                         if (isSuccess)
                                         {
                                         {
 
 
-                                            string[] item = response.Split('\n');
+                                            string[] item = response2.Split('\n');
                                             //获取产品主sn和wo用于后续上传数据使用
                                             //获取产品主sn和wo用于后续上传数据使用
                                             string snItem = item.FirstOrDefault(f => f.Contains("sn="));
                                             string snItem = item.FirstOrDefault(f => f.Contains("sn="));
                                             if (snItem != null)
                                             if (snItem != null)
@@ -2511,30 +2512,42 @@ namespace TeamAAS_VP.Core
                                                 //切换产品
                                                 //切换产品
                                                 if (i == 0)//i=0时才会切换产品
                                                 if (i == 0)//i=0时才会切换产品
                                                 {
                                                 {
-                                                    var q = await _systemDatabaseService.QueryProductFromMesAsync(model_num, color);
-                                                    if (!string.IsNullOrEmpty(q))
+                                                    try
                                                     {
                                                     {
-                                                        ProductWithMes productWithMes = new ProductWithMes();
-                                                        ProductList = new ObservableCollection<ProductModel>(_productService.GetAllProducts());
-                                                        Guid productId = Guid.Empty;
-                                                        foreach (var itt in ProductList)
+                                                        //var q = await _systemDatabaseService.QueryProductFromMesAsync(model_num, color);
+                                                        var item1 = await _systemDatabaseService.QueryProductWithMesALLAsync();
+                                                        foreach (var q in item1)
                                                         {
                                                         {
-                                                            if (itt.Name == q)
+                                                            if (!string.IsNullOrEmpty(q.ProductName))
                                                             {
                                                             {
-                                                                productId = itt.ID;
-                                                                break;
+                                                                ProductWithMes productWithMes = new ProductWithMes();
+                                                                ProductList = new ObservableCollection<ProductModel>(_productService.GetAllProducts());
+                                                                Guid productId = Guid.Empty;
+                                                                foreach (var itt in ProductList)
+                                                                {
+                                                                    if (itt.Name == q.ProductName)
+                                                                    {
+                                                                        productId = itt.ID;
+                                                                        break;
+                                                                    }
+                                                                }
+
+                                                                if (currentProduct.ID != productId && q.ProductKBSN == kb_sn && q.ProductColor == color && q.ProductCode == model_num)
+                                                                {
+                                                                    //切换产品
+                                                                    SendTaskMessage($"开始切换产品{q.ProductKBSN}", MessageLevel.Error);
+                                                                    _productService.LoadProduct(productId);
+                                                                    _productService.SetCurrentProduct(productId);
+                                                                    await WritePositionToPlcAsync();
+                                                                    SendTaskMessage($"切换产品成功", MessageLevel.Debug);
+                                                                    break;
+                                                                }
                                                             }
                                                             }
-                                                        }
-                                                        //if (kb_sn ==)
-                                                        if (currentProduct.ID != productId || productWithMes.ProductKBSN != kb_sn)
-                                                        {
-                                                            //切换产品
-                                                            _productService.LoadProduct(productId);
-                                                            _productService.SetCurrentProduct(productId);
-                                                            await WritePositionToPlcAsync();
-                                                            SendTaskMessage($"切换产品成功", MessageLevel.Debug);
+
                                                         }
                                                         }
                                                     }
                                                     }
+                                                    catch (Exception ex)
+                                                    { SendTaskMessage($"切换产品异常"+ex.Message, MessageLevel.Error); }
                                                 }
                                                 }
                                             }
                                             }
                                             await plc.WriteNodeAsync(string.Format(addressConfig.Out_MesStatus.Address, i), (Int16)1);
                                             await plc.WriteNodeAsync(string.Format(addressConfig.Out_MesStatus.Address, i), (Int16)1);
@@ -4037,49 +4050,160 @@ namespace TeamAAS_VP.Core
         /// </summary>
         /// </summary>
         private Dictionary<string, List<string>> GetJPKeyboardNeighborMap()
         private Dictionary<string, List<string>> GetJPKeyboardNeighborMap()
         {
         {
+            #region 之前的JP
+            //return new Dictionary<string, List<string>>
+            //{
+            //    // ==============================================
+            //    // 第一行:Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Insert Delete Power
+            //    // ==============================================
+            //    ["Esc"] = new List<string> { "F1", "/" },
+            //    ["F1"] = new List<string> { "Esc", "F2", "/" },
+            //    ["F2"] = new List<string> { "F1", "F3", "1" },
+            //    ["F3"] = new List<string> { "F2", "F4", "2" },
+            //    ["F4"] = new List<string> { "F3", "F5", "3" },
+            //    ["F5"] = new List<string> { "F4", "F6", "4" },
+            //    ["F6"] = new List<string> { "F5", "F7", "5" },
+            //    ["F7"] = new List<string> { "F6", "F8", "6" },
+            //    ["F8"] = new List<string> { "F7", "F9", "7" },
+            //    ["F9"] = new List<string> { "F8", "F10", "8" },
+            //    ["F10"] = new List<string> { "F9", "F11", "9" },
+            //    ["F11"] = new List<string> { "F10", "F12", "0" },
+            //    ["F12"] = new List<string> { "F11", "insert", "=" },
+            //    ["insert"] = new List<string> { "F12", "delete", "~" },
+            //    ["delete"] = new List<string> { "insert", "|" },
+            //    ["Power"] = new List<string> { "insert", "|" },
+            //    // ==============================================
+            //    // 第二行 / 1 2 3 4 5 6 7 8 9 0 = ~ | backspace
+            //    // ==============================================
+            //    ["/"] = new List<string> { "Esc", "F1", "1", "tab" },
+            //    ["1"] = new List<string> { "/", "F2", "2", "tab", "Q" },
+            //    ["2"] = new List<string> { "1", "F3", "3", "Q", "W" },
+            //    ["3"] = new List<string> { "2", "F4", "4", "W", "E" },
+            //    ["4"] = new List<string> { "3", "F5", "5", "E", "R" },
+            //    ["5"] = new List<string> { "4", "F6", "6", "R", "T" },
+            //    ["6"] = new List<string> { "5", "F7", "7", "T", "Y" },
+            //    ["7"] = new List<string> { "6", "F8", "8", "Y", "U" },
+            //    ["8"] = new List<string> { "7", "F9", "9", "U", "I" },
+            //    ["9"] = new List<string> { "8", "F10", "0", "I", "O" },
+            //    ["0"] = new List<string> { "9", "F11", "=", "O", "P" },
+            //    ["="] = new List<string> { "0", "F12", "~", "P", "@" },
+            //    ["~"] = new List<string> { "=", "insert", "|", "@", "{" },
+            //    ["|"] = new List<string> { "~", "delete", "backspace", "{" },
+            //    ["backspace"] = new List<string> { "|", "}" },
+            //    // ==============================================
+            //    // 第三行 Tab Q W E R T Y U I O P @ {
+            //    // ==============================================
+            //    ["Tab"] = new List<string> { "1", "Q", "capslock" },
+            //    ["Q"] = new List<string> { "Tab", "1", "2", "W", "capslock", "A" },
+            //    ["W"] = new List<string> { "Q", "2", "3", "E", "A", "S" },
+            //    ["E"] = new List<string> { "W", "3", "4", "R", "S", "D" },
+            //    ["R"] = new List<string> { "E", "4", "5", "T", "D", "F" },
+            //    ["T"] = new List<string> { "R", "5", "6", "Y", "F", "G" },
+            //    ["Y"] = new List<string> { "T", "6", "7", "U", "G", "H" },
+            //    ["U"] = new List<string> { "Y", "7", "8", "I", "H", "J" },
+            //    ["I"] = new List<string> { "U", "8", "9", "O", "J", "K" },
+            //    ["O"] = new List<string> { "I", "9", "0", "P", "K", "L" },
+            //    ["P"] = new List<string> { "O", "0", "=", "@", "L", ";" },
+            //    ["@"] = new List<string> { "P", "=", "~", "{", ";", ":" },
+            //    ["{"] = new List<string> { "@", "~", "|", "backspace", ":", "}" },
+
+            //    // ==============================================
+            //    // 第四行 CapsLock A S D F G H J K L ; : } Enter
+            //    // ==============================================
+            //    ["CapsLock"] = new List<string> { "tab", "Q", "A", "shift1" },
+            //    ["A"] = new List<string> { "CapsLock", "Q", "W", "S", "shift1", "Z" },
+            //    ["S"] = new List<string> { "A", "W", "E", "D", "Z", "X" },
+            //    ["D"] = new List<string> { "S", "E", "R", "F", "X", "C" },
+            //    ["F"] = new List<string> { "D", "R", "T", "G", "C", "V" },
+            //    ["G"] = new List<string> { "F", "T", "Y", "H", "V", "B" },
+            //    ["H"] = new List<string> { "G", "Y", "U", "J", "B", "N" },
+            //    ["J"] = new List<string> { "H", "U", "I", "K", "N", "M" },
+            //    ["K"] = new List<string> { "J", "I", "O", "L", "M", "<" },
+            //    ["L"] = new List<string> { "K", "O", "P", ";", "<", ">" },
+            //    [";"] = new List<string> { "L", "P", "@", ":", ">", "?" },
+            //    [":"] = new List<string> { ";", "@", "{", "}", "?", "\\" },
+            //    ["}"] = new List<string> { ":", "{", "backspace", "Enter", "ろ", "Shift2" },
+            //    ["Enter"] = new List<string> { "}", "Shift2" },
+
+            //    // ==============================================
+            //    // 第五行 Shift1 Z X C V B N M < > ? \ shift2
+            //    // ==============================================
+            //    ["shift1"] = new List<string> { "CapsLock", "A", "Z", "Ctrl1" },
+            //    ["Z"] = new List<string> { "shift1", "A", "S", "X", "Ctrl1", "Fn" },
+            //    ["X"] = new List<string> { "Z", "S", "D", "C", "Fn", "Win" },
+            //    ["C"] = new List<string> { "X", "D", "F", "V", "Win", "Alt1" },
+            //    ["V"] = new List<string> { "C", "F", "G", "B", "Alt1", "变换" },
+            //    ["B"] = new List<string> { "V", "G", "H", "N", "无变换", "Space1" },
+            //    ["N"] = new List<string> { "B", "H", "J", "M", "Space1", "Space2" },
+            //    ["M"] = new List<string> { "N", "J", "K", "<", "Space2", "变换" },
+            //    ["<"] = new List<string> { "M", "K", "L", ">", "变换", "口" },
+            //    [">"] = new List<string> { "<", "L", ";", "?", "口", "Left" },
+            //    ["?"] = new List<string> { ">", ";", ":", "\\", "Left", "UpDown" },
+            //    ["\\"] = new List<string> { "?", ":", "}", "Shift2", "UpDown", "Right" },
+            //    ["Shift2"] = new List<string> { "\\", "}", "Enter", "Right" },
+
+            //    // ==============================================
+            //    // 第六行 Ctrl1 fn Win Alt1 无变换 Space1 Space2 变换 口 Ctrl2 Left  Updown  Right
+            //    // ==============================================
+            //    ["Ctrl1"] = new List<string> { "shift1", "Z", "Fn" },
+            //    ["Fn"] = new List<string> { "Ctrl1", "Z", "X", "Win" },
+            //    ["Win"] = new List<string> { "Fn", "X", "C", "Alt1" },
+            //    ["Alt1"] = new List<string> { "Win", "C", "V", "无变换" },
+            //    ["无变换"] = new List<string> { "Alt1", "V", "B", "Space1" },
+            //    ["Space1"] = new List<string> { "无变换", "B", "N", "Space2" },
+            //    ["变换"] = new List<string> { "Space2", "M", ",", "口" },
+            //    ["口"] = new List<string> { "变换", ",", ">", "Left" },
+            //    ["Ctrl2"] = new List<string> { "Left", ">", "?", "口" },
+            //    ["Left"] = new List<string> { "口", ">", "?", "UpDown" },
+            //    ["UpDown"] = new List<string> { "Left", "?", "\\", "Right" },
+            //    ["Right"] = new List<string> { "UpDown", "\\", "Shift2" }
+            //};
+
+            #endregion
+
             return new Dictionary<string, List<string>>
             return new Dictionary<string, List<string>>
             {
             {
                 // ==============================================
                 // ==============================================
                 // 第一行:Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Insert Delete Power
                 // 第一行:Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Insert Delete Power
                 // ==============================================
                 // ==============================================
                 ["Esc"] = new List<string> { "F1", "/" },
                 ["Esc"] = new List<string> { "F1", "/" },
-                ["F1"] = new List<string> { "Esc", "F2", "/" },
-                ["F2"] = new List<string> { "F1", "F3", "1" },
-                ["F3"] = new List<string> { "F2", "F4", "2" },
-                ["F4"] = new List<string> { "F3", "F5", "3" },
-                ["F5"] = new List<string> { "F4", "F6", "4" },
-                ["F6"] = new List<string> { "F5", "F7", "5" },
-                ["F7"] = new List<string> { "F6", "F8", "6" },
-                ["F8"] = new List<string> { "F7", "F9", "7" },
-                ["F9"] = new List<string> { "F8", "F10", "8" },
-                ["F10"] = new List<string> { "F9", "F11", "9" },
-                ["F11"] = new List<string> { "F10", "F12", "0" },
-                ["F12"] = new List<string> { "F11", "insert", "=" },
+                ["F1"] = new List<string> { "Esc", "F2", "1" },
+                ["F2"] = new List<string> { "F1", "F3", "2" },
+                ["F3"] = new List<string> { "F2", "F4", "3" },
+                ["F4"] = new List<string> { "F3", "F5", "3", "4" },
+                ["F5"] = new List<string> { "F4", "F6", "4", "5" },
+                ["F6"] = new List<string> { "F5", "F7", "5", "6" },
+                ["F7"] = new List<string> { "F6", "F8", "6", "7" },
+                ["F8"] = new List<string> { "F7", "F9", "7", "8" },
+                ["F9"] = new List<string> { "F8", "F10", "8", "9" },
+                ["F10"] = new List<string> { "F9", "F11", "9", "0" },
+                ["F11"] = new List<string> { "F10", "F12", "0", "_" },
+                ["F12"] = new List<string> { "F11", "insert", "_" },
                 ["insert"] = new List<string> { "F12", "delete", "~" },
                 ["insert"] = new List<string> { "F12", "delete", "~" },
-                ["delete"] = new List<string> { "insert", "|" },
-                ["Power"] = new List<string> { "insert", "|" },
+                ["delete"] = new List<string> { "insert", "Power", "|" },
+                ["Power"] = new List<string> { "delete", "backspace" },
                 // ==============================================
                 // ==============================================
                 // 第二行 / 1 2 3 4 5 6 7 8 9 0 = ~ | backspace
                 // 第二行 / 1 2 3 4 5 6 7 8 9 0 = ~ | backspace
                 // ==============================================
                 // ==============================================
-                ["/"] = new List<string> { "Esc", "F1", "1", "tab" },
-                ["1"] = new List<string> { "/", "F2", "2", "tab", "Q" },
-                ["2"] = new List<string> { "1", "F3", "3", "Q", "W" },
-                ["3"] = new List<string> { "2", "F4", "4", "W", "E" },
-                ["4"] = new List<string> { "3", "F5", "5", "E", "R" },
-                ["5"] = new List<string> { "4", "F6", "6", "R", "T" },
-                ["6"] = new List<string> { "5", "F7", "7", "T", "Y" },
-                ["7"] = new List<string> { "6", "F8", "8", "Y", "U" },
-                ["8"] = new List<string> { "7", "F9", "9", "U", "I" },
-                ["9"] = new List<string> { "8", "F10", "0", "I", "O" },
-                ["0"] = new List<string> { "9", "F11", "=", "O", "P" },
-                ["="] = new List<string> { "0", "F12", "~", "P", "@" },
-                ["~"] = new List<string> { "=", "insert", "|", "@", "{" },
-                ["|"] = new List<string> { "~", "delete", "backspace", "{" },
-                ["backspace"] = new List<string> { "|", "}" },
+                ["/"] = new List<string> { "Esc", "1", "tab" },
+                ["1"] = new List<string> { "/", "F1", "2", "tab", "Q" },
+                ["2"] = new List<string> { "1", "F2", "3", "Q", "W" },
+                ["3"] = new List<string> { "2", "F3", "4", "W", "E" },
+                ["4"] = new List<string> { "3", "F4", "F5", "5", "E", "R" },
+                ["5"] = new List<string> { "4", "F5", "F6", "6", "R", "T" },
+                ["6"] = new List<string> { "5", "F6", "F7", "7", "T", "Y" },
+                ["7"] = new List<string> { "6", "F7", "F8", "8", "Y", "U" },
+                ["8"] = new List<string> { "7", "F8", "F9", "9", "U", "I" },
+                ["9"] = new List<string> { "8", "F9", "F10", "0", "I", "O" },
+                ["0"] = new List<string> { "9", "F10", "F11", "_", "O", "P" },
+                ["_"] = new List<string> { "0", "F11", "F12", "~", "P", "@" },
+                ["~"] = new List<string> { "_", "insert", "|", "@", "{" },
+                ["|"] = new List<string> { "~", "delete", "backspace", "{", "Enter" },
+                ["backspace"] = new List<string> { "|", "Power", "Enter" },
                 // ==============================================
                 // ==============================================
                 // 第三行 Tab Q W E R T Y U I O P @ {
                 // 第三行 Tab Q W E R T Y U I O P @ {
                 // ==============================================
                 // ==============================================
-                ["Tab"] = new List<string> { "1", "Q", "capslock" },
+                ["Tab"] = new List<string> { "/", "1", "Q", "capslock" },
                 ["Q"] = new List<string> { "Tab", "1", "2", "W", "capslock", "A" },
                 ["Q"] = new List<string> { "Tab", "1", "2", "W", "capslock", "A" },
                 ["W"] = new List<string> { "Q", "2", "3", "E", "A", "S" },
                 ["W"] = new List<string> { "Q", "2", "3", "E", "A", "S" },
                 ["E"] = new List<string> { "W", "3", "4", "R", "S", "D" },
                 ["E"] = new List<string> { "W", "3", "4", "R", "S", "D" },
@@ -4089,12 +4213,12 @@ namespace TeamAAS_VP.Core
                 ["U"] = new List<string> { "Y", "7", "8", "I", "H", "J" },
                 ["U"] = new List<string> { "Y", "7", "8", "I", "H", "J" },
                 ["I"] = new List<string> { "U", "8", "9", "O", "J", "K" },
                 ["I"] = new List<string> { "U", "8", "9", "O", "J", "K" },
                 ["O"] = new List<string> { "I", "9", "0", "P", "K", "L" },
                 ["O"] = new List<string> { "I", "9", "0", "P", "K", "L" },
-                ["P"] = new List<string> { "O", "0", "=", "@", "L", ";" },
-                ["@"] = new List<string> { "P", "=", "~", "{", ";", ":" },
-                ["{"] = new List<string> { "@", "~", "|", "backspace", ":", "}" },
+                ["P"] = new List<string> { "O", "0", "_", "@", "L", ";" },
+                ["@"] = new List<string> { "P", "_", "~", "{", ";", "*" },
+                ["{"] = new List<string> { "@", "~", "|", "Enter", "*", "}" },
 
 
                 // ==============================================
                 // ==============================================
-                // 第四行 CapsLock A S D F G H J K L ; : } Enter
+                // 第四行 CapsLock A S D F G H J K L ; * } Enter
                 // ==============================================
                 // ==============================================
                 ["CapsLock"] = new List<string> { "tab", "Q", "A", "shift1" },
                 ["CapsLock"] = new List<string> { "tab", "Q", "A", "shift1" },
                 ["A"] = new List<string> { "CapsLock", "Q", "W", "S", "shift1", "Z" },
                 ["A"] = new List<string> { "CapsLock", "Q", "W", "S", "shift1", "Z" },
@@ -4106,43 +4230,43 @@ namespace TeamAAS_VP.Core
                 ["J"] = new List<string> { "H", "U", "I", "K", "N", "M" },
                 ["J"] = new List<string> { "H", "U", "I", "K", "N", "M" },
                 ["K"] = new List<string> { "J", "I", "O", "L", "M", "<" },
                 ["K"] = new List<string> { "J", "I", "O", "L", "M", "<" },
                 ["L"] = new List<string> { "K", "O", "P", ";", "<", ">" },
                 ["L"] = new List<string> { "K", "O", "P", ";", "<", ">" },
-                [";"] = new List<string> { "L", "P", "@", ":", ">", "?" },
-                [":"] = new List<string> { ";", "@", "{", "}", "?", "\\" },
-                ["}"] = new List<string> { ":", "{", "backspace", "Enter", "ろ", "Shift2" },
-                ["Enter"] = new List<string> { "}", "Shift2" },
+                [";"] = new List<string> { "L", "P", "@", "*", ">", "?" },
+                ["*"] = new List<string> { ";", "@", "{", "}", "?", "\\" },
+                ["}"] = new List<string> { "*", "{", "Enter", "ろ", "Shift2" },
+                ["Enter"] = new List<string> { "{", "|", "backspace", "}", "Shift2" },
 
 
                 // ==============================================
                 // ==============================================
                 // 第五行 Shift1 Z X C V B N M < > ? \ shift2
                 // 第五行 Shift1 Z X C V B N M < > ? \ shift2
                 // ==============================================
                 // ==============================================
-                ["shift1"] = new List<string> { "CapsLock", "A", "Z", "Ctrl1" },
-                ["Z"] = new List<string> { "shift1", "A", "S", "X", "Ctrl1", "Fn" },
-                ["X"] = new List<string> { "Z", "S", "D", "C", "Fn", "Win" },
-                ["C"] = new List<string> { "X", "D", "F", "V", "Win", "Alt1" },
-                ["V"] = new List<string> { "C", "F", "G", "B", "Alt1", "变换" },
-                ["B"] = new List<string> { "V", "G", "H", "N", "无变换", "Space1" },
-                ["N"] = new List<string> { "B", "H", "J", "M", "Space1", "Space2" },
-                ["M"] = new List<string> { "N", "J", "K", "<", "Space2", "变换" },
+                ["shift1"] = new List<string> { "CapsLock", "A", "Z", "Ctrl1", "Fn" },
+                ["Z"] = new List<string> { "shift1", "A", "S", "X", "Win" },
+                ["X"] = new List<string> { "Z", "S", "D", "C", "Alt1" },
+                ["C"] = new List<string> { "X", "D", "F", "V", "无变换" },
+                ["V"] = new List<string> { "C", "F", "G", "B", "Space", },
+                ["B"] = new List<string> { "V", "G", "H", "N", "Space" },
+                ["N"] = new List<string> { "B", "H", "J", "M", "Space" },
+                ["M"] = new List<string> { "N", "J", "K", "<", "Space", "变换" },
                 ["<"] = new List<string> { "M", "K", "L", ">", "变换", "口" },
                 ["<"] = new List<string> { "M", "K", "L", ">", "变换", "口" },
-                [">"] = new List<string> { "<", "L", ";", "?", "口", "Left" },
-                ["?"] = new List<string> { ">", ";", ":", "\\", "Left", "UpDown" },
-                ["\\"] = new List<string> { "?", ":", "}", "Shift2", "UpDown", "Right" },
-                ["Shift2"] = new List<string> { "\\", "}", "Enter", "Right" },
+                [">"] = new List<string> { "<", "L", ";", "?", "口", "Ctrl2" },
+                ["?"] = new List<string> { ">", ";", "*", "\\", "Ctrl2", "Left" },
+                ["\\"] = new List<string> { "?", "*", "}", "Shift2", "Left", "UpDown" },
+                ["Shift2"] = new List<string> { "\\", "}", "Enter", "UpDown", "Right" },
 
 
                 // ==============================================
                 // ==============================================
                 // 第六行 Ctrl1 fn Win Alt1 无变换 Space1 Space2 变换 口 Ctrl2 Left  Updown  Right
                 // 第六行 Ctrl1 fn Win Alt1 无变换 Space1 Space2 变换 口 Ctrl2 Left  Updown  Right
                 // ==============================================
                 // ==============================================
-                ["Ctrl1"] = new List<string> { "shift1", "Z", "Fn" },
-                ["Fn"] = new List<string> { "Ctrl1", "Z", "X", "Win" },
-                ["Win"] = new List<string> { "Fn", "X", "C", "Alt1" },
-                ["Alt1"] = new List<string> { "Win", "C", "V", "无变换" },
-                ["无变换"] = new List<string> { "Alt1", "V", "B", "Space1" },
-                ["Space1"] = new List<string> { "无变换", "B", "N", "Space2" },
-                ["变换"] = new List<string> { "Space2", "M", ",", "口" },
-                ["口"] = new List<string> { "变换", ",", ">", "Left" },
-                ["Ctrl2"] = new List<string> { "Left", ">", "?", "口" },
-                ["Left"] = new List<string> { "口", ">", "?", "UpDown" },
-                ["UpDown"] = new List<string> { "Left", "?", "\\", "Right" },
-                ["Right"] = new List<string> { "UpDown", "\\", "Shift2" }
+                ["Ctrl1"] = new List<string> { "shift1", "Fn" },
+                ["Fn"] = new List<string> { "Ctrl1", "shift1", "Win" },
+                ["Win"] = new List<string> { "Fn", "Z", "Alt1" },
+                ["Alt1"] = new List<string> { "Win", "X", "无变换" },
+                ["无变换"] = new List<string> { "Alt1", "C", "Space" },
+                ["Space"] = new List<string> { "无变换", "V", "B", "N", "M", "变换" },
+                ["变换"] = new List<string> { "Space", "M", ",", "口" },
+                ["口"] = new List<string> { "变换", "<", ">", "Ctrl2" },
+                ["Ctrl2"] = new List<string> { "口", ">", "?", "Left" },
+                ["Left"] = new List<string> { "Ctrl2", "?", "\\", "UpDown" },
+                ["UpDown"] = new List<string> { "Left", "\\", "Shift2", "Right" },
+                ["Right"] = new List<string> { "UpDown", "Shift2" }
             };
             };
         }
         }